Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1869)

Unified Diff: cc/layers/scrollbar_layer_unittest.cc

Issue 13079003: Fix solid color scrollbars for sublayers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/scrollbar_layer_unittest.cc
diff --git a/cc/layers/scrollbar_layer_unittest.cc b/cc/layers/scrollbar_layer_unittest.cc
index 423776d07f675f0933de8a84fc5f6cfd93c80fef..779abf15e7f648a7561fd186ec69a9a30bc874de 100644
--- a/cc/layers/scrollbar_layer_unittest.cc
+++ b/cc/layers/scrollbar_layer_unittest.cc
@@ -244,6 +244,38 @@ TEST(ScrollbarLayerTest, SolidColorDrawQuads) {
}
}
+TEST(ScrollbarLayerTest, LayerDrivenSolidColorDrawQuads) {
+ LayerTreeSettings layer_tree_settings;
+ layer_tree_settings.solid_color_scrollbars = true;
+ layer_tree_settings.solid_color_scrollbar_thickness_dip = 3;
+ FakeImplProxy proxy;
+ FakeLayerTreeHostImpl host_impl(layer_tree_settings, &proxy);
+
+ scoped_ptr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::Create());
+ static_cast<FakeWebScrollbar*>(scrollbar.get())->set_overlay(true);
+ scoped_ptr<LayerImpl> layer_impl_tree_root =
+ LayerImplForScrollAreaAndScrollbar(&host_impl, scrollbar.Pass(), false);
+ ScrollbarLayerImpl* scrollbar_layer_impl =
+ static_cast<ScrollbarLayerImpl*>(layer_impl_tree_root->children()[1]);
+
+ // Make sure that this ends up calling SetViewportWithinScrollableArea.
+ layer_impl_tree_root->SetHorizontalScrollbarLayer(scrollbar_layer_impl);
+ layer_impl_tree_root->SetMaxScrollOffset(gfx::Vector2d(8, 8));
+ layer_impl_tree_root->SetBounds(gfx::Size(2, 2));
+ layer_impl_tree_root->ScrollBy(gfx::Vector2dF(4.f, 0.f));
+
+ {
+ MockQuadCuller quad_culler;
+ AppendQuadsData data;
+ scrollbar_layer_impl->AppendQuads(&quad_culler, &data);
+
+ const QuadList& quads = quad_culler.quad_list();
+ ASSERT_EQ(1, quads.size());
+ EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material);
+ EXPECT_RECT_EQ(gfx::Rect(4, 0, 2, 3), quads[0]->rect);
+ }
+}
+
class ScrollbarLayerTestMaxTextureSize : public LayerTreeTest {
public:
ScrollbarLayerTestMaxTextureSize() {}
« no previous file with comments | « cc/layers/layer_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698