summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorjoth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-19 05:17:18 +0000
committerjoth@chromium.org <joth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-19 05:17:18 +0000
commit5f07afcd9dc529b87cfa860ba8cbb526af214dec (patch)
tree5ae9ed998300679338518998b64b8972ab951350 /content
parentd12ffd8adf17f6442ed60900d14eaa84d0b4f027 (diff)
downloadchromium_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')
-rw-r--r--content/browser/android/in_process/synchronous_compositor_impl.cc5
-rw-r--r--content/browser/android/in_process/synchronous_compositor_impl.h1
-rw-r--r--content/browser/android/in_process/synchronous_compositor_output_surface.cc9
-rw-r--r--content/browser/android/in_process/synchronous_compositor_output_surface.h3
-rw-r--r--content/public/browser/android/synchronous_compositor_client.h2
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() {}