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 a82089103490aee8c1f077445eec589746d245d8..94535fb12de743185d49b3282641f4ab6cca3d83 100644 |
--- a/content/renderer/gpu/render_widget_compositor.cc |
+++ b/content/renderer/gpu/render_widget_compositor.cc |
@@ -227,8 +227,18 @@ void RenderWidgetCompositor::Initialize() { |
// to keep content always crisp when possible. |
settings.layer_transforms_should_scale_layer_contents = true; |
- settings.renderer_settings.disable_gpu_vsync = |
- cmd->HasSwitch(switches::kDisableGpuVsync); |
+ if (cmd->HasSwitch(switches::kDisableGpuVsync)) { |
+ std::string display_vsync_string = |
+ cmd->GetSwitchValueASCII(switches::kDisableGpuVsync); |
+ if (display_vsync_string == "gpu") { |
+ settings.renderer_settings.disable_display_vsync = true; |
+ } else if (display_vsync_string == "beginframe") { |
+ settings.wait_for_beginframe_interval = false; |
+ } else { |
+ settings.renderer_settings.disable_display_vsync = true; |
+ settings.wait_for_beginframe_interval = false; |
+ } |
+ } |
settings.main_frame_before_activation_enabled = |
cmd->HasSwitch(cc::switches::kEnableMainFrameBeforeActivation) && |
!cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeActivation); |