summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--third_party/WebKit/LayoutTests/TestExpectations68
-rw-r--r--third_party/WebKit/LayoutTests/compositing/iframes/resizer-expected.txt11
-rw-r--r--third_party/WebKit/LayoutTests/compositing/layer-creation/fixed-position-in-fixed-overflow-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/composited-scrolling-paint-phases-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/content-gains-scrollbars-expected.txt4
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/overflow-scrollbar-layers-expected.txt4
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/resize-painting-expected.txt11
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-absolute-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/scrolling-without-painting-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/universal-accelerated-overflow-scroll-expected.txt12
-rw-r--r--third_party/WebKit/LayoutTests/compositing/overflow/updating-scrolling-content-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/scrollbars/nested-overlay-scrollbars-expected.txt2
-rw-r--r--third_party/WebKit/LayoutTests/compositing/squashing/composited-bounds-for-negative-z-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/compositing/update-paint-phases-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/fast/repaint/overflow-move-after-scroll-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/fast/repaint/overflow-scroll-after-move-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-after-removing-scrolling-contents-expected.txt16
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-toggling-expected.txt11
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-toggling-with-scrolling-contents-expected.txt16
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/textarea-scroll-touch-expected.txt2
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/compositing/repaint/should-not-clip-composited-overflow-scrolling-layer-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/fast/replaced/width100percent-textarea-expected.pngbin5604 -> 5351 bytes
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/paint/selection/selection-within-composited-scroller-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-after-removing-scrolling-contents-expected.txt16
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-expected.txt11
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-with-scrolling-contents-expected.txt16
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-color-change-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-match-highlight-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/textarea-scroll-touch-expected.txt2
-rw-r--r--third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-and-content-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars-expected.pngbin0 -> 6020 bytes
-rw-r--r--third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars-expected.txt9
-rw-r--r--third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars.html51
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/composited-scrolling-paint-phases-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/content-gains-scrollbars-expected.txt4
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scrollbar-layers-expected.txt4
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/resize-painting-expected.txt11
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-absolute-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-without-painting-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/universal-accelerated-overflow-scroll-expected.txt12
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-expected.txt1
-rw-r--r--third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-content-expected.txt1
-rw-r--r--third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp72
-rw-r--r--third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h22
-rw-r--r--third_party/WebKit/Source/core/layout/compositing/GraphicsLayerTreeBuilder.cpp24
-rw-r--r--third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp11
-rw-r--r--third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h2
-rw-r--r--third_party/WebKit/Source/core/paint/BlockPainter.cpp6
-rw-r--r--third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h1
64 files changed, 359 insertions, 106 deletions
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations
index 4078bae..5ffa883 100644
--- a/third_party/WebKit/LayoutTests/TestExpectations
+++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -1295,6 +1295,74 @@ crbug.com/521730 [ Win10 ] svg/text/text-selection-intro-05-t.svg [ Failure ]
crbug.com/550285 [ XP ] virtual/syncpaint/inspector/tracing/decode-resize.html [ Slow Pass Failure ]
+crbug.com/549174 compositing/iframes/resizer.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/layer-creation/fixed-position-in-fixed-overflow.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/clear-scroll-parent.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/composited-scrolling-paint-phases.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/content-gains-scrollbars.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/overflow-scrollbar-layers.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/reparented-scrollbars-non-sc-anc.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/resize-painting.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/scroll-parent-absolute.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/scrolling-content-clip-to-viewport.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/scrolling-without-painting.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/selection-gaps-after-removing-scrolling-contents.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/selection-gaps-toggling-with-scrolling-contents.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/selection-gaps-toggling.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/textarea-scroll-touch.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/universal-accelerated-overflow-scroll.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/overflow/updating-scrolling-content.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/repaint/should-not-clip-composited-overflow-scrolling-layer.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/scrollbars/nested-overlay-scrollbars.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/squashing/composited-bounds-for-negative-z.html [ NeedsRebaseline ]
+crbug.com/549174 compositing/update-paint-phases.html [ NeedsRebaseline ]
+crbug.com/549174 fast/repaint/overflow-move-after-scroll.html [ NeedsRebaseline ]
+crbug.com/549174 fast/repaint/overflow-scroll-after-move.html [ NeedsRebaseline ]
+crbug.com/549174 fast/replaced/width100percent-textarea.html [ NeedsRebaseline ]
+crbug.com/549174 paint/invalidation/invalidate-after-composited-scroll.html [ NeedsRebaseline ]
+crbug.com/549174 paint/selection/selection-within-composited-scroller.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/composited-scrolling-paint-phases.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/content-gains-scrollbars.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-toggle.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scrollbar-layers.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/reparented-scrollbars-non-sc-anc.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/resize-painting.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-absolute.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-content-clip-to-viewport.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-without-painting.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-after-removing-scrolling-contents.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-with-scrolling-contents.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-color-change.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-match-highlight.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/textarea-scroll-touch.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/universal-accelerated-overflow-scroll.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-and-content.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-content.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/syncpaint/compositing/repaint/should-not-clip-composited-overflow-scrolling-layer.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/syncpaint/fast/repaint/overflow-move-after-scroll.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/syncpaint/fast/repaint/overflow-scroll-after-move.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/syncpaint/paint/invalidation/invalidate-after-composited-scroll.html [ NeedsRebaseline ]
+crbug.com/549174 virtual/syncpaint/paint/selection/selection-within-composited-scroller.html [ NeedsRebaseline ]
+
+crbug.com/549174 [ Win Mac ] css3/flexbox/flexbox-baseline.html [ NeedsRebaseline ]
+crbug.com/549174 [ Win Mac ] scrollbars/border-box-rect-clips-scrollbars.html [ NeedsRebaseline ]
+crbug.com/549174 [ Win Mac ] virtual/prefer_compositing_to_lcd_text/scrollbars/border-box-rect-clips-scrollbars.html [ NeedsRebaseline ]
+crbug.com/549174 [ Win Mac ] virtual/rootlayerscrolls/scrollbars/border-box-rect-clips-scrollbars.html [ NeedsRebaseline ]
+
+crbug.com/549174 [ Win ] fast/forms/select/listbox-appearance-basic.html [ NeedsRebaseline ]
+crbug.com/549174 [ Win ] fast/forms/select/listbox-appearance-separator.html [ NeedsRebaseline ]
+crbug.com/549174 [ Win ] fast/forms/select/menulist-appearance-basic.html [ NeedsRebaseline ]
+
crbug.com/474759 fast/writing-mode/vertical-rl-replaced-selection.html [ Failure ]
crbug.com/474759 fast/block/line-layout/selection-highlight-overlap.html [ Failure ]
crbug.com/502927 [ XP ] paint/frames/frameset-with-stacking-context-and-not-stacking-context-children.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/compositing/iframes/resizer-expected.txt b/third_party/WebKit/LayoutTests/compositing/iframes/resizer-expected.txt
index 3095bd4..849f48c 100644
--- a/third_party/WebKit/LayoutTests/compositing/iframes/resizer-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/iframes/resizer-expected.txt
@@ -51,9 +51,14 @@
]
},
{
- "position": [287, 137],
- "bounds": [15, 15],
- "drawsContent": true
+ "bounds": [304, 154],
+ "children": [
+ {
+ "position": [287, 137],
+ "bounds": [15, 15],
+ "drawsContent": true
+ }
+ ]
}
]
}
diff --git a/third_party/WebKit/LayoutTests/compositing/layer-creation/fixed-position-in-fixed-overflow-expected.txt b/third_party/WebKit/LayoutTests/compositing/layer-creation/fixed-position-in-fixed-overflow-expected.txt
index 425e679..b0058b6 100644
--- a/third_party/WebKit/LayoutTests/compositing/layer-creation/fixed-position-in-fixed-overflow-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/layer-creation/fixed-position-in-fixed-overflow-expected.txt
@@ -31,6 +31,7 @@
]
},
{
+ "bounds": [800, 600],
"children": [
{
"position": [785, 0],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective-expected.txt
index 068faec..39c25ef 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective-expected.txt
@@ -62,6 +62,7 @@
]
},
{
+ "bounds": [200, 200],
"children": [
{
"position": [0, 185],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt
index 5a12c16..21ff09a 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/clear-scroll-parent-expected.txt
@@ -23,6 +23,7 @@
]
},
{
+ "bounds": [308, 208],
"children": [
{
"position": [289, 4],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/composited-scrolling-paint-phases-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/composited-scrolling-paint-phases-expected.txt
index deaa07a..6d86be9 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/composited-scrolling-paint-phases-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/composited-scrolling-paint-phases-expected.txt
@@ -74,6 +74,7 @@
]
},
{
+ "bounds": [202, 202],
"paintingPhases": [
"GraphicsLayerPaintBackground",
"GraphicsLayerPaintForeground",
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/content-gains-scrollbars-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/content-gains-scrollbars-expected.txt
index 183c7e4..d243ed8 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/content-gains-scrollbars-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/content-gains-scrollbars-expected.txt
@@ -26,6 +26,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [85, 0],
@@ -55,6 +56,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [0, 85],
@@ -84,6 +86,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [0, 85],
@@ -116,6 +119,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [85, 85],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/overflow-scrollbar-layers-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/overflow-scrollbar-layers-expected.txt
index 183c7e4..d243ed8 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/overflow-scrollbar-layers-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/overflow-scrollbar-layers-expected.txt
@@ -26,6 +26,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [85, 0],
@@ -55,6 +56,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [0, 85],
@@ -84,6 +86,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [0, 85],
@@ -116,6 +119,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [85, 85],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt
index df0bc6e..b11e3e4 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt
@@ -55,6 +55,7 @@
"bounds": [1200, 1000],
"children": [
{
+ "bounds": [1200, 1000],
"children": [
{
"position": [1193, 0],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/resize-painting-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/resize-painting-expected.txt
index 5755f75..7cd1352 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/resize-painting-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/resize-painting-expected.txt
@@ -12,9 +12,14 @@
"drawsContent": true,
"children": [
{
- "position": [85, 85],
- "bounds": [15, 15],
- "drawsContent": true
+ "bounds": [100, 100],
+ "children": [
+ {
+ "position": [85, 85],
+ "bounds": [15, 15],
+ "drawsContent": true
+ }
+ ]
}
]
}
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-absolute-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-absolute-expected.txt
index 1159b1a..a861f58 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-absolute-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-absolute-expected.txt
@@ -27,6 +27,7 @@
]
},
{
+ "bounds": [500, 500],
"children": [
{
"position": [0, 485],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt
index fe87f95..eca105b 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt
@@ -58,6 +58,7 @@
},
{
"position": [98, 90],
+ "bounds": [102, 102],
"children": [
{
"position": [94, 1],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt
index d745934..a74270d 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt
@@ -20,6 +20,7 @@
]
},
{
+ "bounds": [320, 340],
"children": [
{
"position": [0, 325],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/scrolling-without-painting-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/scrolling-without-painting-expected.txt
index f9f7d07..466febf 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/scrolling-without-painting-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/scrolling-without-painting-expected.txt
@@ -23,6 +23,7 @@
]
},
{
+ "bounds": [202, 202],
"children": [
{
"position": [1, 186],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/universal-accelerated-overflow-scroll-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/universal-accelerated-overflow-scroll-expected.txt
index 1137062..4b59382 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/universal-accelerated-overflow-scroll-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/universal-accelerated-overflow-scroll-expected.txt
@@ -26,6 +26,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -85,6 +86,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -139,6 +141,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -201,6 +204,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -260,6 +264,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -314,6 +319,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -372,6 +378,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -423,6 +430,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -475,6 +483,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -533,6 +542,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -592,6 +602,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -650,6 +661,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/updating-scrolling-content-expected.txt b/third_party/WebKit/LayoutTests/compositing/overflow/updating-scrolling-content-expected.txt
index 90b3ff2..59fbd8e 100644
--- a/third_party/WebKit/LayoutTests/compositing/overflow/updating-scrolling-content-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/overflow/updating-scrolling-content-expected.txt
@@ -31,6 +31,7 @@
]
},
{
+ "bounds": [200, 200],
"children": [
{
"position": [0, 185],
diff --git a/third_party/WebKit/LayoutTests/compositing/scrollbars/nested-overlay-scrollbars-expected.txt b/third_party/WebKit/LayoutTests/compositing/scrollbars/nested-overlay-scrollbars-expected.txt
index dcb7f4d..c7027fd 100644
--- a/third_party/WebKit/LayoutTests/compositing/scrollbars/nested-overlay-scrollbars-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/scrollbars/nested-overlay-scrollbars-expected.txt
@@ -57,6 +57,7 @@
},
{
"position": [2, 502],
+ "bounds": [204, 204],
"children": [
{
"position": [2, 195],
@@ -78,6 +79,7 @@
]
},
{
+ "bounds": [404, 404],
"children": [
{
"position": [395, 2],
diff --git a/third_party/WebKit/LayoutTests/compositing/squashing/composited-bounds-for-negative-z-expected.txt b/third_party/WebKit/LayoutTests/compositing/squashing/composited-bounds-for-negative-z-expected.txt
index ab80f81..9db0a91 100644
--- a/third_party/WebKit/LayoutTests/compositing/squashing/composited-bounds-for-negative-z-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/squashing/composited-bounds-for-negative-z-expected.txt
@@ -35,6 +35,7 @@
]
},
{
+ "bounds": [300, 300],
"children": [
{
"position": [285, 0],
diff --git a/third_party/WebKit/LayoutTests/compositing/update-paint-phases-expected.txt b/third_party/WebKit/LayoutTests/compositing/update-paint-phases-expected.txt
index 2d56195..fe482d2 100644
--- a/third_party/WebKit/LayoutTests/compositing/update-paint-phases-expected.txt
+++ b/third_party/WebKit/LayoutTests/compositing/update-paint-phases-expected.txt
@@ -48,6 +48,7 @@
]
},
{
+ "bounds": [102, 102],
"paintingPhases": [
"GraphicsLayerPaintBackground",
"GraphicsLayerPaintForeground",
diff --git a/third_party/WebKit/LayoutTests/fast/repaint/overflow-move-after-scroll-expected.txt b/third_party/WebKit/LayoutTests/fast/repaint/overflow-move-after-scroll-expected.txt
index 8dfd5f3..67397b3 100644
--- a/third_party/WebKit/LayoutTests/fast/repaint/overflow-move-after-scroll-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/repaint/overflow-move-after-scroll-expected.txt
@@ -33,6 +33,7 @@
]
},
{
+ "bounds": [700, 400],
"children": [
{
"position": [0, 385],
diff --git a/third_party/WebKit/LayoutTests/fast/repaint/overflow-scroll-after-move-expected.txt b/third_party/WebKit/LayoutTests/fast/repaint/overflow-scroll-after-move-expected.txt
index f99c2df..d4e783d 100644
--- a/third_party/WebKit/LayoutTests/fast/repaint/overflow-scroll-after-move-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/repaint/overflow-scroll-after-move-expected.txt
@@ -33,6 +33,7 @@
]
},
{
+ "bounds": [300, 400],
"children": [
{
"position": [0, 385],
diff --git a/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll-expected.txt b/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll-expected.txt
index 0aac43d..7a475c6 100644
--- a/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll-expected.txt
+++ b/third_party/WebKit/LayoutTests/paint/invalidation/invalidate-after-composited-scroll-expected.txt
@@ -31,6 +31,7 @@
]
},
{
+ "bounds": [200, 200],
"children": [
{
"position": [185, 0],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers-expected.txt
index ff2a18f..290b2c1 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers-expected.txt
@@ -25,6 +25,7 @@ Even though the fixed-position element's container is nonscrollable, it should s
]
},
{
+ "bounds": [302, 302],
"children": [
{
"position": [1, 286],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-after-removing-scrolling-contents-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-after-removing-scrolling-contents-expected.txt
index 058b91a..b85a763 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-after-removing-scrolling-contents-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-after-removing-scrolling-contents-expected.txt
@@ -39,6 +39,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -136,10 +137,10 @@ Lorem Ipsum
*** iteration 2: ***
{
- "bounds": [785, 2546],
+ "bounds": [785, 2562],
"children": [
{
- "bounds": [785, 2546],
+ "bounds": [785, 2562],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -161,6 +162,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -258,10 +260,10 @@ Lorem Ipsum
*** iteration 3: ***
{
- "bounds": [785, 4498],
+ "bounds": [785, 4530],
"children": [
{
- "bounds": [785, 4498],
+ "bounds": [785, 4530],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -280,6 +282,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -377,10 +380,10 @@ Lorem Ipsum
*** iteration 4: ***
{
- "bounds": [785, 6402],
+ "bounds": [785, 6450],
"children": [
{
- "bounds": [785, 6402],
+ "bounds": [785, 6450],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -399,6 +402,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-toggling-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-toggling-expected.txt
index 6f74aec..4a47763 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-toggling-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-toggling-expected.txt
@@ -36,6 +36,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -133,10 +134,10 @@ Lorem Ipsum
*** iteration 2: ***
{
- "bounds": [785, 2498],
+ "bounds": [785, 2514],
"children": [
{
- "bounds": [785, 2498],
+ "bounds": [785, 2514],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -155,6 +156,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -252,10 +254,10 @@ Lorem Ipsum
*** iteration 3: ***
{
- "bounds": [785, 4402],
+ "bounds": [785, 4434],
"children": [
{
- "bounds": [785, 4402],
+ "bounds": [785, 4434],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -274,6 +276,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-toggling-with-scrolling-contents-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-toggling-with-scrolling-contents-expected.txt
index 2c91562..d6996d2 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-toggling-with-scrolling-contents-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/selection-gaps-toggling-with-scrolling-contents-expected.txt
@@ -36,6 +36,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -133,10 +134,10 @@ Lorem Ipsum
*** iteration 2: ***
{
- "bounds": [785, 2498],
+ "bounds": [785, 2514],
"children": [
{
- "bounds": [785, 2498],
+ "bounds": [785, 2514],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -158,6 +159,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -255,10 +257,10 @@ Lorem Ipsum
*** iteration 3: ***
{
- "bounds": [785, 4450],
+ "bounds": [785, 4482],
"children": [
{
- "bounds": [785, 4450],
+ "bounds": [785, 4482],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -280,6 +282,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -377,10 +380,10 @@ Lorem Ipsum
*** iteration 4: ***
{
- "bounds": [785, 6402],
+ "bounds": [785, 6450],
"children": [
{
- "bounds": [785, 6402],
+ "bounds": [785, 6450],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -399,6 +402,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/textarea-scroll-touch-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/textarea-scroll-touch-expected.txt
index f9ac330..ebcfe54 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/textarea-scroll-touch-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/textarea-scroll-touch-expected.txt
@@ -26,6 +26,7 @@
]
},
{
+ "bounds": [206, 126],
"children": [
{
"position": [190, 1],
@@ -59,6 +60,7 @@
]
},
{
+ "bounds": [206, 126],
"children": [
{
"position": [190, 1],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/repaint/should-not-clip-composited-overflow-scrolling-layer-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/compositing/repaint/should-not-clip-composited-overflow-scrolling-layer-expected.txt
index 778ead5..ee3d294 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/compositing/repaint/should-not-clip-composited-overflow-scrolling-layer-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/repaint/should-not-clip-composited-overflow-scrolling-layer-expected.txt
@@ -31,6 +31,7 @@
]
},
{
+ "bounds": [500, 500],
"children": [
{
"position": [0, 485],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/width100percent-textarea-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/width100percent-textarea-expected.png
index 527148b..5559a78 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/width100percent-textarea-expected.png
+++ b/third_party/WebKit/LayoutTests/platform/linux/fast/replaced/width100percent-textarea-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/paint/selection/selection-within-composited-scroller-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/paint/selection/selection-within-composited-scroller-expected.txt
index 60f1bd5..b172a4e 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/paint/selection/selection-within-composited-scroller-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/paint/selection/selection-within-composited-scroller-expected.txt
@@ -43,6 +43,7 @@
]
},
{
+ "bounds": [200, 200],
"children": [
{
"position": [0, 185],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-after-removing-scrolling-contents-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-after-removing-scrolling-contents-expected.txt
index 058b91a..b85a763 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-after-removing-scrolling-contents-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-after-removing-scrolling-contents-expected.txt
@@ -39,6 +39,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -136,10 +137,10 @@ Lorem Ipsum
*** iteration 2: ***
{
- "bounds": [785, 2546],
+ "bounds": [785, 2562],
"children": [
{
- "bounds": [785, 2546],
+ "bounds": [785, 2562],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -161,6 +162,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -258,10 +260,10 @@ Lorem Ipsum
*** iteration 3: ***
{
- "bounds": [785, 4498],
+ "bounds": [785, 4530],
"children": [
{
- "bounds": [785, 4498],
+ "bounds": [785, 4530],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -280,6 +282,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -377,10 +380,10 @@ Lorem Ipsum
*** iteration 4: ***
{
- "bounds": [785, 6402],
+ "bounds": [785, 6450],
"children": [
{
- "bounds": [785, 6402],
+ "bounds": [785, 6450],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -399,6 +402,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-expected.txt
index 6f74aec..4a47763 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-expected.txt
@@ -36,6 +36,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -133,10 +134,10 @@ Lorem Ipsum
*** iteration 2: ***
{
- "bounds": [785, 2498],
+ "bounds": [785, 2514],
"children": [
{
- "bounds": [785, 2498],
+ "bounds": [785, 2514],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -155,6 +156,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -252,10 +254,10 @@ Lorem Ipsum
*** iteration 3: ***
{
- "bounds": [785, 4402],
+ "bounds": [785, 4434],
"children": [
{
- "bounds": [785, 4402],
+ "bounds": [785, 4434],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -274,6 +276,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-with-scrolling-contents-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-with-scrolling-contents-expected.txt
index 2c91562..d6996d2 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-with-scrolling-contents-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/selection-gaps-toggling-with-scrolling-contents-expected.txt
@@ -36,6 +36,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -133,10 +134,10 @@ Lorem Ipsum
*** iteration 2: ***
{
- "bounds": [785, 2498],
+ "bounds": [785, 2514],
"children": [
{
- "bounds": [785, 2498],
+ "bounds": [785, 2514],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -158,6 +159,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -255,10 +257,10 @@ Lorem Ipsum
*** iteration 3: ***
{
- "bounds": [785, 4450],
+ "bounds": [785, 4482],
"children": [
{
- "bounds": [785, 4450],
+ "bounds": [785, 4482],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -280,6 +282,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
@@ -377,10 +380,10 @@ Lorem Ipsum
*** iteration 4: ***
{
- "bounds": [785, 6402],
+ "bounds": [785, 6450],
"children": [
{
- "bounds": [785, 6402],
+ "bounds": [785, 6450],
"contentsOpaque": true,
"drawsContent": true,
"children": [
@@ -399,6 +402,7 @@ Lorem Ipsum
]
},
{
+ "bounds": [300, 500],
"children": [
{
"position": [0, 485],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-color-change-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-color-change-expected.txt
index 7ae5643..52e2586 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-color-change-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-color-change-expected.txt
@@ -113,6 +113,7 @@
]
},
{
+ "bounds": [200, 200],
"children": [
{
"position": [0, 185],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-match-highlight-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-match-highlight-expected.txt
index 4fa99a3..8336acb 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-match-highlight-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/text-match-highlight-expected.txt
@@ -63,6 +63,7 @@
]
},
{
+ "bounds": [800, 500],
"children": [
{
"position": [0, 485],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/textarea-scroll-touch-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/textarea-scroll-touch-expected.txt
index f9ac330..ebcfe54 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/textarea-scroll-touch-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/textarea-scroll-touch-expected.txt
@@ -26,6 +26,7 @@
]
},
{
+ "bounds": [206, 126],
"children": [
{
"position": [190, 1],
@@ -59,6 +60,7 @@
]
},
{
+ "bounds": [206, 126],
"children": [
{
"position": [190, 1],
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-and-content-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-and-content-expected.txt
index fc1b74f..569027b 100644
--- a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-and-content-expected.txt
+++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-and-content-expected.txt
@@ -80,6 +80,7 @@
]
},
{
+ "bounds": [200, 200],
"children": [
{
"position": [0, 185],
diff --git a/third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars-expected.png b/third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars-expected.png
new file mode 100644
index 0000000..baaca02
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars-expected.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars-expected.txt b/third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars-expected.txt
new file mode 100644
index 0000000..47da84c
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars-expected.txt
@@ -0,0 +1,9 @@
+Every scrollbar should be cut off at the dotted line.
+
+
+
+
+
+
+
+
diff --git a/third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars.html b/third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars.html
new file mode 100644
index 0000000..f410407
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/scrollbars/border-box-rect-clips-scrollbars.html
@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<style>
+.scroller {
+ border: 2px solid cyan;
+ height: 50px;
+ overflow: scroll;
+ width: 8px;
+ margin-left: 10px;
+ margin-top: 5px;
+ display: inline-block;
+}
+.selfpainting {
+ position: relative;
+}
+.rounded {
+ border-radius: 8px;
+}
+.composited {
+ will-change: transform;
+}
+.outlined {
+ outline: 6px solid yellow;
+}
+.space {
+ width: 1px;
+ height: 100px;
+}
+.clipline {
+ display: inline-block;
+ width: 0px;
+ height: 50px;
+ border-left: 1px dotted black;
+ margin-left: -12px;
+ margin-right: 12px;
+ top: -2px;
+ position: relative;
+}
+</style>
+Every scrollbar should be cut off at the dotted line.<br>
+<div class="scroller"><div class="space"></div></div><div class="clipline"></div>
+<div class="scroller selfpainting"><div class="space"></div></div><div class="clipline"></div>
+<div class="scroller composited"><div class="space"></div></div><div class="clipline"></div>
+<div class="scroller composited outlined"><div class="space"></div></div><div class="clipline"></div>
+<div class="rounded scroller"><div class="space"></div></div><div class="clipline"></div>
+<div class="rounded scroller selfpainting "><div class="space"></div></div><div class="clipline"></div>
+<div class="rounded scroller composited"><div class="space"></div></div><div class="clipline"></div>
+<div class="rounded scroller composited outlined"><div class="space"></div></div><div class="clipline"></div>
+<script>
+if (window.testRunner)
+ testRunner.dumpAsTextWithPixelResults();
+</script>
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective-expected.txt
index 068faec..39c25ef 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective-expected.txt
@@ -62,6 +62,7 @@
]
},
{
+ "bounds": [200, 200],
"children": [
{
"position": [0, 185],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt
index 5a12c16..21ff09a 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/clear-scroll-parent-expected.txt
@@ -23,6 +23,7 @@
]
},
{
+ "bounds": [308, 208],
"children": [
{
"position": [289, 4],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/composited-scrolling-paint-phases-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/composited-scrolling-paint-phases-expected.txt
index deaa07a..6d86be9 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/composited-scrolling-paint-phases-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/composited-scrolling-paint-phases-expected.txt
@@ -74,6 +74,7 @@
]
},
{
+ "bounds": [202, 202],
"paintingPhases": [
"GraphicsLayerPaintBackground",
"GraphicsLayerPaintForeground",
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/content-gains-scrollbars-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/content-gains-scrollbars-expected.txt
index 183c7e4..d243ed8 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/content-gains-scrollbars-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/content-gains-scrollbars-expected.txt
@@ -26,6 +26,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [85, 0],
@@ -55,6 +56,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [0, 85],
@@ -84,6 +86,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [0, 85],
@@ -116,6 +119,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [85, 85],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-expected.txt
index 663eae2..9b7a759 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-expected.txt
@@ -22,6 +22,7 @@
]
},
{
+ "bounds": [300, 300],
"children": [
{
"position": [0, 285],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt
index 663eae2..9b7a759 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt
@@ -22,6 +22,7 @@
]
},
{
+ "bounds": [300, 300],
"children": [
{
"position": [0, 285],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt
index 663eae2..9b7a759 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-overlay-with-touch-expected.txt
@@ -22,6 +22,7 @@
]
},
{
+ "bounds": [300, 300],
"children": [
{
"position": [0, 285],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scrollbar-layers-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scrollbar-layers-expected.txt
index 183c7e4..d243ed8 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scrollbar-layers-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/overflow-scrollbar-layers-expected.txt
@@ -26,6 +26,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [85, 0],
@@ -55,6 +56,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [0, 85],
@@ -84,6 +86,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [0, 85],
@@ -116,6 +119,7 @@
]
},
{
+ "bounds": [100, 100],
"children": [
{
"position": [85, 85],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt
index df0bc6e..b11e3e4 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/reparented-scrollbars-non-sc-anc-expected.txt
@@ -55,6 +55,7 @@
"bounds": [1200, 1000],
"children": [
{
+ "bounds": [1200, 1000],
"children": [
{
"position": [1193, 0],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/resize-painting-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/resize-painting-expected.txt
index 5755f75..7cd1352 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/resize-painting-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/resize-painting-expected.txt
@@ -12,9 +12,14 @@
"drawsContent": true,
"children": [
{
- "position": [85, 85],
- "bounds": [15, 15],
- "drawsContent": true
+ "bounds": [100, 100],
+ "children": [
+ {
+ "position": [85, 85],
+ "bounds": [15, 15],
+ "drawsContent": true
+ }
+ ]
}
]
}
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-absolute-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-absolute-expected.txt
index 1159b1a..a861f58 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-absolute-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-absolute-expected.txt
@@ -27,6 +27,7 @@
]
},
{
+ "bounds": [500, 500],
"children": [
{
"position": [0, 485],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt
index fe87f95..eca105b 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor-expected.txt
@@ -58,6 +58,7 @@
},
{
"position": [98, 90],
+ "bounds": [102, 102],
"children": [
{
"position": [94, 1],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt
index d745934..a74270d 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt
@@ -20,6 +20,7 @@
]
},
{
+ "bounds": [320, 340],
"children": [
{
"position": [0, 325],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-without-painting-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-without-painting-expected.txt
index f9f7d07..466febf 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-without-painting-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/scrolling-without-painting-expected.txt
@@ -23,6 +23,7 @@
]
},
{
+ "bounds": [202, 202],
"children": [
{
"position": [1, 186],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/universal-accelerated-overflow-scroll-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/universal-accelerated-overflow-scroll-expected.txt
index 1137062..4b59382 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/universal-accelerated-overflow-scroll-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/universal-accelerated-overflow-scroll-expected.txt
@@ -26,6 +26,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -85,6 +86,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -139,6 +141,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -201,6 +204,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -260,6 +264,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -314,6 +319,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -372,6 +378,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -423,6 +430,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -475,6 +483,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -533,6 +542,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -592,6 +602,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
@@ -650,6 +661,7 @@
]
},
{
+ "bounds": [104, 104],
"children": [
{
"position": [2, 87],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-expected.txt
index 246c6c4..9894d08 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-container-expected.txt
@@ -35,6 +35,7 @@
]
},
{
+ "bounds": [210, 210],
"children": [
{
"position": [5, 190],
diff --git a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-content-expected.txt b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-content-expected.txt
index 90b3ff2..59fbd8e 100644
--- a/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-content-expected.txt
+++ b/third_party/WebKit/LayoutTests/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-content-expected.txt
@@ -31,6 +31,7 @@
]
},
{
+ "bounds": [200, 200],
"children": [
{
"position": [0, 185],
diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
index f187ba0..312b5cda 100644
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
@@ -549,7 +549,7 @@ bool CompositedLayerMapping::updateGraphicsLayerConfiguration()
layerConfigChanged = true;
}
if (layoutObject->isLayoutPart()) {
- if (PaintLayerCompositor::parentFrameContentLayers(toLayoutPart(layoutObject)))
+ if (PaintLayerCompositor::attachFrameContentLayersToIframeLayer(toLayoutPart(layoutObject)))
layerConfigChanged = true;
}
@@ -710,11 +710,11 @@ void CompositedLayerMapping::updateGraphicsLayerGeometry(const PaintLayer* compo
// Might update graphicsLayerParentLocation.
updateAncestorClippingLayerGeometry(compositingContainer, snappedOffsetFromCompositedAncestor, graphicsLayerParentLocation);
- updateOverflowControlsHostLayerGeometry(compositingStackingContext, compositingContainer);
FloatSize contentsSize(relativeCompositingBounds.size());
updateMainGraphicsLayerGeometry(relativeCompositingBounds, localCompositingBounds, graphicsLayerParentLocation);
+ updateOverflowControlsHostLayerGeometry(compositingStackingContext, compositingContainer);
updateContentsOffsetInCompositingLayer(snappedOffsetFromCompositedAncestor, graphicsLayerParentLocation);
updateSquashingLayerGeometry(offsetFromCompositedAncestor, graphicsLayerParentLocation, m_owningLayer, m_squashedLayers, m_squashingLayer.get(), &m_squashingLayerOffsetFromTransformedAncestor, layersNeedingPaintInvalidation);
@@ -829,12 +829,14 @@ void CompositedLayerMapping::updateOverflowControlsHostLayerGeometry(const Paint
if (!m_overflowControlsHostLayer)
return;
+ LayoutPoint hostLayerPosition;
+
if (needsToReparentOverflowControls()) {
- if (m_overflowControlsClippingLayer) {
- m_overflowControlsClippingLayer->setSize(m_ancestorClippingLayer->size());
- m_overflowControlsClippingLayer->setOffsetFromLayoutObject(m_ancestorClippingLayer->offsetFromLayoutObject());
- m_overflowControlsClippingLayer->setMasksToBounds(true);
- m_overflowControlsHostLayer->setPosition(IntPoint(-m_overflowControlsClippingLayer->offsetFromLayoutObject()));
+ if (m_overflowControlsAncestorClippingLayer) {
+ m_overflowControlsAncestorClippingLayer->setSize(m_ancestorClippingLayer->size());
+ m_overflowControlsAncestorClippingLayer->setOffsetFromLayoutObject(m_ancestorClippingLayer->offsetFromLayoutObject());
+ m_overflowControlsAncestorClippingLayer->setMasksToBounds(true);
+ hostLayerPosition = toLayoutPoint(LayoutSize(-m_overflowControlsAncestorClippingLayer->offsetFromLayoutObject()));
FloatPoint position = m_ancestorClippingLayer->position();
if (compositingStackingContext != compositingContainer) {
@@ -844,20 +846,29 @@ void CompositedLayerMapping::updateOverflowControlsHostLayerGeometry(const Paint
position += offsetFromStackingContainer;
}
- m_overflowControlsClippingLayer->setPosition(position);
+ m_overflowControlsAncestorClippingLayer->setPosition(position);
} else {
// The controls are in the same 2D space as the compositing container, so we can map them into the space of the container.
TransformState transformState(TransformState::ApplyTransformDirection, FloatPoint());
m_owningLayer.layoutObject()->mapLocalToContainer(compositingStackingContext->layoutObject(), transformState, ApplyContainerFlip);
transformState.flatten();
- LayoutPoint offsetFromStackingContainer = LayoutPoint(transformState.lastPlanarPoint());
+ hostLayerPosition = LayoutPoint(transformState.lastPlanarPoint());
if (PaintLayerScrollableArea* scrollableArea = compositingStackingContext->scrollableArea())
- offsetFromStackingContainer.move(LayoutSize(scrollableArea->adjustedScrollOffset()));
- m_overflowControlsHostLayer->setPosition(FloatPoint(offsetFromStackingContainer));
+ hostLayerPosition.move(LayoutSize(scrollableArea->adjustedScrollOffset()));
}
- } else {
- m_overflowControlsHostLayer->setPosition(FloatPoint());
}
+
+ // To clip correctly, m_overflowControlsHostLayer should match the border box rect, which is at
+ // the origin of the LayoutObject. The parent is m_graphicsLayer, so we must adjust the position
+ // by the distance from m_graphicsLayer to the LayoutObject.
+
+ IntSize offsetFromLayoutObject = m_graphicsLayer->offsetFromLayoutObject() - roundedIntSize(m_owningLayer.subpixelAccumulation());
+ hostLayerPosition.move(-offsetFromLayoutObject);
+ m_overflowControlsHostLayer->setPosition(FloatPoint(hostLayerPosition));
+
+ const IntRect borderBox = toLayoutBox(m_owningLayer.layoutObject())->pixelSnappedBorderBoxRect();
+ m_overflowControlsHostLayer->setSize(FloatSize(borderBox.size()));
+ m_overflowControlsHostLayer->setMasksToBounds(true);
}
void CompositedLayerMapping::updateChildContainmentLayerGeometry(const IntRect& clippingBox, const IntRect& localCompositingBounds)
@@ -1104,7 +1115,7 @@ void CompositedLayerMapping::updateInternalHierarchy()
bottomLayer = m_graphicsLayer.get();
if (m_isMainFrameLayoutViewLayer)
bottomLayer = layoutObject()->frame()->page()->frameHost().visualViewport().containerLayer();
- updateBottomLayer(m_overflowControlsClippingLayer.get());
+ updateBottomLayer(m_overflowControlsAncestorClippingLayer.get());
updateBottomLayer(m_overflowControlsHostLayer.get());
if (m_layerForHorizontalScrollbar)
m_overflowControlsHostLayer->addChild(m_layerForHorizontalScrollbar.get());
@@ -1345,8 +1356,8 @@ bool CompositedLayerMapping::updateOverflowControlsLayers(bool needsHorizontalSc
bool needsOverflowControlsHostLayer = needsHorizontalScrollbarLayer || needsVerticalScrollbarLayer || needsScrollCornerLayer;
toggleScrollbarLayerIfNeeded(m_overflowControlsHostLayer, needsOverflowControlsHostLayer, CompositingReasonLayerForOverflowControlsHost);
- bool needsOverflowClipLayer = needsOverflowControlsHostLayer && needsAncestorClip;
- toggleScrollbarLayerIfNeeded(m_overflowControlsClippingLayer, needsOverflowClipLayer, CompositingReasonLayerForOverflowControlsHost);
+ bool needsOverflowAncestorClipLayer = needsOverflowControlsHostLayer && needsAncestorClip;
+ toggleScrollbarLayerIfNeeded(m_overflowControlsAncestorClippingLayer, needsOverflowAncestorClipLayer, CompositingReasonLayerForOverflowControlsHost);
if (ScrollingCoordinator* scrollingCoordinator = scrollingCoordinatorFromLayer(m_owningLayer)) {
if (horizontalScrollbarLayerChanged)
@@ -1360,11 +1371,10 @@ bool CompositedLayerMapping::updateOverflowControlsLayers(bool needsHorizontalSc
void CompositedLayerMapping::positionOverflowControlsLayers()
{
- IntSize offsetFromLayoutObject = m_graphicsLayer->offsetFromLayoutObject() - roundedIntSize(m_owningLayer.subpixelAccumulation());
if (GraphicsLayer* layer = layerForHorizontalScrollbar()) {
Scrollbar* hBar = m_owningLayer.scrollableArea()->horizontalScrollbar();
if (hBar) {
- layer->setPosition(hBar->frameRect().location() - offsetFromLayoutObject);
+ layer->setPosition(hBar->frameRect().location());
layer->setSize(FloatSize(hBar->frameRect().size()));
if (layer->hasContentsLayer())
layer->setContentsRect(IntRect(IntPoint(), hBar->frameRect().size()));
@@ -1375,7 +1385,7 @@ void CompositedLayerMapping::positionOverflowControlsLayers()
if (GraphicsLayer* layer = layerForVerticalScrollbar()) {
Scrollbar* vBar = m_owningLayer.scrollableArea()->verticalScrollbar();
if (vBar) {
- layer->setPosition(vBar->frameRect().location() - offsetFromLayoutObject);
+ layer->setPosition(vBar->frameRect().location());
layer->setSize(FloatSize(vBar->frameRect().size()));
if (layer->hasContentsLayer())
layer->setContentsRect(IntRect(IntPoint(), vBar->frameRect().size()));
@@ -1385,7 +1395,7 @@ void CompositedLayerMapping::positionOverflowControlsLayers()
if (GraphicsLayer* layer = layerForScrollCorner()) {
const IntRect& scrollCornerAndResizer = m_owningLayer.scrollableArea()->scrollCornerAndResizerRect();
- layer->setPosition(FloatPoint(scrollCornerAndResizer.location() - offsetFromLayoutObject));
+ layer->setPosition(FloatPoint(scrollCornerAndResizer.location()));
layer->setSize(FloatSize(scrollCornerAndResizer.size()));
layer->setDrawsContent(!scrollCornerAndResizer.isEmpty());
}
@@ -1960,7 +1970,7 @@ bool CompositedLayerMapping::needsToReparentOverflowControls() const
GraphicsLayer* CompositedLayerMapping::detachLayerForOverflowControls(const PaintLayer& enclosingLayer)
{
- GraphicsLayer* host = m_overflowControlsClippingLayer.get();
+ GraphicsLayer* host = m_overflowControlsAncestorClippingLayer.get();
if (!host)
host = m_overflowControlsHostLayer.get();
host->removeFromParent();
@@ -1984,6 +1994,22 @@ GraphicsLayer* CompositedLayerMapping::parentForSublayers() const
return m_graphicsLayer.get();
}
+void CompositedLayerMapping::setSublayers(const GraphicsLayerVector& sublayers)
+{
+ GraphicsLayer* overflowControlsContainer = m_overflowControlsAncestorClippingLayer
+ ? m_overflowControlsAncestorClippingLayer.get()
+ : m_overflowControlsHostLayer.get();
+ GraphicsLayer* parent = parentForSublayers();
+ bool needsOverflowControlsReattached = overflowControlsContainer && overflowControlsContainer->parent() == parent;
+
+ parent->setChildren(sublayers);
+
+ // If we have scrollbars, but are not using composited scrolling, then parentForSublayers may return m_graphicsLayer.
+ // In that case, the above call to setChildren has clobbered the overflow controls host layer, so we need to reattach it.
+ if (needsOverflowControlsReattached)
+ parent->addChild(overflowControlsContainer);
+}
+
GraphicsLayer* CompositedLayerMapping::childForSuperlayers() const
{
if (m_squashingContainmentLayer)
@@ -2505,8 +2531,8 @@ String CompositedLayerMapping::debugName(const GraphicsLayer* graphicsLayer) con
name = "Scroll Corner Layer";
} else if (graphicsLayer == m_overflowControlsHostLayer.get()) {
name = "Overflow Controls Host Layer";
- } else if (graphicsLayer == m_overflowControlsClippingLayer.get()) {
- name = "Overflow Controls ClipLayer Layer";
+ } else if (graphicsLayer == m_overflowControlsAncestorClippingLayer.get()) {
+ name = "Overflow Controls Ancestor Clipping Layer";
} else if (graphicsLayer == m_scrollingLayer.get()) {
name = "Scrolling Layer";
} else if (graphicsLayer == m_scrollingContentsLayer.get()) {
diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h
index 8e9bb8b..51abb35 100644
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h
@@ -111,6 +111,7 @@ public:
GraphicsLayer* parentForSublayers() const;
GraphicsLayer* childForSuperlayers() const;
+ void setSublayers(const GraphicsLayerVector&);
bool hasChildTransformLayer() const { return m_childTransformLayer; }
GraphicsLayer* childTransformLayer() const { return m_childTransformLayer.get(); }
@@ -329,9 +330,9 @@ private:
// | + m_childContainmentLayer [OPTIONAL] <-OR-> m_scrollingLayer [OPTIONAL]
// | + m_scrollingContentsLayer [Present iff m_scrollingLayer is present]
// | + m_scrollingBlockSelectionLayer [Present iff m_scrollingLayer is present]
- // + m_overflowControlsClippingLayer [OPTIONAL] // *The overflow controls may need to be repositioned in the
- // + m_overflowControlsHostLayer [OPTIONAL] // graphics layer tree by the RLC to ensure that they stack
- // + m_layerForVerticalScrollbar [OPTIONAL] // above scrolling content.
+ // + m_overflowControlsAncestorClippingLayer [OPTIONAL] // *The overflow controls may need to be repositioned in the
+ // + m_overflowControlsHostLayer [OPTIONAL] // graphics layer tree by the RLC to ensure that they stack
+ // + m_layerForVerticalScrollbar [OPTIONAL] // above scrolling content.
// + m_layerForHorizontalScrollbar [OPTIONAL]
// + m_layerForScrollCorner [OPTIONAL]
//
@@ -398,17 +399,18 @@ private:
OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar;
OwnPtr<GraphicsLayer> m_layerForScrollCorner;
- // This layer exists to simplify the reparenting of overflow control that is occasionally required
- // to ensure that scrollbars appear above scrolling content.
+ // This layer contains the scrollbar and scroll corner layers and clips them to the border box
+ // bounds of our LayoutObject. It is usually added to m_graphicsLayer, but may be reparented by
+ // GraphicsLayerTreeBuilder to ensure that scrollbars appear above scrolling content.
OwnPtr<GraphicsLayer> m_overflowControlsHostLayer;
// The reparented overflow controls sometimes need to be clipped by a non-ancestor. In just the same
// way we need an ancestor clipping layer to clip this CLM's internal hierarchy, we add another layer
- // to clip the overflow controls. It would be possible to make m_overflowControlsHostLayer be
- // responsible for applying this clip, but that could require repositioning all of the overflow
- // controls since the this clip may apply an offset. By using a separate layer, the overflow controls
- // can remain ignorant of the layers above them and still work correctly.
- OwnPtr<GraphicsLayer> m_overflowControlsClippingLayer;
+ // to clip the overflow controls. We could combine this with m_overflowControlsHostLayer, but that
+ // would require manually intersecting their clips, and shifting the overflow controls to compensate
+ // for this clip's offset. By using a separate layer, the overflow controls can remain ignorant of
+ // ancestor clipping.
+ OwnPtr<GraphicsLayer> m_overflowControlsAncestorClippingLayer;
// A squashing CLM has two possible squashing-related structures.
//
diff --git a/third_party/WebKit/Source/core/layout/compositing/GraphicsLayerTreeBuilder.cpp b/third_party/WebKit/Source/core/layout/compositing/GraphicsLayerTreeBuilder.cpp
index 4f2c16d..3c24bde 100644
--- a/third_party/WebKit/Source/core/layout/compositing/GraphicsLayerTreeBuilder.cpp
+++ b/third_party/WebKit/Source/core/layout/compositing/GraphicsLayerTreeBuilder.cpp
@@ -97,30 +97,10 @@ void GraphicsLayerTreeBuilder::rebuild(PaintLayer& layer, AncestorInfo info)
if (hasCompositedLayerMapping) {
bool parented = false;
if (layer.layoutObject()->isLayoutPart())
- parented = PaintLayerCompositor::parentFrameContentLayers(toLayoutPart(layer.layoutObject()));
+ parented = PaintLayerCompositor::attachFrameContentLayersToIframeLayer(toLayoutPart(layer.layoutObject()));
if (!parented)
- currentCompositedLayerMapping->parentForSublayers()->setChildren(layerChildren);
-
- // If the layer has a clipping layer the overflow controls layers will be siblings of the clipping layer.
- // Otherwise, the overflow control layers are normal children.
- // FIXME: Why isn't this handled in CLM updateInternalHierarchy?
- if (!currentCompositedLayerMapping->hasClippingLayer() && !currentCompositedLayerMapping->hasScrollingLayer()) {
- if (GraphicsLayer* overflowControlLayer = currentCompositedLayerMapping->layerForHorizontalScrollbar()) {
- overflowControlLayer->removeFromParent();
- currentCompositedLayerMapping->parentForSublayers()->addChild(overflowControlLayer);
- }
-
- if (GraphicsLayer* overflowControlLayer = currentCompositedLayerMapping->layerForVerticalScrollbar()) {
- overflowControlLayer->removeFromParent();
- currentCompositedLayerMapping->parentForSublayers()->addChild(overflowControlLayer);
- }
-
- if (GraphicsLayer* overflowControlLayer = currentCompositedLayerMapping->layerForScrollCorner()) {
- overflowControlLayer->removeFromParent();
- currentCompositedLayerMapping->parentForSublayers()->addChild(overflowControlLayer);
- }
- }
+ currentCompositedLayerMapping->setSublayers(layerChildren);
if (shouldAppendLayer(layer))
info.childLayersOfEnclosingCompositedLayer->append(currentCompositedLayerMapping->childForSuperlayers());
diff --git a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
index e460ecc4..ad6b112 100644
--- a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
+++ b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
@@ -645,8 +645,7 @@ PaintLayerCompositor* PaintLayerCompositor::frameContentsCompositor(LayoutPart*
return nullptr;
}
-// FIXME: What does this function do? It needs a clearer name.
-bool PaintLayerCompositor::parentFrameContentLayers(LayoutPart* layoutObject)
+bool PaintLayerCompositor::attachFrameContentLayersToIframeLayer(LayoutPart* layoutObject)
{
PaintLayerCompositor* innerCompositor = frameContentsCompositor(layoutObject);
if (!innerCompositor || !innerCompositor->staleInCompositingMode() || innerCompositor->rootLayerAttachment() != RootLayerAttachedViaEnclosingFrame)
@@ -656,13 +655,7 @@ bool PaintLayerCompositor::parentFrameContentLayers(LayoutPart* layoutObject)
if (!layer->hasCompositedLayerMapping())
return false;
- CompositedLayerMapping* compositedLayerMapping = layer->compositedLayerMapping();
- GraphicsLayer* hostingLayer = compositedLayerMapping->parentForSublayers();
- GraphicsLayer* rootLayer = innerCompositor->rootGraphicsLayer();
- if (hostingLayer->children().size() != 1 || hostingLayer->children()[0] != rootLayer) {
- hostingLayer->removeAllChildren();
- hostingLayer->addChild(rootLayer);
- }
+ layer->compositedLayerMapping()->setSublayers(GraphicsLayerVector(1, innerCompositor->rootGraphicsLayer()));
return true;
}
diff --git a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h
index e679e81..b38975f 100644
--- a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h
+++ b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.h
@@ -132,7 +132,7 @@ public:
static PaintLayerCompositor* frameContentsCompositor(LayoutPart*);
// Return true if the layers changed.
- static bool parentFrameContentLayers(LayoutPart*);
+ static bool attachFrameContentLayersToIframeLayer(LayoutPart*);
// Update the geometry of the layers used for clipping and scrolling in frames.
void frameViewDidChangeLocation(const IntPoint& contentsOffset);
diff --git a/third_party/WebKit/Source/core/paint/BlockPainter.cpp b/third_party/WebKit/Source/core/paint/BlockPainter.cpp
index 75855f4..bd5b0fc 100644
--- a/third_party/WebKit/Source/core/paint/BlockPainter.cpp
+++ b/third_party/WebKit/Source/core/paint/BlockPainter.cpp
@@ -74,6 +74,12 @@ void BlockPainter::paintOverflowControlsIfNeeded(const PaintInfo& paintInfo, con
{
PaintPhase phase = paintInfo.phase;
if (m_layoutBlock.hasOverflowClip() && m_layoutBlock.style()->visibility() == VISIBLE && (phase == PaintPhaseBlockBackground || phase == PaintPhaseChildBlockBackground) && paintInfo.shouldPaintWithinRoot(&m_layoutBlock) && !paintInfo.paintRootBackgroundOnly()) {
+ Optional<ClipRecorder> clipRecorder;
+ if (!m_layoutBlock.layer()->isSelfPaintingLayer()) {
+ LayoutRect clipRect = m_layoutBlock.borderBoxRect();
+ clipRect.moveBy(paintOffset);
+ clipRecorder.emplace(*paintInfo.context, m_layoutBlock, DisplayItem::ClipScrollbarsToBoxBounds, clipRect);
+ }
ScrollableAreaPainter(*m_layoutBlock.layer()->scrollableArea()).paintOverflowControls(paintInfo.context, roundedIntPoint(paintOffset), paintInfo.cullRect(), false /* paintingOverlayControls */);
}
}
diff --git a/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h b/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h
index 2670d44..500cbf8 100644
--- a/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h
+++ b/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h
@@ -127,6 +127,7 @@ public:
ClipLayerOverflowControls,
ClipNodeImage,
ClipPopupListBoxFrame,
+ ClipScrollbarsToBoxBounds,
ClipSelectionImage,
PageWidgetDelegateClip,
ClipPrintedPage,