| 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 06929e6b8a22cd9333fdd33c337cc241dab11422..1337be9f5b8176b0cfdc5bf6f088694cbb359504 100644
|
| --- a/content/renderer/gpu/render_widget_compositor.cc
|
| +++ b/content/renderer/gpu/render_widget_compositor.cc
|
| @@ -77,6 +77,21 @@ bool GetSwitchValueAsFloat(
|
|
|
| } // namespace
|
|
|
| +static SkColor 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 false;
|
| +}
|
| +
|
| // static
|
| scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create(
|
| RenderWidget* widget) {
|
| @@ -271,12 +286,29 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create(
|
| 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 = SkColorSetARGB(128, 128, 128, 128);
|
| - settings.solid_color_scrollbar_thickness_dip = 3;
|
| settings.highp_threshold_min = 2048;
|
| #endif
|
|
|
| + if (cmd->HasSwitch(cc::switches::kForceSolidColorScrollbars))
|
| + settings.force_solid_color_scrollbars = true;
|
| +
|
| + if (cmd->HasSwitch(cc::switches::kSolidColorScrollbarThickness)) {
|
| + std::string str =
|
| + cmd->GetSwitchValueASCII(cc::switches::kSolidColorScrollbarThickness);
|
| + int thickness;
|
| + if (base::StringToInt(str, &thickness))
|
| + settings.solid_color_scrollbar_thickness_dip = thickness;
|
| + }
|
| +
|
| + 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 (!compositor->initialize(settings))
|
| return scoped_ptr<RenderWidgetCompositor>();
|
|
|
|
|