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

Side by Side Diff: content/renderer/input/frame_input_handler_impl.cc

Issue 2910223003: [refactor] - Rename and Move WebWidget::CaretOrSelectionRange to WebInputMethodController::GetSelec… (Closed)
Patch Set: Rebase Created 3 years, 5 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "content/renderer/input/frame_input_handler_impl.h" 5 #include "content/renderer/input/frame_input_handler_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/debug/stack_trace.h" 10 #include "base/debug/stack_trace.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "content/renderer/ime_event_guard.h" 12 #include "content/renderer/ime_event_guard.h"
13 #include "content/renderer/render_thread_impl.h" 13 #include "content/renderer/render_thread_impl.h"
14 #include "content/renderer/render_view_impl.h" 14 #include "content/renderer/render_view_impl.h"
15 #include "content/renderer/render_widget.h" 15 #include "content/renderer/render_widget.h"
16 #include "third_party/WebKit/public/web/WebInputMethodController.h"
16 #include "third_party/WebKit/public/web/WebLocalFrame.h" 17 #include "third_party/WebKit/public/web/WebLocalFrame.h"
17 18
18 namespace content { 19 namespace content {
19 20
20 FrameInputHandlerImpl::FrameInputHandlerImpl( 21 FrameInputHandlerImpl::FrameInputHandlerImpl(
21 base::WeakPtr<RenderFrameImpl> render_frame, 22 base::WeakPtr<RenderFrameImpl> render_frame,
22 mojom::FrameInputHandlerRequest request) 23 mojom::FrameInputHandlerRequest request)
23 : binding_(this), 24 : binding_(this),
24 render_frame_(render_frame), 25 render_frame_(render_frame),
25 input_event_queue_(render_frame->GetRenderWidget()->GetInputEventQueue()), 26 input_event_queue_(render_frame->GetRenderWidget()->GetInputEventQueue()),
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 250
250 void FrameInputHandlerImpl::CollapseSelection() { 251 void FrameInputHandlerImpl::CollapseSelection() {
251 if (!main_thread_task_runner_->BelongsToCurrentThread()) { 252 if (!main_thread_task_runner_->BelongsToCurrentThread()) {
252 RunOnMainThread( 253 RunOnMainThread(
253 base::Bind(&FrameInputHandlerImpl::CollapseSelection, weak_this_)); 254 base::Bind(&FrameInputHandlerImpl::CollapseSelection, weak_this_));
254 return; 255 return;
255 } 256 }
256 257
257 if (!render_frame_) 258 if (!render_frame_)
258 return; 259 return;
259 const blink::WebRange& range = 260 const blink::WebRange& range = render_frame_->GetWebFrame()
260 render_frame_->GetRenderWidget()->GetWebWidget()->CaretOrSelectionRange(); 261 ->GetInputMethodController()
262 ->GetSelectionOffsets();
261 if (range.IsNull()) 263 if (range.IsNull())
262 return; 264 return;
263 265
264 HandlingState handling_state(render_frame_.get(), 266 HandlingState handling_state(render_frame_.get(),
265 UpdateState::kIsSelectingRange); 267 UpdateState::kIsSelectingRange);
266 render_frame_->GetWebFrame()->SelectRange( 268 render_frame_->GetWebFrame()->SelectRange(
267 blink::WebRange(range.EndOffset(), 0)); 269 blink::WebRange(range.EndOffset(), 0));
268 } 270 }
269 271
270 void FrameInputHandlerImpl::SelectRange(const gfx::Point& base, 272 void FrameInputHandlerImpl::SelectRange(const gfx::Point& base,
(...skipping 21 matching lines...) Expand all
292 int32_t end) { 294 int32_t end) {
293 if (!main_thread_task_runner_->BelongsToCurrentThread()) { 295 if (!main_thread_task_runner_->BelongsToCurrentThread()) {
294 RunOnMainThread( 296 RunOnMainThread(
295 base::Bind(&FrameInputHandlerImpl::AdjustSelectionByCharacterOffset, 297 base::Bind(&FrameInputHandlerImpl::AdjustSelectionByCharacterOffset,
296 weak_this_, start, end)); 298 weak_this_, start, end));
297 return; 299 return;
298 } 300 }
299 301
300 if (!render_frame_) 302 if (!render_frame_)
301 return; 303 return;
302 blink::WebRange range = 304 blink::WebRange range = render_frame_->GetWebFrame()
303 render_frame_->GetRenderWidget()->GetWebWidget()->CaretOrSelectionRange(); 305 ->GetInputMethodController()
306 ->GetSelectionOffsets();
304 if (range.IsNull()) 307 if (range.IsNull())
305 return; 308 return;
306 309
307 // Sanity checks to disallow empty and out of range selections. 310 // Sanity checks to disallow empty and out of range selections.
308 if (start - end > range.length() || range.StartOffset() + start < 0) 311 if (start - end > range.length() || range.StartOffset() + start < 0)
309 return; 312 return;
310 313
311 HandlingState handling_state(render_frame_.get(), 314 HandlingState handling_state(render_frame_.get(),
312 UpdateState::kIsSelectingRange); 315 UpdateState::kIsSelectingRange);
313 // A negative adjust amount moves the selection towards the beginning of 316 // A negative adjust amount moves the selection towards the beginning of
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 break; 416 break;
414 } 417 }
415 } 418 }
416 419
417 FrameInputHandlerImpl::HandlingState::~HandlingState() { 420 FrameInputHandlerImpl::HandlingState::~HandlingState() {
418 render_frame_->set_handling_select_range(original_select_range_value_); 421 render_frame_->set_handling_select_range(original_select_range_value_);
419 render_frame_->set_is_pasting(original_pasting_value_); 422 render_frame_->set_is_pasting(original_pasting_value_);
420 } 423 }
421 424
422 } // namespace content 425 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698