Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: cc/trees/layer_tree_host_unittest.cc

Issue 999173004: cc: Move worker threads to content. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment and webview fix Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698