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/engine/feature/engine_render_widget_feature.h" | 5 #include "blimp/engine/feature/engine_render_widget_feature.h" |
6 | 6 |
7 #include "base/numerics/safe_conversions.h" | 7 #include "base/numerics/safe_conversions.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "blimp/common/create_blimp_message.h" | 9 #include "blimp/common/create_blimp_message.h" |
10 #include "blimp/common/proto/blimp_message.pb.h" | 10 #include "blimp/common/proto/blimp_message.pb.h" |
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 void EngineRenderWidgetFeature::RemoveDelegate(const int tab_id) { | 183 void EngineRenderWidgetFeature::RemoveDelegate(const int tab_id) { |
184 DelegateMap::iterator it = delegates_.find(tab_id); | 184 DelegateMap::iterator it = delegates_.find(tab_id); |
185 if (it != delegates_.end()) | 185 if (it != delegates_.end()) |
186 delegates_.erase(it); | 186 delegates_.erase(it); |
187 } | 187 } |
188 | 188 |
189 void EngineRenderWidgetFeature::ProcessMessage( | 189 void EngineRenderWidgetFeature::ProcessMessage( |
190 std::unique_ptr<BlimpMessage> message, | 190 std::unique_ptr<BlimpMessage> message, |
191 const net::CompletionCallback& callback) { | 191 const net::CompletionCallback& callback) { |
192 DCHECK(!callback.is_null()); | 192 DCHECK(!callback.is_null()); |
193 DCHECK(message->type() == BlimpMessage::RENDER_WIDGET || | 193 DCHECK(message->feature_case() == BlimpMessage::kRenderWidget || |
194 message->type() == BlimpMessage::IME || | 194 message->feature_case() == BlimpMessage::kIme || |
195 message->type() == BlimpMessage::INPUT || | 195 message->feature_case() == BlimpMessage::kInput || |
196 message->type() == BlimpMessage::COMPOSITOR); | 196 message->feature_case() == BlimpMessage::kCompositor); |
197 | 197 |
198 int target_tab_id = message->target_tab_id(); | 198 int target_tab_id = message->target_tab_id(); |
199 | 199 |
200 RenderWidgetMessageDelegate* delegate = FindDelegate(target_tab_id); | 200 RenderWidgetMessageDelegate* delegate = FindDelegate(target_tab_id); |
201 DCHECK(delegate); | 201 DCHECK(delegate); |
202 | 202 |
203 content::RenderWidgetHost* render_widget_host = nullptr; | 203 content::RenderWidgetHost* render_widget_host = nullptr; |
204 | 204 |
205 switch (message->type()) { | 205 switch (message->feature_case()) { |
206 case BlimpMessage::INPUT: | 206 case BlimpMessage::kInput: |
207 render_widget_host = GetRenderWidgetHost(target_tab_id, | 207 render_widget_host = GetRenderWidgetHost(target_tab_id, |
208 message->input().render_widget_id()); | 208 message->input().render_widget_id()); |
209 if (render_widget_host) { | 209 if (render_widget_host) { |
210 std::unique_ptr<blink::WebGestureEvent> event = | 210 std::unique_ptr<blink::WebGestureEvent> event = |
211 input_message_converter_.ProcessMessage(message->input()); | 211 input_message_converter_.ProcessMessage(message->input()); |
212 if (event) | 212 if (event) |
213 delegate->OnWebGestureEvent(render_widget_host, std::move(event)); | 213 delegate->OnWebGestureEvent(render_widget_host, std::move(event)); |
214 } | 214 } |
215 break; | 215 break; |
216 case BlimpMessage::COMPOSITOR: | 216 case BlimpMessage::kCompositor: |
217 render_widget_host = GetRenderWidgetHost(target_tab_id, | 217 render_widget_host = GetRenderWidgetHost(target_tab_id, |
218 message->compositor().render_widget_id()); | 218 message->compositor().render_widget_id()); |
219 if (render_widget_host) { | 219 if (render_widget_host) { |
220 std::vector<uint8_t> payload(message->compositor().payload().size()); | 220 std::vector<uint8_t> payload(message->compositor().payload().size()); |
221 memcpy(payload.data(), | 221 memcpy(payload.data(), |
222 message->compositor().payload().data(), | 222 message->compositor().payload().data(), |
223 payload.size()); | 223 payload.size()); |
224 delegate->OnCompositorMessageReceived(render_widget_host, payload); | 224 delegate->OnCompositorMessageReceived(render_widget_host, payload); |
225 } | 225 } |
226 break; | 226 break; |
227 case BlimpMessage::IME: | 227 case BlimpMessage::kIme: |
228 DCHECK(message->ime().type() == ImeMessage::SET_TEXT); | 228 DCHECK(message->ime().type() == ImeMessage::SET_TEXT); |
229 render_widget_host = | 229 render_widget_host = |
230 GetRenderWidgetHost(target_tab_id, message->ime().render_widget_id()); | 230 GetRenderWidgetHost(target_tab_id, message->ime().render_widget_id()); |
231 if (render_widget_host && render_widget_host->GetView()) { | 231 if (render_widget_host && render_widget_host->GetView()) { |
232 SetTextFromIME(render_widget_host->GetView()->GetTextInputClient(), | 232 SetTextFromIME(render_widget_host->GetView()->GetTextInputClient(), |
233 message->ime().ime_text()); | 233 message->ime().ime_text()); |
234 } | 234 } |
235 break; | 235 break; |
236 default: | 236 default: |
237 NOTREACHED(); | 237 NOTREACHED(); |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 IdToRenderWidgetMap::const_iterator widget_id_it = | 361 IdToRenderWidgetMap::const_iterator widget_id_it = |
362 id_to_render_widget->find(render_widget_id); | 362 id_to_render_widget->find(render_widget_id); |
363 if (widget_id_it == id_to_render_widget->end()) | 363 if (widget_id_it == id_to_render_widget->end()) |
364 return nullptr; | 364 return nullptr; |
365 | 365 |
366 return widget_id_it->second; | 366 return widget_id_it->second; |
367 } | 367 } |
368 | 368 |
369 } // namespace engine | 369 } // namespace engine |
370 } // namespace blimp | 370 } // namespace blimp |
OLD | NEW |