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

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: 4b969456 piman@ comments; refactor logic into CompositorVSyncManager 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 d3357f0df5d87c81ae5f1cf6a2a640348462ceea..324a20d64f1aba4b1d69fa8c75a48d87837dcd15 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -3214,7 +3214,6 @@ void RenderWidgetHostViewAura::OnCompositingLockStateChanged(
}
void RenderWidgetHostViewAura::OnUpdateVSyncParameters(
- ui::Compositor* compositor,
base::TimeTicks timebase,
base::TimeDelta interval) {
if (IsShowing()) {
@@ -3511,6 +3510,10 @@ void RenderWidgetHostViewAura::AddedToRootWindow() {
if (input_method)
input_method->SetFocusedTextInputClient(this);
}
+
+ ui::Compositor* compositor = GetCompositor();
+ if (compositor)
+ compositor->vsync_manager()->AddObserver(this);
sheu 2014/02/04 03:23:21 Not sure where I should be adding and removing thi
piman 2014/02/04 04:51:01 This is I think the right place.
}
void RenderWidgetHostViewAura::RemovingFromRootWindow() {
@@ -3535,8 +3538,11 @@ 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);
sheu 2014/02/04 03:23:21 See above.
piman 2014/02/04 04:51:01 Here too.
+ }
}
ui::Compositor* RenderWidgetHostViewAura::GetCompositor() const {

Powered by Google App Engine
This is Rietveld 408576698