| 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() {
|
|
|