WebKit Roll 139512:139548
[chromium-blink-merge.git] / cc / picture_layer_tiling_set_unittest.cc
blobcbc9449250d1f01cf7d36cf2b553ee3fb70511f7
1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "cc/picture_layer_tiling_set.h"
7 #include "cc/test/fake_picture_layer_tiling_client.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "ui/gfx/size_conversions.h"
11 namespace cc {
12 namespace {
14 TEST(PictureLayerTilingSetTest, NoResources) {
15 FakePictureLayerTilingClient client;
16 PictureLayerTilingSet set(&client);
17 gfx::Size default_tile_size(256, 256);
19 gfx::Size layer_bounds(1000, 800);
20 set.SetLayerBounds(layer_bounds);
22 set.AddTiling(1.0, default_tile_size);
23 set.AddTiling(1.5, default_tile_size);
24 set.AddTiling(2.0, default_tile_size);
26 float contents_scale = 2.0;
27 gfx::Size content_bounds(
28 gfx::ToCeiledSize(gfx::ScaleSize(layer_bounds, contents_scale)));
29 gfx::Rect content_rect(gfx::Point(), content_bounds);
31 Region remaining(content_rect);
32 PictureLayerTilingSet::Iterator iter(
33 &set,
34 contents_scale,
35 content_rect,
36 contents_scale);
37 for (; iter; ++iter) {
38 gfx::Rect geometry_rect = iter.geometry_rect();
39 EXPECT_TRUE(content_rect.Contains(geometry_rect));
40 ASSERT_TRUE(remaining.Contains(geometry_rect));
41 remaining.Subtract(geometry_rect);
43 // No tiles have resources, so no iter represents a real tile.
44 EXPECT_FALSE(*iter);
46 EXPECT_TRUE(remaining.IsEmpty());
49 } // namespace
50 } // namespace cc