| OLD | NEW | 
|---|
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" | 
| 6 | 6 | 
| 7 #include <algorithm> | 7 #include <algorithm> | 
| 8 | 8 | 
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" | 
| 10 #include "base/synchronization/lock.h" | 10 #include "base/synchronization/lock.h" | 
| (...skipping 2191 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2202   int num_send_begin_main_frame_; | 2202   int num_send_begin_main_frame_; | 
| 2203 }; | 2203 }; | 
| 2204 | 2204 | 
| 2205 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeferCommits); | 2205 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestDeferCommits); | 
| 2206 | 2206 | 
| 2207 class LayerTreeHostWithProxy : public LayerTreeHost { | 2207 class LayerTreeHostWithProxy : public LayerTreeHost { | 
| 2208  public: | 2208  public: | 
| 2209   LayerTreeHostWithProxy(FakeLayerTreeHostClient* client, | 2209   LayerTreeHostWithProxy(FakeLayerTreeHostClient* client, | 
| 2210                          const LayerTreeSettings& settings, | 2210                          const LayerTreeSettings& settings, | 
| 2211                          scoped_ptr<FakeProxy> proxy) | 2211                          scoped_ptr<FakeProxy> proxy) | 
| 2212       : LayerTreeHost(client, NULL, NULL, settings) { | 2212       : LayerTreeHost(client, NULL, NULL, NULL, settings) { | 
| 2213     proxy->SetLayerTreeHost(this); | 2213     proxy->SetLayerTreeHost(this); | 
| 2214     client->SetLayerTreeHost(this); | 2214     client->SetLayerTreeHost(this); | 
| 2215     InitializeForTesting(proxy.Pass()); | 2215     InitializeForTesting(proxy.Pass()); | 
| 2216   } | 2216   } | 
| 2217 }; | 2217 }; | 
| 2218 | 2218 | 
| 2219 TEST(LayerTreeHostTest, LimitPartialUpdates) { | 2219 TEST(LayerTreeHostTest, LimitPartialUpdates) { | 
| 2220   // When partial updates are not allowed, max updates should be 0. | 2220   // When partial updates are not allowed, max updates should be 0. | 
| 2221   { | 2221   { | 
| 2222     FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D); | 2222     FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D); | 
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2274 TEST(LayerTreeHostTest, PartialUpdatesWithGLRenderer) { | 2274 TEST(LayerTreeHostTest, PartialUpdatesWithGLRenderer) { | 
| 2275   FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D); | 2275   FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_3D); | 
| 2276 | 2276 | 
| 2277   LayerTreeSettings settings; | 2277   LayerTreeSettings settings; | 
| 2278   settings.max_partial_texture_updates = 4; | 2278   settings.max_partial_texture_updates = 4; | 
| 2279   settings.single_thread_proxy_scheduler = false; | 2279   settings.single_thread_proxy_scheduler = false; | 
| 2280   settings.impl_side_painting = false; | 2280   settings.impl_side_painting = false; | 
| 2281 | 2281 | 
| 2282   scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 2282   scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 
| 2283       new TestSharedBitmapManager()); | 2283       new TestSharedBitmapManager()); | 
| 2284   scoped_ptr<LayerTreeHost> host = | 2284   scoped_ptr<LayerTreeHost> host = LayerTreeHost::CreateSingleThreaded( | 
| 2285       LayerTreeHost::CreateSingleThreaded(&client, | 2285       &client, &client, shared_bitmap_manager.get(), NULL, NULL, settings, | 
| 2286                                           &client, | 2286       base::MessageLoopProxy::current(), nullptr); | 
| 2287                                           shared_bitmap_manager.get(), |  | 
| 2288                                           NULL, |  | 
| 2289                                           settings, |  | 
| 2290                                           base::MessageLoopProxy::current(), |  | 
| 2291                                           nullptr); |  | 
| 2292   client.SetLayerTreeHost(host.get()); | 2287   client.SetLayerTreeHost(host.get()); | 
| 2293   host->Composite(base::TimeTicks::Now()); | 2288   host->Composite(base::TimeTicks::Now()); | 
| 2294 | 2289 | 
| 2295   EXPECT_EQ(4u, host->settings().max_partial_texture_updates); | 2290   EXPECT_EQ(4u, host->settings().max_partial_texture_updates); | 
| 2296 } | 2291 } | 
| 2297 | 2292 | 
| 2298 TEST(LayerTreeHostTest, PartialUpdatesWithSoftwareRenderer) { | 2293 TEST(LayerTreeHostTest, PartialUpdatesWithSoftwareRenderer) { | 
| 2299   FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_SOFTWARE); | 2294   FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DIRECT_SOFTWARE); | 
| 2300 | 2295 | 
| 2301   LayerTreeSettings settings; | 2296   LayerTreeSettings settings; | 
| 2302   settings.max_partial_texture_updates = 4; | 2297   settings.max_partial_texture_updates = 4; | 
| 2303   settings.single_thread_proxy_scheduler = false; | 2298   settings.single_thread_proxy_scheduler = false; | 
| 2304   settings.impl_side_painting = false; | 2299   settings.impl_side_painting = false; | 
| 2305 | 2300 | 
| 2306   scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 2301   scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 
| 2307       new TestSharedBitmapManager()); | 2302       new TestSharedBitmapManager()); | 
| 2308   scoped_ptr<LayerTreeHost> host = | 2303   scoped_ptr<LayerTreeHost> host = LayerTreeHost::CreateSingleThreaded( | 
| 2309       LayerTreeHost::CreateSingleThreaded(&client, | 2304       &client, &client, shared_bitmap_manager.get(), NULL, NULL, settings, | 
| 2310                                           &client, | 2305       base::MessageLoopProxy::current(), nullptr); | 
| 2311                                           shared_bitmap_manager.get(), |  | 
| 2312                                           NULL, |  | 
| 2313                                           settings, |  | 
| 2314                                           base::MessageLoopProxy::current(), |  | 
| 2315                                           nullptr); |  | 
| 2316   client.SetLayerTreeHost(host.get()); | 2306   client.SetLayerTreeHost(host.get()); | 
| 2317   host->Composite(base::TimeTicks::Now()); | 2307   host->Composite(base::TimeTicks::Now()); | 
| 2318 | 2308 | 
| 2319   EXPECT_EQ(4u, host->settings().max_partial_texture_updates); | 2309   EXPECT_EQ(4u, host->settings().max_partial_texture_updates); | 
| 2320 } | 2310 } | 
| 2321 | 2311 | 
| 2322 TEST(LayerTreeHostTest, PartialUpdatesWithDelegatingRendererAndGLContent) { | 2312 TEST(LayerTreeHostTest, PartialUpdatesWithDelegatingRendererAndGLContent) { | 
| 2323   FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_3D); | 2313   FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_3D); | 
| 2324 | 2314 | 
| 2325   LayerTreeSettings settings; | 2315   LayerTreeSettings settings; | 
| 2326   settings.max_partial_texture_updates = 4; | 2316   settings.max_partial_texture_updates = 4; | 
| 2327   settings.single_thread_proxy_scheduler = false; | 2317   settings.single_thread_proxy_scheduler = false; | 
| 2328   settings.impl_side_painting = false; | 2318   settings.impl_side_painting = false; | 
| 2329 | 2319 | 
| 2330   scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 2320   scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 
| 2331       new TestSharedBitmapManager()); | 2321       new TestSharedBitmapManager()); | 
| 2332   scoped_ptr<LayerTreeHost> host = | 2322   scoped_ptr<LayerTreeHost> host = LayerTreeHost::CreateSingleThreaded( | 
| 2333       LayerTreeHost::CreateSingleThreaded(&client, | 2323       &client, &client, shared_bitmap_manager.get(), NULL, NULL, settings, | 
| 2334                                           &client, | 2324       base::MessageLoopProxy::current(), nullptr); | 
| 2335                                           shared_bitmap_manager.get(), |  | 
| 2336                                           NULL, |  | 
| 2337                                           settings, |  | 
| 2338                                           base::MessageLoopProxy::current(), |  | 
| 2339                                           nullptr); |  | 
| 2340   client.SetLayerTreeHost(host.get()); | 2325   client.SetLayerTreeHost(host.get()); | 
| 2341   host->Composite(base::TimeTicks::Now()); | 2326   host->Composite(base::TimeTicks::Now()); | 
| 2342 | 2327 | 
| 2343   EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); | 2328   EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); | 
| 2344 } | 2329 } | 
| 2345 | 2330 | 
| 2346 TEST(LayerTreeHostTest, | 2331 TEST(LayerTreeHostTest, | 
| 2347      PartialUpdatesWithDelegatingRendererAndSoftwareContent) { | 2332      PartialUpdatesWithDelegatingRendererAndSoftwareContent) { | 
| 2348   FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_SOFTWARE); | 2333   FakeLayerTreeHostClient client(FakeLayerTreeHostClient::DELEGATED_SOFTWARE); | 
| 2349 | 2334 | 
| 2350   LayerTreeSettings settings; | 2335   LayerTreeSettings settings; | 
| 2351   settings.max_partial_texture_updates = 4; | 2336   settings.max_partial_texture_updates = 4; | 
| 2352   settings.single_thread_proxy_scheduler = false; | 2337   settings.single_thread_proxy_scheduler = false; | 
| 2353   settings.impl_side_painting = false; | 2338   settings.impl_side_painting = false; | 
| 2354 | 2339 | 
| 2355   scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 2340   scoped_ptr<SharedBitmapManager> shared_bitmap_manager( | 
| 2356       new TestSharedBitmapManager()); | 2341       new TestSharedBitmapManager()); | 
| 2357   scoped_ptr<LayerTreeHost> host = | 2342   scoped_ptr<LayerTreeHost> host = LayerTreeHost::CreateSingleThreaded( | 
| 2358       LayerTreeHost::CreateSingleThreaded(&client, | 2343       &client, &client, shared_bitmap_manager.get(), NULL, NULL, settings, | 
| 2359                                           &client, | 2344       base::MessageLoopProxy::current(), nullptr); | 
| 2360                                           shared_bitmap_manager.get(), |  | 
| 2361                                           NULL, |  | 
| 2362                                           settings, |  | 
| 2363                                           base::MessageLoopProxy::current(), |  | 
| 2364                                           nullptr); |  | 
| 2365   client.SetLayerTreeHost(host.get()); | 2345   client.SetLayerTreeHost(host.get()); | 
| 2366   host->Composite(base::TimeTicks::Now()); | 2346   host->Composite(base::TimeTicks::Now()); | 
| 2367 | 2347 | 
| 2368   EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); | 2348   EXPECT_EQ(0u, host->MaxPartialTextureUpdates()); | 
| 2369 } | 2349 } | 
| 2370 | 2350 | 
| 2371 // TODO(sohanjg) : Remove it once impl-side painting ships everywhere. | 2351 // TODO(sohanjg) : Remove it once impl-side painting ships everywhere. | 
| 2372 class LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted | 2352 class LayerTreeHostTestShutdownWithOnlySomeResourcesEvicted | 
| 2373     : public LayerTreeHostTest { | 2353     : public LayerTreeHostTest { | 
| 2374  public: | 2354  public: | 
| (...skipping 4189 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 6564 | 6544 | 
| 6565   void AfterTest() override {} | 6545   void AfterTest() override {} | 
| 6566 | 6546 | 
| 6567  private: | 6547  private: | 
| 6568   scoped_refptr<Layer> child_; | 6548   scoped_refptr<Layer> child_; | 
| 6569 }; | 6549 }; | 
| 6570 | 6550 | 
| 6571 SINGLE_AND_MULTI_THREAD_TEST_F(LayerPreserveRenderSurfaceFromOutputRequests); | 6551 SINGLE_AND_MULTI_THREAD_TEST_F(LayerPreserveRenderSurfaceFromOutputRequests); | 
| 6572 | 6552 | 
| 6573 }  // namespace cc | 6553 }  // namespace cc | 
| OLD | NEW | 
|---|