| Index: chrome/browser/extensions/api/input/input.cc
|
| diff --git a/chrome/browser/extensions/api/input/input.cc b/chrome/browser/extensions/api/input/input.cc
|
| index 2e2772b08f5308aa932953d2cf6c091efa5c498e..a3939ad791c08d2eafd7b4bc7fb4f16f08c2cfdf 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);
|
|
|