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

Side by Side Diff: cc/test/layer_tree_test.cc

Issue 1982893002: [blimp] Add SkPicture caching support. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed comments from vmpstr, including adding //cc/blimp Created 4 years, 6 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/test/layer_tree_test.h ('k') | cc/test/picture_cache_model.h » ('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 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/test/layer_tree_test.h" 5 #include "cc/test/layer_tree_test.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
11 #include "base/single_thread_task_runner.h" 11 #include "base/single_thread_task_runner.h"
12 #include "base/threading/thread_task_runner_handle.h" 12 #include "base/threading/thread_task_runner_handle.h"
13 #include "cc/animation/animation.h" 13 #include "cc/animation/animation.h"
14 #include "cc/animation/animation_host.h" 14 #include "cc/animation/animation_host.h"
15 #include "cc/animation/element_animations.h" 15 #include "cc/animation/element_animations.h"
16 #include "cc/animation/timing_function.h" 16 #include "cc/animation/timing_function.h"
17 #include "cc/base/switches.h" 17 #include "cc/base/switches.h"
18 #include "cc/blimp/image_serialization_processor.h"
18 #include "cc/input/input_handler.h" 19 #include "cc/input/input_handler.h"
19 #include "cc/layers/layer.h" 20 #include "cc/layers/layer.h"
20 #include "cc/layers/layer_impl.h" 21 #include "cc/layers/layer_impl.h"
21 #include "cc/proto/compositor_message_to_impl.pb.h" 22 #include "cc/proto/compositor_message_to_impl.pb.h"
22 #include "cc/test/animation_test_common.h" 23 #include "cc/test/animation_test_common.h"
23 #include "cc/test/begin_frame_args_test.h" 24 #include "cc/test/begin_frame_args_test.h"
24 #include "cc/test/fake_external_begin_frame_source.h" 25 #include "cc/test/fake_external_begin_frame_source.h"
26 #include "cc/test/fake_image_serialization_processor.h"
25 #include "cc/test/fake_layer_tree_host_client.h" 27 #include "cc/test/fake_layer_tree_host_client.h"
26 #include "cc/test/fake_output_surface.h" 28 #include "cc/test/fake_output_surface.h"
27 #include "cc/test/remote_channel_impl_for_test.h" 29 #include "cc/test/remote_channel_impl_for_test.h"
28 #include "cc/test/test_context_provider.h" 30 #include "cc/test/test_context_provider.h"
29 #include "cc/test/test_gpu_memory_buffer_manager.h" 31 #include "cc/test/test_gpu_memory_buffer_manager.h"
30 #include "cc/test/test_shared_bitmap_manager.h" 32 #include "cc/test/test_shared_bitmap_manager.h"
31 #include "cc/test/test_task_graph_runner.h" 33 #include "cc/test/test_task_graph_runner.h"
32 #include "cc/test/threaded_channel_for_test.h" 34 #include "cc/test/threaded_channel_for_test.h"
33 #include "cc/trees/layer_tree_host_client.h" 35 #include "cc/trees/layer_tree_host_client.h"
34 #include "cc/trees/layer_tree_host_impl.h" 36 #include "cc/trees/layer_tree_host_impl.h"
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 TestHooks* test_hooks, 412 TestHooks* test_hooks,
411 CompositorMode mode, 413 CompositorMode mode,
412 LayerTreeHostClientForTesting* client, 414 LayerTreeHostClientForTesting* client,
413 RemoteProtoChannel* remote_proto_channel, 415 RemoteProtoChannel* remote_proto_channel,
414 SharedBitmapManager* shared_bitmap_manager, 416 SharedBitmapManager* shared_bitmap_manager,
415 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, 417 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
416 TaskGraphRunner* task_graph_runner, 418 TaskGraphRunner* task_graph_runner,
417 const LayerTreeSettings& settings, 419 const LayerTreeSettings& settings,
418 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, 420 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
419 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, 421 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner,
420 std::unique_ptr<BeginFrameSource> external_begin_frame_source) { 422 std::unique_ptr<BeginFrameSource> external_begin_frame_source,
423 ImageSerializationProcessor* image_serialization_processor) {
421 LayerTreeHost::InitParams params; 424 LayerTreeHost::InitParams params;
422 params.client = client; 425 params.client = client;
423 params.shared_bitmap_manager = shared_bitmap_manager; 426 params.shared_bitmap_manager = shared_bitmap_manager;
424 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager; 427 params.gpu_memory_buffer_manager = gpu_memory_buffer_manager;
425 params.task_graph_runner = task_graph_runner; 428 params.task_graph_runner = task_graph_runner;
426 params.settings = &settings; 429 params.settings = &settings;
430 params.image_serialization_processor = image_serialization_processor;
431
427 params.animation_host = 432 params.animation_host =
428 AnimationHost::CreateForTesting(ThreadInstance::MAIN); 433 AnimationHost::CreateForTesting(ThreadInstance::MAIN);
429 std::unique_ptr<LayerTreeHostForTesting> layer_tree_host( 434 std::unique_ptr<LayerTreeHostForTesting> layer_tree_host(
430 new LayerTreeHostForTesting(test_hooks, &params, mode)); 435 new LayerTreeHostForTesting(test_hooks, &params, mode));
431 std::unique_ptr<TaskRunnerProvider> task_runner_provider = 436 std::unique_ptr<TaskRunnerProvider> task_runner_provider =
432 TaskRunnerProvider::Create(main_task_runner, impl_task_runner); 437 TaskRunnerProvider::Create(main_task_runner, impl_task_runner);
433 std::unique_ptr<Proxy> proxy; 438 std::unique_ptr<Proxy> proxy;
434 switch (mode) { 439 switch (mode) {
435 case CompositorMode::SINGLE_THREADED: 440 case CompositorMode::SINGLE_THREADED:
436 proxy = SingleThreadProxyForTest::Create(test_hooks, 441 proxy = SingleThreadProxyForTest::Create(test_hooks,
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 test_started_(false) {} 502 test_started_(false) {}
498 503
499 TestHooks* test_hooks_; 504 TestHooks* test_hooks_;
500 bool test_started_; 505 bool test_started_;
501 }; 506 };
502 507
503 LayerTreeTest::LayerTreeTest() 508 LayerTreeTest::LayerTreeTest()
504 : output_surface_(nullptr), 509 : output_surface_(nullptr),
505 external_begin_frame_source_(nullptr), 510 external_begin_frame_source_(nullptr),
506 remote_proto_channel_bridge_(this), 511 remote_proto_channel_bridge_(this),
512 image_serialization_processor_(
513 base::WrapUnique(new FakeImageSerializationProcessor)),
507 beginning_(false), 514 beginning_(false),
508 end_when_begin_returns_(false), 515 end_when_begin_returns_(false),
509 timed_out_(false), 516 timed_out_(false),
510 scheduled_(false), 517 scheduled_(false),
511 started_(false), 518 started_(false),
512 ended_(false), 519 ended_(false),
513 delegating_renderer_(false), 520 delegating_renderer_(false),
514 timeout_seconds_(0), 521 timeout_seconds_(0),
515 weak_factory_(this) { 522 weak_factory_(this) {
516 main_thread_weak_ptr_ = weak_factory_.GetWeakPtr(); 523 main_thread_weak_ptr_ = weak_factory_.GetWeakPtr();
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 } 709 }
703 710
704 DCHECK(!impl_thread_ || impl_thread_->task_runner().get()); 711 DCHECK(!impl_thread_ || impl_thread_->task_runner().get());
705 712
706 if (IsRemoteTest()) { 713 if (IsRemoteTest()) {
707 DCHECK(impl_thread_); 714 DCHECK(impl_thread_);
708 layer_tree_host_ = LayerTreeHostForTesting::Create( 715 layer_tree_host_ = LayerTreeHostForTesting::Create(
709 this, mode_, client_.get(), &remote_proto_channel_bridge_.channel_main, 716 this, mode_, client_.get(), &remote_proto_channel_bridge_.channel_main,
710 nullptr, nullptr, task_graph_runner_.get(), settings_, 717 nullptr, nullptr, task_graph_runner_.get(), settings_,
711 base::ThreadTaskRunnerHandle::Get(), nullptr, 718 base::ThreadTaskRunnerHandle::Get(), nullptr,
712 std::move(external_begin_frame_source)); 719 std::move(external_begin_frame_source),
720 image_serialization_processor_.get());
713 DCHECK(remote_proto_channel_bridge_.channel_main.HasReceiver()); 721 DCHECK(remote_proto_channel_bridge_.channel_main.HasReceiver());
714 } else { 722 } else {
715 layer_tree_host_ = LayerTreeHostForTesting::Create( 723 layer_tree_host_ = LayerTreeHostForTesting::Create(
716 this, mode_, client_.get(), nullptr, shared_bitmap_manager_.get(), 724 this, mode_, client_.get(), nullptr, shared_bitmap_manager_.get(),
717 gpu_memory_buffer_manager_.get(), task_graph_runner_.get(), settings_, 725 gpu_memory_buffer_manager_.get(), task_graph_runner_.get(), settings_,
718 base::ThreadTaskRunnerHandle::Get(), 726 base::ThreadTaskRunnerHandle::Get(),
719 impl_thread_ ? impl_thread_->task_runner() : NULL, 727 impl_thread_ ? impl_thread_->task_runner() : NULL,
720 std::move(external_begin_frame_source)); 728 std::move(external_begin_frame_source),
729 image_serialization_processor_.get());
721 } 730 }
722 731
723 ASSERT_TRUE(layer_tree_host_); 732 ASSERT_TRUE(layer_tree_host_);
724 733
725 started_ = true; 734 started_ = true;
726 beginning_ = true; 735 beginning_ = true;
727 SetupTree(); 736 SetupTree();
728 WillBeginTest(); 737 WillBeginTest();
729 BeginTest(); 738 BeginTest();
730 beginning_ = false; 739 beginning_ = false;
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
957 DCHECK(proto.message_type() == 966 DCHECK(proto.message_type() ==
958 proto::CompositorMessageToImpl::INITIALIZE_IMPL); 967 proto::CompositorMessageToImpl::INITIALIZE_IMPL);
959 968
960 proto::InitializeImpl initialize_proto = proto.initialize_impl_message(); 969 proto::InitializeImpl initialize_proto = proto.initialize_impl_message();
961 LayerTreeSettings settings; 970 LayerTreeSettings settings;
962 settings.FromProtobuf(initialize_proto.layer_tree_settings()); 971 settings.FromProtobuf(initialize_proto.layer_tree_settings());
963 settings.abort_commit_before_output_surface_creation = false; 972 settings.abort_commit_before_output_surface_creation = false;
964 remote_client_layer_tree_host_ = LayerTreeHostForTesting::Create( 973 remote_client_layer_tree_host_ = LayerTreeHostForTesting::Create(
965 this, mode_, client_.get(), &remote_proto_channel_bridge_.channel_impl, 974 this, mode_, client_.get(), &remote_proto_channel_bridge_.channel_impl,
966 nullptr, nullptr, task_graph_runner_.get(), settings, 975 nullptr, nullptr, task_graph_runner_.get(), settings,
967 base::ThreadTaskRunnerHandle::Get(), impl_thread_->task_runner(), 976 base::ThreadTaskRunnerHandle::Get(), impl_thread_->task_runner(), nullptr,
968 nullptr); 977 image_serialization_processor_.get());
969 978
970 DCHECK(remote_proto_channel_bridge_.channel_impl.HasReceiver()); 979 DCHECK(remote_proto_channel_bridge_.channel_impl.HasReceiver());
971 DCHECK(task_runner_provider()->HasImplThread()); 980 DCHECK(task_runner_provider()->HasImplThread());
972 } 981 }
973 982
974 TaskGraphRunner* LayerTreeTest::task_graph_runner() const { 983 TaskGraphRunner* LayerTreeTest::task_graph_runner() const {
975 return task_graph_runner_.get(); 984 return task_graph_runner_.get();
976 } 985 }
977 986
978 TaskRunnerProvider* LayerTreeTest::task_runner_provider() const { 987 TaskRunnerProvider* LayerTreeTest::task_runner_provider() const {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 1044
1036 RemoteChannelImplForTest* LayerTreeTest::GetRemoteChannelImplForTest() const { 1045 RemoteChannelImplForTest* LayerTreeTest::GetRemoteChannelImplForTest() const {
1037 DCHECK(IsRemoteTest()); 1046 DCHECK(IsRemoteTest());
1038 DCHECK(remote_client_layer_tree_host_); 1047 DCHECK(remote_client_layer_tree_host_);
1039 1048
1040 return static_cast<RemoteChannelImplForTest*>( 1049 return static_cast<RemoteChannelImplForTest*>(
1041 remote_client_layer_tree_host_->proxy()); 1050 remote_client_layer_tree_host_->proxy());
1042 } 1051 }
1043 1052
1044 } // namespace cc 1053 } // namespace cc
OLDNEW
« no previous file with comments | « cc/test/layer_tree_test.h ('k') | cc/test/picture_cache_model.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698