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

Side by Side Diff: blimp/engine/feature/engine_render_widget_feature.cc

Issue 1933053003: Used oneof in blimp_message.proto (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nits Created 4 years, 7 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 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
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
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
OLDNEW
« no previous file with comments | « blimp/common/proto/tab_control.proto ('k') | blimp/engine/feature/engine_render_widget_feature_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698