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

Unified Diff: content/browser/renderer_host/compositor_impl_android.h

Issue 26753005: Adding compositor callbacks to RenderWidgetHostViewAndroid (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Plumb compositor provider through instead of compositor Created 7 years, 1 month 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/compositor_impl_android.h
diff --git a/content/browser/renderer_host/compositor_impl_android.h b/content/browser/renderer_host/compositor_impl_android.h
index 04ae395424fb14193fa4bd15e35d5a6983cc1e65..1ac38d118d23a7c9802d19fb51f979c557de5f63 100644
--- a/content/browser/renderer_host/compositor_impl_android.h
+++ b/content/browser/renderer_host/compositor_impl_android.h
@@ -9,6 +9,7 @@
#include "base/compiler_specific.h"
#include "base/containers/scoped_ptr_hash_map.h"
#include "base/memory/scoped_ptr.h"
+#include "base/observer_list.h"
#include "cc/resources/ui_resource_client.h"
#include "cc/trees/layer_tree_host_client.h"
#include "cc/trees/layer_tree_host_single_thread_client.h"
@@ -28,6 +29,7 @@ class ScopedUIResource;
namespace content {
class CompositorClient;
+class CompositorObserver;
class GraphicsContext;
// -----------------------------------------------------------------------------
@@ -81,7 +83,7 @@ class CONTENT_EXPORT CompositorImpl
OVERRIDE;
virtual void DidInitializeOutputSurface(bool success) OVERRIDE {}
virtual void WillCommit() OVERRIDE {}
- virtual void DidCommit() OVERRIDE {}
+ virtual void DidCommit() OVERRIDE;
virtual void DidCommitAndDrawFrame() OVERRIDE {}
virtual void DidCompleteSwapBuffers() OVERRIDE;
virtual scoped_refptr<cc::ContextProvider>
@@ -95,6 +97,12 @@ class CONTENT_EXPORT CompositorImpl
// ImageTransportFactoryAndroidObserver implementation.
virtual void OnLostResources() OVERRIDE;
+ // Compositor does not own observers. It is the responsibility of the
+ // observer to remove itself when it is done observing.
+ virtual void AddObserver(CompositorObserver* observer) OVERRIDE;
+ virtual void RemoveObserver(CompositorObserver* observer) OVERRIDE;
+ virtual bool HasObserver(CompositorObserver* observer) OVERRIDE;
+
private:
blink::WebGLId BuildBasicTexture();
blink::WGC3Denum GetGLFormatForBitmap(gfx::JavaBitmap& bitmap);
@@ -117,6 +125,8 @@ class CONTENT_EXPORT CompositorImpl
UIResourceMap;
UIResourceMap ui_resource_map_;
+ ObserverList<CompositorObserver> observer_list_;
+
DISALLOW_COPY_AND_ASSIGN(CompositorImpl);
};

Powered by Google App Engine
This is Rietveld 408576698