diff options
author | sheu@chromium.org <sheu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-12 21:51:56 +0000 |
---|---|---|
committer | sheu@chromium.org <sheu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-12 21:51:56 +0000 |
commit | aa6b282b769b4ac97b55e1b2132470ed0013c1c0 (patch) | |
tree | 55a18e415321554182dd0750714755fc12974a33 /ui/compositor/compositor_vsync_manager.cc | |
parent | bd5ee1cd088e5986fbe4a92deb4f743ea9f359cf (diff) | |
download | chromium_src-aa6b282b769b4ac97b55e1b2132470ed0013c1c0.zip chromium_src-aa6b282b769b4ac97b55e1b2132470ed0013c1c0.tar.gz chromium_src-aa6b282b769b4ac97b55e1b2132470ed0013c1c0.tar.bz2 |
Revert of Read compositor VSync information from platform, when possible (https://chromiumcodereview.appspot.com/138903025/)
Reason for revert:
Reverting due to Windows crashes. See:
http://crbug.com/343199
Original issue's description:
> Read compositor VSync information from platform, when possible
>
> The current query of VSync information through the GL context can be unreliable
> on platforms that can dynamically disable vblanks, or multi-monitor setups.
> Preferentially query the VSync information through the platform windowing
> system (presently: XRandR on CrOS) when possible.
>
> BUG=328953
> TEST=local build, run on CrOS snow
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=250250
TBR=oshima@chromium.org,piman@chromium.org,brianderson@chromium.org,sky@chromium.org,mukai@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=328953
Review URL: https://codereview.chromium.org/161413002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250798 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/compositor/compositor_vsync_manager.cc')
-rw-r--r-- | ui/compositor/compositor_vsync_manager.cc | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/ui/compositor/compositor_vsync_manager.cc b/ui/compositor/compositor_vsync_manager.cc deleted file mode 100644 index 1a10d4a..0000000 --- a/ui/compositor/compositor_vsync_manager.cc +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "ui/compositor/compositor_vsync_manager.h" - -namespace ui { - -CompositorVSyncManager::CompositorVSyncManager() - : observer_list_(new ObserverListThreadSafe<Observer>()), - authoritative_vsync_interval_(base::TimeDelta::FromSeconds(0)) {} - -CompositorVSyncManager::~CompositorVSyncManager() {} - -void CompositorVSyncManager::SetAuthoritativeVSyncInterval( - base::TimeDelta interval) { - base::TimeTicks timebase; - { - base::AutoLock lock(vsync_parameters_lock_); - timebase = last_timebase_; - authoritative_vsync_interval_ = interval; - last_interval_ = interval; - } - NotifyObservers(timebase, interval); -} - -void CompositorVSyncManager::UpdateVSyncParameters(base::TimeTicks timebase, - base::TimeDelta interval) { - { - base::AutoLock lock(vsync_parameters_lock_); - if (authoritative_vsync_interval_ != base::TimeDelta::FromSeconds(0)) - interval = authoritative_vsync_interval_; - last_timebase_ = timebase; - last_interval_ = interval; - } - NotifyObservers(timebase, interval); -} - -void CompositorVSyncManager::AddObserver(Observer* observer) { - base::TimeTicks timebase; - base::TimeDelta interval; - { - base::AutoLock lock(vsync_parameters_lock_); - timebase = last_timebase_; - interval = last_interval_; - } - observer_list_->AddObserver(observer); - observer->OnUpdateVSyncParameters(timebase, interval); -} - -void CompositorVSyncManager::RemoveObserver(Observer* observer) { - observer_list_->RemoveObserver(observer); -} - -void CompositorVSyncManager::NotifyObservers(base::TimeTicks timebase, - base::TimeDelta interval) { - observer_list_->Notify( - &CompositorVSyncManager::Observer::OnUpdateVSyncParameters, - timebase, - interval); -} - -} // namespace ui |