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

Side by Side Diff: content/renderer/render_widget.cc

Issue 715733002: [Android] Show autofill popup after animation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 11 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
« no previous file with comments | « content/renderer/render_widget.h ('k') | content/test/web_layer_tree_view_impl_for_testing.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 1212 matching lines...) Expand 10 before | Expand all | Expand 10 after
1223 1223
1224 #if defined(OS_ANDROID) 1224 #if defined(OS_ANDROID)
1225 // Allow the IME to be shown when the focus changes as a consequence 1225 // Allow the IME to be shown when the focus changes as a consequence
1226 // of a processed touch end event. 1226 // of a processed touch end event.
1227 if (input_event->type == WebInputEvent::TouchEnd && processed) 1227 if (input_event->type == WebInputEvent::TouchEnd && processed)
1228 UpdateTextInputState(SHOW_IME_IF_NEEDED, FROM_NON_IME); 1228 UpdateTextInputState(SHOW_IME_IF_NEEDED, FROM_NON_IME);
1229 #elif defined(USE_AURA) 1229 #elif defined(USE_AURA)
1230 // Show the virtual keyboard if enabled and a user gesture triggers a focus 1230 // Show the virtual keyboard if enabled and a user gesture triggers a focus
1231 // change. 1231 // change.
1232 if (processed && (input_event->type == WebInputEvent::TouchEnd || 1232 if (processed && (input_event->type == WebInputEvent::TouchEnd ||
1233 input_event->type == WebInputEvent::MouseUp)) 1233 input_event->type == WebInputEvent::MouseUp)) {
1234 UpdateTextInputState(SHOW_IME_IF_NEEDED, FROM_IME); 1234 UpdateTextInputState(SHOW_IME_IF_NEEDED, FROM_IME);
1235 }
1235 #endif 1236 #endif
1236 1237
1237 if (!prevent_default) { 1238 if (!prevent_default) {
1238 if (WebInputEvent::isKeyboardEventType(input_event->type)) 1239 if (WebInputEvent::isKeyboardEventType(input_event->type))
1239 DidHandleKeyEvent(); 1240 DidHandleKeyEvent();
1240 if (WebInputEvent::isMouseEventType(input_event->type)) 1241 if (WebInputEvent::isMouseEventType(input_event->type))
1241 DidHandleMouseEvent(*(static_cast<const WebMouseEvent*>(input_event))); 1242 DidHandleMouseEvent(*(static_cast<const WebMouseEvent*>(input_event)));
1242 if (WebInputEvent::isTouchEventType(input_event->type)) 1243 if (WebInputEvent::isTouchEventType(input_event->type))
1243 DidHandleTouchEvent(*(static_cast<const WebTouchEvent*>(input_event))); 1244 DidHandleTouchEvent(*(static_cast<const WebTouchEvent*>(input_event)));
1244 } 1245 }
1246
1247 // TODO(rouslan): Fix ChromeOS and Windows 8 behavior of autofill popup with
1248 // virtual keyboard.
1249 #if !defined(OS_ANDROID)
1250 // Virtual keyboard is not supported, so react to focus change immediately.
1251 if (processed && (input_event->type == WebInputEvent::TouchEnd ||
1252 input_event->type == WebInputEvent::MouseUp)) {
1253 FocusChangeComplete();
1254 }
1255 #endif
1245 } 1256 }
1246 1257
1247 void RenderWidget::OnCursorVisibilityChange(bool is_visible) { 1258 void RenderWidget::OnCursorVisibilityChange(bool is_visible) {
1248 if (webwidget_) 1259 if (webwidget_)
1249 webwidget_->setCursorVisibilityState(is_visible); 1260 webwidget_->setCursorVisibilityState(is_visible);
1250 } 1261 }
1251 1262
1252 void RenderWidget::OnMouseCaptureLost() { 1263 void RenderWidget::OnMouseCaptureLost() {
1253 if (webwidget_) 1264 if (webwidget_)
1254 webwidget_->mouseCaptureLost(); 1265 webwidget_->mouseCaptureLost();
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
1690 } 1701 }
1691 1702
1692 void RenderWidget::showImeIfNeeded() { 1703 void RenderWidget::showImeIfNeeded() {
1693 OnShowImeIfNeeded(); 1704 OnShowImeIfNeeded();
1694 } 1705 }
1695 1706
1696 void RenderWidget::OnShowImeIfNeeded() { 1707 void RenderWidget::OnShowImeIfNeeded() {
1697 #if defined(OS_ANDROID) || defined(USE_AURA) 1708 #if defined(OS_ANDROID) || defined(USE_AURA)
1698 UpdateTextInputState(SHOW_IME_IF_NEEDED, FROM_NON_IME); 1709 UpdateTextInputState(SHOW_IME_IF_NEEDED, FROM_NON_IME);
1699 #endif 1710 #endif
1711
1712 // TODO(rouslan): Fix ChromeOS and Windows 8 behavior of autofill popup with
1713 // virtual keyboard.
1714 #if !defined(OS_ANDROID)
1715 FocusChangeComplete();
1716 #endif
1700 } 1717 }
1701 1718
1702 #if defined(OS_ANDROID) 1719 #if defined(OS_ANDROID)
1703 void RenderWidget::IncrementOutstandingImeEventAcks() { 1720 void RenderWidget::IncrementOutstandingImeEventAcks() {
1704 ++outstanding_ime_acks_; 1721 ++outstanding_ime_acks_;
1705 } 1722 }
1706 1723
1707 void RenderWidget::OnImeEventAck() { 1724 void RenderWidget::OnImeEventAck() {
1708 --outstanding_ime_acks_; 1725 --outstanding_ime_acks_;
1709 DCHECK(outstanding_ime_acks_ >= 0); 1726 DCHECK(outstanding_ime_acks_ >= 0);
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
2373 void RenderWidget::RegisterVideoHoleFrame(RenderFrameImpl* frame) { 2390 void RenderWidget::RegisterVideoHoleFrame(RenderFrameImpl* frame) {
2374 video_hole_frames_.AddObserver(frame); 2391 video_hole_frames_.AddObserver(frame);
2375 } 2392 }
2376 2393
2377 void RenderWidget::UnregisterVideoHoleFrame(RenderFrameImpl* frame) { 2394 void RenderWidget::UnregisterVideoHoleFrame(RenderFrameImpl* frame) {
2378 video_hole_frames_.RemoveObserver(frame); 2395 video_hole_frames_.RemoveObserver(frame);
2379 } 2396 }
2380 #endif // defined(VIDEO_HOLE) 2397 #endif // defined(VIDEO_HOLE)
2381 2398
2382 } // namespace content 2399 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_widget.h ('k') | content/test/web_layer_tree_view_impl_for_testing.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698