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 9f9c5961258ef460d16dc05d8441de0a7fc8b9de..97d425f6b088ed41b4de169f9a0d3112d2af4998 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) { |
+ 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,16 +277,20 @@ 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.highp_threshold_min = 2048; |
// Android WebView handles root layer flings itself. |
settings.ignore_root_layer_flings = |
@@ -280,7 +299,6 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create( |
if (cmd->HasSwitch(switches::kEnableOverlayScrollbars)) { |
settings.use_linear_fade_scrollbar_animator = true; |
settings.solid_color_scrollbars = true; |
- settings.solid_color_scrollbar_color = SkColorSetARGB(128, 128, 128, 128); |
} |
#endif |