Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(822)

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 138903025: Read compositor VSync information from platform, when possible (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 287efe04 Rebase, oshima@ nits. Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_aura.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
index 38bae4aae9d91341caf6880a91ba2e355aa74a82..1c66023493c04e0418f29626a53b62edddb9e923 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -3229,7 +3229,6 @@ void RenderWidgetHostViewAura::OnCompositingLockStateChanged(
}
void RenderWidgetHostViewAura::OnUpdateVSyncParameters(
- ui::Compositor* compositor,
base::TimeTicks timebase,
base::TimeDelta interval) {
if (IsShowing()) {
@@ -3530,6 +3529,10 @@ void RenderWidgetHostViewAura::AddedToRootWindow() {
legacy_render_widget_host_HWND_->UpdateParent(
reinterpret_cast<HWND>(GetNativeViewId()));
#endif
+
+ ui::Compositor* compositor = GetCompositor();
+ if (compositor)
+ compositor->vsync_manager()->AddObserver(this);
}
void RenderWidgetHostViewAura::RemovingFromRootWindow() {
@@ -3553,8 +3556,12 @@ void RenderWidgetHostViewAura::RemovingFromRootWindow() {
RunOnCommitCallbacks();
resize_lock_.reset();
host_->WasResized();
- if (compositor && compositor->HasObserver(this))
- compositor->RemoveObserver(this);
+
+ if (compositor) {
+ if (compositor->HasObserver(this))
+ compositor->RemoveObserver(this);
+ compositor->vsync_manager()->RemoveObserver(this);
+ }
#if defined(OS_WIN)
// Update the legacy window's parent temporarily to the desktop window. It
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_aura.h ('k') | content/renderer/gpu/compositor_output_surface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698