summaryrefslogtreecommitdiffstats
path: root/ui/gfx/text_utils_android.cc
diff options
context:
space:
mode:
authorrouslan <rouslan@chromium.org>2015-01-21 17:54:14 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-22 01:55:40 +0000
commitf7ebd883699112506893fc0500a65c5a10e563ec (patch)
tree9e19faae4ecf97f42adc6d2620b0903ab2837f74 /ui/gfx/text_utils_android.cc
parent196692c000558976906e11c7d184301c55aada20 (diff)
downloadchromium_src-f7ebd883699112506893fc0500a65c5a10e563ec.zip
chromium_src-f7ebd883699112506893fc0500a65c5a10e563ec.tar.gz
chromium_src-f7ebd883699112506893fc0500a65c5a10e563ec.tar.bz2
[Android] Show autofill popup after animation.
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, Windows 8, and Android). This patch mostly fixes Android and paves the way for fixing Windows 8 and ChromeOS. The fix involves roughly 5 parts. 1) If the platform does not support a virtual keyboard (Mac, Linux, Windows 7), the renderer shows the autofill popup immediately. 2) If a virtual keyboard is supported, but disabled (ChromeOS without a virtual keyboard and Android with a hardware keyboard), then the browser notifies the renderer that the autofill popup can be shown. 3) If the virtual keyboard is already showing, then the browser notifies the renderer that the autofill popup can be shown. A corner case is the Android keyboard, which can change its own size when switching between input fields, thus resizing the webpage and hiding the autofill popup. The mitigation is to hide the autofill popup only if the input field moves due to the resize. This mitigation is not in this patch. 4) If the input field is already in a good position (visible on screen and legible size) after the keyboard is shown, then there will be no zoom and scroll animations. Then the renderer can show the autofill popup. 5) If the input field is zooming and scrolling into a good position (visible on screen and legible size) after the keyboard is shown, then the renderer waits until the compositor notifies it that the this animation has finished. Then the renderer can show the autofill popup. BUG=430318, 440161 Review URL: https://codereview.chromium.org/715733002 Cr-Commit-Position: refs/heads/master@{#312521}
Diffstat (limited to 'ui/gfx/text_utils_android.cc')
0 files changed, 0 insertions, 0 deletions