Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 7b9ea0bba89272587081549b1a60ae56a64d09bc..63b77c78387e0efe10893485302d181586a5ccf5 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -408,6 +408,19 @@ |
return DeviceScaleEnsuresTextQuality(device_scale_factor); |
} |
+static bool ShouldUseAcceleratedCompositingForOverflowScroll( |
+ float device_scale_factor) { |
+ const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
+ |
+ if (command_line.HasSwitch(switches::kDisableAcceleratedOverflowScroll)) |
+ return false; |
+ |
+ if (command_line.HasSwitch(switches::kEnableAcceleratedOverflowScroll)) |
+ return true; |
+ |
+ return DeviceScaleEnsuresTextQuality(device_scale_factor); |
+} |
+ |
static bool ShouldUseCompositedScrollingForFrames( |
float device_scale_factor) { |
if (RenderThreadImpl::current() && |
@@ -430,6 +443,18 @@ |
// of excessive layer promotion caused by overlap has been addressed. |
// http://crbug.com/178119. |
return false; |
+} |
+ |
+static bool ShouldUseAcceleratedFixedRootBackground(float device_scale_factor) { |
+ const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
+ |
+ if (command_line.HasSwitch(switches::kDisableAcceleratedFixedRootBackground)) |
+ return false; |
+ |
+ if (command_line.HasSwitch(switches::kEnableAcceleratedFixedRootBackground)) |
+ return true; |
+ |
+ return DeviceScaleEnsuresTextQuality(device_scale_factor); |
} |
static FaviconURL::IconType ToFaviconType(blink::WebIconURL::Type type) { |
@@ -769,11 +794,11 @@ |
webview()->settings()->setPreferCompositingToLCDTextEnabled( |
PreferCompositingToLCDText(device_scale_factor_)); |
webview()->settings()->setAcceleratedCompositingForOverflowScrollEnabled( |
- PreferCompositingToLCDText(device_scale_factor_)); |
+ ShouldUseAcceleratedCompositingForOverflowScroll(device_scale_factor_)); |
webview()->settings()->setAcceleratedCompositingForTransitionEnabled( |
ShouldUseTransitionCompositing(device_scale_factor_)); |
webview()->settings()->setAcceleratedCompositingForFixedRootBackgroundEnabled( |
- PreferCompositingToLCDText(device_scale_factor_)); |
+ ShouldUseAcceleratedFixedRootBackground(device_scale_factor_)); |
webview()->settings()->setCompositedScrollingForFramesEnabled( |
ShouldUseCompositedScrollingForFrames(device_scale_factor_)); |
@@ -3741,13 +3766,12 @@ |
webview()->settings()->setPreferCompositingToLCDTextEnabled( |
PreferCompositingToLCDText(device_scale_factor_)); |
webview()->settings()->setAcceleratedCompositingForOverflowScrollEnabled( |
- PreferCompositingToLCDText(device_scale_factor_)); |
+ ShouldUseAcceleratedCompositingForOverflowScroll(device_scale_factor_)); |
webview()->settings()->setAcceleratedCompositingForTransitionEnabled( |
ShouldUseTransitionCompositing(device_scale_factor_)); |
- webview() |
- ->settings() |
- ->setAcceleratedCompositingForFixedRootBackgroundEnabled( |
- PreferCompositingToLCDText(device_scale_factor_)); |
+ webview()->settings()-> |
+ setAcceleratedCompositingForFixedRootBackgroundEnabled( |
+ ShouldUseAcceleratedFixedRootBackground(device_scale_factor_)); |
webview()->settings()->setCompositedScrollingForFramesEnabled( |
ShouldUseCompositedScrollingForFrames(device_scale_factor_)); |
} |