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

Issue 1834913002: Fix visual viewport for OOPIF. (Closed)

Created:
4 years, 9 months ago by alexmos
Modified:
4 years, 8 months ago
Reviewers:
kenrb, dcheng
CC:
dcheng, blink-reviews, chromium-reviews, creis+watch_chromium.org, darin-cc_chromium.org, jam, mlamouri+watch-blink_chromium.org, nasko+codewatch_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

Fix visual viewport for OOPIFs. When called for a subframe, RenderWidgetHostViewChildFrame::GetVisibleViewportSize currently returns the subframe's size, yet this value is plumbed through ResizeParams::visible_viewport_size and into WebWidget::resizeVisualViewport, which resizes the visual viewport. This appears wrong: visual viewport should be a page-level concept, independent of which frame is asking for it. From WebWidget::resizeVisualViewport: // Normally the unscaled visual viewport is the same size as the // main frame. This CL changes the plumbing to instead return the main frame bounds in RWHVCF, and adds plumbing in WebFrameWidget to set the page's visual viewport in resizeVisualViewport. I hit this while working on fullscreen: without this, fullscreening an element in an OOPIF incorrectly sized it using the subframe's bounds rather than the main frame's bounds (which had been resized to occupy the whole screen). BUG=550497 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/69d253f82d3ebaa9d43253ffc630ebea94f874a0 Cr-Commit-Position: refs/heads/master@{#384597}

Patch Set 1 #

Patch Set 2 : Fix webview and unit tests #

Total comments: 5

Patch Set 3 : Rebase #

Patch Set 4 : Add TODO for page messages #

Total comments: 2

Patch Set 5 : Remove unnecessary cast #

Unified diffs Side-by-side diffs Delta from patch set Stats (+27 lines, -1 line) Patch
M content/browser/frame_host/render_widget_host_view_child_frame.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/frame_host/render_widget_host_view_child_frame.cc View 1 2 3 4 1 chunk +21 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/web/WebFrameWidgetImpl.cpp View 1 2 3 2 chunks +5 lines, -1 line 0 comments Download

Messages

Total messages: 22 (9 generated)
alexmos
Hi Ken, can you please take a look at this when you're back? This just ...
4 years, 9 months ago (2016-03-26 00:00:48 UTC) #4
kenrb
lgtm, but I've cc'd James to see if he has any insight on what visual ...
4 years, 8 months ago (2016-03-31 17:41:58 UTC) #5
wjmaclean
On 2016/03/31 17:41:58, kenrb wrote: > lgtm, but I've cc'd James to see if he ...
4 years, 8 months ago (2016-03-31 18:43:08 UTC) #6
alexmos
Thanks! On 2016/03/31 18:43:08, wjmaclean wrote: > On 2016/03/31 17:41:58, kenrb wrote: > > lgtm, ...
4 years, 8 months ago (2016-03-31 23:03:48 UTC) #7
alexmos
Daniel, can you please review the Blink side for owners?
4 years, 8 months ago (2016-03-31 23:05:31 UTC) #9
dcheng
lgtm
4 years, 8 months ago (2016-03-31 23:06:51 UTC) #10
dcheng
https://codereview.chromium.org/1834913002/diff/60001/content/browser/frame_host/render_widget_host_view_child_frame.cc File content/browser/frame_host/render_widget_host_view_child_frame.cc (right): https://codereview.chromium.org/1834913002/diff/60001/content/browser/frame_host/render_widget_host_view_child_frame.cc#newcode135 content/browser/frame_host/render_widget_host_view_child_frame.cc:135: static_cast<RenderViewHostImpl*>(RenderViewHost::From(host_))); By the way, I think you can write ...
4 years, 8 months ago (2016-03-31 23:07:55 UTC) #11
alexmos
Thanks! https://codereview.chromium.org/1834913002/diff/60001/content/browser/frame_host/render_widget_host_view_child_frame.cc File content/browser/frame_host/render_widget_host_view_child_frame.cc (right): https://codereview.chromium.org/1834913002/diff/60001/content/browser/frame_host/render_widget_host_view_child_frame.cc#newcode135 content/browser/frame_host/render_widget_host_view_child_frame.cc:135: static_cast<RenderViewHostImpl*>(RenderViewHost::From(host_))); On 2016/03/31 23:07:54, dcheng wrote: > By ...
4 years, 8 months ago (2016-04-01 00:44:54 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1834913002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1834913002/80001
4 years, 8 months ago (2016-04-01 00:45:47 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: linux_site_isolation on tryserver.chromium.linux (JOB_TIMED_OUT, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_site_isolation/builds/1496)
4 years, 8 months ago (2016-04-01 06:44:27 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1834913002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1834913002/80001
4 years, 8 months ago (2016-04-01 14:31:47 UTC) #19
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 8 months ago (2016-04-01 15:57:02 UTC) #20
commit-bot: I haz the power
4 years, 8 months ago (2016-04-01 15:59:28 UTC) #22
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/69d253f82d3ebaa9d43253ffc630ebea94f874a0
Cr-Commit-Position: refs/heads/master@{#384597}

Powered by Google App Engine
This is Rietveld 408576698