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

Side by Side Diff: cc/layers/picture_layer_unittest.cc

Issue 2080223010: cc: Clean up root_layer code in LTI (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase++ Created 4 years, 5 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
« no previous file with comments | « cc/layers/picture_layer_impl_unittest.cc ('k') | cc/layers/render_surface_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/layers/picture_layer.h" 5 #include "cc/layers/picture_layer.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/threading/thread_task_runner_handle.h" 10 #include "base/threading/thread_task_runner_handle.h"
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 TestSharedBitmapManager shared_bitmap_manager; 280 TestSharedBitmapManager shared_bitmap_manager;
281 std::unique_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d()); 281 std::unique_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d());
282 LayerTreeSettings layer_tree_settings = LayerTreeSettings(); 282 LayerTreeSettings layer_tree_settings = LayerTreeSettings();
283 layer_tree_settings.image_decode_tasks_enabled = true; 283 layer_tree_settings.image_decode_tasks_enabled = true;
284 FakeLayerTreeHostImpl host_impl(layer_tree_settings, 284 FakeLayerTreeHostImpl host_impl(layer_tree_settings,
285 &impl_task_runner_provider, 285 &impl_task_runner_provider,
286 &shared_bitmap_manager, &task_graph_runner); 286 &shared_bitmap_manager, &task_graph_runner);
287 host_impl.SetVisible(true); 287 host_impl.SetVisible(true);
288 host_impl.InitializeRenderer(output_surface.get()); 288 host_impl.InitializeRenderer(output_surface.get());
289 host_impl.CreatePendingTree(); 289 host_impl.CreatePendingTree();
290 host_impl.pending_tree()->SetRootLayer( 290 host_impl.pending_tree()->SetRootLayerForTesting(
291 FakePictureLayerImpl::Create(host_impl.pending_tree(), 1)); 291 FakePictureLayerImpl::Create(host_impl.pending_tree(), 1));
292 FakePictureLayerImpl* layer_impl = static_cast<FakePictureLayerImpl*>( 292 FakePictureLayerImpl* layer_impl = static_cast<FakePictureLayerImpl*>(
293 host_impl.pending_tree()->root_layer()); 293 host_impl.pending_tree()->root_layer_for_testing());
294 layer->PushPropertiesTo(layer_impl); 294 layer->PushPropertiesTo(layer_impl);
295 295
296 EXPECT_EQ(invalidation_bounds, 296 EXPECT_EQ(invalidation_bounds,
297 layer_impl->GetPendingInvalidation()->bounds()); 297 layer_impl->GetPendingInvalidation()->bounds());
298 } 298 }
299 299
300 TEST(PictureLayerTest, InvalidateRasterWithoutUpdate) { 300 TEST(PictureLayerTest, InvalidateRasterWithoutUpdate) {
301 gfx::Size layer_size(50, 50); 301 gfx::Size layer_size(50, 50);
302 FakeContentLayerClient client; 302 FakeContentLayerClient client;
303 client.set_bounds(layer_size); 303 client.set_bounds(layer_size);
(...skipping 18 matching lines...) Expand all
322 TestSharedBitmapManager shared_bitmap_manager; 322 TestSharedBitmapManager shared_bitmap_manager;
323 std::unique_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d()); 323 std::unique_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d());
324 LayerTreeSettings layer_tree_settings = LayerTreeSettings(); 324 LayerTreeSettings layer_tree_settings = LayerTreeSettings();
325 layer_tree_settings.image_decode_tasks_enabled = true; 325 layer_tree_settings.image_decode_tasks_enabled = true;
326 FakeLayerTreeHostImpl host_impl(layer_tree_settings, 326 FakeLayerTreeHostImpl host_impl(layer_tree_settings,
327 &impl_task_runner_provider, 327 &impl_task_runner_provider,
328 &shared_bitmap_manager, &task_graph_runner); 328 &shared_bitmap_manager, &task_graph_runner);
329 host_impl.SetVisible(true); 329 host_impl.SetVisible(true);
330 host_impl.InitializeRenderer(output_surface.get()); 330 host_impl.InitializeRenderer(output_surface.get());
331 host_impl.CreatePendingTree(); 331 host_impl.CreatePendingTree();
332 host_impl.pending_tree()->SetRootLayer( 332 host_impl.pending_tree()->SetRootLayerForTesting(
333 FakePictureLayerImpl::Create(host_impl.pending_tree(), 1)); 333 FakePictureLayerImpl::Create(host_impl.pending_tree(), 1));
334 FakePictureLayerImpl* layer_impl = static_cast<FakePictureLayerImpl*>( 334 FakePictureLayerImpl* layer_impl = static_cast<FakePictureLayerImpl*>(
335 host_impl.pending_tree()->root_layer()); 335 host_impl.pending_tree()->root_layer_for_testing());
336 layer->PushPropertiesTo(layer_impl); 336 layer->PushPropertiesTo(layer_impl);
337 337
338 EXPECT_EQ(gfx::Rect(), layer_impl->GetPendingInvalidation()->bounds()); 338 EXPECT_EQ(gfx::Rect(), layer_impl->GetPendingInvalidation()->bounds());
339 } 339 }
340 340
341 TEST(PictureLayerTest, ClearVisibleRectWhenNoTiling) { 341 TEST(PictureLayerTest, ClearVisibleRectWhenNoTiling) {
342 gfx::Size layer_size(50, 50); 342 gfx::Size layer_size(50, 50);
343 FakeContentLayerClient client; 343 FakeContentLayerClient client;
344 client.set_bounds(layer_size); 344 client.set_bounds(layer_size);
345 client.add_draw_image(CreateDiscardableImage(layer_size), gfx::Point(), 345 client.add_draw_image(CreateDiscardableImage(layer_size), gfx::Point(),
(...skipping 23 matching lines...) Expand all
369 std::unique_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d()); 369 std::unique_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d());
370 LayerTreeSettings layer_tree_settings = LayerTreeSettingsForTesting(); 370 LayerTreeSettings layer_tree_settings = LayerTreeSettingsForTesting();
371 layer_tree_settings.image_decode_tasks_enabled = true; 371 layer_tree_settings.image_decode_tasks_enabled = true;
372 FakeLayerTreeHostImpl host_impl(layer_tree_settings, 372 FakeLayerTreeHostImpl host_impl(layer_tree_settings,
373 &impl_task_runner_provider, 373 &impl_task_runner_provider,
374 &shared_bitmap_manager, &task_graph_runner); 374 &shared_bitmap_manager, &task_graph_runner);
375 host_impl.SetVisible(true); 375 host_impl.SetVisible(true);
376 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get())); 376 EXPECT_TRUE(host_impl.InitializeRenderer(output_surface.get()));
377 377
378 host_impl.CreatePendingTree(); 378 host_impl.CreatePendingTree();
379 host_impl.pending_tree()->SetRootLayer( 379 host_impl.pending_tree()->SetRootLayerForTesting(
380 FakePictureLayerImpl::Create(host_impl.pending_tree(), 1)); 380 FakePictureLayerImpl::Create(host_impl.pending_tree(), 1));
381 host_impl.pending_tree()->BuildLayerListForTesting(); 381 host_impl.pending_tree()->BuildLayerListForTesting();
382 382
383 FakePictureLayerImpl* layer_impl = static_cast<FakePictureLayerImpl*>( 383 FakePictureLayerImpl* layer_impl = static_cast<FakePictureLayerImpl*>(
384 host_impl.pending_tree()->root_layer()); 384 host_impl.pending_tree()->root_layer_for_testing());
385 385
386 layer->PushPropertiesTo(layer_impl); 386 layer->PushPropertiesTo(layer_impl);
387 387
388 host->CommitComplete(); 388 host->CommitComplete();
389 EXPECT_EQ(2, host->source_frame_number()); 389 EXPECT_EQ(2, host->source_frame_number());
390 390
391 host_impl.ActivateSyncTree(); 391 host_impl.ActivateSyncTree();
392 host_impl.active_tree()->SetRootLayerFromLayerListForTesting();
392 393
393 // By updating the draw proprties on the active tree, we will set the viewport 394 // By updating the draw proprties on the active tree, we will set the viewport
394 // rect for tile priorities to something non-empty. 395 // rect for tile priorities to something non-empty.
395 const bool can_use_lcd_text = false; 396 const bool can_use_lcd_text = false;
396 host_impl.active_tree()->property_trees()->needs_rebuild = true; 397 host_impl.active_tree()->property_trees()->needs_rebuild = true;
397 host_impl.active_tree()->BuildLayerListAndPropertyTreesForTesting(); 398 host_impl.active_tree()->BuildLayerListAndPropertyTreesForTesting();
398 host_impl.active_tree()->UpdateDrawProperties(can_use_lcd_text); 399 host_impl.active_tree()->UpdateDrawProperties(can_use_lcd_text);
399 400
400 layer->SetBounds(gfx::Size(11, 11)); 401 layer->SetBounds(gfx::Size(11, 11));
401 layer->SavePaintProperties(); 402 layer->SavePaintProperties();
402 403
403 host_impl.CreatePendingTree(); 404 host_impl.CreatePendingTree();
404 layer_impl = static_cast<FakePictureLayerImpl*>( 405 layer_impl = static_cast<FakePictureLayerImpl*>(
405 host_impl.pending_tree()->root_layer()); 406 host_impl.pending_tree()->root_layer_for_testing());
406 407
407 // We should now have invalid contents and should therefore clear the 408 // We should now have invalid contents and should therefore clear the
408 // recording source. 409 // recording source.
409 layer->PushPropertiesTo(layer_impl); 410 layer->PushPropertiesTo(layer_impl);
410 411
411 host_impl.ActivateSyncTree(); 412 host_impl.ActivateSyncTree();
412 413
413 std::unique_ptr<RenderPass> render_pass = RenderPass::Create(); 414 std::unique_ptr<RenderPass> render_pass = RenderPass::Create();
414 AppendQuadsData data; 415 AppendQuadsData data;
415 host_impl.active_tree()->root_layer()->WillDraw(DRAW_MODE_SOFTWARE, nullptr); 416 host_impl.active_tree()->root_layer_for_testing()->WillDraw(
416 host_impl.active_tree()->root_layer()->AppendQuads(render_pass.get(), &data); 417 DRAW_MODE_SOFTWARE, nullptr);
417 host_impl.active_tree()->root_layer()->DidDraw(nullptr); 418 host_impl.active_tree()->root_layer_for_testing()->AppendQuads(
419 render_pass.get(), &data);
420 host_impl.active_tree()->root_layer_for_testing()->DidDraw(nullptr);
418 } 421 }
419 422
420 TEST(PictureLayerTest, SuitableForGpuRasterization) { 423 TEST(PictureLayerTest, SuitableForGpuRasterization) {
421 std::unique_ptr<FakeRecordingSource> recording_source_owned( 424 std::unique_ptr<FakeRecordingSource> recording_source_owned(
422 new FakeRecordingSource); 425 new FakeRecordingSource);
423 FakeRecordingSource* recording_source = recording_source_owned.get(); 426 FakeRecordingSource* recording_source = recording_source_owned.get();
424 427
425 ContentLayerClient* client = EmptyContentLayerClient::GetInstance(); 428 ContentLayerClient* client = EmptyContentLayerClient::GetInstance();
426 scoped_refptr<FakePictureLayer> layer = 429 scoped_refptr<FakePictureLayer> layer =
427 FakePictureLayer::CreateWithRecordingSource( 430 FakePictureLayer::CreateWithRecordingSource(
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 // Do a main frame, record the picture layers. The frame number has changed 520 // Do a main frame, record the picture layers. The frame number has changed
518 // non-monotonically. 521 // non-monotonically.
519 layer->SetNeedsDisplay(); 522 layer->SetNeedsDisplay();
520 host2->Composite(base::TimeTicks::Now()); 523 host2->Composite(base::TimeTicks::Now());
521 EXPECT_EQ(3, layer->update_count()); 524 EXPECT_EQ(3, layer->update_count());
522 EXPECT_EQ(1, host2->source_frame_number()); 525 EXPECT_EQ(1, host2->source_frame_number());
523 } 526 }
524 527
525 } // namespace 528 } // namespace
526 } // namespace cc 529 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/picture_layer_impl_unittest.cc ('k') | cc/layers/render_surface_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698