| Index: cc/base/tiling_data_unittest.cc
|
| diff --git a/cc/base/tiling_data_unittest.cc b/cc/base/tiling_data_unittest.cc
|
| index 60e5a21e89f7311c69d4c79bbb1d4a2ced456009..9c2f9449b40bd7c7413512de204faa6ea4e58a79 100644
|
| --- a/cc/base/tiling_data_unittest.cc
|
| +++ b/cc/base/tiling_data_unittest.cc
|
| @@ -773,92 +773,82 @@ TEST(TilingDataTest, SetMaxTextureSizeBorders) {
|
| EXPECT_EQ(10, data.num_tiles_y());
|
| }
|
|
|
| -TEST(TilingDataTest, ExpandRectIgnoringBordersToTileBoundsWithBordersEmpty) {
|
| +TEST(TilingDataTest, ExpandRectIgnoringBordersToTileBoundsEmpty) {
|
| TilingData empty_total_size(gfx::Size(0, 0), gfx::Size(8, 8), true);
|
| EXPECT_RECT_EQ(
|
| gfx::Rect(),
|
| - empty_total_size.ExpandRectIgnoringBordersToTileBoundsWithBorders(
|
| - gfx::Rect()));
|
| - EXPECT_RECT_EQ(
|
| - gfx::Rect(),
|
| - empty_total_size.ExpandRectIgnoringBordersToTileBoundsWithBorders(
|
| - gfx::Rect(100, 100, 100, 100)));
|
| - EXPECT_RECT_EQ(
|
| - gfx::Rect(),
|
| - empty_total_size.ExpandRectIgnoringBordersToTileBoundsWithBorders(
|
| - gfx::Rect(100, 100)));
|
| + empty_total_size.ExpandRectIgnoringBordersToTileBounds(gfx::Rect()));
|
| + EXPECT_RECT_EQ(gfx::Rect(),
|
| + empty_total_size.ExpandRectIgnoringBordersToTileBounds(
|
| + gfx::Rect(100, 100, 100, 100)));
|
| + EXPECT_RECT_EQ(gfx::Rect(),
|
| + empty_total_size.ExpandRectIgnoringBordersToTileBounds(
|
| + gfx::Rect(100, 100)));
|
|
|
| TilingData empty_max_texture_size(gfx::Size(8, 8), gfx::Size(0, 0), true);
|
| - EXPECT_RECT_EQ(
|
| - gfx::Rect(),
|
| - empty_max_texture_size.ExpandRectIgnoringBordersToTileBoundsWithBorders(
|
| - gfx::Rect()));
|
| - EXPECT_RECT_EQ(
|
| - gfx::Rect(),
|
| - empty_max_texture_size.ExpandRectIgnoringBordersToTileBoundsWithBorders(
|
| - gfx::Rect(100, 100, 100, 100)));
|
| - EXPECT_RECT_EQ(
|
| - gfx::Rect(),
|
| - empty_max_texture_size.ExpandRectIgnoringBordersToTileBoundsWithBorders(
|
| - gfx::Rect(100, 100)));
|
| + EXPECT_RECT_EQ(gfx::Rect(),
|
| + empty_max_texture_size.ExpandRectIgnoringBordersToTileBounds(
|
| + gfx::Rect()));
|
| + EXPECT_RECT_EQ(gfx::Rect(),
|
| + empty_max_texture_size.ExpandRectIgnoringBordersToTileBounds(
|
| + gfx::Rect(100, 100, 100, 100)));
|
| + EXPECT_RECT_EQ(gfx::Rect(),
|
| + empty_max_texture_size.ExpandRectIgnoringBordersToTileBounds(
|
| + gfx::Rect(100, 100)));
|
| }
|
|
|
| -TEST(TilingDataTest, ExpandRectIgnoringBordersToTileBoundsWithBorders) {
|
| +TEST(TilingDataTest, ExpandRectIgnoringBordersToTileBounds) {
|
| TilingData data(gfx::Size(4, 4), gfx::Size(16, 32), true);
|
|
|
| // Small rect at origin rounds up to tile 0, 0.
|
| gfx::Rect at_origin_src(1, 1);
|
| - gfx::Rect at_origin_result(data.TileBoundsWithBorder(0, 0));
|
| + gfx::Rect at_origin_result(data.TileBounds(0, 0));
|
| EXPECT_NE(at_origin_src, at_origin_result);
|
| - EXPECT_RECT_EQ(
|
| - at_origin_result,
|
| - data.ExpandRectIgnoringBordersToTileBoundsWithBorders(at_origin_src));
|
| + EXPECT_RECT_EQ(at_origin_result,
|
| + data.ExpandRectIgnoringBordersToTileBounds(at_origin_src));
|
|
|
| // Arbitrary internal rect.
|
| gfx::Rect rect_src(6, 6, 1, 3);
|
| // Tile 2, 2 => gfx::Rect(4, 4, 4, 4)
|
| // Tile 2, 3 => gfx::Rect(4, 6, 4, 4)
|
| - gfx::Rect rect_result(gfx::UnionRects(data.TileBoundsWithBorder(2, 2),
|
| - data.TileBoundsWithBorder(2, 3)));
|
| + gfx::Rect rect_result(
|
| + gfx::UnionRects(data.TileBounds(2, 2), data.TileBounds(2, 3)));
|
| EXPECT_NE(rect_src, rect_result);
|
| - EXPECT_RECT_EQ(
|
| - rect_result,
|
| - data.ExpandRectIgnoringBordersToTileBoundsWithBorders(rect_src));
|
| + EXPECT_RECT_EQ(rect_result,
|
| + data.ExpandRectIgnoringBordersToTileBounds(rect_src));
|
|
|
| // On tile bounds does not round up to next tile (ignores the border).
|
| gfx::Rect border_rect_src(
|
| gfx::UnionRects(data.TileBounds(1, 2), data.TileBounds(3, 4)));
|
| - gfx::Rect border_rect_result(gfx::UnionRects(
|
| - data.TileBoundsWithBorder(1, 2), data.TileBoundsWithBorder(3, 4)));
|
| - EXPECT_RECT_EQ(
|
| - border_rect_result,
|
| - data.ExpandRectIgnoringBordersToTileBoundsWithBorders(border_rect_src));
|
| + gfx::Rect border_rect_result(
|
| + gfx::UnionRects(data.TileBounds(1, 2), data.TileBounds(3, 4)));
|
| + EXPECT_RECT_EQ(border_rect_result,
|
| + data.ExpandRectIgnoringBordersToTileBounds(border_rect_src));
|
|
|
| // Equal to tiling rect.
|
| EXPECT_RECT_EQ(gfx::Rect(data.tiling_size()),
|
| - data.ExpandRectIgnoringBordersToTileBoundsWithBorders(
|
| + data.ExpandRectIgnoringBordersToTileBounds(
|
| gfx::Rect(data.tiling_size())));
|
|
|
| // Containing, but larger than tiling rect.
|
| - EXPECT_RECT_EQ(gfx::Rect(data.tiling_size()),
|
| - data.ExpandRectIgnoringBordersToTileBoundsWithBorders(
|
| - gfx::Rect(100, 100)));
|
| + EXPECT_RECT_EQ(
|
| + gfx::Rect(data.tiling_size()),
|
| + data.ExpandRectIgnoringBordersToTileBounds(gfx::Rect(100, 100)));
|
|
|
| // Non-intersecting with tiling rect.
|
| gfx::Rect non_intersect(200, 200, 100, 100);
|
| EXPECT_FALSE(non_intersect.Intersects(gfx::Rect(data.tiling_size())));
|
| - EXPECT_RECT_EQ(
|
| - gfx::Rect(),
|
| - data.ExpandRectIgnoringBordersToTileBoundsWithBorders(non_intersect));
|
| + EXPECT_RECT_EQ(gfx::Rect(),
|
| + data.ExpandRectIgnoringBordersToTileBounds(non_intersect));
|
|
|
| TilingData data2(gfx::Size(8, 8), gfx::Size(32, 64), true);
|
|
|
| // Inside other tile border texels doesn't include other tiles.
|
| gfx::Rect inner_rect_src(data2.TileBounds(1, 1));
|
| inner_rect_src.Inset(data2.border_texels(), data.border_texels());
|
| - gfx::Rect inner_rect_result(data2.TileBoundsWithBorder(1, 1));
|
| + gfx::Rect inner_rect_result(data2.TileBounds(1, 1));
|
| gfx::Rect expanded =
|
| - data2.ExpandRectIgnoringBordersToTileBoundsWithBorders(inner_rect_src);
|
| + data2.ExpandRectIgnoringBordersToTileBounds(inner_rect_src);
|
| EXPECT_EQ(inner_rect_result.ToString(), expanded.ToString());
|
| }
|
|
|
| @@ -1086,11 +1076,11 @@ void TestIterate(const TilingData& data,
|
| }
|
|
|
| // Make sure this also works with a difference iterator and an empty ignore.
|
| - // The difference iterator always includes borders, so ignore it otherwise.
|
| - if (include_borders) {
|
| + // The difference iterator never includes borders, so ignore it otherwise.
|
| + if (!include_borders) {
|
| std::vector<std::pair<int, int> > expected = original_expected;
|
| - for (TilingData::DifferenceIterator iter(&data, rect, gfx::Rect());
|
| - iter; ++iter) {
|
| + for (TilingData::DifferenceIterator iter(&data, rect, gfx::Rect()); iter;
|
| + ++iter) {
|
| bool found = false;
|
| for (size_t i = 0; i < expected.size(); ++i) {
|
| if (expected[i] == iter.index()) {
|
| @@ -1250,16 +1240,14 @@ TEST(TilingDataTest, IteratorNoTiles) {
|
| TestIterateAll(data, gfx::Rect(100, 100), 0, 0, -1, -1);
|
| }
|
|
|
| -void TestDiff(
|
| - const TilingData& data,
|
| - gfx::Rect consider,
|
| - gfx::Rect ignore,
|
| - size_t num_tiles) {
|
| -
|
| +void TestDiff(const TilingData& data,
|
| + gfx::Rect consider,
|
| + gfx::Rect ignore,
|
| + size_t num_tiles) {
|
| std::vector<std::pair<int, int> > expected;
|
| for (int y = 0; y < data.num_tiles_y(); ++y) {
|
| for (int x = 0; x < data.num_tiles_x(); ++x) {
|
| - gfx::Rect bounds = data.TileBoundsWithBorder(x, y);
|
| + gfx::Rect bounds = data.TileBounds(x, y);
|
| if (bounds.Intersects(consider) && !bounds.Intersects(ignore))
|
| expected.push_back(std::make_pair(x, y));
|
| }
|
| @@ -1268,8 +1256,8 @@ void TestDiff(
|
| // Sanity check the test.
|
| EXPECT_EQ(num_tiles, expected.size());
|
|
|
| - for (TilingData::DifferenceIterator iter(&data, consider, ignore);
|
| - iter; ++iter) {
|
| + for (TilingData::DifferenceIterator iter(&data, consider, ignore); iter;
|
| + ++iter) {
|
| bool found = false;
|
| for (size_t i = 0; i < expected.size(); ++i) {
|
| if (expected[i] == iter.index()) {
|
| @@ -1339,16 +1327,26 @@ TEST(TilingDataTest, DifferenceIteratorIgnoreGeometry) {
|
| TEST(TilingDataTest, DifferenceIteratorManyBorderTexels) {
|
| // X border index by src coord: [0-50), [10-60), [20-65)
|
| // Y border index by src coord: [0-60), [20-80), [40-100), [60-110)
|
| + // X tile bounds by src coord: [0-30), [30-40), [40-65)
|
| + // Y tile bounds by src coord: [0-40), [40-60), [60-80), [80-110)
|
| TilingData data(gfx::Size(50, 60), gfx::Size(65, 110), 20);
|
|
|
| - // Ignore one column, three rows
|
| - TestDiff(data, gfx::Rect(0, 30, 55, 80), gfx::Rect(5, 30, 5, 15), 9);
|
| + // Knock out two rows, but not the left column.
|
| + TestDiff(data, gfx::Rect(10, 30, 55, 80), gfx::Rect(30, 59, 20, 2), 8);
|
|
|
| - // Knock out three columns, leaving only one.
|
| - TestDiff(data, gfx::Rect(10, 30, 55, 80), gfx::Rect(30, 59, 20, 1), 3);
|
| + // Knock out one row.
|
| + TestDiff(data, gfx::Rect(10, 30, 55, 80), gfx::Rect(29, 59, 20, 1), 9);
|
|
|
| // Overlap all tiles with ignore rect.
|
| - TestDiff(data, gfx::Rect(65, 110), gfx::Rect(30, 59, 1, 2), 0);
|
| + TestDiff(data, gfx::Rect(65, 110), gfx::Rect(29, 39, 12, 42), 0);
|
| +
|
| + gfx::Rect tile = data.TileBounds(1, 1);
|
| +
|
| + // Ignore one tile.
|
| + TestDiff(data, gfx::Rect(20, 30, 45, 80), tile, 11);
|
| +
|
| + // Include one tile.
|
| + TestDiff(data, tile, gfx::Rect(), 1);
|
| }
|
|
|
| TEST(TilingDataTest, DifferenceIteratorOneTile) {
|
|
|