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

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

Issue 2158973002: cc: Clean up LayerTreeTest and TestHooks. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: proxy-impls: android-build 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/remote_channel_impl.h" 5 #include "cc/trees/remote_channel_impl.h"
6 6
7 #include "base/bind_helpers.h" 7 #include "base/bind_helpers.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "cc/animation/animation_events.h" 10 #include "cc/animation/animation_events.h"
11 #include "cc/proto/compositor_message.pb.h" 11 #include "cc/proto/compositor_message.pb.h"
12 #include "cc/proto/compositor_message_to_impl.pb.h" 12 #include "cc/proto/compositor_message_to_impl.pb.h"
13 #include "cc/proto/compositor_message_to_main.pb.h" 13 #include "cc/proto/compositor_message_to_main.pb.h"
14 #include "cc/proto/gfx_conversions.h" 14 #include "cc/proto/gfx_conversions.h"
15 #include "cc/trees/layer_tree_host.h" 15 #include "cc/trees/layer_tree_host.h"
16 #include "cc/trees/layer_tree_settings.h" 16 #include "cc/trees/layer_tree_settings.h"
17 17
18 namespace cc { 18 namespace cc {
19 19
20 std::unique_ptr<RemoteChannelImpl> RemoteChannelImpl::Create(
21 LayerTreeHost* layer_tree_host,
22 RemoteProtoChannel* remote_proto_channel,
23 TaskRunnerProvider* task_runner_provider) {
24 return base::WrapUnique(new RemoteChannelImpl(
25 layer_tree_host, remote_proto_channel, task_runner_provider));
26 }
27
28 RemoteChannelImpl::RemoteChannelImpl(LayerTreeHost* layer_tree_host, 20 RemoteChannelImpl::RemoteChannelImpl(LayerTreeHost* layer_tree_host,
29 RemoteProtoChannel* remote_proto_channel, 21 RemoteProtoChannel* remote_proto_channel,
30 TaskRunnerProvider* task_runner_provider) 22 TaskRunnerProvider* task_runner_provider)
31 : task_runner_provider_(task_runner_provider), 23 : task_runner_provider_(task_runner_provider),
32 main_thread_vars_unsafe_(this, layer_tree_host, remote_proto_channel), 24 main_thread_vars_unsafe_(this, layer_tree_host, remote_proto_channel),
33 compositor_thread_vars_unsafe_( 25 compositor_thread_vars_unsafe_(
34 main().remote_channel_weak_factory.GetWeakPtr()) { 26 main().remote_channel_weak_factory.GetWeakPtr()) {
35 DCHECK(task_runner_provider_->IsMainThread()); 27 DCHECK(task_runner_provider_->IsMainThread());
36 28
37 main().remote_proto_channel->SetProtoReceiver(this); 29 main().remote_proto_channel->SetProtoReceiver(this);
38 } 30 }
39 31
40 RemoteChannelImpl::~RemoteChannelImpl() { 32 RemoteChannelImpl::~RemoteChannelImpl() {
41 DCHECK(task_runner_provider_->IsMainThread()); 33 DCHECK(task_runner_provider_->IsMainThread());
42 DCHECK(!main().started); 34 DCHECK(!main().started);
43 35
44 main().remote_proto_channel->SetProtoReceiver(nullptr); 36 main().remote_proto_channel->SetProtoReceiver(nullptr);
45 } 37 }
46 38
47 std::unique_ptr<ProxyImpl> RemoteChannelImpl::CreateProxyImpl( 39 std::unique_ptr<ProxyImpl> RemoteChannelImpl::CreateProxyImpl(
48 ChannelImpl* channel_impl, 40 ChannelImpl* channel_impl,
49 LayerTreeHost* layer_tree_host, 41 LayerTreeHost* layer_tree_host,
50 TaskRunnerProvider* task_runner_provider, 42 TaskRunnerProvider* task_runner_provider,
51 std::unique_ptr<BeginFrameSource> external_begin_frame_source) { 43 std::unique_ptr<BeginFrameSource> external_begin_frame_source) {
52 DCHECK(task_runner_provider_->IsImplThread()); 44 DCHECK(task_runner_provider_->IsImplThread());
53 DCHECK(!external_begin_frame_source); 45 DCHECK(!external_begin_frame_source);
54 return ProxyImpl::Create(channel_impl, layer_tree_host, task_runner_provider, 46 return base::MakeUnique<ProxyImpl>(channel_impl, layer_tree_host,
55 std::move(external_begin_frame_source)); 47 task_runner_provider,
48 std::move(external_begin_frame_source));
56 } 49 }
57 50
58 void RemoteChannelImpl::OnProtoReceived( 51 void RemoteChannelImpl::OnProtoReceived(
59 std::unique_ptr<proto::CompositorMessage> proto) { 52 std::unique_ptr<proto::CompositorMessage> proto) {
60 DCHECK(task_runner_provider_->IsMainThread()); 53 DCHECK(task_runner_provider_->IsMainThread());
61 DCHECK(main().started); 54 DCHECK(main().started);
62 DCHECK(proto->has_to_impl()); 55 DCHECK(proto->has_to_impl());
63 56
64 // If we don't have an output surface, queue the message and defer processing 57 // If we don't have an output surface, queue the message and defer processing
65 // it till we initialize a new output surface. 58 // it till we initialize a new output surface.
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 536
544 RemoteChannelImpl::CompositorThreadOnly::CompositorThreadOnly( 537 RemoteChannelImpl::CompositorThreadOnly::CompositorThreadOnly(
545 base::WeakPtr<RemoteChannelImpl> remote_channel_weak_ptr) 538 base::WeakPtr<RemoteChannelImpl> remote_channel_weak_ptr)
546 : proxy_impl(nullptr), 539 : proxy_impl(nullptr),
547 proxy_impl_weak_factory(nullptr), 540 proxy_impl_weak_factory(nullptr),
548 remote_channel_weak_ptr(remote_channel_weak_ptr) {} 541 remote_channel_weak_ptr(remote_channel_weak_ptr) {}
549 542
550 RemoteChannelImpl::CompositorThreadOnly::~CompositorThreadOnly() {} 543 RemoteChannelImpl::CompositorThreadOnly::~CompositorThreadOnly() {}
551 544
552 } // namespace cc 545 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698