|
[ChromeOS] Show autofill popup after keyboard (if any) is shown.
The renderer shows autofill popups immediately upon click or focus
change. If the browser shows an IME (virtual keyboard), then it can zoom
and scroll the webpage, which will hide the popup. This behavior causes
a "flash" of autofill popup on platforms with IME (ChromeOS and
Android).
The cross-platform fix is for the renderer to wait until the browser
shows the virtual keyboard and all related animations are finished. The
cross-platform fix along with Android-specific fix is in:
https://codereview.chromium.org/715733002/
This patch is the ChromeOS side of the fix. This patch depends on the
cross-platform patch to fix the issue. The fix is to change
render_widget_host_view_aura behavior to notify the renderer of two
events:
1) Keyboard was requested, but the platform does not support virtual
keyboards.
2) Keyboard was requested, but it was already showing.
These events indicate that the webpage will not be zoomed or scrolled,
and so it is safe to show the autofill popup immediately.
The ChromeOS implementation is threefold:
1) Keyboard_controller notifies input_method that virtual keyboard is
supported and enabled on this platform:
InputMethod::SetSupportsOnScreenKeyboard(bool);
2) Keyboard_controller notifies input_method if it is already showing:
InputMethod::OnKeyboardBoundsUnchanged();
3) An InputMethodObserver object sends a ViewMsg_FocusChangeComplete IPC
message to the renderer.
BUG= 430318
Total comments: 2
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+149 lines, -9 lines) |
Patch |
|
M |
ash/magnifier/magnification_controller.cc
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/chromeos/input_method/textinput_test_helper.h
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
chrome/browser/chromeos/input_method/textinput_test_helper.cc
|
View
|
1
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/renderer_host/render_widget_host_view_aura.cc
|
View
|
1
2
|
4 chunks |
+37 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/common/view_messages.h
|
View
|
1
2
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/renderer/render_widget.cc
|
View
|
1
2
|
3 chunks |
+7 lines, -6 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/dummy_input_method.h
|
View
|
1
2
3
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/dummy_input_method.cc
|
View
|
1
2
3
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/input_method.h
|
View
|
1
2
3
|
3 chunks |
+14 lines, -2 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/input_method_base.h
|
View
|
1
2
3
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/input_method_base.cc
|
View
|
1
2
3
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/input_method_base_unittest.cc
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/input_method_chromeos.h
|
View
|
1
2
3
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/input_method_chromeos.cc
|
View
|
1
2
3
|
2 chunks |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/input_method_observer.h
|
View
|
1
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/mock_input_method.h
|
View
|
1
2
3
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/mock_input_method.cc
|
View
|
1
2
3
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/remote_input_method_win.cc
|
View
|
1
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/base/ime/remote_input_method_win_unittest.cc
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
ui/keyboard/keyboard_controller.h
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
ui/keyboard/keyboard_controller.cc
|
View
|
1
2
3
|
4 chunks |
+7 lines, -1 line |
0 comments
|
Download
|
|
M |
ui/keyboard/webui/vk_mojo_handler.h
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
ui/keyboard/webui/vk_mojo_handler.cc
|
View
|
1
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
ui/views/ime/input_method_bridge.cc
|
View
|
1
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
Total messages: 25 (8 generated)
|