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

Issue 840017 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 24
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 836910
issue 836915
issue 845635
issue 850135
issue 854086
issue 854199
issue 868927

Blocking:
issue 836890



Sign in to add a comment

[BlinkGenPropertyTrees] Page scale / pinch zoom should work.

Project Member Reported by trchen@chromium.org, May 4 2018

Issue description

Currently any page with a non-1.0 page scale factor would crash with DCHECK:
layer_tree_impl.cc(849)] Check failed: layer_list_.empty() || *page_scale_factor == 1.

This is due to not finding a page scale layer in LayerTreeImpl::PushPageScaleFactorAndLimits().

With directly generated property trees, do we still need a page scale layer? If it is non-trivial to refactor that out in cc, we could create a dummy page scale layer in PAC.
 
Another question is whether the page scale transform node should be managed by PaintPropertyTreeBuilder or PaintArtifactCompositor. Since it is a part of the VisualViewport mechanism, i.e. blink/core, PaintPropertyTreeBuilder sounds like the better place?

Comment 2 by pdr@chromium.org, May 4 2018

Blocking: -836884 836910
I think David, Sahel, and Chaopeng are working on this as part of 836910.

Comment 3 by bokan@chromium.org, May 4 2018

Owner: bokan@chromium.org
Status: Assigned (was: Untriaged)
pdr@ and I discussed not creating layers for the visual viewport. I think we should aim for that unless we find a compelling reason not to - from memory, I can't think of any tricky bits (there's lots of calls but it should all be fairly mechanical to transform).

I'll take this as part of the larger visual viewport work.

Comment 4 by bokan@chromium.org, May 9 2018

 Issue 841357  has been merged into this issue.

Comment 5 by bokan@chromium.org, May 9 2018

Blocking: 836912

Comment 6 by bokan@chromium.org, May 9 2018

Status: Started (was: Assigned)

Comment 7 by bokan@chromium.org, May 9 2018

Cc: chaopeng@chromium.org
 Issue 841519  has been merged into this issue.
Project Member

Comment 8 by bugdroid1@chromium.org, May 10 2018

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

commit b6d006bf5eb32c19eccac5fd0272a098572b55fb
Author: David Bokan <bokan@chromium.org>
Date: Thu May 10 15:52:54 2018

[BlinkGenPropertyTrees] Add more scrolling tests expectations

Most "scrolling" tests in Blink are in the fast/scrolling and
fast/events directories, the latter due to testing touch, wheel,
keyboard, etc. events. Many of these will use eventSender and so avoid
the composited path entirely so they provide just some mildly useful
main-thread scrolling coverage. Some do use gpuBenchmarking and are thus
more useful.

Bug:  836913 , 840017 , 841342 , 841423 
Change-Id: Idc4c2fae7ee7a48f074df8b3df5a027a75c82f71
Reviewed-on: https://chromium-review.googlesource.com/1052823
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: David Bokan <bokan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557533}
[modify] https://crrev.com/b6d006bf5eb32c19eccac5fd0272a098572b55fb/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-gen-property-trees
[modify] https://crrev.com/b6d006bf5eb32c19eccac5fd0272a098572b55fb/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/b6d006bf5eb32c19eccac5fd0272a098572b55fb/third_party/WebKit/LayoutTests/VirtualTestSuites
[add] https://crrev.com/b6d006bf5eb32c19eccac5fd0272a098572b55fb/third_party/WebKit/LayoutTests/virtual/threaded/fast/scrolling/README.txt

Comment 9 by pdr@chromium.org, Jun 4 2018

 Issue 638473  has been merged into this issue.
Blockedon: 836910
Blocking: -836910
Blockedon: 850135
Project Member

Comment 12 by bugdroid1@chromium.org, Jun 12 2018

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

commit 72648da9df0395c2b753ed85964b34b061bde37f
Author: David Bokan <bokan@chromium.org>
Date: Tue Jun 12 12:04:39 2018

Set VisualViewport size from SVG images

SVG images are hosted from their own Page object which has its own
VisualViewport. Currently, we don't set the size on the VisualViewport
in this configuration which breaks some functaionality in the class, for
example, the maximum scroll offset is wrong since the size is empty but
the FrameView's (the visual viewport's scrollable contents) isn't.

This doesn't cause issues at the moment because the visual viewport
isn't consulted in painting the SVG. However, with
blink-gen-property-trees turned on, the visual viewport will add its own
paint property nodes which can cause problems if the viewport's state is
inconsistent.

Bug:  840017 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: If62c0e18fa9a6eb9cfe7f059ff5604f262af82fd
Reviewed-on: https://chromium-review.googlesource.com/1096010
Commit-Queue: David Bokan <bokan@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566385}
[modify] https://crrev.com/72648da9df0395c2b753ed85964b34b061bde37f/third_party/blink/renderer/core/svg/graphics/svg_image.cc
[modify] https://crrev.com/72648da9df0395c2b753ed85964b34b061bde37f/third_party/blink/renderer/core/svg/graphics/svg_image.h
[modify] https://crrev.com/72648da9df0395c2b753ed85964b34b061bde37f/third_party/blink/renderer/core/svg/graphics/svg_image_test.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Jun 16 2018

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

commit 5aed404b91a89bc3553f490400cc651c459c691d
Author: David Bokan <bokan@chromium.org>
Date: Sat Jun 16 23:59:02 2018

[BlinkGenPropertyTrees] Create and hookup visual viewport nodes

This patch implements basic functionality for the visual viewport in
blink-gen-property-trees mode. This patch does several related things:

 - Create PaintPropertyNodes in the VisualViewport during Blink's
   PrePaint walk.
 - Ensure PaintArtifactCompositor propagates these new nodes to CC
 - Setup and add viewport layers to PaintArtifactCompositor's foreign
   layers so they get correctly hooked into the layer tree in CC

Bug:  840017 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Idcba9cdf90a9cde7534e5bff4ff37fe55bdc16e7
Reviewed-on: https://chromium-review.googlesource.com/1083012
Commit-Queue: Philip Rogers <pdr@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567901}
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-gen-property-trees
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/resources/gesture-util.js
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/rootscroller/gesture-scroll-document-not-root-scroller.html
[rename] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/virtual/threaded/fast/events/pinch/gesture-pinch-fake-mouse-wheel.html
[add] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/virtual/threaded/fast/events/pinch/pinch-zoom-into-center-expected.html
[add] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/virtual/threaded/fast/events/pinch/pinch-zoom-into-center.html
[add] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/virtual/threaded/fast/events/pinch/pinch-zoom-pan-position-fixed-expected.html
[add] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/virtual/threaded/fast/events/pinch/pinch-zoom-pan-position-fixed.html
[add] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/virtual/threaded/fast/events/pinch/pinch-zoom-pan-within-zoomed-viewport-expected.html
[add] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/WebKit/LayoutTests/virtual/threaded/fast/events/pinch/pinch-zoom-pan-within-zoomed-viewport.html
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/public/platform/web_layer_tree_view.h
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/DEPS
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/frame/frame_test_helpers.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/frame/local_frame_view.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/frame/visual_viewport.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/frame/visual_viewport.h
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/paint/paint_property_tree_builder.h
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/paint/paint_property_tree_printer.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/paint/paint_property_tree_printer.h
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/paint/paint_property_tree_update_tests.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/core/paint/pre_paint_tree_walk.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.h
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor_test.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.h
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/platform/graphics/graphics_layer_test.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.cc
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.h
[modify] https://crrev.com/5aed404b91a89bc3553f490400cc651c459c691d/third_party/blink/renderer/platform/testing/web_layer_tree_view_impl_for_testing.cc

Comment 14 by bokan@chromium.org, Jun 19 2018

Status: Fixed (was: Started)

Comment 15 by bokan@chromium.org, Jun 19 2018

Blockedon: 836890
Status: Started (was: Fixed)

Comment 16 by bokan@chromium.org, Jun 19 2018

Blockedon: -836890 836915 845635

Comment 17 by bokan@chromium.org, Jun 19 2018

Blockedon: 854086

Comment 18 by bokan@chromium.org, Jun 19 2018

Blockedon: 854199

Comment 19 by bokan@chromium.org, Jun 20 2018

Blocking: -836912 836890
Blockedon: 868927
Status: Fixed (was: Started)

Sign in to add a comment