From 46c21fd81c3b16ed181a33b832b3044b513935c1 Mon Sep 17 00:00:00 2001 From: "tony@chromium.org" Date: Thu, 29 Aug 2013 19:20:04 +0000 Subject: Revert "Remove solid_color_scrollbar_thickness_dip from LayerTreeSettings." This reverts commit r219453. On Android, we were getting the wrong scrollbar thickness. BUG=280917 TBR=aelias@chromium.org,jamesr@chromium.org Review URL: https://codereview.chromium.org/23774002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220352 0039d316-1c4b-4281-b951-d872f2087c98 --- cc/layers/painted_scrollbar_layer.cc | 11 ++++++++++- cc/layers/scrollbar_layer_unittest.cc | 2 ++ cc/trees/layer_tree_settings.cc | 1 + cc/trees/layer_tree_settings.h | 1 + 4 files changed, 14 insertions(+), 1 deletion(-) (limited to 'cc') diff --git a/cc/layers/painted_scrollbar_layer.cc b/cc/layers/painted_scrollbar_layer.cc index 7c590d0..8b90250 100644 --- a/cc/layers/painted_scrollbar_layer.cc +++ b/cc/layers/painted_scrollbar_layer.cc @@ -109,7 +109,16 @@ void PaintedScrollbarLayer::PushPropertiesTo(LayerImpl* layer) { if (layer_tree_host() && layer_tree_host()->settings().solid_color_scrollbars) { - scrollbar_layer->SetThumbThickness(scrollbar_->ThumbThickness()); + int thickness_override = + layer_tree_host()->settings().solid_color_scrollbar_thickness_dip; + if (thickness_override != -1) { + scrollbar_layer->SetThumbThickness(thickness_override); + } else { + if (Orientation() == HORIZONTAL) + scrollbar_layer->SetThumbThickness(bounds().height()); + else + scrollbar_layer->SetThumbThickness(bounds().width()); + } } else { scrollbar_layer->SetThumbThickness(thumb_thickness_); } diff --git a/cc/layers/scrollbar_layer_unittest.cc b/cc/layers/scrollbar_layer_unittest.cc index eb29c5f..809e4f8 100644 --- a/cc/layers/scrollbar_layer_unittest.cc +++ b/cc/layers/scrollbar_layer_unittest.cc @@ -252,6 +252,7 @@ TEST(ScrollbarLayerTest, ThumbRect) { TEST(ScrollbarLayerTest, SolidColorDrawQuads) { LayerTreeSettings layer_tree_settings; layer_tree_settings.solid_color_scrollbars = true; + layer_tree_settings.solid_color_scrollbar_thickness_dip = 3; scoped_ptr host = FakeLayerTreeHost::Create(layer_tree_settings); @@ -313,6 +314,7 @@ 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; scoped_ptr host = FakeLayerTreeHost::Create(layer_tree_settings); diff --git a/cc/trees/layer_tree_settings.cc b/cc/trees/layer_tree_settings.cc index bbda323..729b4c7 100644 --- a/cc/trees/layer_tree_settings.cc +++ b/cc/trees/layer_tree_settings.cc @@ -31,6 +31,7 @@ LayerTreeSettings::LayerTreeSettings() scrollbar_linear_fade_length_ms(300), solid_color_scrollbars(false), solid_color_scrollbar_color(SK_ColorWHITE), + solid_color_scrollbar_thickness_dip(-1), calculate_top_controls_position(false), use_memory_management(true), timeout_and_draw_when_animation_checkerboards(true), diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h index 29aa553..86a657e 100644 --- a/cc/trees/layer_tree_settings.h +++ b/cc/trees/layer_tree_settings.h @@ -43,6 +43,7 @@ class CC_EXPORT LayerTreeSettings { int scrollbar_linear_fade_length_ms; bool solid_color_scrollbars; SkColor solid_color_scrollbar_color; + int solid_color_scrollbar_thickness_dip; bool calculate_top_controls_position; bool use_memory_management; bool timeout_and_draw_when_animation_checkerboards; -- cgit v1.1