diff options
author | yukishiino@chromium.org <yukishiino@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-08 23:51:52 +0000 |
---|---|---|
committer | yukishiino@chromium.org <yukishiino@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-08 23:51:52 +0000 |
commit | 8f374cee60e9d94a67f033e5573a948c87111251 (patch) | |
tree | 0770abe27fca8d61bf80d19d88c949f1ca5e15b6 /chrome/browser/about_flags.cc | |
parent | 3ec9ed0d6beebbf753cc71c7a1d169af097c1cf9 (diff) | |
download | chromium_src-8f374cee60e9d94a67f033e5573a948c87111251.zip chromium_src-8f374cee60e9d94a67f033e5573a948c87111251.tar.gz chromium_src-8f374cee60e9d94a67f033e5573a948c87111251.tar.bz2 |
Redesigns the text input focus handling.
Introduces the new focus handling of text input behind a flag. Unless the flag is enabled, the behavior doesn't change. Once we confirm that the new design works well, we will remove the old text input focus handling code.
Here is a document that describes the approach.
https://docs.google.com/document/d/1tTcJJqh2SE8-9mEHjEzbILa_ebH96B9LCVKMuZ2p6gw/edit?usp=sharing
Notable change in ui/views/widget/desktop_aura/x11_desktop_handler.cc
The timing to update |current_window_| is changed so that the active widget has been changed before a callback function HandleNativeWidgetActivationChanged() is called.
In the new design, the active widget's focus manager controls the text input focus, so it's important that the active widget has been updated before HandleNativeWidgetActivationChanged gets called.
BUG=290701
TEST=Run chrome with --enable-text-input-focus-manager and ensure that text input in the omnibox, find bar, bookmark bubble, bookmark edit dialog, and web content work as expected when you change the text input focus by mouse clicks or tab key, also when you change the active window from/to other windows.
Review URL: https://codereview.chromium.org/173803002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269106 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/about_flags.cc')
-rw-r--r-- | chrome/browser/about_flags.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc index 40d682b..6f6c9e3 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc @@ -1858,6 +1858,16 @@ const Experiment kExperiments[] = { kOsAll, MULTI_VALUE_TYPE(kDistanceFieldTextChoices) }, +#if defined(USE_AURA) + { + "text-input-focus-manager", + IDS_FLAGS_TEXT_INPUT_FOCUS_MANAGER_NAME, + IDS_FLAGS_TEXT_INPUT_FOCUS_MANAGER_DESCRIPTION, + kOsCrOS | kOsLinux | kOsWin, + ENABLE_DISABLE_VALUE_TYPE(switches::kEnableTextInputFocusManager, + switches::kDisableTextInputFocusManager) + }, +#endif }; const Experiment* experiments = kExperiments; |