Index: cc/layers/nine_patch_layer_impl.cc |
diff --git a/cc/layers/nine_patch_layer_impl.cc b/cc/layers/nine_patch_layer_impl.cc |
index 46bd333c10a2c5a306b5e5f08f9d628dbaff754e..86fa415b70a5dde6f3030153f3b16bed7e1e1e4f 100644 |
--- a/cc/layers/nine_patch_layer_impl.cc |
+++ b/cc/layers/nine_patch_layer_impl.cc |
@@ -7,9 +7,9 @@ |
#include "base/strings/stringprintf.h" |
#include "base/values.h" |
#include "cc/base/math_util.h" |
-#include "cc/layers/quad_sink.h" |
#include "cc/quads/texture_draw_quad.h" |
#include "cc/trees/layer_tree_impl.h" |
+#include "cc/trees/occlusion_tracker.h" |
#include "ui/gfx/rect_f.h" |
namespace cc { |
@@ -80,14 +80,17 @@ void NinePatchLayerImpl::CheckGeometryLimitations() { |
<< " image_aperture_ " << image_aperture_.ToString(); |
} |
-void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
- AppendQuadsData* append_quads_data) { |
+void NinePatchLayerImpl::AppendQuads( |
+ RenderPass* render_pass, |
+ const OcclusionTracker<LayerImpl>& occlusion_tracker, |
+ AppendQuadsData* append_quads_data) { |
CheckGeometryLimitations(); |
- SharedQuadState* shared_quad_state = quad_sink->CreateSharedQuadState(); |
+ SharedQuadState* shared_quad_state = |
+ render_pass->CreateAndAppendSharedQuadState(); |
PopulateSharedQuadState(shared_quad_state); |
AppendDebugBorderQuad( |
- quad_sink, content_bounds(), shared_quad_state, append_quads_data); |
+ render_pass, content_bounds(), shared_quad_state, append_quads_data); |
if (!ui_resource_id_) |
return; |
@@ -212,7 +215,7 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
scoped_ptr<TextureDrawQuad> quad; |
visible_rect = |
- quad_sink->UnoccludedContentRect(layer_top_left, draw_transform()); |
+ occlusion_tracker.UnoccludedContentRect(layer_top_left, draw_transform()); |
if (!visible_rect.IsEmpty()) { |
quad = TextureDrawQuad::Create(); |
quad->SetNew(shared_quad_state, |
@@ -226,11 +229,11 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
SK_ColorTRANSPARENT, |
vertex_opacity, |
flipped); |
- quad_sink->Append(quad.PassAs<DrawQuad>()); |
+ render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>()); |
} |
- visible_rect = |
- quad_sink->UnoccludedContentRect(layer_top_right, draw_transform()); |
+ visible_rect = occlusion_tracker.UnoccludedContentRect(layer_top_right, |
+ draw_transform()); |
if (!visible_rect.IsEmpty()) { |
quad = TextureDrawQuad::Create(); |
quad->SetNew(shared_quad_state, |
@@ -244,11 +247,11 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
SK_ColorTRANSPARENT, |
vertex_opacity, |
flipped); |
- quad_sink->Append(quad.PassAs<DrawQuad>()); |
+ render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>()); |
} |
- visible_rect = |
- quad_sink->UnoccludedContentRect(layer_bottom_left, draw_transform()); |
+ visible_rect = occlusion_tracker.UnoccludedContentRect(layer_bottom_left, |
+ draw_transform()); |
if (!visible_rect.IsEmpty()) { |
quad = TextureDrawQuad::Create(); |
quad->SetNew(shared_quad_state, |
@@ -262,11 +265,11 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
SK_ColorTRANSPARENT, |
vertex_opacity, |
flipped); |
- quad_sink->Append(quad.PassAs<DrawQuad>()); |
+ render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>()); |
} |
- visible_rect = |
- quad_sink->UnoccludedContentRect(layer_bottom_right, draw_transform()); |
+ visible_rect = occlusion_tracker.UnoccludedContentRect(layer_bottom_right, |
+ draw_transform()); |
if (!visible_rect.IsEmpty()) { |
quad = TextureDrawQuad::Create(); |
quad->SetNew(shared_quad_state, |
@@ -280,10 +283,11 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
SK_ColorTRANSPARENT, |
vertex_opacity, |
flipped); |
- quad_sink->Append(quad.PassAs<DrawQuad>()); |
+ render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>()); |
} |
- visible_rect = quad_sink->UnoccludedContentRect(layer_top, draw_transform()); |
+ visible_rect = |
+ occlusion_tracker.UnoccludedContentRect(layer_top, draw_transform()); |
if (!visible_rect.IsEmpty()) { |
quad = TextureDrawQuad::Create(); |
quad->SetNew(shared_quad_state, |
@@ -297,10 +301,11 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
SK_ColorTRANSPARENT, |
vertex_opacity, |
flipped); |
- quad_sink->Append(quad.PassAs<DrawQuad>()); |
+ render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>()); |
} |
- visible_rect = quad_sink->UnoccludedContentRect(layer_left, draw_transform()); |
+ visible_rect = |
+ occlusion_tracker.UnoccludedContentRect(layer_left, draw_transform()); |
if (!visible_rect.IsEmpty()) { |
quad = TextureDrawQuad::Create(); |
quad->SetNew(shared_quad_state, |
@@ -314,11 +319,11 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
SK_ColorTRANSPARENT, |
vertex_opacity, |
flipped); |
- quad_sink->Append(quad.PassAs<DrawQuad>()); |
+ render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>()); |
} |
visible_rect = |
- quad_sink->UnoccludedContentRect(layer_right, draw_transform()); |
+ occlusion_tracker.UnoccludedContentRect(layer_right, draw_transform()); |
if (!visible_rect.IsEmpty()) { |
quad = TextureDrawQuad::Create(); |
quad->SetNew(shared_quad_state, |
@@ -332,11 +337,11 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
SK_ColorTRANSPARENT, |
vertex_opacity, |
flipped); |
- quad_sink->Append(quad.PassAs<DrawQuad>()); |
+ render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>()); |
} |
visible_rect = |
- quad_sink->UnoccludedContentRect(layer_bottom, draw_transform()); |
+ occlusion_tracker.UnoccludedContentRect(layer_bottom, draw_transform()); |
if (!visible_rect.IsEmpty()) { |
quad = TextureDrawQuad::Create(); |
quad->SetNew(shared_quad_state, |
@@ -350,12 +355,12 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
SK_ColorTRANSPARENT, |
vertex_opacity, |
flipped); |
- quad_sink->Append(quad.PassAs<DrawQuad>()); |
+ render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>()); |
} |
if (fill_center_) { |
visible_rect = |
- quad_sink->UnoccludedContentRect(layer_center, draw_transform()); |
+ occlusion_tracker.UnoccludedContentRect(layer_center, draw_transform()); |
if (!visible_rect.IsEmpty()) { |
quad = TextureDrawQuad::Create(); |
quad->SetNew(shared_quad_state, |
@@ -369,7 +374,7 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink, |
SK_ColorTRANSPARENT, |
vertex_opacity, |
flipped); |
- quad_sink->Append(quad.PassAs<DrawQuad>()); |
+ render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>()); |
} |
} |
} |