diff options
author | bshe@chromium.org <bshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-29 22:37:45 +0000 |
---|---|---|
committer | bshe@chromium.org <bshe@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-29 22:37:45 +0000 |
commit | 8112ead8d4f1473cc693db5eba0a7ffb9942c928 (patch) | |
tree | 01fb761d43cd484d494a138cfde2198cbd8c9e36 | |
parent | 13c120cbe19477d1c53428a3d6579ffac70fa6b5 (diff) | |
download | chromium_src-8112ead8d4f1473cc693db5eba0a7ffb9942c928.zip chromium_src-8112ead8d4f1473cc693db5eba0a7ffb9942c928.tar.gz chromium_src-8112ead8d4f1473cc693db5eba0a7ffb9942c928.tar.bz2 |
Noop gear button in VK menu popup if not logged in
BUG=395621
Review URL: https://codereview.chromium.org/411463007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286320 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/extensions/api/input/input.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/extensions/api/input/input.cc b/chrome/browser/extensions/api/input/input.cc index 2e2772b..a3939ad 100644 --- a/chrome/browser/extensions/api/input/input.cc +++ b/chrome/browser/extensions/api/input/input.cc @@ -18,6 +18,12 @@ #include "ui/keyboard/keyboard_controller.h" #include "ui/keyboard/keyboard_switches.h" +#if defined(OS_CHROMEOS) +#include "chrome/browser/chromeos/login/lock/screen_locker.h" +#include "chrome/browser/chromeos/login/ui/user_adding_screen.h" +#include "chrome/browser/chromeos/login/users/user_manager.h" +#endif // OS_CHROMEOS + #if defined(USE_ASH) #include "ash/root_window_controller.h" #include "ash/shell.h" @@ -168,6 +174,16 @@ bool VirtualKeyboardPrivateGetKeyboardConfigFunction::RunSync() { bool VirtualKeyboardPrivateOpenSettingsFunction::RunSync() { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); #if defined(USE_ASH) +#if defined(OS_CHROMEOS) + // Do not try to open language options page if user is not logged in or + // locked. + if (!chromeos::UserManager::Get()->IsUserLoggedIn() || + chromeos::UserAddingScreen::Get()->IsRunning() || + (chromeos::ScreenLocker::default_screen_locker() && + chromeos::ScreenLocker::default_screen_locker()->locked())) + return true; +#endif // OS_CHROMEOS + content::RecordAction(base::UserMetricsAction("OpenLanguageOptionsDialog")); chrome::ShowSettingsSubPageForProfile( ProfileManager::GetActiveUserProfile(), chrome::kLanguageOptionsSubPage); |