OLD | NEW |
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 "blimp/client/feature/compositor/blimp_compositor_manager.h" | 5 #include "blimp/client/feature/compositor/blimp_compositor_manager.h" |
6 | 6 |
7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "blimp/client/feature/compositor/blimp_layer_tree_settings.h" | 9 #include "blimp/client/feature/compositor/blimp_layer_tree_settings.h" |
10 #include "blimp/client/feature/compositor/client_image_serialization_processor.h
" | 10 #include "blimp/client/feature/compositor/client_image_serialization_processor.h
" |
11 #include "blimp/common/compositor/blimp_task_graph_runner.h" | 11 #include "blimp/common/compositor/blimp_task_graph_runner.h" |
12 #include "cc/proto/compositor_message.pb.h" | 12 #include "cc/proto/compositor_message.pb.h" |
13 | 13 |
14 namespace blimp { | 14 namespace blimp { |
15 namespace client { | 15 namespace client { |
16 | 16 |
17 namespace { | 17 namespace { |
18 base::LazyInstance<blimp::BlimpTaskGraphRunner> g_task_graph_runner = | 18 base::LazyInstance<blimp::BlimpTaskGraphRunner> g_task_graph_runner = |
19 LAZY_INSTANCE_INITIALIZER; | 19 LAZY_INSTANCE_INITIALIZER; |
20 | 20 |
21 const int kDummyTabId = 0; | 21 const int kDummyTabId = 0; |
22 } // namespace | 22 } // namespace |
23 | 23 |
24 BlimpCompositorManager::BlimpCompositorManager( | 24 BlimpCompositorManager::BlimpCompositorManager( |
25 RenderWidgetFeature* render_widget_feature, | 25 RenderWidgetFeature* render_widget_feature, |
26 BlimpCompositorManagerClient* client) | 26 BlimpCompositorManagerClient* client) |
27 : visible_(false), | 27 : visible_(false), |
28 window_(gfx::kNullAcceleratedWidget), | 28 window_(gfx::kNullAcceleratedWidget), |
29 gpu_memory_buffer_manager_(new BlimpGpuMemoryBufferManager), | 29 gpu_memory_buffer_manager_(new BlimpGpuMemoryBufferManager), |
30 image_serialization_processor_(new ClientImageSerializationProcessor), | 30 image_serialization_processor_( |
| 31 ClientImageSerializationProcessor::GetInstance()), |
31 active_compositor_(nullptr), | 32 active_compositor_(nullptr), |
32 render_widget_feature_(render_widget_feature), | 33 render_widget_feature_(render_widget_feature), |
33 client_(client) { | 34 client_(client) { |
34 DCHECK(render_widget_feature_); | 35 DCHECK(render_widget_feature_); |
35 render_widget_feature_->SetDelegate(kDummyTabId, this); | 36 render_widget_feature_->SetDelegate(kDummyTabId, this); |
36 } | 37 } |
37 | 38 |
38 BlimpCompositorManager::~BlimpCompositorManager() { | 39 BlimpCompositorManager::~BlimpCompositorManager() { |
39 render_widget_feature_->RemoveDelegate(kDummyTabId); | 40 render_widget_feature_->RemoveDelegate(kDummyTabId); |
40 if (compositor_thread_) | 41 if (compositor_thread_) |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 return g_task_graph_runner.Pointer(); | 172 return g_task_graph_runner.Pointer(); |
172 } | 173 } |
173 | 174 |
174 gpu::GpuMemoryBufferManager* | 175 gpu::GpuMemoryBufferManager* |
175 BlimpCompositorManager::GetGpuMemoryBufferManager() { | 176 BlimpCompositorManager::GetGpuMemoryBufferManager() { |
176 return gpu_memory_buffer_manager_.get(); | 177 return gpu_memory_buffer_manager_.get(); |
177 } | 178 } |
178 | 179 |
179 cc::ImageSerializationProcessor* | 180 cc::ImageSerializationProcessor* |
180 BlimpCompositorManager::GetImageSerializationProcessor() { | 181 BlimpCompositorManager::GetImageSerializationProcessor() { |
181 return image_serialization_processor_.get(); | 182 return image_serialization_processor_; |
182 } | 183 } |
183 | 184 |
184 void BlimpCompositorManager::SendWebGestureEvent( | 185 void BlimpCompositorManager::SendWebGestureEvent( |
185 int render_widget_id, | 186 int render_widget_id, |
186 const blink::WebGestureEvent& gesture_event) { | 187 const blink::WebGestureEvent& gesture_event) { |
187 render_widget_feature_->SendWebGestureEvent(kDummyTabId, | 188 render_widget_feature_->SendWebGestureEvent(kDummyTabId, |
188 render_widget_id, | 189 render_widget_id, |
189 gesture_event); | 190 gesture_event); |
190 } | 191 } |
191 | 192 |
192 void BlimpCompositorManager::SendCompositorMessage( | 193 void BlimpCompositorManager::SendCompositorMessage( |
193 int render_widget_id, | 194 int render_widget_id, |
194 const cc::proto::CompositorMessage& message) { | 195 const cc::proto::CompositorMessage& message) { |
195 render_widget_feature_->SendCompositorMessage(kDummyTabId, | 196 render_widget_feature_->SendCompositorMessage(kDummyTabId, |
196 render_widget_id, | 197 render_widget_id, |
197 message); | 198 message); |
198 } | 199 } |
199 | 200 |
200 BlimpCompositor* BlimpCompositorManager::GetCompositor(int render_widget_id) { | 201 BlimpCompositor* BlimpCompositorManager::GetCompositor(int render_widget_id) { |
201 CompositorMap::const_iterator it = compositors_.find(render_widget_id); | 202 CompositorMap::const_iterator it = compositors_.find(render_widget_id); |
202 if (it == compositors_.end()) | 203 if (it == compositors_.end()) |
203 return nullptr; | 204 return nullptr; |
204 return it->second.get(); | 205 return it->second.get(); |
205 } | 206 } |
206 | 207 |
207 } // namespace client | 208 } // namespace client |
208 } // namespace blimp | 209 } // namespace blimp |
OLD | NEW |