Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/render_widget.h" | 5 #include "content/renderer/render_widget.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 1177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1188 } else { | 1188 } else { |
| 1189 Send(response.release()); | 1189 Send(response.release()); |
| 1190 } | 1190 } |
| 1191 } | 1191 } |
| 1192 | 1192 |
| 1193 #if defined(OS_ANDROID) | 1193 #if defined(OS_ANDROID) |
| 1194 // Allow the IME to be shown when the focus changes as a consequence | 1194 // Allow the IME to be shown when the focus changes as a consequence |
| 1195 // of a processed touch end event. | 1195 // of a processed touch end event. |
| 1196 if (input_event->type == WebInputEvent::TouchEnd && processed) | 1196 if (input_event->type == WebInputEvent::TouchEnd && processed) |
| 1197 UpdateTextInputState(true, true); | 1197 UpdateTextInputState(true, true); |
| 1198 #elif defined(USE_AURA) | |
| 1199 // Show the virtual keyboard if enabled and a user gesture triggers a focus | |
| 1200 // change. | |
| 1201 if (processed && (input_event->type == WebInputEvent::TouchEnd || | |
| 1202 input_event->type == WebInputEvent::MouseUp)) | |
| 1203 UpdateTextInputState(true, false); | |
| 1198 #endif | 1204 #endif |
| 1199 | 1205 |
| 1200 handling_input_event_ = false; | 1206 handling_input_event_ = false; |
| 1201 | 1207 |
| 1202 if (!prevent_default) { | 1208 if (!prevent_default) { |
| 1203 if (WebInputEvent::isKeyboardEventType(input_event->type)) | 1209 if (WebInputEvent::isKeyboardEventType(input_event->type)) |
| 1204 DidHandleKeyEvent(); | 1210 DidHandleKeyEvent(); |
| 1205 if (WebInputEvent::isMouseEventType(input_event->type)) | 1211 if (WebInputEvent::isMouseEventType(input_event->type)) |
| 1206 DidHandleMouseEvent(*(static_cast<const WebMouseEvent*>(input_event))); | 1212 DidHandleMouseEvent(*(static_cast<const WebMouseEvent*>(input_event))); |
| 1207 if (WebInputEvent::isTouchEventType(input_event->type)) | 1213 if (WebInputEvent::isTouchEventType(input_event->type)) |
| (...skipping 1282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2490 Send(new ViewHostMsg_TextInputTypeChanged(routing_id(), | 2496 Send(new ViewHostMsg_TextInputTypeChanged(routing_id(), |
| 2491 new_type, | 2497 new_type, |
| 2492 new_mode, | 2498 new_mode, |
| 2493 new_can_compose_inline)); | 2499 new_can_compose_inline)); |
| 2494 text_input_type_ = new_type; | 2500 text_input_type_ = new_type; |
| 2495 can_compose_inline_ = new_can_compose_inline; | 2501 can_compose_inline_ = new_can_compose_inline; |
| 2496 text_input_mode_ = new_mode; | 2502 text_input_mode_ = new_mode; |
| 2497 } | 2503 } |
| 2498 } | 2504 } |
| 2499 | 2505 |
| 2500 #if defined(OS_ANDROID) | 2506 #if defined(OS_ANDROID) || defined(USE_AURA) |
| 2501 void RenderWidget::UpdateTextInputState(bool show_ime_if_needed, | 2507 void RenderWidget::UpdateTextInputState(bool show_ime_if_needed, |
| 2502 bool send_ime_ack) { | 2508 bool send_ime_ack) { |
| 2503 if (handling_ime_event_) | 2509 if (handling_ime_event_) |
| 2504 return; | 2510 return; |
| 2505 if (!show_ime_if_needed && !input_method_is_active_) | 2511 if (!show_ime_if_needed && !input_method_is_active_) |
| 2506 return; | 2512 return; |
| 2507 ui::TextInputType new_type = GetTextInputType(); | 2513 ui::TextInputType new_type = GetTextInputType(); |
| 2508 if (IsDateTimeInput(new_type)) | 2514 if (IsDateTimeInput(new_type)) |
| 2509 return; // Not considered as a text input field in WebKit/Chromium. | 2515 return; // Not considered as a text input field in WebKit/Chromium. |
| 2510 | 2516 |
| (...skipping 10 matching lines...) Expand all Loading... | |
| 2521 || can_compose_inline_ != new_can_compose_inline)) { | 2527 || can_compose_inline_ != new_can_compose_inline)) { |
| 2522 ViewHostMsg_TextInputState_Params p; | 2528 ViewHostMsg_TextInputState_Params p; |
| 2523 p.type = new_type; | 2529 p.type = new_type; |
| 2524 p.value = new_info.value.utf8(); | 2530 p.value = new_info.value.utf8(); |
| 2525 p.selection_start = new_info.selectionStart; | 2531 p.selection_start = new_info.selectionStart; |
| 2526 p.selection_end = new_info.selectionEnd; | 2532 p.selection_end = new_info.selectionEnd; |
| 2527 p.composition_start = new_info.compositionStart; | 2533 p.composition_start = new_info.compositionStart; |
| 2528 p.composition_end = new_info.compositionEnd; | 2534 p.composition_end = new_info.compositionEnd; |
| 2529 p.can_compose_inline = new_can_compose_inline; | 2535 p.can_compose_inline = new_can_compose_inline; |
| 2530 p.show_ime_if_needed = show_ime_if_needed; | 2536 p.show_ime_if_needed = show_ime_if_needed; |
| 2537 #if defined(OS_ANDROID) | |
| 2531 p.require_ack = send_ime_ack; | 2538 p.require_ack = send_ime_ack; |
| 2532 if (p.require_ack) | 2539 if (p.require_ack) |
| 2533 IncrementOutstandingImeEventAcks(); | 2540 IncrementOutstandingImeEventAcks(); |
| 2541 #else | |
| 2542 p.require_ack = false; | |
| 2543 #endif | |
|
sadrul
2014/01/10 19:53:21
Do you need this block of change? Looks like Updat
kevers
2014/01/13 16:59:10
Conditional compilation required for IncrementOuts
| |
| 2534 Send(new ViewHostMsg_TextInputStateChanged(routing_id(), p)); | 2544 Send(new ViewHostMsg_TextInputStateChanged(routing_id(), p)); |
| 2535 | 2545 |
| 2536 text_input_info_ = new_info; | 2546 text_input_info_ = new_info; |
| 2537 text_input_type_ = new_type; | 2547 text_input_type_ = new_type; |
| 2538 can_compose_inline_ = new_can_compose_inline; | 2548 can_compose_inline_ = new_can_compose_inline; |
| 2539 } | 2549 } |
| 2540 } | 2550 } |
| 2541 #endif | 2551 #endif |
| 2542 | 2552 |
| 2543 void RenderWidget::GetSelectionBounds(gfx::Rect* focus, gfx::Rect* anchor) { | 2553 void RenderWidget::GetSelectionBounds(gfx::Rect* focus, gfx::Rect* anchor) { |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2699 } | 2709 } |
| 2700 | 2710 |
| 2701 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(USE_AURA) | 2711 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(USE_AURA) |
| 2702 UpdateCompositionInfo(true); | 2712 UpdateCompositionInfo(true); |
| 2703 #endif | 2713 #endif |
| 2704 } | 2714 } |
| 2705 | 2715 |
| 2706 void RenderWidget::didHandleGestureEvent( | 2716 void RenderWidget::didHandleGestureEvent( |
| 2707 const WebGestureEvent& event, | 2717 const WebGestureEvent& event, |
| 2708 bool event_cancelled) { | 2718 bool event_cancelled) { |
| 2709 #if defined(OS_ANDROID) | 2719 #if defined(OS_ANDROID) || defined(USE_AURA) |
| 2710 if (event_cancelled) | 2720 if (event_cancelled) |
| 2711 return; | 2721 return; |
| 2712 if (event.type == WebInputEvent::GestureTap || | 2722 if (event.type == WebInputEvent::GestureTap || |
| 2713 event.type == WebInputEvent::GestureLongPress) { | 2723 event.type == WebInputEvent::GestureLongPress) { |
| 2714 UpdateTextInputState(true, true); | 2724 UpdateTextInputState(true, true); |
| 2715 } | 2725 } |
| 2716 #endif | 2726 #endif |
| 2717 } | 2727 } |
| 2718 | 2728 |
| 2719 void RenderWidget::SchedulePluginMove(const WebPluginGeometry& move) { | 2729 void RenderWidget::SchedulePluginMove(const WebPluginGeometry& move) { |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2867 surface_id(), | 2877 surface_id(), |
| 2868 GetURLForGraphicsContext3D(), | 2878 GetURLForGraphicsContext3D(), |
| 2869 gpu_channel_host.get(), | 2879 gpu_channel_host.get(), |
| 2870 attributes, | 2880 attributes, |
| 2871 false /* bind generates resources */, | 2881 false /* bind generates resources */, |
| 2872 limits)); | 2882 limits)); |
| 2873 return context.Pass(); | 2883 return context.Pass(); |
| 2874 } | 2884 } |
| 2875 | 2885 |
| 2876 } // namespace content | 2886 } // namespace content |
| OLD | NEW |