Index: ui/compositor/compositor.cc |
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc |
index 76e09c4566726506239bd77e6b9fecf25f84a40f..160e2229ea16c0d9bbda46e7a1eef23db78a53e6 100644 |
--- a/ui/compositor/compositor.cc |
+++ b/ui/compositor/compositor.cc |
@@ -498,10 +498,20 @@ bool Compositor::HasObserver(CompositorObserver* observer) { |
} |
void Compositor::OnUpdateVSyncParameters(base::TimeTicks timebase, |
- base::TimeDelta interval) { |
- FOR_EACH_OBSERVER(CompositorObserver, |
- observer_list_, |
- OnUpdateVSyncParameters(this, timebase, interval)); |
+ base::TimeDelta interval, |
+ bool interval_is_authoritative) { |
+ if (interval_is_authoritative) { |
+ authoritative_vsync_interval_ = interval; |
+ } else { |
+ if (authoritative_vsync_interval_ != base::TimeDelta()) |
+ interval = authoritative_vsync_interval_; |
+ } |
+ |
+ if (!timebase.is_null()) { |
+ FOR_EACH_OBSERVER(CompositorObserver, |
+ observer_list_, |
+ OnUpdateVSyncParameters(this, timebase, interval)); |
+ } |
} |
void Compositor::Layout() { |