Chromium Code Reviews| Index: content/renderer/gpu/render_widget_compositor.cc |
| diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc |
| index c3becc8fe33556d0334937f6f5f18bffa367e25b..09ea25facbf6c4e50f84982996e04f021ae197fb 100644 |
| --- a/content/renderer/gpu/render_widget_compositor.cc |
| +++ b/content/renderer/gpu/render_widget_compositor.cc |
| @@ -74,6 +74,21 @@ bool GetSwitchValueAsFloat( |
| } |
| } |
| +bool StringToSkColor(const std::string& str, SkColor& color) { |
|
enne (OOO)
2013/08/15 21:29:26
Why does scrollbar color need to move to be a comm
wjmaclean
2013/08/16 13:34:16
Actually, it will remain in LayerTreeSettings, the
|
| + std::string prefix = str.substr(0, 2); |
| + int offset = (prefix == "0x" || prefix == "0X") ? 2 : 0; |
| + |
| + std::vector<uint8> values; |
| + if (base::HexStringToBytes(str.substr(offset), &values)) { |
| + if (values.size() != 4) |
| + return false; |
| + |
| + color = SkColorSetARGB(values[0], values[1], values[2], values[3]); |
| + return true; |
| + } |
| + |
| + return false; |
| +} |
| } // namespace |
| @@ -262,27 +277,28 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create( |
| settings.use_map_image = cmd->HasSwitch(cc::switches::kUseMapImage); |
| + if (cmd->HasSwitch(cc::switches::kSolidColorScrollbarColor)) { |
| + std::string str = |
| + cmd->GetSwitchValueASCII(cc::switches::kSolidColorScrollbarColor); |
| + |
| + SkColor scrollbar_color; |
| + if (StringToSkColor(str, scrollbar_color)) |
| + settings.solid_color_scrollbar_color = scrollbar_color; |
| + } |
| + |
| #if defined(OS_ANDROID) |
| // TODO(danakj): Move these to the android code. |
| settings.can_use_lcd_text = false; |
| settings.max_partial_texture_updates = 0; |
| - settings.use_linear_fade_scrollbar_animator = true; |
| - settings.solid_color_scrollbars = true; |
| - settings.solid_color_scrollbar_color = |
| - cmd->HasSwitch(switches::kHideScrollbars) |
| - ? SK_ColorTRANSPARENT |
| - : SkColorSetARGB(128, 128, 128, 128); |
| - settings.solid_color_scrollbar_thickness_dip = 3; |
| settings.highp_threshold_min = 2048; |
| // Android WebView handles root layer flings itself. |
| settings.ignore_root_layer_flings = |
| widget->UsingSynchronousRendererCompositor(); |
| -#elif !defined(OS_MACOSX) |
| - if (cmd->HasSwitch(switches::kEnableOverlayScrollbars)) { |
| +#endif |
| +#if !defined(OS_MACOSX) |
|
jamesr
2013/08/15 22:34:24
this change doesn't seem right. the logic before t
wjmaclean
2013/08/16 13:34:16
OK, fair enough. I knew this was a trade off, but
|
| + if (cmd->HasSwitch(cc::switches::kEnableOverlayScrollbars)) { |
| settings.use_linear_fade_scrollbar_animator = true; |
| settings.solid_color_scrollbars = true; |
| - settings.solid_color_scrollbar_color = SkColorSetARGB(128, 128, 128, 128); |
| - settings.solid_color_scrollbar_thickness_dip = 3; |
| } |
| #endif |