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

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

Issue 2393443004: Blimp: Added spinner to text input dialog (Closed)
Patch Set: nits Created 4 years, 1 month 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"
11 #include "blimp/common/proto/compositor.pb.h" 11 #include "blimp/common/proto/compositor.pb.h"
12 #include "blimp/common/proto/input.pb.h" 12 #include "blimp/common/proto/input.pb.h"
13 #include "blimp/common/proto/render_widget.pb.h" 13 #include "blimp/common/proto/render_widget.pb.h"
14 #include "blimp/net/input_message_converter.h" 14 #include "blimp/net/input_message_converter.h"
15 #include "content/public/browser/render_widget_host.h" 15 #include "content/public/browser/render_widget_host.h"
16 #include "content/public/browser/render_widget_host_view.h" 16 #include "content/public/browser/render_widget_host_view.h"
17 #include "net/base/net_errors.h" 17 #include "net/base/net_errors.h"
18 #include "third_party/WebKit/public/web/WebInputEvent.h" 18 #include "third_party/WebKit/public/web/WebInputEvent.h"
19 #include "ui/events/event.h" 19 #include "ui/events/event.h"
20 #include "ui/events/keycodes/dom/dom_code.h" 20 #include "ui/events/keycodes/dom/dom_code.h"
21 21
22 namespace blimp { 22 namespace blimp {
23 namespace engine { 23 namespace engine {
24 24
25 EngineRenderWidgetFeature::EngineRenderWidgetFeature(SettingsManager* settings) 25 EngineRenderWidgetFeature::EngineRenderWidgetFeature(SettingsManager* settings)
26 : settings_manager_(settings) { 26 : settings_manager_(settings), weak_factory_(this) {
27 DCHECK(settings_manager_); 27 DCHECK(settings_manager_);
28 settings_manager_->AddObserver(this); 28 settings_manager_->AddObserver(this);
29 } 29 }
30 30
31 EngineRenderWidgetFeature::~EngineRenderWidgetFeature() { 31 EngineRenderWidgetFeature::~EngineRenderWidgetFeature() {
32 DCHECK(settings_manager_); 32 DCHECK(settings_manager_);
33 settings_manager_->RemoveObserver(this); 33 settings_manager_->RemoveObserver(this);
34 } 34 }
35 35
36 void EngineRenderWidgetFeature::set_render_widget_message_sender( 36 void EngineRenderWidgetFeature::set_render_widget_message_sender(
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 delegate->OnCompositorMessageReceived(render_widget_host, payload); 226 delegate->OnCompositorMessageReceived(render_widget_host, payload);
227 } 227 }
228 break; 228 break;
229 case BlimpMessage::kIme: 229 case BlimpMessage::kIme:
230 DCHECK(message->ime().type() == ImeMessage::SET_TEXT); 230 DCHECK(message->ime().type() == ImeMessage::SET_TEXT);
231 render_widget_host = 231 render_widget_host =
232 GetRenderWidgetHost(target_tab_id, message->ime().render_widget_id()); 232 GetRenderWidgetHost(target_tab_id, message->ime().render_widget_id());
233 if (render_widget_host && render_widget_host->GetView()) { 233 if (render_widget_host && render_widget_host->GetView()) {
234 SetTextFromIME(render_widget_host, message->ime().ime_text(), 234 SetTextFromIME(render_widget_host, message->ime().ime_text(),
235 message->ime().auto_submit()); 235 message->ime().auto_submit());
236
237 // TODO(shaktisahu): Remove this fake HIDE_IME request once the blimp
238 // IME design is completed (crbug/661328).
239 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
240 FROM_HERE,
241 base::Bind(&EngineRenderWidgetFeature::SendHideImeRequest,
242 weak_factory_.GetWeakPtr(), target_tab_id,
243 render_widget_host),
244 base::TimeDelta::FromMilliseconds(1500));
Wez 2016/11/07 22:51:52 What's the rationale for the delay here?
236 } 245 }
237 break; 246 break;
238 default: 247 default:
239 NOTREACHED(); 248 NOTREACHED();
240 } 249 }
241 250
242 callback.Run(net::OK); 251 callback.Run(net::OK);
243 } 252 }
244 253
245 void EngineRenderWidgetFeature::OnWebPreferencesChanged() { 254 void EngineRenderWidgetFeature::OnWebPreferencesChanged() {
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 IdToRenderWidgetMap::const_iterator widget_id_it = 395 IdToRenderWidgetMap::const_iterator widget_id_it =
387 id_to_render_widget->find(render_widget_id); 396 id_to_render_widget->find(render_widget_id);
388 if (widget_id_it == id_to_render_widget->end()) 397 if (widget_id_it == id_to_render_widget->end())
389 return nullptr; 398 return nullptr;
390 399
391 return widget_id_it->second; 400 return widget_id_it->second;
392 } 401 }
393 402
394 } // namespace engine 403 } // namespace engine
395 } // namespace blimp 404 } // namespace blimp
OLDNEW
« no previous file with comments | « blimp/engine/feature/engine_render_widget_feature.h ('k') | build/android/lint/suppressions.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698