| 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 f885a30503f02dd8c5361e5bd793d9f9432c3b11..fb5b9788fda1d2c89cf7da5372c3c119df98fcbc 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,13 +80,16 @@ 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, shared_quad_state, append_quads_data);
|
| + AppendDebugBorderQuad(render_pass, shared_quad_state, append_quads_data);
|
|
|
| if (!ui_resource_id_)
|
| return;
|
| @@ -210,8 +213,8 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink,
|
| const float vertex_opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};
|
| scoped_ptr<TextureDrawQuad> quad;
|
|
|
| - visible_rect =
|
| - quad_sink->UnoccludedContentRect(this, layer_top_left, draw_transform());
|
| + visible_rect = occlusion_tracker.UnoccludedContentRect(
|
| + this->render_target(), layer_top_left, draw_transform());
|
| if (!visible_rect.IsEmpty()) {
|
| quad = TextureDrawQuad::Create();
|
| quad->SetNew(shared_quad_state,
|
| @@ -225,11 +228,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(this, layer_top_right, draw_transform());
|
| + visible_rect = occlusion_tracker.UnoccludedContentRect(
|
| + this->render_target(), layer_top_right, draw_transform());
|
| if (!visible_rect.IsEmpty()) {
|
| quad = TextureDrawQuad::Create();
|
| quad->SetNew(shared_quad_state,
|
| @@ -243,11 +246,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(
|
| - this, layer_bottom_left, draw_transform());
|
| + visible_rect = occlusion_tracker.UnoccludedContentRect(
|
| + this->render_target(), layer_bottom_left, draw_transform());
|
| if (!visible_rect.IsEmpty()) {
|
| quad = TextureDrawQuad::Create();
|
| quad->SetNew(shared_quad_state,
|
| @@ -261,11 +264,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(
|
| - this, layer_bottom_right, draw_transform());
|
| + visible_rect = occlusion_tracker.UnoccludedContentRect(
|
| + this->render_target(), layer_bottom_right, draw_transform());
|
| if (!visible_rect.IsEmpty()) {
|
| quad = TextureDrawQuad::Create();
|
| quad->SetNew(shared_quad_state,
|
| @@ -279,11 +282,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(this, layer_top, draw_transform());
|
| + visible_rect = occlusion_tracker.UnoccludedContentRect(
|
| + this->render_target(), layer_top, draw_transform());
|
| if (!visible_rect.IsEmpty()) {
|
| quad = TextureDrawQuad::Create();
|
| quad->SetNew(shared_quad_state,
|
| @@ -297,11 +300,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(this, layer_left, draw_transform());
|
| + visible_rect = occlusion_tracker.UnoccludedContentRect(
|
| + this->render_target(), layer_left, draw_transform());
|
| if (!visible_rect.IsEmpty()) {
|
| quad = TextureDrawQuad::Create();
|
| quad->SetNew(shared_quad_state,
|
| @@ -315,11 +318,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(this, layer_right, draw_transform());
|
| + visible_rect = occlusion_tracker.UnoccludedContentRect(
|
| + this->render_target(), layer_right, draw_transform());
|
| if (!visible_rect.IsEmpty()) {
|
| quad = TextureDrawQuad::Create();
|
| quad->SetNew(shared_quad_state,
|
| @@ -333,11 +336,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(this, layer_bottom, draw_transform());
|
| + visible_rect = occlusion_tracker.UnoccludedContentRect(
|
| + this->render_target(), layer_bottom, draw_transform());
|
| if (!visible_rect.IsEmpty()) {
|
| quad = TextureDrawQuad::Create();
|
| quad->SetNew(shared_quad_state,
|
| @@ -351,12 +354,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(this, layer_center, draw_transform());
|
| + visible_rect = occlusion_tracker.UnoccludedContentRect(
|
| + this->render_target(), layer_center, draw_transform());
|
| if (!visible_rect.IsEmpty()) {
|
| quad = TextureDrawQuad::Create();
|
| quad->SetNew(shared_quad_state,
|
| @@ -370,7 +373,7 @@ void NinePatchLayerImpl::AppendQuads(QuadSink* quad_sink,
|
| SK_ColorTRANSPARENT,
|
| vertex_opacity,
|
| flipped);
|
| - quad_sink->Append(quad.PassAs<DrawQuad>());
|
| + render_pass->AppendDrawQuad(quad.PassAs<DrawQuad>());
|
| }
|
| }
|
| }
|
|
|