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/core/compositor/blimp_compositor_manager.h" | 5 #include "blimp/client/core/compositor/blimp_compositor_manager.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "blimp/client/core/compositor/blimp_compositor_dependencies.h" | 8 #include "blimp/client/core/compositor/blimp_compositor_dependencies.h" |
9 #include "cc/proto/compositor_message.pb.h" | 9 #include "cc/proto/compositor_message.pb.h" |
10 | 10 |
11 namespace blimp { | 11 namespace blimp { |
12 namespace client { | 12 namespace client { |
13 | 13 |
14 namespace { | |
15 const int kDummyTabId = 0; | |
16 } // namespace | |
17 | |
18 BlimpCompositorManager::BlimpCompositorManager( | 14 BlimpCompositorManager::BlimpCompositorManager( |
| 15 int blimp_contents_id, |
19 RenderWidgetFeature* render_widget_feature, | 16 RenderWidgetFeature* render_widget_feature, |
20 BlimpCompositorDependencies* compositor_dependencies) | 17 BlimpCompositorDependencies* compositor_dependencies) |
21 : render_widget_feature_(render_widget_feature), | 18 : blimp_contents_id_(blimp_contents_id), |
| 19 render_widget_feature_(render_widget_feature), |
22 visible_(false), | 20 visible_(false), |
23 layer_(cc::Layer::Create()), | 21 layer_(cc::Layer::Create()), |
24 active_compositor_(nullptr), | 22 active_compositor_(nullptr), |
25 compositor_dependencies_(compositor_dependencies) { | 23 compositor_dependencies_(compositor_dependencies) { |
26 DCHECK(render_widget_feature_); | 24 DCHECK(render_widget_feature_); |
27 DCHECK(compositor_dependencies_); | 25 DCHECK(compositor_dependencies_); |
28 | 26 |
29 render_widget_feature_->SetDelegate(kDummyTabId, this); | 27 render_widget_feature_->SetDelegate(blimp_contents_id_, this); |
30 } | 28 } |
31 | 29 |
32 BlimpCompositorManager::~BlimpCompositorManager() { | 30 BlimpCompositorManager::~BlimpCompositorManager() { |
33 render_widget_feature_->RemoveDelegate(kDummyTabId); | 31 render_widget_feature_->RemoveDelegate(blimp_contents_id_); |
34 } | 32 } |
35 | 33 |
36 void BlimpCompositorManager::SetVisible(bool visible) { | 34 void BlimpCompositorManager::SetVisible(bool visible) { |
37 visible_ = visible; | 35 visible_ = visible; |
38 if (active_compositor_) | 36 if (active_compositor_) |
39 active_compositor_->SetVisible(visible_); | 37 active_compositor_->SetVisible(visible_); |
40 } | 38 } |
41 | 39 |
42 bool BlimpCompositorManager::OnTouchEvent(const ui::MotionEvent& motion_event) { | 40 bool BlimpCompositorManager::OnTouchEvent(const ui::MotionEvent& motion_event) { |
43 if (active_compositor_) | 41 if (active_compositor_) |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 std::unique_ptr<cc::proto::CompositorMessage> message) { | 97 std::unique_ptr<cc::proto::CompositorMessage> message) { |
100 BlimpCompositor* compositor = GetCompositor(render_widget_id); | 98 BlimpCompositor* compositor = GetCompositor(render_widget_id); |
101 CHECK(compositor); | 99 CHECK(compositor); |
102 | 100 |
103 compositor->OnCompositorMessageReceived(std::move(message)); | 101 compositor->OnCompositorMessageReceived(std::move(message)); |
104 } | 102 } |
105 | 103 |
106 void BlimpCompositorManager::SendWebGestureEvent( | 104 void BlimpCompositorManager::SendWebGestureEvent( |
107 int render_widget_id, | 105 int render_widget_id, |
108 const blink::WebGestureEvent& gesture_event) { | 106 const blink::WebGestureEvent& gesture_event) { |
109 render_widget_feature_->SendWebGestureEvent(kDummyTabId, render_widget_id, | 107 render_widget_feature_->SendWebGestureEvent(blimp_contents_id_, |
110 gesture_event); | 108 render_widget_id, gesture_event); |
111 } | 109 } |
112 | 110 |
113 void BlimpCompositorManager::SendCompositorMessage( | 111 void BlimpCompositorManager::SendCompositorMessage( |
114 int render_widget_id, | 112 int render_widget_id, |
115 const cc::proto::CompositorMessage& message) { | 113 const cc::proto::CompositorMessage& message) { |
116 render_widget_feature_->SendCompositorMessage(kDummyTabId, render_widget_id, | 114 render_widget_feature_->SendCompositorMessage(blimp_contents_id_, |
117 message); | 115 render_widget_id, message); |
118 } | 116 } |
119 | 117 |
120 BlimpCompositor* BlimpCompositorManager::GetCompositor(int render_widget_id) { | 118 BlimpCompositor* BlimpCompositorManager::GetCompositor(int render_widget_id) { |
121 CompositorMap::const_iterator it = compositors_.find(render_widget_id); | 119 CompositorMap::const_iterator it = compositors_.find(render_widget_id); |
122 if (it == compositors_.end()) | 120 if (it == compositors_.end()) |
123 return nullptr; | 121 return nullptr; |
124 return it->second.get(); | 122 return it->second.get(); |
125 } | 123 } |
126 | 124 |
127 } // namespace client | 125 } // namespace client |
128 } // namespace blimp | 126 } // namespace blimp |
OLD | NEW |