summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbshe <bshe@chromium.org>2015-04-30 07:02:11 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-30 14:02:57 +0000
commitb67430ec11e6525f04d18471250543b06538c502 (patch)
tree1998cd5261fc166d59a910ac5579bd6e077b9898
parent12d2bf2c3b3ba7d396e1a62a30416792694d5054 (diff)
downloadchromium_src-b67430ec11e6525f04d18471250543b06538c502.zip
chromium_src-b67430ec11e6525f04d18471250543b06538c502.tar.gz
chromium_src-b67430ec11e6525f04d18471250543b06538c502.tar.bz2
Add floating virtual keyboard flag
BUG=466696 Review URL: https://codereview.chromium.org/1104253002 Cr-Commit-Position: refs/heads/master@{#327706}
-rw-r--r--chrome/app/generated_resources.grd6
-rw-r--r--chrome/browser/about_flags.cc17
-rw-r--r--chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc2
-rw-r--r--tools/metrics/histograms/histograms.xml1
-rw-r--r--ui/keyboard/keyboard_switches.cc3
-rw-r--r--ui/keyboard/keyboard_switches.h9
-rw-r--r--ui/keyboard/keyboard_util.cc8
-rw-r--r--ui/keyboard/keyboard_util.h3
8 files changed, 49 insertions, 0 deletions
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index c49d72f..f61d3e9 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -14453,6 +14453,12 @@ After you create a new supervised user, you can manage their settings at any tim
<message name="IDS_FLAGS_ENABLE_EXPERIMENTAL_INPUT_VIEW_FEATURES_DESCRIPTION" desc="Description of about::flags option to enable experimental features for IME input-views">
Enable experimental features for IME input views.
</message>
+ <message name="IDS_FLAGS_FLOATING_VIRTUAL_KEYBOARD_NAME" desc="Name of about::flags option to toggle floating virtual keyboard">
+ Floating virtual keyboard.
+ </message>
+ <message name="IDS_FLAGS_FLOATING_VIRTUAL_KEYBOARD_DESCRIPTION" desc="Description of about::flags option to toggle floating virtual keyboard">
+ Enable/Disable floating virtual keyboard.
+ </message>
<message name="IDS_FLAGS_ENABLE_GESTURE_TYPING_NAME" desc="Name of about::flags option to enable gesture typing for the virtual keyboard">
Gesture typing for the virtual keyboard.
</message>
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 9596ea5..704253e 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -466,6 +466,16 @@ const Experiment::Choice kDataSaverPromptChoices[] = {
chromeos::switches::kEnableDataSaverPrompt,
chromeos::switches::kDataSaverPromptDemoMode },
};
+
+const Experiment::Choice kFloatingVirtualKeyboardChoices[] = {
+ { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
+ { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED,
+ keyboard::switches::kFloatingVirtualKeyboard,
+ keyboard::switches::kFloatingVirtualKeyboardDisabled},
+ { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED,
+ keyboard::switches::kFloatingVirtualKeyboard,
+ keyboard::switches::kFloatingVirtualKeyboardEnabled},
+};
#endif
const Experiment::Choice kSupervisedUserSafeSitesChoices[] = {
@@ -1427,6 +1437,13 @@ const Experiment kExperiments[] = {
SINGLE_VALUE_TYPE(keyboard::switches::kEnableExperimentalInputViewFeatures)
},
{
+ "floating-virtual-keyboard",
+ IDS_FLAGS_FLOATING_VIRTUAL_KEYBOARD_NAME,
+ IDS_FLAGS_FLOATING_VIRTUAL_KEYBOARD_DESCRIPTION,
+ kOsCrOS,
+ MULTI_VALUE_TYPE(kFloatingVirtualKeyboardChoices)
+ },
+ {
"enable-gesture-typing",
IDS_FLAGS_ENABLE_GESTURE_TYPING_NAME,
IDS_FLAGS_ENABLE_GESTURE_TYPING_DESCRIPTION,
diff --git a/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc b/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
index 1d2c821..91c1760 100644
--- a/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
+++ b/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
@@ -62,6 +62,8 @@ bool ChromeVirtualKeyboardDelegate::GetKeyboardConfig(
results->SetBoolean("experimental",
keyboard::IsExperimentalInputViewEnabled());
scoped_ptr<base::ListValue> features(new base::ListValue());
+ features->AppendString(GenerateFeatureFlag(
+ "floatingvirtualkeyboard", keyboard::IsFloatingVirtualKeyboardEnabled()));
features->AppendString(
GenerateFeatureFlag("gesturetyping", keyboard::IsGestureTypingEnabled()));
features->AppendString(GenerateFeatureFlag(
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 3d7c92e..5bfb96b 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -55268,6 +55268,7 @@ To add a new entry, add it with any value and run test to compute valid value.
<int value="-1998927516" label="enable-md-settings"/>
<int value="-1985025593" label="file-manager-enable-new-gallery"/>
<int value="-1972383451" label="disable-pinch"/>
+ <int value="-1941852572" label="floating-virtual-keyboard"/>
<int value="-1940806558" label="enable-syncfs-directory-operation"/>
<int value="-1938263248" label="enable-extension-info-dialog"/>
<int value="-1930720286" label="nacl-debug-mask"/>
diff --git a/ui/keyboard/keyboard_switches.cc b/ui/keyboard/keyboard_switches.cc
index ea3dcbf..e826a8c 100644
--- a/ui/keyboard/keyboard_switches.cc
+++ b/ui/keyboard/keyboard_switches.cc
@@ -18,6 +18,9 @@ const char kEnableGestureSelection[] = "enable-gesture-selection";
const char kEnableGestureDeletion[] = "enable-gesture-deletion";
const char kEnableVirtualKeyboard[] = "enable-virtual-keyboard";
+const char kFloatingVirtualKeyboard[] = "floating-virtual-keyboard";
+const char kFloatingVirtualKeyboardDisabled[] ="disabled";
+const char kFloatingVirtualKeyboardEnabled[] ="enabled";
const char kDisableSmartVirtualKeyboard[] = "disable-smart-virtual-keyboard";
const char kDisableVirtualKeyboardOverscroll[] =
diff --git a/ui/keyboard/keyboard_switches.h b/ui/keyboard/keyboard_switches.h
index 6ed555e..a7102f9 100644
--- a/ui/keyboard/keyboard_switches.h
+++ b/ui/keyboard/keyboard_switches.h
@@ -36,6 +36,15 @@ KEYBOARD_EXPORT extern const char kEnableGestureDeletion[];
// Enables the virtual keyboard.
KEYBOARD_EXPORT extern const char kEnableVirtualKeyboard[];
+// Floating virtual keyboard flag.
+KEYBOARD_EXPORT extern const char kFloatingVirtualKeyboard[];
+
+// Disable floating virtual keyboard.
+KEYBOARD_EXPORT extern const char kFloatingVirtualKeyboardDisabled[];
+
+// Enable floating virtual keyboard.
+KEYBOARD_EXPORT extern const char kFloatingVirtualKeyboardEnabled[];
+
// Disabled overscrolling of web content when the virtual keyboard is displayed.
// If disabled, the work area is resized to restrict windows from overlapping
// with the keybaord area.
diff --git a/ui/keyboard/keyboard_util.cc b/ui/keyboard/keyboard_util.cc
index 7b77b43..0dbabc1 100644
--- a/ui/keyboard/keyboard_util.cc
+++ b/ui/keyboard/keyboard_util.cc
@@ -155,6 +155,14 @@ bool IsExperimentalInputViewEnabled() {
switches::kEnableExperimentalInputViewFeatures);
}
+bool IsFloatingVirtualKeyboardEnabled() {
+ std::string floating_virtual_keyboard_switch =
+ base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
+ switches::kFloatingVirtualKeyboard);
+ return floating_virtual_keyboard_switch ==
+ switches::kFloatingVirtualKeyboardEnabled;
+}
+
bool IsGestureTypingEnabled() {
return base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kEnableGestureTyping);
diff --git a/ui/keyboard/keyboard_util.h b/ui/keyboard/keyboard_util.h
index 3ef2c14..0e196b2 100644
--- a/ui/keyboard/keyboard_util.h
+++ b/ui/keyboard/keyboard_util.h
@@ -93,6 +93,9 @@ KEYBOARD_EXPORT bool IsInputViewEnabled();
// Returns true if experimental features are enabled for IME input-views.
KEYBOARD_EXPORT bool IsExperimentalInputViewEnabled();
+// Returns true if floating virtual keyboard feature is enabled.
+KEYBOARD_EXPORT bool IsFloatingVirtualKeyboardEnabled();
+
// Returns true if gesture typing is enabled for virtual keyboard.
KEYBOARD_EXPORT bool IsGestureTypingEnabled();