Index: cc/trees/layer_tree_host_impl.h |
diff --git a/cc/trees/layer_tree_host_impl.h b/cc/trees/layer_tree_host_impl.h |
index f5d7384cf6a46e67faa4b8475bb59f358e2d00a7..356828a7d3d1e9e79e37768d9d2928421f8facf8 100644 |
--- a/cc/trees/layer_tree_host_impl.h |
+++ b/cc/trees/layer_tree_host_impl.h |
@@ -176,7 +176,7 @@ class CC_EXPORT LayerTreeHostImpl |
// Returns the currently visible viewport size in DIP. This value excludes |
// the URL bar and non-overlay scrollbars. |
- gfx::SizeF VisibleViewportSize() const; |
+ gfx::SizeF UnscaledScrollableViewportSize() const; |
// Evict all textures by enforcing a memory policy with an allocation of 0. |
void EvictTexturesForTesting(); |
@@ -186,8 +186,13 @@ class CC_EXPORT LayerTreeHostImpl |
// immediately if any notifications had been blocked while blocking. |
virtual void BlockNotifyReadyToActivateForTesting(bool block); |
+ bool device_viewport_valid_for_tile_management() const { |
+ return device_viewport_valid_for_tile_management_; |
+ } |
+ |
// RendererClient implementation |
virtual gfx::Rect DeviceViewport() const OVERRIDE; |
+ virtual gfx::Rect DeviceClip() const OVERRIDE; |
private: |
virtual float DeviceScaleFactor() const OVERRIDE; |
virtual const LayerTreeSettings& Settings() const OVERRIDE; |
@@ -208,8 +213,11 @@ class CC_EXPORT LayerTreeHostImpl |
virtual void ReleaseGL() OVERRIDE; |
virtual void SetNeedsRedrawRect(gfx::Rect rect) OVERRIDE; |
virtual void BeginFrame(const BeginFrameArgs& args) OVERRIDE; |
- virtual void SetExternalDrawConstraints(const gfx::Transform& transform, |
- gfx::Rect viewport) OVERRIDE; |
+ virtual void SetExternalDrawConstraints( |
+ const gfx::Transform& transform, |
+ gfx::Rect viewport, |
+ gfx::Rect clip, |
+ bool valid_for_tile_management) OVERRIDE; |
virtual void SetExternalStencilTest(bool enabled) OVERRIDE; |
virtual void DidLoseOutputSurface() OVERRIDE; |
virtual void OnSwapBuffersComplete(const CompositorFrameAck* ack) OVERRIDE; |
@@ -273,7 +281,6 @@ class CC_EXPORT LayerTreeHostImpl |
size_t memory_allocation_limit_bytes() const; |
void SetViewportSize(gfx::Size device_viewport_size); |
- gfx::Size device_viewport_size() const { return device_viewport_size_; } |
void SetOverdrawBottomHeight(float overdraw_bottom_height); |
float overdraw_bottom_height() const { return overdraw_bottom_height_; } |
@@ -412,6 +419,8 @@ class CC_EXPORT LayerTreeHostImpl |
return animation_registrar_->active_animation_controllers(); |
} |
+ bool manage_tiles_needed() const { return manage_tiles_needed_; } |
+ |
LayerTreeHostImplClient* client_; |
Proxy* proxy_; |
@@ -545,12 +554,18 @@ class CC_EXPORT LayerTreeHostImpl |
// the page when the keyboard is up. |
float overdraw_bottom_height_; |
- // Optional top-level constraints that can be set by the OutputSurface. The |
- // external_viewport_'s size takes precedence over device_viewport_size_ for |
- // DrawQuad generation and Renderer; however, device_viewport_size_ is still |
- // used for scrollable size. |
+ // Optional top-level constraints that can be set by the OutputSurface. |
+ // - external_transform_ applies a transform above the root layer |
+ // - external_viewport_ is used DrawProperties, tile management and |
+ // glViewport/window projection matrix. |
+ // - external_clip_ specifies a top-level clip rect |
+ // - external_stencil_test_enabled_ tells CC to respect existing stencil bits |
+ // (When these are specified, device_viewport_size_ remains used only for |
+ // scrollable size.) |
gfx::Transform external_transform_; |
gfx::Rect external_viewport_; |
+ gfx::Rect external_clip_; |
+ bool device_viewport_valid_for_tile_management_; |
bool external_stencil_test_enabled_; |
gfx::Rect viewport_damage_rect_; |