OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/extensions/api/input_ime/input_ime_api.h" | 5 #include "chrome/browser/extensions/api/input_ime/input_ime_api.h" |
6 | 6 |
7 #include "base/strings/string_number_conversions.h" | 7 #include "base/strings/string_number_conversions.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "chrome/browser/chromeos/login/lock/screen_locker.h" | 9 #include "chrome/browser/chromeos/login/lock/screen_locker.h" |
| 10 #include "chrome/browser/chromeos/login/ui/user_adding_screen.h" |
10 #include "chrome/browser/chromeos/login/users/user_manager.h" | 11 #include "chrome/browser/chromeos/login/users/user_manager.h" |
11 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 12 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
12 #include "chrome/browser/extensions/extension_service.h" | 13 #include "chrome/browser/extensions/extension_service.h" |
13 #include "chrome/browser/profiles/profile_manager.h" | 14 #include "chrome/browser/profiles/profile_manager.h" |
14 #include "chrome/common/extensions/api/input_ime.h" | 15 #include "chrome/common/extensions/api/input_ime.h" |
15 #include "chrome/common/extensions/api/input_ime/input_components_handler.h" | 16 #include "chrome/common/extensions/api/input_ime/input_components_handler.h" |
16 #include "extensions/browser/event_router.h" | 17 #include "extensions/browser/event_router.h" |
17 #include "extensions/browser/extension_function_registry.h" | 18 #include "extensions/browser/extension_function_registry.h" |
18 #include "extensions/browser/extension_registry.h" | 19 #include "extensions/browser/extension_registry.h" |
19 #include "extensions/browser/extension_system.h" | 20 #include "extensions/browser/extension_system.h" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 | 149 |
149 // The component IME extensions need to know the current screen type (e.g. | 150 // The component IME extensions need to know the current screen type (e.g. |
150 // lock screen, login screen, etc.) so that its on-screen keyboard page | 151 // lock screen, login screen, etc.) so that its on-screen keyboard page |
151 // won't open new windows/pages. See crbug.com/395621. | 152 // won't open new windows/pages. See crbug.com/395621. |
152 base::DictionaryValue* val = NULL; | 153 base::DictionaryValue* val = NULL; |
153 if (args->GetDictionary(0, &val)) { | 154 if (args->GetDictionary(0, &val)) { |
154 std::string screen_type; | 155 std::string screen_type; |
155 if (!UserManager::Get()->IsUserLoggedIn()) { | 156 if (!UserManager::Get()->IsUserLoggedIn()) { |
156 screen_type = "login"; | 157 screen_type = "login"; |
157 } else if (chromeos::ScreenLocker::default_screen_locker() && | 158 } else if (chromeos::ScreenLocker::default_screen_locker() && |
158 chromeos::ScreenLocker::default_screen_locker()->locked()) { | 159 chromeos::ScreenLocker::default_screen_locker()->locked()) { |
159 screen_type = "lock"; | 160 screen_type = "lock"; |
| 161 } else if (UserAddingScreen::Get()->IsRunning()) { |
| 162 screen_type = "secondary-login"; |
160 } | 163 } |
161 if (!screen_type.empty()) | 164 if (!screen_type.empty()) |
162 val->SetStringWithoutPathExpansion("screen", screen_type); | 165 val->SetStringWithoutPathExpansion("screen", screen_type); |
163 } | 166 } |
164 | 167 |
165 DispatchEventToExtension(profile_, extension_id_, | 168 DispatchEventToExtension(profile_, extension_id_, |
166 input_ime::OnFocus::kEventName, args.Pass()); | 169 input_ime::OnFocus::kEventName, args.Pass()); |
167 } | 170 } |
168 | 171 |
169 virtual void OnBlur(int context_id) OVERRIDE { | 172 virtual void OnBlur(int context_id) OVERRIDE { |
(...skipping 709 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
879 input_ime_event_router()->GetActiveEngine(details.extension_id); | 882 input_ime_event_router()->GetActiveEngine(details.extension_id); |
880 if (engine) | 883 if (engine) |
881 engine->NotifyImeReady(); | 884 engine->NotifyImeReady(); |
882 } | 885 } |
883 | 886 |
884 InputImeEventRouter* InputImeAPI::input_ime_event_router() { | 887 InputImeEventRouter* InputImeAPI::input_ime_event_router() { |
885 return InputImeEventRouter::GetInstance(); | 888 return InputImeEventRouter::GetInstance(); |
886 } | 889 } |
887 | 890 |
888 } // namespace extensions | 891 } // namespace extensions |
OLD | NEW |