| 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/ui/ash/chrome_shell_delegate.h" | 5 #include "chrome/browser/ui/ash/chrome_shell_delegate.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "ash/accelerators/magnifier_key_scroller.h" | 9 #include "ash/accelerators/magnifier_key_scroller.h" |
| 10 #include "ash/accelerators/spoken_feedback_toggler.h" | 10 #include "ash/accelerators/spoken_feedback_toggler.h" |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 #include "components/user_manager/user_manager.h" | 69 #include "components/user_manager/user_manager.h" |
| 70 #include "content/public/browser/notification_service.h" | 70 #include "content/public/browser/notification_service.h" |
| 71 #include "content/public/browser/user_metrics.h" | 71 #include "content/public/browser/user_metrics.h" |
| 72 #include "grit/theme_resources.h" | 72 #include "grit/theme_resources.h" |
| 73 #include "ui/app_list/presenter/app_list_presenter.h" | 73 #include "ui/app_list/presenter/app_list_presenter.h" |
| 74 #include "ui/aura/window.h" | 74 #include "ui/aura/window.h" |
| 75 #include "ui/base/ime/chromeos/input_method_manager.h" | 75 #include "ui/base/ime/chromeos/input_method_manager.h" |
| 76 #include "ui/base/l10n/l10n_util.h" | 76 #include "ui/base/l10n/l10n_util.h" |
| 77 #include "ui/base/resource/resource_bundle.h" | 77 #include "ui/base/resource/resource_bundle.h" |
| 78 | 78 |
| 79 using chromeos::AccessibilityManager; |
| 80 |
| 79 namespace { | 81 namespace { |
| 80 | 82 |
| 81 const char kKeyboardShortcutHelpPageUrl[] = | 83 const char kKeyboardShortcutHelpPageUrl[] = |
| 82 "https://support.google.com/chromebook/answer/183101"; | 84 "https://support.google.com/chromebook/answer/183101"; |
| 83 | 85 |
| 84 void InitAfterFirstSessionStart() { | 86 void InitAfterFirstSessionStart() { |
| 85 // Restore focus after the user session is started. It's needed because some | 87 // Restore focus after the user session is started. It's needed because some |
| 86 // windows can be opened in background while login UI is still active because | 88 // windows can be opened in background while login UI is still active because |
| 87 // we currently restore browser windows before login UI is deleted. | 89 // we currently restore browser windows before login UI is deleted. |
| 88 aura::Window::Windows mru_list = ash::WmWindowAura::ToAuraWindows( | 90 aura::Window::Windows mru_list = ash::WmWindowAura::ToAuraWindows( |
| 89 ash::WmShell::Get()->mru_window_tracker()->BuildMruWindowList()); | 91 ash::WmShell::Get()->mru_window_tracker()->BuildMruWindowList()); |
| 90 if (!mru_list.empty()) | 92 if (!mru_list.empty()) |
| 91 mru_list.front()->Focus(); | 93 mru_list.front()->Focus(); |
| 92 | 94 |
| 93 // Enable magnifier scroll keys as there may be no mouse cursor in kiosk mode. | 95 // Enable magnifier scroll keys as there may be no mouse cursor in kiosk mode. |
| 94 ash::MagnifierKeyScroller::SetEnabled(chrome::IsRunningInForcedAppMode()); | 96 ash::MagnifierKeyScroller::SetEnabled(chrome::IsRunningInForcedAppMode()); |
| 95 | 97 |
| 96 // Enable long press action to toggle spoken feedback with hotrod | 98 // Enable long press action to toggle spoken feedback with hotrod |
| 97 // remote which can't handle shortcut. | 99 // remote which can't handle shortcut. |
| 98 ash::SpokenFeedbackToggler::SetEnabled(chrome::IsRunningInForcedAppMode()); | 100 ash::SpokenFeedbackToggler::SetEnabled(chrome::IsRunningInForcedAppMode()); |
| 99 } | 101 } |
| 100 | 102 |
| 101 class AccessibilityDelegateImpl : public ash::AccessibilityDelegate { | 103 class AccessibilityDelegateImpl : public ash::AccessibilityDelegate { |
| 102 public: | 104 public: |
| 103 AccessibilityDelegateImpl() { | 105 AccessibilityDelegateImpl() { |
| 104 ash::WmShell::Get()->AddShellObserver( | 106 ash::WmShell::Get()->AddShellObserver(AccessibilityManager::Get()); |
| 105 chromeos::AccessibilityManager::Get()); | |
| 106 } | 107 } |
| 107 ~AccessibilityDelegateImpl() override { | 108 ~AccessibilityDelegateImpl() override { |
| 108 ash::WmShell::Get()->RemoveShellObserver( | 109 ash::WmShell::Get()->RemoveShellObserver(AccessibilityManager::Get()); |
| 109 chromeos::AccessibilityManager::Get()); | |
| 110 } | 110 } |
| 111 | 111 |
| 112 void ToggleHighContrast() override { | 112 void ToggleHighContrast() override { |
| 113 DCHECK(chromeos::AccessibilityManager::Get()); | 113 DCHECK(AccessibilityManager::Get()); |
| 114 chromeos::AccessibilityManager::Get()->EnableHighContrast( | 114 AccessibilityManager::Get()->EnableHighContrast( |
| 115 !chromeos::AccessibilityManager::Get()->IsHighContrastEnabled()); | 115 !AccessibilityManager::Get()->IsHighContrastEnabled()); |
| 116 } | 116 } |
| 117 | 117 |
| 118 bool IsSpokenFeedbackEnabled() const override { | 118 bool IsSpokenFeedbackEnabled() const override { |
| 119 DCHECK(chromeos::AccessibilityManager::Get()); | 119 DCHECK(AccessibilityManager::Get()); |
| 120 return chromeos::AccessibilityManager::Get()->IsSpokenFeedbackEnabled(); | 120 return AccessibilityManager::Get()->IsSpokenFeedbackEnabled(); |
| 121 } | 121 } |
| 122 | 122 |
| 123 void ToggleSpokenFeedback( | 123 void ToggleSpokenFeedback( |
| 124 ash::AccessibilityNotificationVisibility notify) override { | 124 ash::AccessibilityNotificationVisibility notify) override { |
| 125 DCHECK(chromeos::AccessibilityManager::Get()); | 125 DCHECK(AccessibilityManager::Get()); |
| 126 chromeos::AccessibilityManager::Get()->ToggleSpokenFeedback(notify); | 126 AccessibilityManager::Get()->ToggleSpokenFeedback(notify); |
| 127 } | 127 } |
| 128 | 128 |
| 129 bool IsHighContrastEnabled() const override { | 129 bool IsHighContrastEnabled() const override { |
| 130 DCHECK(chromeos::AccessibilityManager::Get()); | 130 DCHECK(AccessibilityManager::Get()); |
| 131 return chromeos::AccessibilityManager::Get()->IsHighContrastEnabled(); | 131 return AccessibilityManager::Get()->IsHighContrastEnabled(); |
| 132 } | 132 } |
| 133 | 133 |
| 134 void SetMagnifierEnabled(bool enabled) override { | 134 void SetMagnifierEnabled(bool enabled) override { |
| 135 DCHECK(chromeos::MagnificationManager::Get()); | 135 DCHECK(chromeos::MagnificationManager::Get()); |
| 136 return chromeos::MagnificationManager::Get()->SetMagnifierEnabled(enabled); | 136 return chromeos::MagnificationManager::Get()->SetMagnifierEnabled(enabled); |
| 137 } | 137 } |
| 138 | 138 |
| 139 void SetMagnifierType(ash::MagnifierType type) override { | 139 void SetMagnifierType(ash::MagnifierType type) override { |
| 140 DCHECK(chromeos::MagnificationManager::Get()); | 140 DCHECK(chromeos::MagnificationManager::Get()); |
| 141 return chromeos::MagnificationManager::Get()->SetMagnifierType(type); | 141 return chromeos::MagnificationManager::Get()->SetMagnifierType(type); |
| 142 } | 142 } |
| 143 | 143 |
| 144 bool IsMagnifierEnabled() const override { | 144 bool IsMagnifierEnabled() const override { |
| 145 DCHECK(chromeos::MagnificationManager::Get()); | 145 DCHECK(chromeos::MagnificationManager::Get()); |
| 146 return chromeos::MagnificationManager::Get()->IsMagnifierEnabled(); | 146 return chromeos::MagnificationManager::Get()->IsMagnifierEnabled(); |
| 147 } | 147 } |
| 148 | 148 |
| 149 ash::MagnifierType GetMagnifierType() const override { | 149 ash::MagnifierType GetMagnifierType() const override { |
| 150 DCHECK(chromeos::MagnificationManager::Get()); | 150 DCHECK(chromeos::MagnificationManager::Get()); |
| 151 return chromeos::MagnificationManager::Get()->GetMagnifierType(); | 151 return chromeos::MagnificationManager::Get()->GetMagnifierType(); |
| 152 } | 152 } |
| 153 | 153 |
| 154 void SetLargeCursorEnabled(bool enabled) override { | 154 void SetLargeCursorEnabled(bool enabled) override { |
| 155 DCHECK(chromeos::AccessibilityManager::Get()); | 155 DCHECK(AccessibilityManager::Get()); |
| 156 return chromeos::AccessibilityManager::Get()->EnableLargeCursor(enabled); | 156 return AccessibilityManager::Get()->EnableLargeCursor(enabled); |
| 157 } | 157 } |
| 158 | 158 |
| 159 bool IsLargeCursorEnabled() const override { | 159 bool IsLargeCursorEnabled() const override { |
| 160 DCHECK(chromeos::AccessibilityManager::Get()); | 160 DCHECK(AccessibilityManager::Get()); |
| 161 return chromeos::AccessibilityManager::Get()->IsLargeCursorEnabled(); | 161 return AccessibilityManager::Get()->IsLargeCursorEnabled(); |
| 162 } | 162 } |
| 163 | 163 |
| 164 void SetAutoclickEnabled(bool enabled) override { | 164 void SetAutoclickEnabled(bool enabled) override { |
| 165 DCHECK(chromeos::AccessibilityManager::Get()); | 165 DCHECK(AccessibilityManager::Get()); |
| 166 return chromeos::AccessibilityManager::Get()->EnableAutoclick(enabled); | 166 return AccessibilityManager::Get()->EnableAutoclick(enabled); |
| 167 } | 167 } |
| 168 | 168 |
| 169 bool IsAutoclickEnabled() const override { | 169 bool IsAutoclickEnabled() const override { |
| 170 DCHECK(chromeos::AccessibilityManager::Get()); | 170 DCHECK(AccessibilityManager::Get()); |
| 171 return chromeos::AccessibilityManager::Get()->IsAutoclickEnabled(); | 171 return AccessibilityManager::Get()->IsAutoclickEnabled(); |
| 172 } | 172 } |
| 173 | 173 |
| 174 void SetVirtualKeyboardEnabled(bool enabled) override { | 174 void SetVirtualKeyboardEnabled(bool enabled) override { |
| 175 DCHECK(chromeos::AccessibilityManager::Get()); | 175 DCHECK(AccessibilityManager::Get()); |
| 176 return chromeos::AccessibilityManager::Get()->EnableVirtualKeyboard( | 176 return AccessibilityManager::Get()->EnableVirtualKeyboard(enabled); |
| 177 enabled); | |
| 178 } | 177 } |
| 179 | 178 |
| 180 bool IsVirtualKeyboardEnabled() const override { | 179 bool IsVirtualKeyboardEnabled() const override { |
| 181 DCHECK(chromeos::AccessibilityManager::Get()); | 180 DCHECK(AccessibilityManager::Get()); |
| 182 return chromeos::AccessibilityManager::Get()->IsVirtualKeyboardEnabled(); | 181 return AccessibilityManager::Get()->IsVirtualKeyboardEnabled(); |
| 183 } | 182 } |
| 184 | 183 |
| 185 void SetMonoAudioEnabled(bool enabled) override { | 184 void SetMonoAudioEnabled(bool enabled) override { |
| 186 DCHECK(chromeos::AccessibilityManager::Get()); | 185 DCHECK(AccessibilityManager::Get()); |
| 187 return chromeos::AccessibilityManager::Get()->EnableMonoAudio(enabled); | 186 return AccessibilityManager::Get()->EnableMonoAudio(enabled); |
| 188 } | 187 } |
| 189 | 188 |
| 190 bool IsMonoAudioEnabled() const override { | 189 bool IsMonoAudioEnabled() const override { |
| 191 DCHECK(chromeos::AccessibilityManager::Get()); | 190 DCHECK(AccessibilityManager::Get()); |
| 192 return chromeos::AccessibilityManager::Get()->IsMonoAudioEnabled(); | 191 return AccessibilityManager::Get()->IsMonoAudioEnabled(); |
| 193 } | 192 } |
| 194 | 193 |
| 195 void SetCaretHighlightEnabled(bool enabled) override { | 194 void SetCaretHighlightEnabled(bool enabled) override { |
| 196 DCHECK(chromeos::AccessibilityManager::Get()); | 195 DCHECK(AccessibilityManager::Get()); |
| 197 chromeos::AccessibilityManager::Get()->SetCaretHighlightEnabled(enabled); | 196 AccessibilityManager::Get()->SetCaretHighlightEnabled(enabled); |
| 198 } | 197 } |
| 199 | 198 |
| 200 bool IsCaretHighlightEnabled() const override { | 199 bool IsCaretHighlightEnabled() const override { |
| 201 DCHECK(chromeos::AccessibilityManager::Get()); | 200 DCHECK(AccessibilityManager::Get()); |
| 202 return chromeos::AccessibilityManager::Get()->IsCaretHighlightEnabled(); | 201 return AccessibilityManager::Get()->IsCaretHighlightEnabled(); |
| 203 } | 202 } |
| 204 | 203 |
| 205 void SetCursorHighlightEnabled(bool enabled) override { | 204 void SetCursorHighlightEnabled(bool enabled) override { |
| 206 DCHECK(chromeos::AccessibilityManager::Get()); | 205 DCHECK(AccessibilityManager::Get()); |
| 207 chromeos::AccessibilityManager::Get()->SetCursorHighlightEnabled(enabled); | 206 AccessibilityManager::Get()->SetCursorHighlightEnabled(enabled); |
| 208 } | 207 } |
| 209 | 208 |
| 210 bool IsCursorHighlightEnabled() const override { | 209 bool IsCursorHighlightEnabled() const override { |
| 211 DCHECK(chromeos::AccessibilityManager::Get()); | 210 DCHECK(AccessibilityManager::Get()); |
| 212 return chromeos::AccessibilityManager::Get()->IsCursorHighlightEnabled(); | 211 return AccessibilityManager::Get()->IsCursorHighlightEnabled(); |
| 213 } | 212 } |
| 214 | 213 |
| 215 void SetFocusHighlightEnabled(bool enabled) override { | 214 void SetFocusHighlightEnabled(bool enabled) override { |
| 216 DCHECK(chromeos::AccessibilityManager::Get()); | 215 DCHECK(AccessibilityManager::Get()); |
| 217 chromeos::AccessibilityManager::Get()->SetFocusHighlightEnabled(enabled); | 216 AccessibilityManager::Get()->SetFocusHighlightEnabled(enabled); |
| 218 } | 217 } |
| 219 | 218 |
| 220 bool IsFocusHighlightEnabled() const override { | 219 bool IsFocusHighlightEnabled() const override { |
| 221 DCHECK(chromeos::AccessibilityManager::Get()); | 220 DCHECK(AccessibilityManager::Get()); |
| 222 return chromeos::AccessibilityManager::Get()->IsFocusHighlightEnabled(); | 221 return AccessibilityManager::Get()->IsFocusHighlightEnabled(); |
| 223 } | 222 } |
| 224 | 223 |
| 225 void SetSelectToSpeakEnabled(bool enabled) override { | 224 void SetSelectToSpeakEnabled(bool enabled) override { |
| 226 DCHECK(chromeos::AccessibilityManager::Get()); | 225 DCHECK(AccessibilityManager::Get()); |
| 227 chromeos::AccessibilityManager::Get()->SetSelectToSpeakEnabled(enabled); | 226 AccessibilityManager::Get()->SetSelectToSpeakEnabled(enabled); |
| 228 } | 227 } |
| 229 | 228 |
| 230 bool IsSelectToSpeakEnabled() const override { | 229 bool IsSelectToSpeakEnabled() const override { |
| 231 DCHECK(chromeos::AccessibilityManager::Get()); | 230 DCHECK(AccessibilityManager::Get()); |
| 232 return chromeos::AccessibilityManager::Get()->IsSelectToSpeakEnabled(); | 231 return AccessibilityManager::Get()->IsSelectToSpeakEnabled(); |
| 233 } | 232 } |
| 234 | 233 |
| 235 void SetSwitchAccessEnabled(bool enabled) override { | 234 void SetSwitchAccessEnabled(bool enabled) override { |
| 236 DCHECK(chromeos::AccessibilityManager::Get()); | 235 DCHECK(AccessibilityManager::Get()); |
| 237 chromeos::AccessibilityManager::Get()->SetSwitchAccessEnabled(enabled); | 236 AccessibilityManager::Get()->SetSwitchAccessEnabled(enabled); |
| 238 } | 237 } |
| 239 | 238 |
| 240 bool IsSwitchAccessEnabled() const override { | 239 bool IsSwitchAccessEnabled() const override { |
| 241 DCHECK(chromeos::AccessibilityManager::Get()); | 240 DCHECK(AccessibilityManager::Get()); |
| 242 return chromeos::AccessibilityManager::Get()->IsSwitchAccessEnabled(); | 241 return AccessibilityManager::Get()->IsSwitchAccessEnabled(); |
| 243 } | 242 } |
| 244 | 243 |
| 245 bool ShouldShowAccessibilityMenu() const override { | 244 bool ShouldShowAccessibilityMenu() const override { |
| 246 DCHECK(chromeos::AccessibilityManager::Get()); | 245 DCHECK(AccessibilityManager::Get()); |
| 247 return chromeos::AccessibilityManager::Get()->ShouldShowAccessibilityMenu(); | 246 return AccessibilityManager::Get()->ShouldShowAccessibilityMenu(); |
| 248 } | 247 } |
| 249 | 248 |
| 250 bool IsBrailleDisplayConnected() const override { | 249 bool IsBrailleDisplayConnected() const override { |
| 251 DCHECK(chromeos::AccessibilityManager::Get()); | 250 DCHECK(AccessibilityManager::Get()); |
| 252 return chromeos::AccessibilityManager::Get()->IsBrailleDisplayConnected(); | 251 return AccessibilityManager::Get()->IsBrailleDisplayConnected(); |
| 253 } | 252 } |
| 254 | 253 |
| 255 void SilenceSpokenFeedback() const override { | 254 void SilenceSpokenFeedback() const override { |
| 256 TtsController::GetInstance()->Stop(); | 255 TtsController::GetInstance()->Stop(); |
| 257 } | 256 } |
| 258 | 257 |
| 259 void SaveScreenMagnifierScale(double scale) override { | 258 void SaveScreenMagnifierScale(double scale) override { |
| 260 if (chromeos::MagnificationManager::Get()) | 259 if (chromeos::MagnificationManager::Get()) |
| 261 chromeos::MagnificationManager::Get()->SaveScreenMagnifierScale(scale); | 260 chromeos::MagnificationManager::Get()->SaveScreenMagnifierScale(scale); |
| 262 } | 261 } |
| (...skipping 25 matching lines...) Expand all Loading... |
| 288 break; | 287 break; |
| 289 } | 288 } |
| 290 } | 289 } |
| 291 } | 290 } |
| 292 | 291 |
| 293 ash::AccessibilityAlert GetLastAccessibilityAlert() override { | 292 ash::AccessibilityAlert GetLastAccessibilityAlert() override { |
| 294 return ash::A11Y_ALERT_NONE; | 293 return ash::A11Y_ALERT_NONE; |
| 295 } | 294 } |
| 296 | 295 |
| 297 void PlayEarcon(int sound_key) override { | 296 void PlayEarcon(int sound_key) override { |
| 298 DCHECK(chromeos::AccessibilityManager::Get()); | 297 DCHECK(AccessibilityManager::Get()); |
| 299 return chromeos::AccessibilityManager::Get()->PlayEarcon(sound_key); | 298 AccessibilityManager::Get()->PlayEarcon( |
| 299 sound_key, chromeos::PlaySoundOption::SPOKEN_FEEDBACK_ENABLED); |
| 300 } | 300 } |
| 301 | 301 |
| 302 base::TimeDelta PlayShutdownSound() const override { | 302 base::TimeDelta PlayShutdownSound() const override { |
| 303 return chromeos::AccessibilityManager::Get()->PlayShutdownSound(); | 303 return AccessibilityManager::Get()->PlayShutdownSound(); |
| 304 } | 304 } |
| 305 | 305 |
| 306 void HandleAccessibilityGesture(ui::AXGesture gesture) override { | 306 void HandleAccessibilityGesture(ui::AXGesture gesture) override { |
| 307 chromeos::AccessibilityManager::Get()->HandleAccessibilityGesture(gesture); | 307 AccessibilityManager::Get()->HandleAccessibilityGesture(gesture); |
| 308 } | 308 } |
| 309 | 309 |
| 310 private: | 310 private: |
| 311 DISALLOW_COPY_AND_ASSIGN(AccessibilityDelegateImpl); | 311 DISALLOW_COPY_AND_ASSIGN(AccessibilityDelegateImpl); |
| 312 }; | 312 }; |
| 313 | 313 |
| 314 } // namespace | 314 } // namespace |
| 315 | 315 |
| 316 ChromeShellDelegate::ChromeShellDelegate() | 316 ChromeShellDelegate::ChromeShellDelegate() |
| 317 : shelf_delegate_(NULL) { | 317 : shelf_delegate_(NULL) { |
| (...skipping 27 matching lines...) Expand all Loading... |
| 345 // allowed, but for an "ephermal" user (see crbug.com/312324) it is not | 345 // allowed, but for an "ephermal" user (see crbug.com/312324) it is not |
| 346 // decided yet if he could add other users to his session or not. | 346 // decided yet if he could add other users to his session or not. |
| 347 // TODO(skuhne): As soon as the issue above needs to be resolved, this logic | 347 // TODO(skuhne): As soon as the issue above needs to be resolved, this logic |
| 348 // should change. | 348 // should change. |
| 349 logged_in_users = 1; | 349 logged_in_users = 1; |
| 350 } | 350 } |
| 351 return admitted_users_to_be_added + logged_in_users > 1; | 351 return admitted_users_to_be_added + logged_in_users > 1; |
| 352 } | 352 } |
| 353 | 353 |
| 354 bool ChromeShellDelegate::IsIncognitoAllowed() const { | 354 bool ChromeShellDelegate::IsIncognitoAllowed() const { |
| 355 return chromeos::AccessibilityManager::Get()->IsIncognitoAllowed(); | 355 return AccessibilityManager::Get()->IsIncognitoAllowed(); |
| 356 } | 356 } |
| 357 | 357 |
| 358 bool ChromeShellDelegate::IsRunningInForcedAppMode() const { | 358 bool ChromeShellDelegate::IsRunningInForcedAppMode() const { |
| 359 return chrome::IsRunningInForcedAppMode(); | 359 return chrome::IsRunningInForcedAppMode(); |
| 360 } | 360 } |
| 361 | 361 |
| 362 bool ChromeShellDelegate::CanShowWindowForUser(ash::WmWindow* window) const { | 362 bool ChromeShellDelegate::CanShowWindowForUser(ash::WmWindow* window) const { |
| 363 return ::CanShowWindowForUser(ash::WmWindowAura::GetAuraWindow(window), | 363 return ::CanShowWindowForUser(ash::WmWindowAura::GetAuraWindow(window), |
| 364 base::Bind(&GetActiveBrowserContext)); | 364 base::Bind(&GetActiveBrowserContext)); |
| 365 } | 365 } |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 558 NOTREACHED() << "Unexpected notification " << type; | 558 NOTREACHED() << "Unexpected notification " << type; |
| 559 } | 559 } |
| 560 } | 560 } |
| 561 | 561 |
| 562 void ChromeShellDelegate::PlatformInit() { | 562 void ChromeShellDelegate::PlatformInit() { |
| 563 registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, | 563 registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_PROFILE_PREPARED, |
| 564 content::NotificationService::AllSources()); | 564 content::NotificationService::AllSources()); |
| 565 registrar_.Add(this, chrome::NOTIFICATION_SESSION_STARTED, | 565 registrar_.Add(this, chrome::NOTIFICATION_SESSION_STARTED, |
| 566 content::NotificationService::AllSources()); | 566 content::NotificationService::AllSources()); |
| 567 } | 567 } |
| OLD | NEW |