Commit c5a7fbb9 authored by Philip Rogers's avatar Philip Rogers Committed by Commit Bot

Revert "Promote PaintTouchActionRects to stable"

This reverts commit 45013dfc.

Reason for revert: Performance regressions on touch_handler_scrolling.html

This patch turned up a few performance regressions, primarily:
tough_scheduling_cases/touch_handler_scrolling.html
(see: https://crbug.com/888269).

Other performance regressions:
https://chromeperf.appspot.com/group_report?rev=593255

Original change's description:
> Promote PaintTouchActionRects to stable
>
> This change enables PaintTouchActionRects by default. This is a
> new implementation of how the blink->cc logic works for the css
> touch-action feature. The big idea behind PaintTouchActionRects is to
> compute touch-action rects during paint, in paint order, as part of the
> background paint phase.
>
> With this change we expect better performance (primarily a drop in
> ScrollingCoordinator time: Blink.ScrollingCoordinator.UpdateTime) as
> well as observable bug fixes (e.g., https://crbug.com/826746).
>
> Bug: 836905, 881894
> Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I47a26250bad4c9e208b4f9b11e8eea3cf4d182aa
> Reviewed-on: https://chromium-review.googlesource.com/1233114
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Commit-Queue: Xida Chen <xidachen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#593255}

TBR=pdr@chromium.org,xidachen@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 836905, 881894
Change-Id: I775e60074f4d5bca5a907a1da104f5441212769a
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/1240184
Commit-Queue: Philip Rogers <pdr@chromium.org>
Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Reviewed-by: default avatarXida Chen <xidachen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593540}
parent 8f3cb30f
...@@ -1420,20 +1420,3 @@ Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit ...@@ -1420,20 +1420,3 @@ Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit
Bug(none) fast/events/touch/compositor-touch-hit-rects-svg-root.html [ Failure ] Bug(none) fast/events/touch/compositor-touch-hit-rects-svg-root.html [ Failure ]
Bug(none) fast/events/touch/compositor-touch-hit-rects-table.html [ Failure ] Bug(none) fast/events/touch/compositor-touch-hit-rects-table.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-table.html [ Failure ] Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-table.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-animation.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-global.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-many.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-non-composited-scroll-overflow-with-handler.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-non-composited-scroll.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-scroll.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-squashing.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-transform-changed-nolayout.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-trigger-commit.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-with-negative-child.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/gesture/gesture-scroll-by-page.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/gesture/touch-gesture-scroll-div-scaled.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/page-scaled-touch-gesture-click.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/touch-handler-assert-input-range.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/touch-rect-assert-first-layer-special.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/touch-rect-crash-on-unpromote-layer.html [ Failure ]
Bug(none) virtual/paint-touchaction-rects/fast/events/touch/touch-scaled-scrolled.html [ Failure ]
...@@ -1869,8 +1869,6 @@ crbug.com/877361 virtual/threaded/fast/events/pinch/gesture-pinch-zoom-scroll-bu ...@@ -1869,8 +1869,6 @@ crbug.com/877361 virtual/threaded/fast/events/pinch/gesture-pinch-zoom-scroll-bu
crbug.com/522648 fast/events/touch/compositor-touch-hit-rects-iframes.html [ Crash Failure Pass ] crbug.com/522648 fast/events/touch/compositor-touch-hit-rects-iframes.html [ Crash Failure Pass ]
crbug.com/522648 virtual/mouseevent_fractional/fast/events/touch/compositor-touch-hit-rects-iframes.html [ Crash Failure Pass ] crbug.com/522648 virtual/mouseevent_fractional/fast/events/touch/compositor-touch-hit-rects-iframes.html [ Crash Failure Pass ]
crbug.com/522648 virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-iframes.html [ Skip ] crbug.com/522648 virtual/paint-touchaction-rects/fast/events/touch/compositor-touch-hit-rects-iframes.html [ Skip ]
crbug.com/522648 virtual/scroll_customization/fast/events/touch/compositor-touch-hit-rects-iframes.html [ Skip ]
crbug.com/522648 virtual/user-activation-v2/fast/events/touch/compositor-touch-hit-rects-iframes.html [ Skip ]
crbug.com/520170 fast/dom/timer-throttling-hidden-page.html [ Failure Pass ] crbug.com/520170 fast/dom/timer-throttling-hidden-page.html [ Failure Pass ]
crbug.com/652536 fast/events/mouse-cursor-change-after-image-load.html [ Failure Pass Crash ] crbug.com/652536 fast/events/mouse-cursor-change-after-image-load.html [ Failure Pass Crash ]
crbug.com/652536 virtual/mouseevent_fractional/fast/events/mouse-cursor-change-after-image-load.html [ Failure Pass Crash ] crbug.com/652536 virtual/mouseevent_fractional/fast/events/mouse-cursor-change-after-image-load.html [ Failure Pass Crash ]
......
This tests verifies the hit test regions given to the compositor in the simple case where touch handles cover (or nearly cover) the entire document. It can only be run in DumpRenderTree. This tests verifies the hit test regions given to the compositor in the simple case where touch handles cover (or nearly cover) the entire document. It can only be run in DumpRenderTree.
document: #document scrolling (0, 0, 800, 600) document: #document (0, 0, 800, 600)
document: #document scrolling (0, 600, 785, 1400)
html: #document scrolling (0, 0, 785, 2000) html: #document (0, 0, 800, 600)
body: #document scrolling (5, 16, 775, 1968) body: #document (0, 0, 800, 600)
webPageOverlay: no rects webPageOverlay: no rects
......
Tests that there is an upper limit on the number of hit rects generated per layer. http://crbug.com/299177. Tests that there is an upper limit on the number of hit rects generated per layer. http://crbug.com/299177.
Test node has 99 children with 100 rects Test node has 99 children with 100 rects
Test node has 100 children with 101 rects Test node has 100 children with 1 rects
FAIL - got 101 rects, expected 1. Test node has 101 children with 1 rects
Test node has 101 children with 102 rects manychildren: DIV#layer (0, 0, 308, 1228)
FAIL - got 102 rects, expected 1.
manychildren: DIV#layer (0, 0, 290, 12)
manychildren: DIV#layer (301, 21, 7, 7)
manychildren: DIV#layer (301, 33, 7, 7)
manychildren: DIV#layer (301, 45, 7, 7)
manychildren: DIV#layer (301, 57, 7, 7)
manychildren: DIV#layer (301, 69, 7, 7)
manychildren: DIV#layer (301, 81, 7, 7)
manychildren: DIV#layer (301, 93, 7, 7)
manychildren: DIV#layer (301, 105, 7, 7)
manychildren: DIV#layer (301, 117, 7, 7)
manychildren: DIV#layer (301, 129, 7, 7)
manychildren: DIV#layer (301, 141, 7, 7)
manychildren: DIV#layer (301, 153, 7, 7)
manychildren: DIV#layer (301, 165, 7, 7)
manychildren: DIV#layer (301, 177, 7, 7)
manychildren: DIV#layer (301, 189, 7, 7)
manychildren: DIV#layer (301, 201, 7, 7)
manychildren: DIV#layer (301, 213, 7, 7)
manychildren: DIV#layer (301, 225, 7, 7)
manychildren: DIV#layer (301, 237, 7, 7)
manychildren: DIV#layer (301, 249, 7, 7)
manychildren: DIV#layer (301, 261, 7, 7)
manychildren: DIV#layer (301, 273, 7, 7)
manychildren: DIV#layer (301, 285, 7, 7)
manychildren: DIV#layer (301, 297, 7, 7)
manychildren: DIV#layer (301, 309, 7, 7)
manychildren: DIV#layer (301, 321, 7, 7)
manychildren: DIV#layer (301, 333, 7, 7)
manychildren: DIV#layer (301, 345, 7, 7)
manychildren: DIV#layer (301, 357, 7, 7)
manychildren: DIV#layer (301, 369, 7, 7)
manychildren: DIV#layer (301, 381, 7, 7)
manychildren: DIV#layer (301, 393, 7, 7)
manychildren: DIV#layer (301, 405, 7, 7)
manychildren: DIV#layer (301, 417, 7, 7)
manychildren: DIV#layer (301, 429, 7, 7)
manychildren: DIV#layer (301, 441, 7, 7)
manychildren: DIV#layer (301, 453, 7, 7)
manychildren: DIV#layer (301, 465, 7, 7)
manychildren: DIV#layer (301, 477, 7, 7)
manychildren: DIV#layer (301, 489, 7, 7)
manychildren: DIV#layer (301, 501, 7, 7)
manychildren: DIV#layer (301, 513, 7, 7)
manychildren: DIV#layer (301, 525, 7, 7)
manychildren: DIV#layer (301, 537, 7, 7)
manychildren: DIV#layer (301, 549, 7, 7)
manychildren: DIV#layer (301, 561, 7, 7)
manychildren: DIV#layer (301, 573, 7, 7)
manychildren: DIV#layer (301, 585, 7, 7)
manychildren: DIV#layer (301, 597, 7, 7)
manychildren: DIV#layer (301, 609, 7, 7)
manychildren: DIV#layer (301, 621, 7, 7)
manychildren: DIV#layer (301, 633, 7, 7)
manychildren: DIV#layer (301, 645, 7, 7)
manychildren: DIV#layer (301, 657, 7, 7)
manychildren: DIV#layer (301, 669, 7, 7)
manychildren: DIV#layer (301, 681, 7, 7)
manychildren: DIV#layer (301, 693, 7, 7)
manychildren: DIV#layer (301, 705, 7, 7)
manychildren: DIV#layer (301, 717, 7, 7)
manychildren: DIV#layer (301, 729, 7, 7)
manychildren: DIV#layer (301, 741, 7, 7)
manychildren: DIV#layer (301, 753, 7, 7)
manychildren: DIV#layer (301, 765, 7, 7)
manychildren: DIV#layer (301, 777, 7, 7)
manychildren: DIV#layer (301, 789, 7, 7)
manychildren: DIV#layer (301, 801, 7, 7)
manychildren: DIV#layer (301, 813, 7, 7)
manychildren: DIV#layer (301, 825, 7, 7)
manychildren: DIV#layer (301, 837, 7, 7)
manychildren: DIV#layer (301, 849, 7, 7)
manychildren: DIV#layer (301, 861, 7, 7)
manychildren: DIV#layer (301, 873, 7, 7)
manychildren: DIV#layer (301, 885, 7, 7)
manychildren: DIV#layer (301, 897, 7, 7)
manychildren: DIV#layer (301, 909, 7, 7)
manychildren: DIV#layer (301, 921, 7, 7)
manychildren: DIV#layer (301, 933, 7, 7)
manychildren: DIV#layer (301, 945, 7, 7)
manychildren: DIV#layer (301, 957, 7, 7)
manychildren: DIV#layer (301, 969, 7, 7)
manychildren: DIV#layer (301, 981, 7, 7)
manychildren: DIV#layer (301, 993, 7, 7)
manychildren: DIV#layer (301, 1005, 7, 7)
manychildren: DIV#layer (301, 1017, 7, 7)
manychildren: DIV#layer (301, 1029, 7, 7)
manychildren: DIV#layer (301, 1041, 7, 7)
manychildren: DIV#layer (301, 1053, 7, 7)
manychildren: DIV#layer (301, 1065, 7, 7)
manychildren: DIV#layer (301, 1077, 7, 7)
manychildren: DIV#layer (301, 1089, 7, 7)
manychildren: DIV#layer (301, 1101, 7, 7)
manychildren: DIV#layer (301, 1113, 7, 7)
manychildren: DIV#layer (301, 1125, 7, 7)
manychildren: DIV#layer (301, 1137, 7, 7)
manychildren: DIV#layer (301, 1149, 7, 7)
manychildren: DIV#layer (301, 1161, 7, 7)
manychildren: DIV#layer (301, 1173, 7, 7)
manychildren: DIV#layer (301, 1185, 7, 7)
manychildren: DIV#layer (301, 1197, 7, 7)
manychildren: DIV#layer (301, 1209, 7, 7)
manychildren: DIV#layer (301, 1221, 7, 7)
This test verifies the hit test regions given to the compositor specifically around non-composited overflow scroll elements. This test verifies the hit test regions given to the compositor specifically around non-composited overflow scroll elements.
scrollContent: #document scrolling (14, 63, 273, 12) scrollContent: #document scrolling (13, 52, 290, 32)
scrollContainerWithHandler: #document scrolling (13, 89, 290, 32) scrollContainerWithHandler: #document scrolling (13, 89, 290, 32)
nestedContent: #document scrolling (15, 148, 256, 9) nestedContent: #document scrolling (13, 126, 290, 32)
nestedContent: #document scrolling (15, 158, 256, 2)
fixedPositionContentContainer: #document scrolling (14, 179, 273, 12) fixedPositionContentContainer: #document scrolling (13, 168, 290, 32)
fixedPositionContentContainer: #document scrolling (310, 190, 132, 12) fixedPositionContentContainer: #document scrolling (310, 190, 132, 12)
overflowwithhandler: #document scrolling (14, 221, 273, 20) overflowwithhandler: #document scrolling (13, 210, 290, 32)
overflowwithhandler: #document scrolling (14, 242, 273, 6)
divInsideNonScrollableLayer: #document scrolling (14, 273, 273, 10) divInsideNonScrollableLayer: #document scrolling (13, 252, 290, 32)
divInsideNonScrollableLayer: #document scrolling (14, 284, 273, 1)
divInsideCompositedLayer: DIV#compositedLayer (0, 10, 273, 12) divInsideCompositedLayer: DIV#compositedLayer (0, 10, 273, 12)
......
notclipped: #document scrolling (1, 51, 200, 25) notclipped: #document scrolling (0, 0, 302, 102)
clipped: no rects clipped: #document scrolling (0, 0, 302, 102)
clipped: #document scrolling (1, 176, 200, 25)
This test verifies the hit test regions given to the compositor specifically around composited overflow scroll elements. This test verifies the hit test regions given to the compositor specifically around composited overflow scroll elements.
scrollContent: DIV#scroll1 scrolling (0, 13, 273, 12) scrollContent: DIV#scroll1 (1, 14, 273, 12)
scrollContent5: DIV#scroll5 scrolling (0, 13, 273, 12) scrollContent5: DIV#scroll5 (1, 14, 273, 12)
scrollContent6: DIV#scroll6 scrolling[-1,-14] (0, 0, 273, 12) scrollContent6: DIV#scroll6 scrolling[-1,-14] (0, 0, 273, 12)
nestedContent: DIV#scroll2b scrolling (0, 30, 256, 12) nestedContent: DIV#scroll2b (1, 31, 256, 12)
overflowwithhandler: DIV#overflowwithhandler scrolling (0, 0, 256, 116) overflowwithhandler: DIV#overflowwithhandler (1, 1, 256, 116)
overflowwithhandler: DIV#overflowwithhandler (0, 0, 273, 52) overflowwithhandler: DIV#scroll4 (1, 11, 273, 52)
overflowwithborder: DIV#overflowwithborder (0, 0, 290, 70) overflowwithborder: DIV#overflowwithborder (6, 6, 263, 124)
overflowwithborder: DIV#overflowwithborder scrolling (4, 4, 255, 116) overflowwithborder: HTML (13, 365, 290, 70)
withTransform: DIV#transformed (0, 0, 271, 12) withTransform: DIV#transformed (0, 0, 271, 12)
withTransform: DIV#scroll3 scrolling (0, 13, 273, 14) withTransform: DIV#scroll3 (1, 14, 273, 14)
This tests verifies the hit test regions given to the compositor for svg elements. It can only be run in DumpRenderTree. This tests verifies the hit test regions given to the compositor for svg elements. It can only be run in DumpRenderTree.
svgline: #document scrolling (13, 84, 22, 3) svgline: #document scrolling (13, 80, 100, 10)
This test makes sure that touch hit rects are reported for fullscreen HTML5 video control elements even when there is a document handler. This test makes sure that touch hit rects are reported for fullscreen HTML5 video control elements even when there is a document handler.
Should have single rect on document before fullscreen Should have single rect on document before fullscreen
handler: #document scrolling (0, 0, 800, 600) handler: #document (0, 0, 800, 600)
EVENT(webkitfullscreenchange) EVENT(webkitfullscreenchange)
Should keep rect on document Should keep rect on document
handler: INPUT (0, 0, 130, 130) handler: #document (0, 0, 800, 600)
handler: DIV (0, 0, 800, 600)
handler: DIV (0, 0, 800, 600)
handler: #document scrolling (0, 0, 800, 600)
handler: DIV[19,19] (19, 19, 90, 90)
END OF TEST END OF TEST
This test makes sure that touch hit rects are reported for fullscreen HTML5 video control elements even when there is a document handler. This test makes sure that touch hit rects are reported for fullscreen HTML5 video control elements even when there is a document handler.
Should have single rect on document before fullscreen Should have single rect on document before fullscreen
handler: #document scrolling (0, 0, 800, 600) handler: #document (0, 0, 800, 600)
EVENT(webkitfullscreenchange) EVENT(webkitfullscreenchange)
Should report no rect or another rect which is not on the document Should report no rect or another rect which is not on the document
handler: INPUT (0, 0, 130, 130) handler: no rects
handler: DIV (0, 0, 800, 600)
handler: DIV (0, 0, 800, 600)
handler: DIV[19,19] (19, 19, 90, 90)
END OF TEST END OF TEST
...@@ -908,7 +908,6 @@ ...@@ -908,7 +908,6 @@
// Compute touch action rects in paint instead of ScrollingCoordinator. // Compute touch action rects in paint instead of ScrollingCoordinator.
{ {
name: "PaintTouchActionRects", name: "PaintTouchActionRects",
status: "stable",
}, },
// PaintTracking enables the Largest Text Paint metric, Last Text Paint // PaintTracking enables the Largest Text Paint metric, Last Text Paint
// metric, Largest Image Paint metric and Last Image Paint metric. // metric, Largest Image Paint metric and Last Image Paint metric.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment