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

Issue 1414663011: Notifying the Out of Process Renderer about Visibility Change of a Remote Frame (Closed)

Created:
5 years, 1 month ago by EhsanK
Modified:
4 years, 6 months ago
CC:
blink-reviews, blink-reviews-api_chromium.org, chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, dglazkov+blink, jam, mkwst+moarreviews-renderer_chromium.org, mlamouri+watch-content_chromium.org, nasko+codewatch_chromium.org, site-isolation-dev_chromium.org, site-isolation-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Notifying the Out of Process Renderer about Visibility Change of a Remote Frame. When a remote frame's visibility changes, the corresponding renderer (out of process) should be notified. This is achieved by plumbing a new IPC to the out of process renderer. BUG=550994 Committed: https://crrev.com/babb9bf4ee6d35696aa61acc2eaefdb57fa21bde Cr-Commit-Position: refs/heads/master@{#368875}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Added Tests #

Total comments: 4

Patch Set 3 : Removed RenderWidgetHostViewChildFrame::SetVisibility #

Total comments: 4

Patch Set 4 : #

Patch Set 5 : Changed "Guest" to "InnerContents" #

Total comments: 12

Patch Set 6 : Rebase #

Patch Set 7 : #

Patch Set 8 : #

Total comments: 15

Patch Set 9 : Added WebContentsImpl::ForwardVisibilityChangeToInnerContents(bool) #

Total comments: 6

Patch Set 10 : Removed <webview>-related Code #

Patch Set 11 : Rebased & Added Blink Unit Tests #

Total comments: 6

Patch Set 12 : Rebase + Replied to dcheng@ Comments #

Total comments: 2

Patch Set 13 : Moved Test Code from FrameTestHelpers to WebFrameTest.cpp #

Patch Set 14 : Removed the Call to WebRemoteFrameImpl::close() and WebViewHelper::reset() in the Destructor of the … #

Unified diffs Side-by-side diffs Delta from patch set Stats (+226 lines, -0 lines) Patch
M content/browser/frame_host/cross_process_frame_connector.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/frame_host/cross_process_frame_connector.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +12 lines, -0 lines 0 comments Download
M content/browser/site_per_process_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +84 lines, -0 lines 0 comments Download
M content/common/frame_messages.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/render_frame_proxy.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/render_frame_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/RemoteFrame.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/RemoteFrame.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/RemoteFrameClient.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/RemoteFrameView.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +4 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/frame/RemoteFrameView.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +30 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/RemoteFrameClientImpl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/tests/WebFrameTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +69 lines, -0 lines 0 comments Download
M third_party/WebKit/public/web/WebRemoteFrameClient.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 52 (13 generated)
EhsanK
PTAL.
5 years, 1 month ago (2015-11-03 20:38:23 UTC) #3
Charlie Reis
[+site-isolation-reviews] Thanks! A few general notes: Please CC site-isolation-dev@chromium.org on OOPIF-related CLs, to help our ...
5 years, 1 month ago (2015-11-03 20:54:04 UTC) #4
EhsanK
On 2015/11/03 20:54:04, Charlie Reis (slow til 11-16) wrote: > [+site-isolation-reviews] > > Thanks! > ...
5 years, 1 month ago (2015-11-03 20:56:25 UTC) #5
Charlie Reis
On 2015/11/03 20:56:25, ehsaaan wrote: > On 2015/11/03 20:54:04, Charlie Reis (slow til 11-16) wrote: ...
5 years, 1 month ago (2015-11-03 20:57:51 UTC) #6
kenrb
A test would be good. Also, I am concerned that this might have unexpected consequences ...
5 years, 1 month ago (2015-11-04 21:57:42 UTC) #7
EhsanK
On 2015/11/04 21:57:42, kenrb wrote: > A test would be good. Also, I am concerned ...
5 years, 1 month ago (2015-11-05 15:57:21 UTC) #8
EhsanK
On 2015/11/04 21:57:42, kenrb wrote: > A test would be good. Also, I am concerned ...
5 years, 1 month ago (2015-11-05 15:57:23 UTC) #9
EhsanK
On 2015/11/04 21:57:42, kenrb wrote: > A test would be good. Also, I am concerned ...
5 years, 1 month ago (2015-11-05 15:57:24 UTC) #10
EhsanK
PTAL. https://codereview.chromium.org/1414663011/diff/1/content/browser/frame_host/cross_process_frame_connector.cc File content/browser/frame_host/cross_process_frame_connector.cc (right): https://codereview.chromium.org/1414663011/diff/1/content/browser/frame_host/cross_process_frame_connector.cc#newcode223 content/browser/frame_host/cross_process_frame_connector.cc:223: view_->SetVisibility(visible); On 2015/11/04 21:57:42, kenrb wrote: > Why ...
5 years, 1 month ago (2015-11-05 15:57:40 UTC) #11
EhsanK
PTAL.
5 years, 1 month ago (2015-11-05 15:57:40 UTC) #12
kenrb
Okay, I am happy with this once a browser test is added.
5 years, 1 month ago (2015-11-05 18:41:50 UTC) #13
EhsanK
ptal.
5 years, 1 month ago (2015-11-06 20:08:50 UTC) #14
EhsanK
+dcheng@chromium.org: for the blink side. Thanks!
5 years, 1 month ago (2015-11-07 02:12:43 UTC) #16
dcheng
(I haven't forgotten about this CL, but I'm traveling to BlinkOn so my reply may ...
5 years, 1 month ago (2015-11-10 00:17:07 UTC) #17
kenrb
https://codereview.chromium.org/1414663011/diff/1/content/browser/frame_host/cross_process_frame_connector.cc File content/browser/frame_host/cross_process_frame_connector.cc (right): https://codereview.chromium.org/1414663011/diff/1/content/browser/frame_host/cross_process_frame_connector.cc#newcode223 content/browser/frame_host/cross_process_frame_connector.cc:223: view_->SetVisibility(visible); On 2015/11/05 15:57:39, ehsaaan wrote: > On 2015/11/04 ...
5 years, 1 month ago (2015-11-11 16:09:34 UTC) #18
EhsanK
PTAL. +lazyboy@chromium.org to take a look at changes in cross_process_frame_connector.cc. https://codereview.chromium.org/1414663011/diff/1/content/browser/frame_host/cross_process_frame_connector.cc File content/browser/frame_host/cross_process_frame_connector.cc (right): https://codereview.chromium.org/1414663011/diff/1/content/browser/frame_host/cross_process_frame_connector.cc#newcode223 ...
5 years, 1 month ago (2015-11-11 19:13:18 UTC) #20
lazyboy
Just looked at CPFC and a bit of the test. https://chromiumcodereview.appspot.com/1414663011/diff/40001/content/browser/frame_host/cross_process_frame_connector.cc File content/browser/frame_host/cross_process_frame_connector.cc (right): https://chromiumcodereview.appspot.com/1414663011/diff/40001/content/browser/frame_host/cross_process_frame_connector.cc#newcode224 ...
5 years, 1 month ago (2015-11-11 22:04:27 UTC) #21
EhsanK
PTAL. https://codereview.chromium.org/1414663011/diff/40001/content/browser/frame_host/cross_process_frame_connector.cc File content/browser/frame_host/cross_process_frame_connector.cc (right): https://codereview.chromium.org/1414663011/diff/40001/content/browser/frame_host/cross_process_frame_connector.cc#newcode224 content/browser/frame_host/cross_process_frame_connector.cc:224: if (static_cast<RenderWidgetHostImpl*>(view_->GetRenderWidgetHost()) On 2015/11/11 22:04:27, lazyboy wrote: > ...
5 years, 1 month ago (2015-11-12 19:54:30 UTC) #22
Charlie Reis
I've mainly been waiting for Ken to approve before giving the owner's stamp. Ken, any ...
5 years, 1 month ago (2015-11-20 23:35:29 UTC) #23
Fady Samuel
https://codereview.chromium.org/1414663011/diff/80001/content/browser/frame_host/cross_process_frame_connector.cc File content/browser/frame_host/cross_process_frame_connector.cc (right): https://codereview.chromium.org/1414663011/diff/80001/content/browser/frame_host/cross_process_frame_connector.cc#newcode227 content/browser/frame_host/cross_process_frame_connector.cc:227: static_cast<RenderWidgetHostImpl*>(view_->GetRenderWidgetHost()) nit: I think RenderWidgetHostImpl::From(...) is preferred?
5 years, 1 month ago (2015-11-23 16:29:45 UTC) #25
kenrb
lgtm from my side
5 years ago (2015-11-26 16:27:53 UTC) #26
dcheng
https://codereview.chromium.org/1414663011/diff/80001/content/browser/renderer_host/render_widget_host_delegate.h File content/browser/renderer_host/render_widget_host_delegate.h (right): https://codereview.chromium.org/1414663011/diff/80001/content/browser/renderer_host/render_widget_host_delegate.h#newcode110 content/browser/renderer_host/render_widget_host_delegate.h:110: virtual void ForwardVisibilityChangeToInnerContents(bool visible) {} What will this method ...
5 years ago (2015-12-02 00:15:05 UTC) #27
EhsanK
PTAL. https://codereview.chromium.org/1414663011/diff/80001/content/browser/frame_host/cross_process_frame_connector.cc File content/browser/frame_host/cross_process_frame_connector.cc (right): https://codereview.chromium.org/1414663011/diff/80001/content/browser/frame_host/cross_process_frame_connector.cc#newcode227 content/browser/frame_host/cross_process_frame_connector.cc:227: static_cast<RenderWidgetHostImpl*>(view_->GetRenderWidgetHost()) On 2015/11/23 16:29:45, Fady Samuel wrote: > ...
5 years ago (2015-12-07 16:10:15 UTC) #28
Charlie Reis
One question about ForwardVisibilityChangeToInnerContents, and otherwise looks good with nits. https://codereview.chromium.org/1414663011/diff/140001/content/browser/frame_host/cross_process_frame_connector.cc File content/browser/frame_host/cross_process_frame_connector.cc (right): https://codereview.chromium.org/1414663011/diff/140001/content/browser/frame_host/cross_process_frame_connector.cc#newcode234 ...
5 years ago (2015-12-08 19:18:34 UTC) #29
EhsanK
PTAL. https://codereview.chromium.org/1414663011/diff/140001/content/browser/frame_host/cross_process_frame_connector.cc File content/browser/frame_host/cross_process_frame_connector.cc (right): https://codereview.chromium.org/1414663011/diff/140001/content/browser/frame_host/cross_process_frame_connector.cc#newcode234 content/browser/frame_host/cross_process_frame_connector.cc:234: return; On 2015/12/08 19:18:33, Charlie Reis wrote: > ...
5 years ago (2015-12-09 00:14:17 UTC) #30
Charlie Reis
Ah, that explains it-- thanks. A few related questions below. https://codereview.chromium.org/1414663011/diff/140001/content/browser/renderer_host/render_widget_host_delegate.h File content/browser/renderer_host/render_widget_host_delegate.h (right): https://codereview.chromium.org/1414663011/diff/140001/content/browser/renderer_host/render_widget_host_delegate.h#newcode128 ...
5 years ago (2015-12-10 07:45:20 UTC) #31
EhsanK
PTAL. https://codereview.chromium.org/1414663011/diff/160001/content/browser/frame_host/cross_process_frame_connector.cc File content/browser/frame_host/cross_process_frame_connector.cc (right): https://codereview.chromium.org/1414663011/diff/160001/content/browser/frame_host/cross_process_frame_connector.cc#newcode236 content/browser/frame_host/cross_process_frame_connector.cc:236: if (frame_proxy_in_parent_renderer_->frame_tree_node() On 2015/12/10 07:45:19, Charlie Reis wrote: ...
5 years ago (2015-12-10 17:08:31 UTC) #32
Charlie Reis
Thanks, LGTM! Please also update the CL description to not mention guests.
5 years ago (2015-12-10 17:21:25 UTC) #33
dcheng
Patch looks good. Can we add a unit test in Blink for this as well?
5 years ago (2015-12-10 18:31:17 UTC) #34
EhsanK
@dcheng: I added two unit tests to blink. PTAL.
5 years ago (2015-12-22 20:49:13 UTC) #37
dcheng
https://codereview.chromium.org/1414663011/diff/220001/third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp File third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp (right): https://codereview.chromium.org/1414663011/diff/220001/third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp#newcode204 third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp:204: } Nit: newline https://codereview.chromium.org/1414663011/diff/220001/third_party/WebKit/Source/web/tests/FrameTestHelpers.h File third_party/WebKit/Source/web/tests/FrameTestHelpers.h (right): https://codereview.chromium.org/1414663011/diff/220001/third_party/WebKit/Source/web/tests/FrameTestHelpers.h#newcode166 third_party/WebKit/Source/web/tests/FrameTestHelpers.h:166: ...
4 years, 11 months ago (2016-01-06 18:43:58 UTC) #38
EhsanK
PTAL. https://codereview.chromium.org/1414663011/diff/220001/third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp File third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp (right): https://codereview.chromium.org/1414663011/diff/220001/third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp#newcode204 third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp:204: } On 2016/01/06 18:43:58, dcheng wrote: > Nit: ...
4 years, 11 months ago (2016-01-08 22:05:37 UTC) #39
dcheng
lgtm with a nit https://codereview.chromium.org/1414663011/diff/240001/third_party/WebKit/Source/web/tests/FrameTestHelpers.h File third_party/WebKit/Source/web/tests/FrameTestHelpers.h (right): https://codereview.chromium.org/1414663011/diff/240001/third_party/WebKit/Source/web/tests/FrameTestHelpers.h#newcode171 third_party/WebKit/Source/web/tests/FrameTestHelpers.h:171: class TestWebRemoteFrameClientForVisibility : public TestWebRemoteFrameClient ...
4 years, 11 months ago (2016-01-11 19:07:59 UTC) #40
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1414663011/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1414663011/280001
4 years, 11 months ago (2016-01-12 04:55:42 UTC) #42
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2016-01-12 06:54:50 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1414663011/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1414663011/280001
4 years, 11 months ago (2016-01-12 15:12:20 UTC) #47
commit-bot: I haz the power
Committed patchset #14 (id:280001)
4 years, 11 months ago (2016-01-12 15:17:18 UTC) #49
commit-bot: I haz the power
Patchset 14 (id:??) landed as https://crrev.com/babb9bf4ee6d35696aa61acc2eaefdb57fa21bde Cr-Commit-Position: refs/heads/master@{#368875}
4 years, 11 months ago (2016-01-12 15:18:36 UTC) #51
EhsanK
4 years, 6 months ago (2016-06-09 17:42:53 UTC) #52
Message was sent while issue was closed.
Publishing the long-left-unpublished comment.

https://codereview.chromium.org/1414663011/diff/240001/third_party/WebKit/Sou...
File third_party/WebKit/Source/web/tests/FrameTestHelpers.h (right):

https://codereview.chromium.org/1414663011/diff/240001/third_party/WebKit/Sou...
third_party/WebKit/Source/web/tests/FrameTestHelpers.h:171: class
TestWebRemoteFrameClientForVisibility : public TestWebRemoteFrameClient {
On 2016/01/11 19:07:59, dcheng wrote:
> Put this directly in WebFrameTest.cpp: no need to declare it here.

Done.

Powered by Google App Engine
This is Rietveld 408576698