OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/render_widget_feature.h" | 5 #include <blimp/client/core/render_widget/render_widget_feature.h> |
6 | |
7 #include "base/numerics/safe_conversions.h" | 6 #include "base/numerics/safe_conversions.h" |
8 #include "blimp/common/create_blimp_message.h" | 7 #include "blimp/common/create_blimp_message.h" |
9 #include "blimp/common/proto/blimp_message.pb.h" | 8 #include "blimp/common/proto/blimp_message.pb.h" |
10 #include "blimp/common/proto/compositor.pb.h" | 9 #include "blimp/common/proto/compositor.pb.h" |
11 #include "blimp/common/proto/input.pb.h" | 10 #include "blimp/common/proto/input.pb.h" |
12 #include "blimp/common/proto/render_widget.pb.h" | 11 #include "blimp/common/proto/render_widget.pb.h" |
13 #include "cc/proto/compositor_message.pb.h" | 12 #include "cc/proto/compositor_message.pb.h" |
14 #include "net/base/net_errors.h" | 13 #include "net/base/net_errors.h" |
15 | 14 |
16 namespace blimp { | 15 namespace blimp { |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 void RenderWidgetFeature::ProcessMessage( | 81 void RenderWidgetFeature::ProcessMessage( |
83 std::unique_ptr<BlimpMessage> message, | 82 std::unique_ptr<BlimpMessage> message, |
84 const net::CompletionCallback& callback) { | 83 const net::CompletionCallback& callback) { |
85 DCHECK(!callback.is_null()); | 84 DCHECK(!callback.is_null()); |
86 DCHECK(BlimpMessage::kRenderWidget == message->feature_case() || | 85 DCHECK(BlimpMessage::kRenderWidget == message->feature_case() || |
87 BlimpMessage::kCompositor == message->feature_case()); | 86 BlimpMessage::kCompositor == message->feature_case()); |
88 | 87 |
89 int target_tab_id = message->target_tab_id(); | 88 int target_tab_id = message->target_tab_id(); |
90 RenderWidgetFeatureDelegate* delegate = FindDelegate(target_tab_id); | 89 RenderWidgetFeatureDelegate* delegate = FindDelegate(target_tab_id); |
91 DCHECK(delegate) << "RenderWidgetFeatureDelegate not found for " | 90 DCHECK(delegate) << "RenderWidgetFeatureDelegate not found for " |
92 << target_tab_id; | 91 << target_tab_id; |
93 | 92 |
94 switch (message->feature_case()) { | 93 switch (message->feature_case()) { |
95 case BlimpMessage::kRenderWidget: | 94 case BlimpMessage::kRenderWidget: |
96 ProcessRenderWidgetMessage(delegate, message->render_widget()); | 95 ProcessRenderWidgetMessage(delegate, message->render_widget()); |
97 break; | 96 break; |
98 case BlimpMessage::kCompositor: | 97 case BlimpMessage::kCompositor: |
99 ProcessCompositorMessage(delegate, message->compositor()); | 98 ProcessCompositorMessage(delegate, message->compositor()); |
100 break; | 99 break; |
101 default: | 100 default: |
102 NOTREACHED(); | 101 NOTREACHED(); |
(...skipping 25 matching lines...) Expand all Loading... |
128 } | 127 } |
129 | 128 |
130 void RenderWidgetFeature::ProcessCompositorMessage( | 129 void RenderWidgetFeature::ProcessCompositorMessage( |
131 RenderWidgetFeatureDelegate* delegate, | 130 RenderWidgetFeatureDelegate* delegate, |
132 const CompositorMessage& message) { | 131 const CompositorMessage& message) { |
133 int render_widget_id = message.render_widget_id(); | 132 int render_widget_id = message.render_widget_id(); |
134 | 133 |
135 std::unique_ptr<cc::proto::CompositorMessage> payload( | 134 std::unique_ptr<cc::proto::CompositorMessage> payload( |
136 new cc::proto::CompositorMessage); | 135 new cc::proto::CompositorMessage); |
137 if (payload->ParseFromString(message.payload())) { | 136 if (payload->ParseFromString(message.payload())) { |
138 delegate->OnCompositorMessageReceived(render_widget_id, | 137 delegate->OnCompositorMessageReceived(render_widget_id, std::move(payload)); |
139 std::move(payload)); | |
140 } | 138 } |
141 } | 139 } |
142 | 140 |
143 RenderWidgetFeature::RenderWidgetFeatureDelegate* | 141 RenderWidgetFeature::RenderWidgetFeatureDelegate* |
144 RenderWidgetFeature::FindDelegate(const int tab_id) { | 142 RenderWidgetFeature::FindDelegate(const int tab_id) { |
145 DelegateMap::const_iterator it = delegates_.find(tab_id); | 143 DelegateMap::const_iterator it = delegates_.find(tab_id); |
146 if (it != delegates_.end()) | 144 if (it != delegates_.end()) |
147 return it->second; | 145 return it->second; |
148 return nullptr; | 146 return nullptr; |
149 } | 147 } |
150 | 148 |
151 } // namespace client | 149 } // namespace client |
152 } // namespace blimp | 150 } // namespace blimp |
OLD | NEW |