Index: android_webview/browser/shared_renderer_state.h |
diff --git a/android_webview/browser/shared_renderer_state.h b/android_webview/browser/shared_renderer_state.h |
index 89554ac8e12aea4648a4aac5b2a84a8a74030056..54ce66e77510c3ed733b4df3d0004e4069f11b7f 100644 |
--- a/android_webview/browser/shared_renderer_state.h |
+++ b/android_webview/browser/shared_renderer_state.h |
@@ -12,6 +12,7 @@ |
#include "cc/output/compositor_frame_ack.h" |
#include "ui/gfx/geometry/rect.h" |
#include "ui/gfx/geometry/vector2d.h" |
+#include "ui/gfx/transform.h" |
namespace cc { |
class CompositorFrameAck; |
@@ -21,6 +22,10 @@ namespace gpu { |
class GLInProcessContext; |
} |
+namespace content { |
+class SynchronousCompositor; |
+} |
+ |
namespace android_webview { |
class BrowserViewRendererClient; |
@@ -44,13 +49,23 @@ class SharedRendererState { |
~SharedRendererState(); |
void ClientRequestDrawGL(); |
+ void ClientPostInvalidate(); |
void SetDrawGLInput(scoped_ptr<DrawGLInput> input); |
scoped_ptr<DrawGLInput> PassDrawGLInput(); |
+ void PostExternalDrawConstraintsToChildCompositor( |
+ const gfx::Rect& clip_, |
+ const gfx::Transform& transform); |
+ |
// Set by UI and read by RT. |
void SetHardwareAllowed(bool allowed); |
bool IsHardwareAllowed() const; |
+ void SetParentDrawConstraintsDirty(bool dirty); |
+ bool IsParentDrawConstraintsDirty(); |
+ |
+ const gfx::Rect& ParentClip() const; |
+ const gfx::Transform& ParentTransform() const; |
void SetSharedContext(gpu::GLInProcessContext* context); |
gpu::GLInProcessContext* GetSharedContext() const; |
@@ -61,6 +76,7 @@ class SharedRendererState { |
private: |
void ClientRequestDrawGLOnUIThread(); |
+ void ClientPostInvalidateOnUIThread(); |
scoped_refptr<base::MessageLoopProxy> ui_loop_; |
BrowserViewRendererClient* client_on_ui_; |
@@ -71,6 +87,9 @@ class SharedRendererState { |
mutable base::Lock lock_; |
scoped_ptr<DrawGLInput> draw_gl_input_; |
bool hardware_allowed_; |
+ bool parent_draw_constraints_dirty_; |
+ gfx::Rect parent_clip_; |
+ gfx::Transform parent_transform_; |
gpu::GLInProcessContext* share_context_; |
cc::ReturnedResourceArray returned_resources_; |
}; |