| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/layers/picture_layer_impl.h" | 5 #include "cc/layers/picture_layer_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 #include "ui/gfx/rect_conversions.h" | 31 #include "ui/gfx/rect_conversions.h" |
| 32 #include "ui/gfx/size_conversions.h" | 32 #include "ui/gfx/size_conversions.h" |
| 33 | 33 |
| 34 namespace cc { | 34 namespace cc { |
| 35 namespace { | 35 namespace { |
| 36 | 36 |
| 37 class MockCanvas : public SkCanvas { | 37 class MockCanvas : public SkCanvas { |
| 38 public: | 38 public: |
| 39 explicit MockCanvas(int w, int h) : SkCanvas(w, h) {} | 39 explicit MockCanvas(int w, int h) : SkCanvas(w, h) {} |
| 40 | 40 |
| 41 virtual void drawRect(const SkRect& rect, const SkPaint& paint) override { | 41 void drawRect(const SkRect& rect, const SkPaint& paint) override { |
| 42 // Capture calls before SkCanvas quickReject() kicks in. | 42 // Capture calls before SkCanvas quickReject() kicks in. |
| 43 rects_.push_back(rect); | 43 rects_.push_back(rect); |
| 44 } | 44 } |
| 45 | 45 |
| 46 std::vector<SkRect> rects_; | 46 std::vector<SkRect> rects_; |
| 47 }; | 47 }; |
| 48 | 48 |
| 49 class NoLowResTilingsSettings : public ImplSidePaintingSettings {}; | 49 class NoLowResTilingsSettings : public ImplSidePaintingSettings {}; |
| 50 | 50 |
| 51 class LowResTilingsSettings : public ImplSidePaintingSettings { | 51 class LowResTilingsSettings : public ImplSidePaintingSettings { |
| (...skipping 2263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2315 pending_layer_->MinimumContentsScale()); | 2315 pending_layer_->MinimumContentsScale()); |
| 2316 | 2316 |
| 2317 SetContentsScaleOnBothLayers(contents_scale, 1.f, page_scale, 1.f, false); | 2317 SetContentsScaleOnBothLayers(contents_scale, 1.f, page_scale, 1.f, false); |
| 2318 ASSERT_GE(pending_layer_->num_tilings(), 0u); | 2318 ASSERT_GE(pending_layer_->num_tilings(), 0u); |
| 2319 EXPECT_FLOAT_EQ(pending_layer_->MinimumContentsScale(), | 2319 EXPECT_FLOAT_EQ(pending_layer_->MinimumContentsScale(), |
| 2320 pending_layer_->HighResTiling()->contents_scale()); | 2320 pending_layer_->HighResTiling()->contents_scale()); |
| 2321 } | 2321 } |
| 2322 | 2322 |
| 2323 class DeferredInitPictureLayerImplTest : public PictureLayerImplTest { | 2323 class DeferredInitPictureLayerImplTest : public PictureLayerImplTest { |
| 2324 public: | 2324 public: |
| 2325 virtual void InitializeRenderer() override { | 2325 void InitializeRenderer() override { |
| 2326 bool delegated_rendering = false; | 2326 bool delegated_rendering = false; |
| 2327 host_impl_.InitializeRenderer(FakeOutputSurface::CreateDeferredGL( | 2327 host_impl_.InitializeRenderer(FakeOutputSurface::CreateDeferredGL( |
| 2328 scoped_ptr<SoftwareOutputDevice>(new SoftwareOutputDevice), | 2328 scoped_ptr<SoftwareOutputDevice>(new SoftwareOutputDevice), |
| 2329 delegated_rendering)); | 2329 delegated_rendering)); |
| 2330 } | 2330 } |
| 2331 | 2331 |
| 2332 virtual void SetUp() override { | 2332 virtual void SetUp() override { |
| 2333 PictureLayerImplTest::SetUp(); | 2333 PictureLayerImplTest::SetUp(); |
| 2334 | 2334 |
| 2335 // Create some default active and pending trees. | 2335 // Create some default active and pending trees. |
| (...skipping 1300 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3636 | 3636 |
| 3637 EXPECT_FALSE(pending_mask_content->tilings()); | 3637 EXPECT_FALSE(pending_mask_content->tilings()); |
| 3638 host_impl_.pending_tree()->UpdateDrawProperties(); | 3638 host_impl_.pending_tree()->UpdateDrawProperties(); |
| 3639 EXPECT_NE(0u, pending_mask_content->num_tilings()); | 3639 EXPECT_NE(0u, pending_mask_content->num_tilings()); |
| 3640 } | 3640 } |
| 3641 | 3641 |
| 3642 class PictureLayerImplTestWithDelegatingRenderer : public PictureLayerImplTest { | 3642 class PictureLayerImplTestWithDelegatingRenderer : public PictureLayerImplTest { |
| 3643 public: | 3643 public: |
| 3644 PictureLayerImplTestWithDelegatingRenderer() : PictureLayerImplTest() {} | 3644 PictureLayerImplTestWithDelegatingRenderer() : PictureLayerImplTest() {} |
| 3645 | 3645 |
| 3646 virtual void InitializeRenderer() override { | 3646 void InitializeRenderer() override { |
| 3647 host_impl_.InitializeRenderer(FakeOutputSurface::CreateDelegating3d()); | 3647 host_impl_.InitializeRenderer(FakeOutputSurface::CreateDelegating3d()); |
| 3648 } | 3648 } |
| 3649 }; | 3649 }; |
| 3650 | 3650 |
| 3651 TEST_F(PictureLayerImplTestWithDelegatingRenderer, | 3651 TEST_F(PictureLayerImplTestWithDelegatingRenderer, |
| 3652 DelegatingRendererWithTileOOM) { | 3652 DelegatingRendererWithTileOOM) { |
| 3653 // This test is added for crbug.com/402321, where quad should be produced when | 3653 // This test is added for crbug.com/402321, where quad should be produced when |
| 3654 // raster on demand is not allowed and tile is OOM. | 3654 // raster on demand is not allowed and tile is OOM. |
| 3655 gfx::Size tile_size = host_impl_.settings().default_tile_size; | 3655 gfx::Size tile_size = host_impl_.settings().default_tile_size; |
| 3656 gfx::Size layer_bounds(1000, 1000); | 3656 gfx::Size layer_bounds(1000, 1000); |
| (...skipping 893 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4550 result = layer->CalculateTileSize(gfx::Size(447, 400)); | 4550 result = layer->CalculateTileSize(gfx::Size(447, 400)); |
| 4551 EXPECT_EQ(result.width(), 448); | 4551 EXPECT_EQ(result.width(), 448); |
| 4552 EXPECT_EQ(result.height(), 448); | 4552 EXPECT_EQ(result.height(), 448); |
| 4553 result = layer->CalculateTileSize(gfx::Size(500, 499)); | 4553 result = layer->CalculateTileSize(gfx::Size(500, 499)); |
| 4554 EXPECT_EQ(result.width(), 512); | 4554 EXPECT_EQ(result.width(), 512); |
| 4555 EXPECT_EQ(result.height(), 500 + 2); | 4555 EXPECT_EQ(result.height(), 500 + 2); |
| 4556 } | 4556 } |
| 4557 | 4557 |
| 4558 } // namespace | 4558 } // namespace |
| 4559 } // namespace cc | 4559 } // namespace cc |
| OLD | NEW |