summaryrefslogtreecommitdiffstats
path: root/chromium/cc/layers/picture_image_layer_impl_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/cc/layers/picture_image_layer_impl_unittest.cc')
-rw-r--r--chromium/cc/layers/picture_image_layer_impl_unittest.cc106
1 files changed, 53 insertions, 53 deletions
diff --git a/chromium/cc/layers/picture_image_layer_impl_unittest.cc b/chromium/cc/layers/picture_image_layer_impl_unittest.cc
index 2910da1d5e7..e8eb8ff6277 100644
--- a/chromium/cc/layers/picture_image_layer_impl_unittest.cc
+++ b/chromium/cc/layers/picture_image_layer_impl_unittest.cc
@@ -12,6 +12,7 @@
#include "cc/test/fake_picture_layer_tiling_client.h"
#include "cc/test/impl_side_painting_settings.h"
#include "cc/test/mock_quad_culler.h"
+#include "cc/test/test_shared_bitmap_manager.h"
#include "cc/trees/layer_tree_impl.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -23,6 +24,9 @@ class TestablePictureImageLayerImpl : public PictureImageLayerImpl {
TestablePictureImageLayerImpl(LayerTreeImpl* tree_impl, int id)
: PictureImageLayerImpl(tree_impl, id) {
}
+ using PictureLayerImpl::UpdateIdealScales;
+ using PictureLayerImpl::MaximumTilingContentsScale;
+ using PictureLayerImpl::DoPostCommitInitializationIfNeeded;
PictureLayerTilingSet* tilings() { return tilings_.get(); }
@@ -32,10 +36,14 @@ class TestablePictureImageLayerImpl : public PictureImageLayerImpl {
class PictureImageLayerImplTest : public testing::Test {
public:
PictureImageLayerImplTest()
- : host_impl_(ImplSidePaintingSettings(), &proxy_) {
+ : proxy_(base::MessageLoopProxy::current()),
+ host_impl_(ImplSidePaintingSettings(),
+ &proxy_,
+ &shared_bitmap_manager_) {
tiling_client_.SetTileSize(ImplSidePaintingSettings().default_tile_size);
host_impl_.CreatePendingTree();
- host_impl_.InitializeRenderer(CreateFakeOutputSurface());
+ host_impl_.InitializeRenderer(
+ FakeOutputSurface::Create3d().PassAs<OutputSurface>());
}
scoped_ptr<TestablePictureImageLayerImpl> CreateLayer(int id,
@@ -55,19 +63,33 @@ class PictureImageLayerImplTest : public testing::Test {
TestablePictureImageLayerImpl* layer =
new TestablePictureImageLayerImpl(tree, id);
layer->SetBounds(gfx::Size(100, 200));
+ layer->SetContentBounds(gfx::Size(100, 200));
layer->tilings_.reset(new PictureLayerTilingSet(&tiling_client_,
layer->bounds()));
layer->pile_ = tiling_client_.pile();
return make_scoped_ptr(layer);
}
- void UpdateDrawProperties() {
- host_impl_.pending_tree()->UpdateDrawProperties();
+ void SetupDrawPropertiesAndUpdateTiles(TestablePictureImageLayerImpl* layer,
+ float ideal_contents_scale,
+ float device_scale_factor,
+ float page_scale_factor,
+ float maximum_animation_contents_scale,
+ bool animating_transform_to_screen) {
+ layer->draw_properties().ideal_contents_scale = ideal_contents_scale;
+ layer->draw_properties().device_scale_factor = device_scale_factor;
+ layer->draw_properties().page_scale_factor = page_scale_factor;
+ layer->draw_properties().maximum_animation_contents_scale =
+ maximum_animation_contents_scale;
+ layer->draw_properties().screen_space_transform_is_animating =
+ animating_transform_to_screen;
+ layer->UpdateTiles();
}
protected:
FakeImplProxy proxy_;
FakeLayerTreeHostImpl host_impl_;
+ TestSharedBitmapManager shared_bitmap_manager_;
FakePictureLayerTilingClient tiling_client_;
};
@@ -75,33 +97,11 @@ TEST_F(PictureImageLayerImplTest, CalculateContentsScale) {
scoped_ptr<TestablePictureImageLayerImpl> layer(CreateLayer(1, PENDING_TREE));
layer->SetDrawsContent(true);
- float contents_scale_x;
- float contents_scale_y;
- gfx::Size content_bounds;
- layer->CalculateContentsScale(2.f, 3.f, 4.f, false,
- &contents_scale_x, &contents_scale_y,
- &content_bounds);
- EXPECT_FLOAT_EQ(1.f, contents_scale_x);
- EXPECT_FLOAT_EQ(1.f, contents_scale_y);
- EXPECT_EQ(layer->bounds(), content_bounds);
-}
-
-TEST_F(PictureImageLayerImplTest, AreVisibleResourcesReady) {
- scoped_ptr<TestablePictureImageLayerImpl> layer(CreateLayer(1, PENDING_TREE));
- layer->SetBounds(gfx::Size(100, 200));
- layer->SetDrawsContent(true);
-
- UpdateDrawProperties();
-
- float contents_scale_x;
- float contents_scale_y;
- gfx::Size content_bounds;
- layer->CalculateContentsScale(2.f, 3.f, 4.f, false,
- &contents_scale_x, &contents_scale_y,
- &content_bounds);
- layer->UpdateTilePriorities();
+ SetupDrawPropertiesAndUpdateTiles(layer.get(), 2.f, 3.f, 4.f, 1.f, false);
- EXPECT_TRUE(layer->AreVisibleResourcesReady());
+ EXPECT_FLOAT_EQ(1.f, layer->contents_scale_x());
+ EXPECT_FLOAT_EQ(1.f, layer->contents_scale_y());
+ EXPECT_FLOAT_EQ(1.f, layer->MaximumTilingContentsScale());
}
TEST_F(PictureImageLayerImplTest, IgnoreIdealContentScale) {
@@ -114,41 +114,41 @@ TEST_F(PictureImageLayerImplTest, IgnoreIdealContentScale) {
const float suggested_ideal_contents_scale = 2.f;
const float device_scale_factor = 3.f;
const float page_scale_factor = 4.f;
+ const float maximum_animation_contents_scale = 1.f;
const bool animating_transform_to_screen = false;
- float contents_scale_x;
- float contents_scale_y;
- gfx::Size content_bounds;
- pending_layer->CalculateContentsScale(suggested_ideal_contents_scale,
- device_scale_factor,
- page_scale_factor,
- animating_transform_to_screen,
- &contents_scale_x,
- &contents_scale_y,
- &content_bounds);
+ SetupDrawPropertiesAndUpdateTiles(pending_layer.get(),
+ suggested_ideal_contents_scale,
+ device_scale_factor,
+ page_scale_factor,
+ maximum_animation_contents_scale,
+ animating_transform_to_screen);
+ EXPECT_EQ(1.f, pending_layer->tilings()->tiling_at(0)->contents_scale());
// Push to active layer.
+ host_impl_.pending_tree()->SetRootLayer(pending_layer.PassAs<LayerImpl>());
host_impl_.ActivatePendingTree();
- scoped_ptr<TestablePictureImageLayerImpl> active_layer(
- CreateLayer(1, ACTIVE_TREE));
- pending_layer->PushPropertiesTo(active_layer.get());
- active_layer->CalculateContentsScale(suggested_ideal_contents_scale,
- device_scale_factor,
- page_scale_factor,
- animating_transform_to_screen,
- &contents_scale_x,
- &contents_scale_y,
- &content_bounds);
+ TestablePictureImageLayerImpl* active_layer =
+ static_cast<TestablePictureImageLayerImpl*>(
+ host_impl_.active_tree()->root_layer());
+ SetupDrawPropertiesAndUpdateTiles(active_layer,
+ suggested_ideal_contents_scale,
+ device_scale_factor,
+ page_scale_factor,
+ maximum_animation_contents_scale,
+ animating_transform_to_screen);
+ EXPECT_EQ(1.f, active_layer->tilings()->tiling_at(0)->contents_scale());
// Create tile and resource.
active_layer->tilings()->tiling_at(0)->CreateAllTilesForTesting();
host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(
- active_layer->tilings()->tiling_at(0)->AllTilesForTesting(),
- host_impl_.resource_provider());
+ active_layer->tilings()->tiling_at(0)->AllTilesForTesting());
// Draw.
active_layer->draw_properties().visible_content_rect =
gfx::Rect(active_layer->bounds());
- MockQuadCuller quad_culler;
+ MockOcclusionTracker<LayerImpl> occlusion_tracker;
+ scoped_ptr<RenderPass> render_pass = RenderPass::Create();
+ MockQuadCuller quad_culler(render_pass.get(), &occlusion_tracker);
AppendQuadsData data;
active_layer->WillDraw(DRAW_MODE_SOFTWARE, NULL);
active_layer->AppendQuads(&quad_culler, &data);