diff options
author | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-19 05:17:18 +0000 |
---|---|---|
committer | joth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-19 05:17:18 +0000 |
commit | 5f07afcd9dc529b87cfa860ba8cbb526af214dec (patch) | |
tree | 5ae9ed998300679338518998b64b8972ab951350 /content | |
parent | d12ffd8adf17f6442ed60900d14eaa84d0b4f027 (diff) | |
download | chromium_src-5f07afcd9dc529b87cfa860ba8cbb526af214dec.zip chromium_src-5f07afcd9dc529b87cfa860ba8cbb526af214dec.tar.gz chromium_src-5f07afcd9dc529b87cfa860ba8cbb526af214dec.tar.bz2 |
Adds a new callback as this signal is required to pass up to the application
independent of whether the compositor is generating frames
BUG=232944
Review URL: https://chromiumcodereview.appspot.com/16958012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212526 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
5 files changed, 18 insertions, 2 deletions
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.cc b/content/browser/android/in_process/synchronous_compositor_impl.cc index db5cfbb..8a89d37 100644 --- a/content/browser/android/in_process/synchronous_compositor_impl.cc +++ b/content/browser/android/in_process/synchronous_compositor_impl.cc @@ -242,6 +242,11 @@ void SynchronousCompositorImpl::UpdateFrameMetaData( rwhv->SynchronousFrameMetadata(frame_metadata); } +void SynchronousCompositorImpl::DidActivatePendingTree() { + if (compositor_client_) + compositor_client_->DidUpdateContent(); +} + void SynchronousCompositorImpl::SetTotalScrollOffset(gfx::Vector2dF new_value) { DCHECK(CalledOnValidThread()); if (compositor_client_) diff --git a/content/browser/android/in_process/synchronous_compositor_impl.h b/content/browser/android/in_process/synchronous_compositor_impl.h index cd34617..e4e276f 100644 --- a/content/browser/android/in_process/synchronous_compositor_impl.h +++ b/content/browser/android/in_process/synchronous_compositor_impl.h @@ -65,6 +65,7 @@ class SynchronousCompositorImpl virtual void SetContinuousInvalidate(bool enable) OVERRIDE; virtual void UpdateFrameMetaData( const cc::CompositorFrameMetadata& frame_info) OVERRIDE; + virtual void DidActivatePendingTree() OVERRIDE; // LayerScrollOffsetDelegate virtual void SetTotalScrollOffset(gfx::Vector2dF new_value) OVERRIDE; diff --git a/content/browser/android/in_process/synchronous_compositor_output_surface.cc b/content/browser/android/in_process/synchronous_compositor_output_surface.cc index c8b7526..eaee24d4 100644 --- a/content/browser/android/in_process/synchronous_compositor_output_surface.cc +++ b/content/browser/android/in_process/synchronous_compositor_output_surface.cc @@ -40,6 +40,13 @@ scoped_ptr<WebKit::WebGraphicsContext3D> CreateWebGraphicsContext3D() { ::CreateViewContext(attributes, NULL)); } +void DidActivatePendingTree(int routing_id) { + SynchronousCompositorOutputSurfaceDelegate* delegate = + SynchronousCompositorImpl::FromRoutingID(routing_id); + if (delegate) + delegate->DidActivatePendingTree(); +} + } // namespace class SynchronousCompositorOutputSurface::SoftwareDevice @@ -111,6 +118,8 @@ bool SynchronousCompositorOutputSurface::BindToClient( DCHECK(CalledOnValidThread()); if (!cc::OutputSurface::BindToClient(surface_client)) return false; + surface_client->SetTreeActivationCallback( + base::Bind(&DidActivatePendingTree, routing_id_)); SynchronousCompositorOutputSurfaceDelegate* delegate = GetDelegate(); if (delegate) delegate->DidBindOutputSurface(this); diff --git a/content/browser/android/in_process/synchronous_compositor_output_surface.h b/content/browser/android/in_process/synchronous_compositor_output_surface.h index a093504..89ee485 100644 --- a/content/browser/android/in_process/synchronous_compositor_output_surface.h +++ b/content/browser/android/in_process/synchronous_compositor_output_surface.h @@ -32,6 +32,7 @@ class SynchronousCompositorOutputSurfaceDelegate { virtual void SetContinuousInvalidate(bool enable) = 0; virtual void UpdateFrameMetaData( const cc::CompositorFrameMetadata& frame_metadata) = 0; + virtual void DidActivatePendingTree() = 0; protected: SynchronousCompositorOutputSurfaceDelegate() {} @@ -75,8 +76,6 @@ class SynchronousCompositorOutputSurface virtual void PostCheckForRetroactiveBeginFrame() OVERRIDE; void InvokeComposite(gfx::Size damage_size); - void UpdateCompositorClientSettings(); - void NotifyCompositorSettingsChanged(); bool CalledOnValidThread() const; SynchronousCompositorOutputSurfaceDelegate* GetDelegate(); diff --git a/content/public/browser/android/synchronous_compositor_client.h b/content/public/browser/android/synchronous_compositor_client.h index fea09cc..dbd6d33 100644 --- a/content/public/browser/android/synchronous_compositor_client.h +++ b/content/public/browser/android/synchronous_compositor_client.h @@ -35,6 +35,8 @@ class SynchronousCompositorClient { // can change inside DemandDrawHw call. virtual void SetContinuousInvalidate(bool invalidate) = 0; + virtual void DidUpdateContent() = 0; + protected: SynchronousCompositorClient() {} virtual ~SynchronousCompositorClient() {} |