Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Issue 2498463002: RenderWidget/RenderView: encapsulate ViewHostMsg_Show, etc, in a callback (Closed)

Created:
4 years, 1 month ago by ncarter (slow)
Modified:
4 years ago
CC:
chromium-reviews, jam, nasko+codewatch_chromium.org, darin-cc_chromium.org, creis+watch_chromium.org, mlamouri+watch-content_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

RenderWidget/RenderView: Introduce a callback into the opener RenderViewHost, that is executed at WebWidgetClient::show() time. This callback fully replaces the |opener_id_| and |opened_by_user_gesture_| data members. Ultimately, there are three variants of ShowCallback: one each to send ViewHostMsg_ShowWidget, ViewHostMsg_ShowFullscreenWidget, and ViewHostMsg_ShowView. Encapsulating these in a callback will make it possible to port these messages from RenderView to RenderFrame independently, without further complexity in RenderWidget. This rearrangement also has the benefit of making the Send() happen on the object that the message is actually routed by. That should help with later mojofication. Remove RenderWidgetFullscreen, which contained no real code after moving the body of ::show() into the callback. Instead, have RenderWidgetFullscreenPepper (its only subclass) directly derive from RenderWidget. Android Webview's HandleNavigation path had an odd dependency on |opener_id_| that does not look correct. I've tried to preserve its behavior with this CL, since this path is deprecated. BUG=627852 Committed: https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44 Cr-Commit-Position: refs/heads/master@{#433999}

Patch Set 1 #

Patch Set 2 : Self review fixes #

Patch Set 3 : Comment tweak. #

Patch Set 4 : Fix bugs. #

Patch Set 5 : Undo typo. #

Patch Set 6 : Rebase #

Patch Set 7 : Merge branch 'create_new_window_4-5' into create-new-window5-5 #

Patch Set 8 : Fix compile. #

Patch Set 9 : Revert ResolveOpener related cleanup. #

Patch Set 10 : Allow ShowView to be sent while swapped out. #

Patch Set 11 : More IPC messing. #

Total comments: 22

Patch Set 12 : Fixes. #

Total comments: 5

Patch Set 13 : Remove RenderWidgetFullscreen #

Unified diffs Side-by-side diffs Delta from patch set Stats (+179 lines, -211 lines) Patch
M android_webview/renderer/aw_content_renderer_client.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M android_webview/renderer/aw_content_renderer_client.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +9 lines, -2 lines 0 comments Download
M content/common/swapped_out_messages.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -6 lines 0 comments Download
M content/public/renderer/content_renderer_client.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M content/public/renderer/content_renderer_client.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M content/public/test/render_view_test.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M content/renderer/BUILD.gn View 1 2 3 4 5 1 chunk +0 lines, -2 lines 0 comments Download
M content/renderer/render_frame_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +12 lines, -3 lines 0 comments Download
M content/renderer/render_thread_impl.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M content/renderer/render_view_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 6 chunks +29 lines, -14 lines 0 comments Download
M content/renderer/render_view_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 9 chunks +65 lines, -37 lines 0 comments Download
M content/renderer/render_widget.h View 1 2 3 4 5 6 7 9 6 chunks +17 lines, -16 lines 0 comments Download
M content/renderer/render_widget.cc View 1 2 3 4 5 6 7 9 5 chunks +19 lines, -16 lines 0 comments Download
D content/renderer/render_widget_fullscreen.h View 1 2 3 4 5 9 1 chunk +0 lines, -37 lines 0 comments Download
D content/renderer/render_widget_fullscreen.cc View 1 2 3 4 5 9 1 chunk +0 lines, -53 lines 0 comments Download
M content/renderer/render_widget_fullscreen_pepper.h View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +5 lines, -8 lines 0 comments Download
M content/renderer/render_widget_fullscreen_pepper.cc View 1 2 3 4 5 9 4 chunks +11 lines, -9 lines 0 comments Download
M content/renderer/render_widget_unittest.cc View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 82 (59 generated)
ncarter (slow)
Hi Alex, please review
4 years, 1 month ago (2016-11-11 00:11:07 UTC) #13
ncarter (slow)
This is witnessing patch failure because its dependent patchset got reverted due to DCHECKs
4 years, 1 month ago (2016-11-11 16:30:13 UTC) #22
ncarter (slow)
Lucas & Alex: please review
4 years, 1 month ago (2016-11-16 17:37:35 UTC) #46
lfg
Just one question. https://codereview.chromium.org/2498463002/diff/200001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2498463002/diff/200001/content/renderer/render_frame_impl.cc#newcode1362 content/renderer/render_frame_impl.cc:1362: widget->show(blink::WebNavigationPolicyIgnore); Do you need the callback ...
4 years, 1 month ago (2016-11-16 23:07:58 UTC) #48
ncarter (slow)
https://codereview.chromium.org/2498463002/diff/200001/content/renderer/render_frame_impl.cc File content/renderer/render_frame_impl.cc (right): https://codereview.chromium.org/2498463002/diff/200001/content/renderer/render_frame_impl.cc#newcode1362 content/renderer/render_frame_impl.cc:1362: widget->show(blink::WebNavigationPolicyIgnore); On 2016/11/16 23:07:58, lfg wrote: > Do you ...
4 years, 1 month ago (2016-11-16 23:14:09 UTC) #49
alexmos
Nice! Mostly nits below. https://codereview.chromium.org/2498463002/diff/200001/android_webview/renderer/aw_content_renderer_client.cc File android_webview/renderer/aw_content_renderer_client.cc (right): https://codereview.chromium.org/2498463002/diff/200001/android_webview/renderer/aw_content_renderer_client.cc#newcode131 android_webview/renderer/aw_content_renderer_client.cc:131: // be deferred until after ...
4 years, 1 month ago (2016-11-17 09:51:09 UTC) #50
lfg
The things I like about this CL is removing the opener_id, removing/simplifying fullscreen, making the ...
4 years, 1 month ago (2016-11-17 16:37:29 UTC) #51
ncarter (slow)
https://codereview.chromium.org/2498463002/diff/200001/android_webview/renderer/aw_content_renderer_client.cc File android_webview/renderer/aw_content_renderer_client.cc (right): https://codereview.chromium.org/2498463002/diff/200001/android_webview/renderer/aw_content_renderer_client.cc#newcode131 android_webview/renderer/aw_content_renderer_client.cc:131: // be deferred until after the java side has ...
4 years, 1 month ago (2016-11-17 19:33:11 UTC) #54
ncarter (slow)
+sgurun: please review the android webview code, as well as the codepaths leading to it ...
4 years, 1 month ago (2016-11-17 19:34:32 UTC) #56
alexmos
LGTM https://codereview.chromium.org/2498463002/diff/200001/android_webview/renderer/aw_content_renderer_client.cc File android_webview/renderer/aw_content_renderer_client.cc (right): https://codereview.chromium.org/2498463002/diff/200001/android_webview/renderer/aw_content_renderer_client.cc#newcode131 android_webview/renderer/aw_content_renderer_client.cc:131: // be deferred until after the java side ...
4 years, 1 month ago (2016-11-17 22:27:43 UTC) #59
ncarter (slow)
+dcheng for swapped_out_messages.cc
4 years, 1 month ago (2016-11-17 22:54:36 UTC) #61
dcheng
https://codereview.chromium.org/2498463002/diff/220001/content/common/swapped_out_messages.cc File content/common/swapped_out_messages.cc (left): https://codereview.chromium.org/2498463002/diff/220001/content/common/swapped_out_messages.cc#oldcode76 content/common/swapped_out_messages.cc:76: case ViewHostMsg_ShowFullscreenWidget::ID: Out of curiosity, why did we move ...
4 years, 1 month ago (2016-11-21 11:19:52 UTC) #62
sgurun-gerrit only
On 2016/11/21 11:19:52, dcheng wrote: > https://codereview.chromium.org/2498463002/diff/220001/content/common/swapped_out_messages.cc > File content/common/swapped_out_messages.cc (left): > > https://codereview.chromium.org/2498463002/diff/220001/content/common/swapped_out_messages.cc#oldcode76 > ...
4 years, 1 month ago (2016-11-21 19:03:53 UTC) #63
ncarter (slow)
https://codereview.chromium.org/2498463002/diff/220001/content/common/swapped_out_messages.cc File content/common/swapped_out_messages.cc (left): https://codereview.chromium.org/2498463002/diff/220001/content/common/swapped_out_messages.cc#oldcode76 content/common/swapped_out_messages.cc:76: case ViewHostMsg_ShowFullscreenWidget::ID: On 2016/11/21 11:19:52, dcheng wrote: > Out ...
4 years, 1 month ago (2016-11-21 19:51:25 UTC) #64
sgurun-gerrit only
lgtm https://codereview.chromium.org/2498463002/diff/220001/android_webview/renderer/aw_content_renderer_client.cc File android_webview/renderer/aw_content_renderer_client.cc (right): https://codereview.chromium.org/2498463002/diff/220001/android_webview/renderer/aw_content_renderer_client.cc#newcode138 android_webview/renderer/aw_content_renderer_client.cc:138: // initiated. yes, we have many bugs we ...
4 years, 1 month ago (2016-11-21 21:17:25 UTC) #65
dcheng
lgtm
4 years, 1 month ago (2016-11-21 22:41:19 UTC) #66
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2498463002/240001
4 years, 1 month ago (2016-11-21 23:35:50 UTC) #69
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/277302) linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, ...
4 years, 1 month ago (2016-11-22 00:04:17 UTC) #71
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2498463002/240001
4 years, 1 month ago (2016-11-22 00:24:11 UTC) #73
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/277362)
4 years, 1 month ago (2016-11-22 01:08:27 UTC) #75
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2498463002/240001
4 years ago (2016-11-22 21:34:52 UTC) #77
commit-bot: I haz the power
Committed patchset #13 (id:240001)
4 years ago (2016-11-22 22:00:09 UTC) #80
commit-bot: I haz the power
4 years ago (2016-11-22 22:01:47 UTC) #82
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/f7b382233d382060eb1b352aa1ea9dffc36a9e44
Cr-Commit-Position: refs/heads/master@{#433999}

Powered by Google App Engine
This is Rietveld 408576698