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

Issue 2910023002: Ensure RemoteViewportIntersection rect persists across frame navigations (Closed)

Created:
3 years, 6 months ago by kenrb
Modified:
3 years, 6 months ago
Reviewers:
ncarter (slow), dcheng
CC:
chromium-reviews, creis+watch_chromium.org, yusukes+watch_chromium.org, mlamouri+watch-blink_chromium.org, shuchen+watch_chromium.org, nasko+codewatch_chromium.org, jam, dcheng, nona+watch_chromium.org, darin-cc_chromium.org, blink-reviews, blink-reviews-frames_chromium.org, James Su, kinuko+watch, site-isolation-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Ensure RemoteViewportIntersection rect persists across frame navigations To prevent excessive IPC messages, a parent frame of an OOPIF only updates its remote viewport intersection rect when the intersection changes. However, a frame can navigate without the parent frame being aware of it, in which case the rect is lost without being resent. To address that problem, this CL caches the rect on CrossProcessFrameConnector in the browser process, and sends it to the renderer whenever RenderWidgetHostImpl::SendScreenRects() is called. This CL also moves the rect's storage in Blink from LocalFrameView to LocalFrame so that it persists across same-process navigations. BUG=720342 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Review-Url: https://codereview.chromium.org/2910023002 Cr-Commit-Position: refs/heads/master@{#475756} Committed: https://chromium.googlesource.com/chromium/src/+/1e68f60e90fc7b0b12bbf884291458e5e4aa3b2f

Patch Set 1 #

Total comments: 4

Patch Set 2 : ncarter comments addressed #

Total comments: 9

Patch Set 3 : dcheng comments addressed #

Total comments: 2

Messages

Total messages: 27 (18 generated)
kenrb
PTAL? - dcheng for Blink - ncarter for content/
3 years, 6 months ago (2017-05-30 01:48:33 UTC) #7
ncarter (slow)
lgtm https://codereview.chromium.org/2910023002/diff/1/content/browser/frame_host/cross_process_frame_connector.h File content/browser/frame_host/cross_process_frame_connector.h (right): https://codereview.chromium.org/2910023002/diff/1/content/browser/frame_host/cross_process_frame_connector.h#newcode31 content/browser/frame_host/cross_process_frame_connector.h:31: class MockCrossProcessFrameConnector; "friend class" doesn't actually require forward ...
3 years, 6 months ago (2017-05-30 17:51:09 UTC) #8
kenrb
Thanks. https://codereview.chromium.org/2910023002/diff/1/content/browser/frame_host/cross_process_frame_connector.h File content/browser/frame_host/cross_process_frame_connector.h (right): https://codereview.chromium.org/2910023002/diff/1/content/browser/frame_host/cross_process_frame_connector.h#newcode31 content/browser/frame_host/cross_process_frame_connector.h:31: class MockCrossProcessFrameConnector; On 2017/05/30 17:51:09, ncarter (slow) wrote: ...
3 years, 6 months ago (2017-05-30 18:25:10 UTC) #10
dcheng
https://codereview.chromium.org/2910023002/diff/20001/content/browser/frame_host/cross_process_frame_connector.h File content/browser/frame_host/cross_process_frame_connector.h (right): https://codereview.chromium.org/2910023002/diff/20001/content/browser/frame_host/cross_process_frame_connector.h#newcode136 content/browser/frame_host/cross_process_frame_connector.h:136: gfx::Rect viewport_intersection() const { Nit: consider returning a const ...
3 years, 6 months ago (2017-05-30 19:54:11 UTC) #12
kenrb
https://codereview.chromium.org/2910023002/diff/20001/content/browser/frame_host/cross_process_frame_connector.h File content/browser/frame_host/cross_process_frame_connector.h (right): https://codereview.chromium.org/2910023002/diff/20001/content/browser/frame_host/cross_process_frame_connector.h#newcode136 content/browser/frame_host/cross_process_frame_connector.h:136: gfx::Rect viewport_intersection() const { On 2017/05/30 19:54:11, dcheng wrote: ...
3 years, 6 months ago (2017-05-30 21:19:21 UTC) #16
dcheng
LGTM https://codereview.chromium.org/2910023002/diff/20001/third_party/WebKit/Source/core/frame/LocalFrame.cpp File third_party/WebKit/Source/core/frame/LocalFrame.cpp (right): https://codereview.chromium.org/2910023002/diff/20001/third_party/WebKit/Source/core/frame/LocalFrame.cpp#newcode1209 third_party/WebKit/Source/core/frame/LocalFrame.cpp:1209: View()->ScheduleAnimation(); On 2017/05/30 21:19:21, kenrb wrote: > On ...
3 years, 6 months ago (2017-05-30 22:14:26 UTC) #18
kenrb
Thanks for the reviews. https://codereview.chromium.org/2910023002/diff/40001/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp File third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp (right): https://codereview.chromium.org/2910023002/diff/40001/third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp#newcode769 third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp:769: if (local_root_->GetFrame()) { On 2017/05/30 ...
3 years, 6 months ago (2017-05-31 01:37:29 UTC) #21
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/2910023002/40001
3 years, 6 months ago (2017-05-31 01:38:22 UTC) #24
commit-bot: I haz the power
3 years, 6 months ago (2017-05-31 02:47:55 UTC) #27
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://chromium.googlesource.com/chromium/src/+/1e68f60e90fc7b0b12bbf8842914...

Powered by Google App Engine
This is Rietveld 408576698