Index: third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp b/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp |
index 26b0166a28e869154346572b42aef93e7f0f642c..0e08a5e2d2ba1593c39f47d5765563a1a285e384 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintLayerScrollableAreaTest.cpp |
@@ -9,6 +9,7 @@ |
#include "core/layout/LayoutTestHelper.h" |
#include "core/paint/PaintLayer.h" |
#include "platform/graphics/GraphicsLayer.h" |
+#include "platform/scroll/ScrollTypes.h" |
#include "platform/testing/RuntimeEnabledFeaturesTestHelpers.h" |
namespace blink { |
@@ -370,4 +371,39 @@ TEST_F(PaintLayerScrollableAreaTest, OnlyOpaqueLayersPromoted) { |
EXPECT_FALSE(paintLayer->needsCompositedScrolling()); |
EXPECT_FALSE(paintLayer->graphicsLayerBacking()); |
} |
+ |
+// Ensure OverlayScrollbarColorTheme get updated when page load |
+TEST_F(PaintLayerScrollableAreaTest, OverlayScrollbarColorThemeUpdated) { |
+ setBodyInnerHTML( |
+ "<style>" |
+ "div { overflow: scroll; }" |
+ "#white { background-color: white; }" |
+ "#black { background-color: black; }" |
+ "</style>" |
+ "<div id=\"none\">a</div>" |
+ "<div id=\"white\">b</div>" |
+ "<div id=\"black\">c</div>"); |
+ document().view()->updateAllLifecyclePhases(); |
+ |
+ Element* none = document().getElementById("none"); |
+ Element* white = document().getElementById("white"); |
+ Element* black = document().getElementById("black"); |
+ |
+ PaintLayer* noneLayer = toLayoutBoxModelObject(none->layoutObject())->layer(); |
+ PaintLayer* whiteLayer = |
+ toLayoutBoxModelObject(white->layoutObject())->layer(); |
+ PaintLayer* blackLayer = |
+ toLayoutBoxModelObject(black->layoutObject())->layer(); |
+ |
+ ASSERT_TRUE(noneLayer); |
+ ASSERT_TRUE(whiteLayer); |
+ ASSERT_TRUE(blackLayer); |
+ |
+ ASSERT_EQ(ScrollbarOverlayColorTheme::ScrollbarOverlayColorThemeDark, |
+ noneLayer->getScrollableArea()->getScrollbarOverlayColorTheme()); |
+ ASSERT_EQ(ScrollbarOverlayColorTheme::ScrollbarOverlayColorThemeDark, |
+ whiteLayer->getScrollableArea()->getScrollbarOverlayColorTheme()); |
+ ASSERT_EQ(ScrollbarOverlayColorTheme::ScrollbarOverlayColorThemeLight, |
+ blackLayer->getScrollableArea()->getScrollbarOverlayColorTheme()); |
+} |
} |