New issue
Advanced search Search tips

Issue 682009 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

showVirtualKeyboard() should be removed from WebViewClient.

Project Member Reported by ekaramad@chromium.org, Jan 17 2017

Issue description

This method is eventually executed on RenderWidget. In order to make IME properly work with OOPIFs (specifically, on Android), we should remove the implementation from WebViewClient and RenderViewImpl and instead, let ChromeClientImpl call the WebWidgetClient::showVirtualKeyboard.

The WebWidgetClient is the one for the focused frame.
 
Cc: creis@chromium.org dcheng@chromium.org
Components: UI>Input>Text Internals>Sandbox>SiteIsolation
Labels: OS-Android
Status: Started (was: Assigned)
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e2d08a7fc2db1297a7f2a28c40659af534c309e

commit 1e2d08a7fc2db1297a7f2a28c40659af534c309e
Author: ekaramad <ekaramad@chromium.org>
Date: Thu Mar 09 19:06:49 2017

Remove WebViewClient::showVirtualKeyboardOnElementFocus()

When an <input> is focused by user gesture, ChildClientImpl calls this
method on RenderViewImpl to make sure the proper TextInputState to show
IME keyboard is sent to the browser (used for Android). However, for
OOPIFs it does not make sense to call this on RenderView and rather, the
call should be directed to the RenderWidget corresponding to the local
root of the focused element/frame.

This CL removes the current override from RenderViewImpl/WebViewClient
and directs the call to the frameWidget() of the focused frame instead.

This CL also adds a WebFrameTest.

BUG= 578168 ,  682009 

Review-Url: https://codereview.chromium.org/2709813007
Cr-Commit-Position: refs/heads/master@{#455820}

[modify] https://crrev.com/1e2d08a7fc2db1297a7f2a28c40659af534c309e/content/renderer/render_view_impl.cc
[modify] https://crrev.com/1e2d08a7fc2db1297a7f2a28c40659af534c309e/content/renderer/render_view_impl.h
[modify] https://crrev.com/1e2d08a7fc2db1297a7f2a28c40659af534c309e/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/1e2d08a7fc2db1297a7f2a28c40659af534c309e/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/1e2d08a7fc2db1297a7f2a28c40659af534c309e/third_party/WebKit/Source/web/ChromeClientImpl.cpp
[modify] https://crrev.com/1e2d08a7fc2db1297a7f2a28c40659af534c309e/third_party/WebKit/Source/web/ChromeClientImpl.h
[modify] https://crrev.com/1e2d08a7fc2db1297a7f2a28c40659af534c309e/third_party/WebKit/Source/web/tests/ImeOnFocusTest.cpp
[modify] https://crrev.com/1e2d08a7fc2db1297a7f2a28c40659af534c309e/third_party/WebKit/Source/web/tests/WebFrameTest.cpp
[modify] https://crrev.com/1e2d08a7fc2db1297a7f2a28c40659af534c309e/third_party/WebKit/public/web/WebViewClient.h

Status: Fixed (was: Started)
Marking as fixed baed on comment #2.

Sign in to add a comment