| Index: third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| diff --git a/third_party/WebKit/Source/core/style/ComputedStyle.cpp b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| index a88aa09eb673ebed99c822e09b94e6bea910bead..dcb825b3548ea96a104283ef331a8875307f1e51 100644
|
| --- a/third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| +++ b/third_party/WebKit/Source/core/style/ComputedStyle.cpp
|
| @@ -1207,6 +1207,17 @@ void ComputedStyle::updateIsStackingContext(bool isDocumentElement,
|
| if (isStackingContext())
|
| return;
|
|
|
| + // Force a stacking context for transform-style: preserve-3d. This happens
|
| + // even if preserves-3d is ignored due to a 'grouping property' being present
|
| + // which requires flattening. See ComputedStyle::usedTransformStyle3D() and
|
| + // ComputedStyle::hasGroupingProperty().
|
| + // This is legacy behavior that is left ambiguous in the official specs.
|
| + // See crbug.com/663650 for more details."
|
| + if (transformStyle3D() == TransformStyle3DPreserve3D) {
|
| + setIsStackingContext(true);
|
| + return;
|
| + }
|
| +
|
| if (isDocumentElement || isInTopLayer || styleType() == PseudoIdBackdrop ||
|
| hasOpacity() || hasTransformRelatedProperty() || hasMask() ||
|
| clipPath() || boxReflect() || hasFilterInducingProperty() ||
|
|
|