Commit b71fd26f authored by trchen's avatar trchen Committed by Commit bot

CSS backdrop-filter other than 'none' should force stacking context.

As spec'd by https://drafts.fxtf.org/filters-2/#BackdropFilterProperty

BUG=497522

Review-Url: https://codereview.chromium.org/2379803003
Cr-Commit-Position: refs/heads/master@{#422708}
parent 938368c5
......@@ -1096,6 +1096,9 @@ crbug.com/605059 [ Retina ] fast/text/international/rtl-negative-letter-spacing.
crbug.com/610464 [ Linux Win7 Debug ] inspector/components/throttler.html [ Failure Pass ]
crbug.com/497522 [ Android ] compositing/overflow/scroll-parent-absolute-with-backdrop-filter.html [ NeedsRebaseline ]
crbug.com/497522 [ Android ] virtual/prefer_compositing_to_lcd_text/compositing/overflow/scroll-parent-absolute-with-backdrop-filter.html [ NeedsRebaseline ]
# TODO(jlebel): Remove when methods are implemented.
crbug.com/624019 [ Mac ] bluetooth/notifications/add-multiple-event-listeners.html [ Skip ]
crbug.com/624019 [ Mac ] bluetooth/notifications/concurrent-stops.html [ Skip ]
......
......@@ -9,77 +9,64 @@
"drawsContent": true,
"children": [
{
"name": "Squashing Containment Layer",
"name": "LayoutBlockFlow DIV id='top'",
"position": [8, 8],
"bounds": [500, 500],
"shouldFlattenTransform": false,
"drawsContent": true,
"children": [
{
"name": "LayoutBlockFlow DIV id='top'",
"position": [8, 8],
"bounds": [500, 500],
"name": "Scrolling Layer",
"bounds": [485, 485],
"shouldFlattenTransform": false,
"drawsContent": true,
"children": [
{
"name": "Scrolling Layer",
"bounds": [485, 485],
"shouldFlattenTransform": false,
"name": "Scrolling Contents Layer",
"bounds": [485, 5000],
"drawsContent": true,
"children": [
{
"name": "Scrolling Contents Layer",
"bounds": [485, 5000],
"drawsContent": true
}
]
},
{
"name": "Overflow Controls Host Layer",
"bounds": [500, 500],
"children": [
{
"name": "Horizontal Scrollbar Layer",
"position": [0, 485],
"bounds": [485, 15]
},
{
"name": "Vertical Scrollbar Layer",
"position": [485, 0],
"bounds": [15, 485]
"name": "LayoutBlockFlow (relative positioned) DIV id='child'",
"bounds": [300, 300],
"contentsOpaque": true,
"drawsContent": true,
"backfaceVisibility": "hidden",
"backgroundColor": "#FFFF00"
},
{
"name": "Scroll Corner Layer",
"position": [485, 485],
"bounds": [15, 15],
"drawsContent": true
"name": "LayoutBlockFlow (relative positioned) DIV id='tall'",
"bounds": [20, 5000],
"contentsOpaque": true,
"drawsContent": true,
"backgroundColor": "#FA8072"
}
]
}
]
},
{
"name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV id='middle')",
"position": [8, 8],
"bounds": [400, 400],
"drawsContent": true
"name": "Overflow Controls Host Layer",
"bounds": [500, 500],
"children": [
{
"name": "Horizontal Scrollbar Layer",
"position": [0, 485],
"bounds": [485, 15]
},
{
"name": "Vertical Scrollbar Layer",
"position": [485, 0],
"bounds": [15, 485]
},
{
"name": "Scroll Corner Layer",
"position": [485, 485],
"bounds": [15, 15],
"drawsContent": true
}
]
}
]
},
{
"name": "LayoutBlockFlow (relative positioned) DIV id='child'",
"position": [8, 8],
"bounds": [300, 300],
"contentsOpaque": true,
"drawsContent": true,
"backfaceVisibility": "hidden",
"backgroundColor": "#FFFF00"
},
{
"name": "LayoutBlockFlow (relative positioned) DIV id='tall'",
"position": [8, 8],
"bounds": [20, 5000],
"contentsOpaque": true,
"drawsContent": true,
"backgroundColor": "#FA8072",
"hasScrollParent": true
}
]
}
......
......@@ -9,77 +9,64 @@
"drawsContent": true,
"children": [
{
"name": "Squashing Containment Layer",
"name": "LayoutBlockFlow DIV id='top'",
"position": [8, 8],
"bounds": [500, 500],
"shouldFlattenTransform": false,
"drawsContent": true,
"children": [
{
"name": "LayoutBlockFlow DIV id='top'",
"position": [8, 8],
"bounds": [500, 500],
"name": "Scrolling Layer",
"bounds": [485, 485],
"shouldFlattenTransform": false,
"drawsContent": true,
"children": [
{
"name": "Scrolling Layer",
"bounds": [485, 485],
"shouldFlattenTransform": false,
"name": "Scrolling Contents Layer",
"bounds": [485, 5000],
"drawsContent": true,
"children": [
{
"name": "Scrolling Contents Layer",
"bounds": [485, 5000],
"drawsContent": true
}
]
},
{
"name": "Overflow Controls Host Layer",
"bounds": [500, 500],
"children": [
{
"name": "Horizontal Scrollbar Layer",
"position": [0, 485],
"bounds": [485, 15]
},
{
"name": "Vertical Scrollbar Layer",
"position": [485, 0],
"bounds": [15, 485]
"name": "LayoutBlockFlow (relative positioned) DIV id='child'",
"bounds": [300, 300],
"contentsOpaque": true,
"drawsContent": true,
"backfaceVisibility": "hidden",
"backgroundColor": "#FFFF00"
},
{
"name": "Scroll Corner Layer",
"position": [485, 485],
"bounds": [15, 15],
"drawsContent": true
"name": "LayoutBlockFlow (relative positioned) DIV id='tall'",
"bounds": [20, 5000],
"contentsOpaque": true,
"drawsContent": true,
"backgroundColor": "#FA8072"
}
]
}
]
},
{
"name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV id='middle')",
"position": [8, 8],
"bounds": [400, 400],
"drawsContent": true
"name": "Overflow Controls Host Layer",
"bounds": [500, 500],
"children": [
{
"name": "Horizontal Scrollbar Layer",
"position": [0, 485],
"bounds": [485, 15]
},
{
"name": "Vertical Scrollbar Layer",
"position": [485, 0],
"bounds": [15, 485]
},
{
"name": "Scroll Corner Layer",
"position": [485, 485],
"bounds": [15, 15],
"drawsContent": true
}
]
}
]
},
{
"name": "LayoutBlockFlow (relative positioned) DIV id='child'",
"position": [8, 8],
"bounds": [300, 300],
"contentsOpaque": true,
"drawsContent": true,
"backfaceVisibility": "hidden",
"backgroundColor": "#FFFF00"
},
{
"name": "LayoutBlockFlow (relative positioned) DIV id='tall'",
"position": [8, 8],
"bounds": [20, 5000],
"contentsOpaque": true,
"drawsContent": true,
"backgroundColor": "#FA8072",
"hasScrollParent": true
}
]
}
......
......@@ -1159,7 +1159,8 @@ void ComputedStyle::updateIsStackingContext(bool isDocumentElement,
if (isDocumentElement || isInTopLayer || styleType() == PseudoIdBackdrop ||
hasOpacity() || hasTransformRelatedProperty() || hasMask() ||
clipPath() || boxReflect() || hasFilterInducingProperty() ||
hasBlendMode() || hasIsolation() || hasViewportConstrainedPosition() ||
hasBackdropFilter() || hasBlendMode() || hasIsolation() ||
hasViewportConstrainedPosition() ||
hasPropertyThatCreatesStackingContext(willChangeProperties()) ||
containsPaint()) {
setIsStackingContext(true);
......
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