Index: ash/display/display_controller.cc |
diff --git a/ash/display/display_controller.cc b/ash/display/display_controller.cc |
index 0633d12ddd9e000b591adaa4c9dacccc34e2b6bd..031a6b1d9c5d15a107f3938c2bb7249739f78b1c 100644 |
--- a/ash/display/display_controller.cc |
+++ b/ash/display/display_controller.cc |
@@ -34,6 +34,7 @@ |
#include "ui/aura/window_property.h" |
#include "ui/aura/window_tracker.h" |
#include "ui/compositor/compositor.h" |
+#include "ui/compositor/compositor_vsync_manager.h" |
#include "ui/gfx/display.h" |
#include "ui/gfx/screen.h" |
@@ -120,6 +121,14 @@ void SetDisplayPropertiesOnHostWindow(aura::RootWindow* root, |
scoped_ptr<aura::RootWindowTransformer> transformer( |
internal::CreateRootWindowTransformerForDisplay(root->window(), display)); |
root->host()->SetRootWindowTransformer(transformer.Pass()); |
+ |
+ internal::DisplayMode mode; |
+ if (GetDisplayManager()->GetSelectedModeForDisplayId(display.id(), &mode) && |
+ mode.refresh_rate > 0.0f) { |
+ root->host()->compositor()->vsync_manager()->SetAuthoritativeVSyncInterval( |
+ base::TimeDelta::FromMicroseconds(base::Time::kMicrosecondsPerSecond / |
+ mode.refresh_rate)); |
+ } |
} |
} // namespace |