New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 654917 link

Starred by 5 users

Pinch-zoom doesn't propagate the scale factor to out-of-process iframes

Project Member Reported by lfg@chromium.org, Oct 11 2016

Issue description

Repro steps:

1) Run chrome with --site-per-process.
2) Navigate to http://csreis.github.io/tests/cross-site-iframe-simple.html
3) Zoom using pinch-zoom gesture.

Note that the iframe is not re-rasterized and still has the old frame's resolution.

Zoom using Ctrl-+ and Ctrl-- works.

Tested on Android and ChromeOS, but likely should repro on Windows and Linux also, where we support touch gestures.

 
Labels: Proj-Mustash-Milestone-Salamander
So after discussing this with aelias@ and rkroege@ they both advise this will be much easier after Salamander lands, though that will in all likelihood not be Q4. Any interim approach will likely generate "throw away" code and, as such, cruft. We should consider how important it is (or isn't) to have this in the current quarter.

Essentially the problem is this (thanks aelias@ for the wording): all the support for pageScaleFactor in WebViewImpl and LayerTree is heavily dependent on it being a mainFrame concept. We could, short term, try to convolve this into deviceScaleFactor (which is already convolved into pageZoomLevel, so this route seems extremely hacky and prone to problems), or apply it as a separate scale factor on the OutputSurface for the frame (I haven't investigated yet the mechanics of how this might work, though).

The second alternative seems like a better route if we wish to go ahead, but it will be creating a subframe-only pathway that will need to be removed again later.

Thoughts?

Comment 2 by lfg@chromium.org, Oct 12 2016

Cc: nick@chromium.org
Labels: Proj-TopDocumentIsolation-BlockingLaunch
I think this is a blocker for TDI, and I would expect that TDI is likely to ship before mustash.

+nick, any thoughts?

Status: Started (was: Untriaged)
Blockedon: 669936
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efd05aec93fad28adb8bef9674530e7bbe64766f

commit efd05aec93fad28adb8bef9674530e7bbe64766f
Author: wjmaclean <wjmaclean@chromium.org>
Date: Fri Jan 20 21:39:49 2017

Move compositor InputHandler from RenderViewImpl to RenderWidget.

At present the input handler for cross-process iframes is installed
only on the RenderViewImpl, meaning that events sent to them can only
be handled on the main thread (instead of the compositor thread).

Note: The compositor layer tree on the RenderViewImpl for a cross-
process frame renderer is actually empty.

This CL attaches an input handler to each RenderWidget instead,
allowing compositor-thread handling of input events for all
the frames. This is a precursor for handling GesturePinch events for
subframes.

BUG= 654917 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2479663002
Cr-Commit-Position: refs/heads/master@{#445175}

[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/browser/renderer_host/input/input_router_impl.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/browser/renderer_host/render_widget_host_input_event_router.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/gpu/compositor_dependencies.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/gpu/render_widget_compositor.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/input/input_handler_manager.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/input/input_handler_manager.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/input/input_handler_wrapper.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/input/input_handler_wrapper.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/render_thread_impl.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/render_view_impl.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/render_view_impl.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/render_widget.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/renderer/render_widget.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/test/fake_compositor_dependencies.cc
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/content/test/fake_compositor_dependencies.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/core/frame/EventHandlerRegistry.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/core/loader/EmptyClients.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/core/loader/FrameLoader.cpp
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/web/ChromeClientImpl.cpp
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/web/ChromeClientImpl.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/web/WebPagePopupImpl.cpp
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/web/tests/FrameTestHelpers.cpp
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/web/tests/FrameTestHelpers.h
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/Source/web/tests/WebViewTest.cpp
[modify] https://crrev.com/efd05aec93fad28adb8bef9674530e7bbe64766f/third_party/WebKit/public/platform/WebLayerTreeView.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jan 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea

commit b5ac0ebfe4e03b8e1da707fa38f29550022a94ea
Author: waffles <waffles@chromium.org>
Date: Sat Jan 21 00:50:27 2017

Revert of Move compositor InputHandler from RenderViewImpl to RenderWidget. (patchset #29 id:690001 of https://codereview.chromium.org/2479663002/ )

Reason for revert:
Causes flaky failures of SitePerProcessInteractiveBrowserTest.SubframeKeyboardEventRouting.

Original issue's description:
> Move compositor InputHandler from RenderViewImpl to RenderWidget.
>
> At present the input handler for cross-process iframes is installed
> only on the RenderViewImpl, meaning that events sent to them can only
> be handled on the main thread (instead of the compositor thread).
>
> Note: The compositor layer tree on the RenderViewImpl for a cross-
> process frame renderer is actually empty.
>
> This CL attaches an input handler to each RenderWidget instead,
> allowing compositor-thread handling of input events for all
> the frames. This is a precursor for handling GesturePinch events for
> subframes.
>
> BUG= 654917 
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
>
> Review-Url: https://codereview.chromium.org/2479663002
> Cr-Commit-Position: refs/heads/master@{#445175}
> Committed: https://chromium.googlesource.com/chromium/src/+/efd05aec93fad28adb8bef9674530e7bbe64766f

TBR=enne@chromium.org,avi@chromium.org,dcheng@chromium.org,lfg@chromium.org,wjmaclean@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 654917 

Review-Url: https://codereview.chromium.org/2649573003
Cr-Commit-Position: refs/heads/master@{#445231}

[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/browser/renderer_host/input/input_router_impl.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/browser/renderer_host/render_widget_host_input_event_router.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/gpu/compositor_dependencies.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/gpu/render_widget_compositor.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/input/input_handler_manager.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/input/input_handler_manager.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/input/input_handler_wrapper.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/input/input_handler_wrapper.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/render_thread_impl.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/render_view_impl.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/render_view_impl.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/render_widget.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/renderer/render_widget.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/test/fake_compositor_dependencies.cc
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/content/test/fake_compositor_dependencies.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/core/frame/EventHandlerRegistry.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/core/loader/EmptyClients.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/core/loader/FrameLoader.cpp
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/web/ChromeClientImpl.cpp
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/web/ChromeClientImpl.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/web/WebPagePopupImpl.cpp
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/web/tests/FrameTestHelpers.cpp
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/web/tests/FrameTestHelpers.h
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/Source/web/tests/WebViewTest.cpp
[modify] https://crrev.com/b5ac0ebfe4e03b8e1da707fa38f29550022a94ea/third_party/WebKit/public/platform/WebLayerTreeView.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1d97062b110831423488e9bc5bd67a1bde1fded5

commit 1d97062b110831423488e9bc5bd67a1bde1fded5
Author: wjmaclean <wjmaclean@chromium.org>
Date: Sat Jan 21 22:28:24 2017

Move compositor InputHandler from RenderViewImpl to RenderWidget.

At present the input handler for cross-process iframes is installed
only on the RenderViewImpl, meaning that events sent to them can only
be handled on the main thread (instead of the compositor thread).

Note: The compositor layer tree on the RenderViewImpl for a cross-
process frame renderer is actually empty.

This CL attaches an input handler to each RenderWidget instead,
allowing compositor-thread handling of input events for all
the frames. This is a precursor for handling GesturePinch events for
subframes.

TBR=alexmos@chromium.org
BUG= 654917 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2479663002
Cr-Commit-Position: refs/heads/master@{#445295}

[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/chrome/browser/site_per_process_interactive_browsertest.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/browser/renderer_host/input/input_router_impl.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/browser/renderer_host/render_widget_host_input_event_router.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/gpu/compositor_dependencies.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/gpu/render_widget_compositor.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/input/input_handler_manager.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/input/input_handler_manager.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/input/input_handler_wrapper.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/input/input_handler_wrapper.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/render_thread_impl.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/render_view_impl.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/render_view_impl.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/render_widget.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/renderer/render_widget.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/test/fake_compositor_dependencies.cc
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/content/test/fake_compositor_dependencies.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/core/frame/EventHandlerRegistry.cpp
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/core/frame/EventHandlerRegistry.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/core/loader/EmptyClients.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/core/loader/FrameLoader.cpp
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/web/ChromeClientImpl.cpp
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/web/ChromeClientImpl.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/web/WebPagePopupImpl.cpp
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/web/tests/FrameTestHelpers.cpp
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/web/tests/FrameTestHelpers.h
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/Source/web/tests/WebViewTest.cpp
[modify] https://crrev.com/1d97062b110831423488e9bc5bd67a1bde1fded5/third_party/WebKit/public/platform/WebLayerTreeView.h

Comment 8 by mcnee@chromium.org, Mar 6 2017

Blocking: 698766

Comment 9 by nasko@chromium.org, Dec 2 2017

Blocking: 791225
Labels: M-67
Labels: Proj-SiteIsolation-LaunchBlocking
Since this has bug the Proj-TopDocumentIsolation-BlockingLaunch label, should it also get Proj-SiteIsolation-LaunchBlocking one?

Comment 12 by creis@chromium.org, Mar 29 2018

Blocking: 795386
Cc: enne@chromium.org
Labels: -Pri-2 -Proj-TopDocumentIsolation-BlockingLaunch -Proj-SiteIsolation-LaunchBlocking Pri-1
No. James and I discussed and we don't think this is severe enough to block launch, though it's still desirable to fix.  The OOPIF still paints but might be not as sharp in some cases.

James noted that this may also block issue 795386, where the scrolling speed is affected.  Again, this is important to fix but might not block launch.

My understanding of the current state is that James is trying to get a Mojo pipe added between renderer processes to fix this.  There is a backup option but enne@ had some concerns about it.
Cc: bokan@chromium.org wjmaclean@chromium.org
 Issue 879277  has been merged into this issue.
Cc: fsam...@chromium.org
Cc: jonr...@chromium.org
Ahh a direct mojo pipe definitely overlaps with work jonross@ is doing. I think some coordination here would be useful. 
Cc: piman@chromium.org kenrb@chromium.org alex...@chromium.org boliu@chromium.org gklassen@chromium.org mcnee@chromium.org
 Issue 891938  has been merged into this issue.
Blockedon: 897216
Blockedon: 897791
Project Member

Comment 20 by bugdroid1@chromium.org, Nov 5

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2a90bffaa3407289c413cb385e631e70547c586e

commit 2a90bffaa3407289c413cb385e631e70547c586e
Author: W. James MacLean <wjmaclean@chromium.org>
Date: Mon Nov 05 20:52:47 2018

Plumb page scale factor to oopifs via SynchronizeVisualProperties.

This CL implements the plumbing of page-scale factor to OOPIFs by
including it in the VisualProperties sync pathway. The main frame's
page scale factor is represented in cc/ by |external_page_scale_factor|
and only affects the calculation of raster scale.

The vast majority of this CL is plumbing, with the main logic
change occuring in picture_layer_impl.cc.

Bug:  654917 ,  698766 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ia3f65e45be32c5a6033f3afaccb965dde597eee9
Reviewed-on: https://chromium-review.googlesource.com/c/1286437
Commit-Queue: James MacLean <wjmaclean@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605456}
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/cc/layers/picture_layer_impl.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/cc/trees/layer_tree_host.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/cc/trees/render_frame_metadata.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/cc/trees/render_frame_metadata.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/components/guest_view/browser/guest_view_base.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/browser/renderer_host/frame_connector_delegate.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/browser/renderer_host/input/fling_scheduler.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/browser/renderer_host/render_widget_host_impl.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/common/frame_messages.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/common/frame_visual_properties.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/common/render_frame_metadata.mojom
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/common/render_frame_metadata_struct_traits.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/common/render_frame_metadata_struct_traits.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/common/visual_properties.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/common/widget_messages.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/public/test/browser_test_utils.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/renderer/gpu/layer_tree_view.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/renderer/gpu/layer_tree_view.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/renderer/render_frame_metadata_observer_impl.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/renderer/render_frame_proxy.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/renderer/render_frame_proxy.h
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/renderer/render_view_impl.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/renderer/render_widget.cc
[modify] https://crrev.com/2a90bffaa3407289c413cb385e631e70547c586e/content/renderer/render_widget.h

Status: Fixed (was: Started)
Crossing my fingers and hoping the CL in #c20 sticks, marking this closed.
Status: Verified (was: Fixed)
I verified r605456 on Android canary 72.0.3608.0 using steps in this bug as well as  issue 891938 , and confirmed that the text in the OOPIF is now rendered properly after a pinch zoom.  Thanks James!
Labels: Proj-SiteIsolationAndroid-BlockingLaunch
Adding label just for tracking this fixed bug as a past blocker for site isolation on Android.

Sign in to add a comment