Index: third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp |
index 8d146dbd29eed715e0b69f1f10c081b945c08aea..00278f11430237c665b18b2e028d5b93172b08d2 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp |
@@ -3147,4 +3147,28 @@ TEST_P(PaintPropertyTreeBuilderTest, FloatUnderInline) { |
EXPECT_EQ(effect, localBorderBoxProperties->effect()); |
} |
+TEST_P(PaintPropertyTreeBuilderTest, StackedFloatUnderStackedInline) { |
+ setBodyInnerHTML( |
+ "<div style='position: absolute; top: 55px; left: 66px'>" |
+ " <span id='span'" |
+ " style='position: relative; top: 100px; left: 200px; opacity: 0.5'>" |
+ " <div id='target' style='float: left; position: relative; " |
+ " top: 11px; left: 22px; width: 33px; height: 44px'>" |
+ " </div>" |
+ " </span>" |
+ "</div>"); |
+ |
+ LayoutObject* span = getLayoutObjectByElementId("span"); |
+ const auto* effect = span->paintProperties()->effect(); |
+ ASSERT_TRUE(effect); |
+ EXPECT_EQ(0.5f, effect->opacity()); |
+ |
+ LayoutObject* target = getLayoutObjectByElementId("target"); |
+ const auto* localBorderBoxProperties = |
+ target->paintProperties()->localBorderBoxProperties(); |
+ ASSERT_TRUE(localBorderBoxProperties); |
+ EXPECT_EQ(LayoutPoint(288, 166), target->paintOffset()); |
+ EXPECT_EQ(effect, localBorderBoxProperties->effect()); |
+} |
+ |
} // namespace blink |