Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / cc / resources / prioritized_tile_set_unittest.cc
index c62bda9..db00645 100644 (file)
@@ -13,6 +13,7 @@
 #include "cc/test/fake_picture_pile_impl.h"
 #include "cc/test/fake_tile_manager.h"
 #include "cc/test/fake_tile_manager_client.h"
+#include "cc/test/test_shared_bitmap_manager.h"
 #include "cc/test/test_tile_priorities.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -25,20 +26,17 @@ class BinComparator {
     const ManagedTileState& ams = a->managed_state();
     const ManagedTileState& bms = b->managed_state();
 
+    if (ams.priority_bin != bms.priority_bin)
+      return ams.priority_bin < bms.priority_bin;
+
     if (ams.required_for_activation != bms.required_for_activation)
       return ams.required_for_activation;
 
     if (ams.resolution != bms.resolution)
       return ams.resolution < bms.resolution;
 
-    if (ams.time_to_needed_in_seconds !=  bms.time_to_needed_in_seconds)
-      return ams.time_to_needed_in_seconds < bms.time_to_needed_in_seconds;
-
-    if (ams.distance_to_visible_in_pixels !=
-        bms.distance_to_visible_in_pixels) {
-      return ams.distance_to_visible_in_pixels <
-             bms.distance_to_visible_in_pixels;
-    }
+    if (ams.distance_to_visible != bms.distance_to_visible)
+      return ams.distance_to_visible < bms.distance_to_visible;
 
     gfx::Rect a_rect = a->content_rect();
     gfx::Rect b_rect = b->content_rect();
@@ -56,15 +54,17 @@ class PrioritizedTileSetTest : public testing::Test {
     output_surface_ = FakeOutputSurface::Create3d().Pass();
     CHECK(output_surface_->BindToClient(&output_surface_client_));
 
+    shared_bitmap_manager_.reset(new TestSharedBitmapManager());
     resource_provider_ =
-        ResourceProvider::Create(output_surface_.get(),
-                                 NULL,
-                                 0,
-                                 false,
-                                 1).Pass();
+        ResourceProvider::Create(
+            output_surface_.get(), shared_bitmap_manager_.get(), 0, false, 1,
+            false)
+            .Pass();
+    resource_pool_ = ResourcePool::Create(
+        resource_provider_.get(), GL_TEXTURE_2D, RGBA_8888);
     tile_manager_.reset(
-        new FakeTileManager(&tile_manager_client_, resource_provider_.get()));
-    picture_pile_ = FakePicturePileImpl::CreatePile();
+        new FakeTileManager(&tile_manager_client_, resource_pool_.get()));
+    picture_pile_ = FakePicturePileImpl::CreateInfiniteFilledPile();
   }
 
   scoped_refptr<Tile> CreateTile() {
@@ -75,14 +75,25 @@ class PrioritizedTileSetTest : public testing::Test {
                                      1.0,
                                      0,
                                      0,
-                                     true);
+                                     0);
+  }
+  void ReleaseTiles(std::vector<scoped_refptr<Tile> >* tiles) {
+    for (std::vector<scoped_refptr<Tile> >::iterator it = tiles->begin();
+         it != tiles->end();
+         it++) {
+      Tile* tile = *it;
+      tile->SetPriority(ACTIVE_TREE, TilePriority());
+      tile->SetPriority(PENDING_TREE, TilePriority());
+    }
   }
 
  private:
   LayerTreeSettings settings_;
   FakeOutputSurfaceClient output_surface_client_;
   scoped_ptr<FakeOutputSurface> output_surface_;
+  scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
   scoped_ptr<ResourceProvider> resource_provider_;
+  scoped_ptr<ResourcePool> resource_pool_;
   FakeTileManagerClient tile_manager_client_;
   scoped_ptr<FakeTileManager> tile_manager_;
   scoped_refptr<FakePicturePileImpl> picture_pile_;
@@ -140,6 +151,8 @@ TEST_F(PrioritizedTileSetTest, NowAndReadyToDrawBin) {
     ++i;
   }
   EXPECT_EQ(20, i);
+
+  ReleaseTiles(&tiles);
 }
 
 TEST_F(PrioritizedTileSetTest, NowBin) {
@@ -174,6 +187,8 @@ TEST_F(PrioritizedTileSetTest, NowBin) {
     ++i;
   }
   EXPECT_EQ(20, i);
+
+  ReleaseTiles(&tiles);
 }
 
 TEST_F(PrioritizedTileSetTest, SoonBin) {
@@ -208,6 +223,8 @@ TEST_F(PrioritizedTileSetTest, SoonBin) {
     ++i;
   }
   EXPECT_EQ(20, i);
+
+  ReleaseTiles(&tiles);
 }
 
 TEST_F(PrioritizedTileSetTest, SoonBinNoPriority) {
@@ -240,6 +257,8 @@ TEST_F(PrioritizedTileSetTest, SoonBinNoPriority) {
     ++i;
   }
   EXPECT_EQ(20, i);
+
+  ReleaseTiles(&tiles);
 }
 
 TEST_F(PrioritizedTileSetTest, EventuallyAndActiveBin) {
@@ -274,6 +293,8 @@ TEST_F(PrioritizedTileSetTest, EventuallyAndActiveBin) {
     ++i;
   }
   EXPECT_EQ(20, i);
+
+  ReleaseTiles(&tiles);
 }
 
 TEST_F(PrioritizedTileSetTest, EventuallyBin) {
@@ -308,6 +329,8 @@ TEST_F(PrioritizedTileSetTest, EventuallyBin) {
     ++i;
   }
   EXPECT_EQ(20, i);
+
+  ReleaseTiles(&tiles);
 }
 
 TEST_F(PrioritizedTileSetTest, AtLastAndActiveBin) {
@@ -342,6 +365,8 @@ TEST_F(PrioritizedTileSetTest, AtLastAndActiveBin) {
     ++i;
   }
   EXPECT_EQ(20, i);
+
+  ReleaseTiles(&tiles);
 }
 
 TEST_F(PrioritizedTileSetTest, AtLastBin) {
@@ -376,6 +401,8 @@ TEST_F(PrioritizedTileSetTest, AtLastBin) {
     ++i;
   }
   EXPECT_EQ(20, i);
+
+  ReleaseTiles(&tiles);
 }
 
 TEST_F(PrioritizedTileSetTest, TilesForEachBin) {
@@ -526,6 +553,14 @@ TEST_F(PrioritizedTileSetTest, ManyTilesForEachBin) {
   }
 
   EXPECT_FALSE(it);
+
+  ReleaseTiles(&now_and_ready_to_draw_bins);
+  ReleaseTiles(&now_bins);
+  ReleaseTiles(&soon_bins);
+  ReleaseTiles(&eventually_and_active_bins);
+  ReleaseTiles(&eventually_bins);
+  ReleaseTiles(&at_last_bins);
+  ReleaseTiles(&at_last_and_active_bins);
 }
 
 TEST_F(PrioritizedTileSetTest, ManyTilesForEachBinDisablePriority) {
@@ -635,6 +670,14 @@ TEST_F(PrioritizedTileSetTest, ManyTilesForEachBinDisablePriority) {
   }
 
   EXPECT_FALSE(it);
+
+  ReleaseTiles(&now_and_ready_to_draw_bins);
+  ReleaseTiles(&now_bins);
+  ReleaseTiles(&soon_bins);
+  ReleaseTiles(&eventually_and_active_bins);
+  ReleaseTiles(&eventually_bins);
+  ReleaseTiles(&at_last_bins);
+  ReleaseTiles(&at_last_and_active_bins);
 }
 
 TEST_F(PrioritizedTileSetTest, TilesForFirstAndLastBins) {