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

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

Issue 2513333002: Revert of Extracting placeholder information from Webkit to Blimp (Closed)
Patch Set: 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 "content/public/common/form_field_data.h"
18 #include "net/base/net_errors.h" 17 #include "net/base/net_errors.h"
19 #include "third_party/WebKit/public/platform/WebInputEvent.h" 18 #include "third_party/WebKit/public/platform/WebInputEvent.h"
20 #include "ui/events/event.h" 19 #include "ui/events/event.h"
21 #include "ui/events/keycodes/dom/dom_code.h" 20 #include "ui/events/keycodes/dom/dom_code.h"
22 21
23 namespace blimp { 22 namespace blimp {
24 namespace engine { 23 namespace engine {
25 24
26 EngineRenderWidgetFeature::EngineRenderWidgetFeature(SettingsManager* settings) 25 EngineRenderWidgetFeature::EngineRenderWidgetFeature(SettingsManager* settings)
27 : settings_manager_(settings), weak_factory_(this) { 26 : settings_manager_(settings), weak_factory_(this) {
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 compositor_message->set_payload(message.data(), 128 compositor_message->set_payload(message.data(),
130 base::checked_cast<int>(message.size())); 129 base::checked_cast<int>(message.size()));
131 130
132 compositor_message_sender_->ProcessMessage(std::move(blimp_message), 131 compositor_message_sender_->ProcessMessage(std::move(blimp_message),
133 net::CompletionCallback()); 132 net::CompletionCallback());
134 } 133 }
135 134
136 void EngineRenderWidgetFeature::SendShowImeRequest( 135 void EngineRenderWidgetFeature::SendShowImeRequest(
137 const int tab_id, 136 const int tab_id,
138 content::RenderWidgetHost* render_widget_host, 137 content::RenderWidgetHost* render_widget_host,
139 const content::FormFieldData& field) { 138 const ui::TextInputClient* client) {
139 DCHECK(client);
140
140 ImeMessage* ime_message; 141 ImeMessage* ime_message;
141 std::unique_ptr<BlimpMessage> blimp_message = 142 std::unique_ptr<BlimpMessage> blimp_message =
142 CreateBlimpMessage(&ime_message, tab_id); 143 CreateBlimpMessage(&ime_message, tab_id);
143 144
144 int render_widget_id = GetRenderWidgetId(tab_id, render_widget_host); 145 int render_widget_id = GetRenderWidgetId(tab_id, render_widget_host);
145 DCHECK_GT(render_widget_id, 0); 146 DCHECK_GT(render_widget_id, 0);
146 ime_message->set_render_widget_id(render_widget_id); 147 ime_message->set_render_widget_id(render_widget_id);
147 ime_message->set_type(ImeMessage::SHOW_IME); 148 ime_message->set_type(ImeMessage::SHOW_IME);
148 ime_message->set_text_input_type( 149 ime_message->set_text_input_type(
149 InputMessageConverter::TextInputTypeToProto(field.text_input_type)); 150 InputMessageConverter::TextInputTypeToProto(client->GetTextInputType()));
150 ime_message->set_ime_text(field.text); 151
151 // TODO(shaktisahu): Add remaining fields to proto. 152 gfx::Range text_range;
153 base::string16 existing_text;
154 client->GetTextRange(&text_range);
155 client->GetTextFromRange(text_range, &existing_text);
156 ime_message->set_ime_text(base::UTF16ToUTF8(existing_text));
152 157
153 ime_message_sender_->ProcessMessage(std::move(blimp_message), 158 ime_message_sender_->ProcessMessage(std::move(blimp_message),
154 net::CompletionCallback()); 159 net::CompletionCallback());
155 } 160 }
156 161
157 void EngineRenderWidgetFeature::SendHideImeRequest( 162 void EngineRenderWidgetFeature::SendHideImeRequest(
158 const int tab_id, 163 const int tab_id,
159 content::RenderWidgetHost* render_widget_host) { 164 content::RenderWidgetHost* render_widget_host) {
160 ImeMessage* ime_message; 165 ImeMessage* ime_message;
161 std::unique_ptr<BlimpMessage> blimp_message = 166 std::unique_ptr<BlimpMessage> blimp_message =
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 IdToRenderWidgetMap::const_iterator widget_id_it = 395 IdToRenderWidgetMap::const_iterator widget_id_it =
391 id_to_render_widget->find(render_widget_id); 396 id_to_render_widget->find(render_widget_id);
392 if (widget_id_it == id_to_render_widget->end()) 397 if (widget_id_it == id_to_render_widget->end())
393 return nullptr; 398 return nullptr;
394 399
395 return widget_id_it->second; 400 return widget_id_it->second;
396 } 401 }
397 402
398 } // namespace engine 403 } // namespace engine
399 } // namespace blimp 404 } // namespace blimp
OLDNEW
« no previous file with comments | « blimp/engine/feature/engine_render_widget_feature.h ('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