| Index: content/browser/renderer_host/render_view_host_impl.cc
|
| diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
|
| index ed5cc127b505814522cb614fb8d6a5090aa35340..3e5e25fca08b3f356a1be186a00de49308916aa1 100644
|
| --- a/content/browser/renderer_host/render_view_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_view_host_impl.cc
|
| @@ -832,7 +832,6 @@ bool RenderViewHostImpl::OnMessageReceived(const IPC::Message& msg) {
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_ClosePage_ACK, OnClosePageACK)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_DidZoomURL, OnDidZoomURL)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_RunFileChooser, OnRunFileChooser)
|
| - IPC_MESSAGE_HANDLER(ViewHostMsg_FocusedNodeTouched, OnFocusedNodeTouched)
|
| // Have the super handle all other messages.
|
| IPC_MESSAGE_UNHANDLED(
|
| handled = RenderWidgetHostImpl::OnMessageReceived(msg))
|
| @@ -1143,12 +1142,21 @@ void RenderViewHostImpl::OnTakeFocus(bool reverse) {
|
| view->TakeFocus(reverse);
|
| }
|
|
|
| -void RenderViewHostImpl::OnFocusedNodeChanged(bool is_editable_node) {
|
| +void RenderViewHostImpl::OnFocusedNodeChanged(
|
| + bool is_editable_node,
|
| + blink::WebInputEvent::Type causel_event_type) {
|
| is_focused_element_editable_ = is_editable_node;
|
| if (view_)
|
| view_->FocusedNodeChanged(is_editable_node);
|
| #if defined(OS_WIN)
|
| - if (!is_editable_node && virtual_keyboard_requested_) {
|
| + if (causal_event_type == blink::WebInputEvent::GestureTap) {
|
| + if (is_editable_node) {
|
| + virtual_keyboard_requested_ = base::win::DisplayVirtualKeyboard();
|
| + } else {
|
| + virtual_keyboard_requested_ = false;
|
| + base::win::DismissVirtualKeyboard();
|
| + }
|
| + } else if (!is_editable_node && virtual_keyboard_requested_) {
|
| virtual_keyboard_requested_ = false;
|
| BrowserThread::PostDelayedTask(
|
| BrowserThread::UI, FROM_HERE,
|
| @@ -1363,17 +1371,6 @@ void RenderViewHostImpl::OnRunFileChooser(const FileChooserParams& params) {
|
| delegate_->RunFileChooser(this, params);
|
| }
|
|
|
| -void RenderViewHostImpl::OnFocusedNodeTouched(bool editable) {
|
| -#if defined(OS_WIN)
|
| - if (editable) {
|
| - virtual_keyboard_requested_ = base::win::DisplayVirtualKeyboard();
|
| - } else {
|
| - virtual_keyboard_requested_ = false;
|
| - base::win::DismissVirtualKeyboard();
|
| - }
|
| -#endif
|
| -}
|
| -
|
| bool RenderViewHostImpl::CanAccessFilesOfPageState(
|
| const PageState& state) const {
|
| ChildProcessSecurityPolicyImpl* policy =
|
|
|