| Index: cc/output/overlay_unittest.cc
|
| diff --git a/cc/output/overlay_unittest.cc b/cc/output/overlay_unittest.cc
|
| index 932ad7a2bcd14c326b7a3c7fba97d086cfd2fc7a..01e7cc2f350de1ed518b86ff12eb616372b6b359 100644
|
| --- a/cc/output/overlay_unittest.cc
|
| +++ b/cc/output/overlay_unittest.cc
|
| @@ -129,15 +129,16 @@ ResourceProvider::ResourceId CreateResource(
|
| mailbox, release_callback.Pass());
|
| }
|
|
|
| -scoped_ptr<TextureDrawQuad> CreateCandidateQuad(
|
| - ResourceProvider* resource_provider,
|
| - const SharedQuadState* shared_quad_state) {
|
| +TextureDrawQuad* CreateCandidateQuad(ResourceProvider* resource_provider,
|
| + const SharedQuadState* shared_quad_state,
|
| + RenderPass* render_pass) {
|
| ResourceProvider::ResourceId resource_id = CreateResource(resource_provider);
|
| bool premultiplied_alpha = false;
|
| bool flipped = false;
|
| float vertex_opacity[4] = {1.0f, 1.0f, 1.0f, 1.0f};
|
|
|
| - scoped_ptr<TextureDrawQuad> overlay_quad = TextureDrawQuad::Create();
|
| + TextureDrawQuad* overlay_quad =
|
| + render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
|
| overlay_quad->SetNew(shared_quad_state,
|
| kOverlayRect,
|
| kOverlayRect,
|
| @@ -150,17 +151,16 @@ scoped_ptr<TextureDrawQuad> CreateCandidateQuad(
|
| vertex_opacity,
|
| flipped);
|
|
|
| - return overlay_quad.Pass();
|
| + return overlay_quad;
|
| }
|
|
|
| -scoped_ptr<DrawQuad> CreateCheckeredQuad(
|
| - ResourceProvider* resource_provider,
|
| - const SharedQuadState* shared_quad_state) {
|
| - scoped_ptr<CheckerboardDrawQuad> checkerboard_quad =
|
| - CheckerboardDrawQuad::Create();
|
| +void CreateCheckeredQuad(ResourceProvider* resource_provider,
|
| + const SharedQuadState* shared_quad_state,
|
| + RenderPass* render_pass) {
|
| + CheckerboardDrawQuad* checkerboard_quad =
|
| + render_pass->CreateAndAppendDrawQuad<CheckerboardDrawQuad>();
|
| checkerboard_quad->SetNew(
|
| shared_quad_state, kOverlayRect, kOverlayRect, SkColor());
|
| - return checkerboard_quad.PassAs<DrawQuad>();
|
| }
|
|
|
| static void CompareRenderPassLists(const RenderPassList& expected_list,
|
| @@ -249,16 +249,19 @@ class SingleOverlayOnTopTest : public testing::Test {
|
|
|
| TEST_F(SingleOverlayOnTopTest, SuccessfullOverlay) {
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - scoped_ptr<TextureDrawQuad> original_quad = CreateCandidateQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back());
|
| + TextureDrawQuad* original_quad =
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| + unsigned original_resource_id = original_quad->resource_id;
|
|
|
| - pass->quad_list.push_back(
|
| - original_quad->Copy(pass->shared_quad_state_list.back()));
|
| // Add something behind it.
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -281,15 +284,17 @@ TEST_F(SingleOverlayOnTopTest, SuccessfullOverlay) {
|
| }
|
|
|
| // Check that the right resource id got extracted.
|
| - EXPECT_EQ(original_quad->resource_id, candidate_list.back().resource_id);
|
| + EXPECT_EQ(original_resource_id, candidate_list.back().resource_id);
|
| }
|
|
|
| TEST_F(SingleOverlayOnTopTest, NoCandidates) {
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -306,15 +311,16 @@ TEST_F(SingleOverlayOnTopTest, NoCandidates) {
|
|
|
| TEST_F(SingleOverlayOnTopTest, OccludedCandidates) {
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| - pass->quad_list.push_back(
|
| - CreateCandidateQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back())
|
| - .PassAs<DrawQuad>());
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -335,16 +341,17 @@ TEST_F(SingleOverlayOnTopTest, MultipleRenderPasses) {
|
| pass_list.push_back(CreateRenderPass());
|
|
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - scoped_ptr<TextureDrawQuad> original_quad = CreateCandidateQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back());
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| - pass->quad_list.push_back(
|
| - original_quad->Copy(pass->shared_quad_state_list.back()));
|
| // Add something behind it.
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| pass_list.push_back(pass.Pass());
|
|
|
| @@ -362,11 +369,12 @@ TEST_F(SingleOverlayOnTopTest, MultipleRenderPasses) {
|
|
|
| TEST_F(SingleOverlayOnTopTest, RejectPremultipliedAlpha) {
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - scoped_ptr<TextureDrawQuad> quad = CreateCandidateQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back());
|
| + TextureDrawQuad* quad =
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| quad->premultiplied_alpha = true;
|
|
|
| - pass->quad_list.push_back(quad.PassAs<DrawQuad>());
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| @@ -377,11 +385,12 @@ TEST_F(SingleOverlayOnTopTest, RejectPremultipliedAlpha) {
|
|
|
| TEST_F(SingleOverlayOnTopTest, RejectBlending) {
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - scoped_ptr<TextureDrawQuad> quad = CreateCandidateQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back());
|
| + TextureDrawQuad* quad =
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| quad->needs_blending = true;
|
|
|
| - pass->quad_list.push_back(quad.PassAs<DrawQuad>());
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| @@ -392,11 +401,12 @@ TEST_F(SingleOverlayOnTopTest, RejectBlending) {
|
|
|
| TEST_F(SingleOverlayOnTopTest, RejectBackgroundColor) {
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - scoped_ptr<TextureDrawQuad> quad = CreateCandidateQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back());
|
| + TextureDrawQuad* quad =
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| quad->background_color = SK_ColorBLACK;
|
|
|
| - pass->quad_list.push_back(quad.PassAs<DrawQuad>());
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| @@ -407,11 +417,11 @@ TEST_F(SingleOverlayOnTopTest, RejectBackgroundColor) {
|
|
|
| TEST_F(SingleOverlayOnTopTest, RejectBlendMode) {
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - scoped_ptr<TextureDrawQuad> quad = CreateCandidateQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back());
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| pass->shared_quad_state_list.back()->blend_mode = SkXfermode::kScreen_Mode;
|
|
|
| - pass->quad_list.push_back(quad.PassAs<DrawQuad>());
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| @@ -422,11 +432,11 @@ TEST_F(SingleOverlayOnTopTest, RejectBlendMode) {
|
|
|
| TEST_F(SingleOverlayOnTopTest, RejectOpacity) {
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - scoped_ptr<TextureDrawQuad> quad = CreateCandidateQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back());
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| pass->shared_quad_state_list.back()->opacity = 0.5f;
|
|
|
| - pass->quad_list.push_back(quad.PassAs<DrawQuad>());
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| @@ -437,12 +447,12 @@ TEST_F(SingleOverlayOnTopTest, RejectOpacity) {
|
|
|
| TEST_F(SingleOverlayOnTopTest, RejectTransform) {
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
| - scoped_ptr<TextureDrawQuad> quad = CreateCandidateQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back());
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| pass->shared_quad_state_list.back()->content_to_target_transform.Scale(2.f,
|
| 2.f);
|
|
|
| - pass->quad_list.push_back(quad.PassAs<DrawQuad>());
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| OverlayCandidateList candidate_list;
|
| @@ -549,15 +559,16 @@ TEST_F(GLRendererWithOverlaysTest, OverlayQuadNotDrawn) {
|
|
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
|
|
| - pass->quad_list.push_back(
|
| - CreateCandidateQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back())
|
| - .PassAs<DrawQuad>());
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -587,15 +598,16 @@ TEST_F(GLRendererWithOverlaysTest, OccludedQuadDrawn) {
|
|
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
|
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| - pass->quad_list.push_back(
|
| - CreateCandidateQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back())
|
| - .PassAs<DrawQuad>());
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -619,15 +631,16 @@ TEST_F(GLRendererWithOverlaysTest, NoValidatorNoOverlay) {
|
|
|
| scoped_ptr<RenderPass> pass = CreateRenderPass();
|
|
|
| - pass->quad_list.push_back(
|
| - CreateCandidateQuad(resource_provider_.get(),
|
| - pass->shared_quad_state_list.back())
|
| - .PassAs<DrawQuad>());
|
| + CreateCandidateQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| - pass->quad_list.push_back(CreateCheckeredQuad(
|
| - resource_provider_.get(), pass->shared_quad_state_list.back()));
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
| + CreateCheckeredQuad(resource_provider_.get(),
|
| + pass->shared_quad_state_list.back(),
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
|
|