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

Side by Side Diff: blimp/client/core/compositor/blimp_compositor_manager.cc

Issue 2325893002: [blimp] Add support for having multiple tabs (Closed)
Patch Set: Add tablet and non-blimp support Created 4 years, 3 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 "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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698