Chromium Code Reviews| 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 "ash/system/tray_accessibility.h" | 5 #include "ash/system/tray_accessibility.h" |
| 6 | 6 |
| 7 #include "ash/common/accessibility_delegate.h" | 7 #include "ash/common/accessibility_delegate.h" |
| 8 #include "ash/common/session/session_state_delegate.h" | 8 #include "ash/common/session/session_state_delegate.h" |
| 9 #include "ash/common/system/tray/hover_highlight_view.h" | 9 #include "ash/common/system/tray/hover_highlight_view.h" |
| 10 #include "ash/common/system/tray/system_tray_delegate.h" | 10 #include "ash/common/system/tray/system_tray_delegate.h" |
| 11 #include "ash/common/system/tray/tray_constants.h" | 11 #include "ash/common/system/tray/tray_constants.h" |
| 12 #include "ash/common/system/tray/tray_item_more.h" | 12 #include "ash/common/system/tray/tray_item_more.h" |
| 13 #include "ash/common/system/tray/tray_popup_label_button.h" | 13 #include "ash/common/system/tray/tray_popup_label_button.h" |
| 14 #include "ash/common/system/tray/wm_system_tray_notifier.h" | |
| 14 #include "ash/common/wm_shell.h" | 15 #include "ash/common/wm_shell.h" |
| 15 #include "ash/metrics/user_metrics_recorder.h" | |
| 16 #include "ash/shell.h" | |
| 17 #include "ash/system/tray/system_tray.h" | 16 #include "ash/system/tray/system_tray.h" |
| 18 #include "ash/system/tray/system_tray_notifier.h" | |
| 19 #include "ash/system/tray/tray_details_view.h" | 17 #include "ash/system/tray/tray_details_view.h" |
| 20 #include "base/strings/utf_string_conversions.h" | 18 #include "base/strings/utf_string_conversions.h" |
| 21 #include "grit/ash_resources.h" | 19 #include "grit/ash_resources.h" |
| 22 #include "grit/ash_strings.h" | 20 #include "grit/ash_strings.h" |
| 23 #include "ui/base/l10n/l10n_util.h" | 21 #include "ui/base/l10n/l10n_util.h" |
| 24 #include "ui/base/resource/resource_bundle.h" | 22 #include "ui/base/resource/resource_bundle.h" |
| 25 #include "ui/gfx/image/image.h" | 23 #include "ui/gfx/image/image.h" |
| 26 #include "ui/views/controls/image_view.h" | 24 #include "ui/views/controls/image_view.h" |
| 27 #include "ui/views/controls/label.h" | 25 #include "ui/views/controls/label.h" |
| 28 #include "ui/views/layout/box_layout.h" | 26 #include "ui/views/layout/box_layout.h" |
| 29 #include "ui/views/widget/widget.h" | 27 #include "ui/views/widget/widget.h" |
| 30 | 28 |
| 31 namespace ash { | 29 namespace ash { |
| 32 namespace { | 30 namespace { |
| 33 | 31 |
| 34 enum AccessibilityState { | 32 enum AccessibilityState { |
| 35 A11Y_NONE = 0, | 33 A11Y_NONE = 0, |
| 36 A11Y_SPOKEN_FEEDBACK = 1 << 0, | 34 A11Y_SPOKEN_FEEDBACK = 1 << 0, |
| 37 A11Y_HIGH_CONTRAST = 1 << 1, | 35 A11Y_HIGH_CONTRAST = 1 << 1, |
| 38 A11Y_SCREEN_MAGNIFIER = 1 << 2, | 36 A11Y_SCREEN_MAGNIFIER = 1 << 2, |
| 39 A11Y_LARGE_CURSOR = 1 << 3, | 37 A11Y_LARGE_CURSOR = 1 << 3, |
| 40 A11Y_AUTOCLICK = 1 << 4, | 38 A11Y_AUTOCLICK = 1 << 4, |
| 41 A11Y_VIRTUAL_KEYBOARD = 1 << 5, | 39 A11Y_VIRTUAL_KEYBOARD = 1 << 5, |
| 42 A11Y_BRAILLE_DISPLAY_CONNECTED = 1 << 6, | 40 A11Y_BRAILLE_DISPLAY_CONNECTED = 1 << 6, |
| 43 }; | 41 }; |
| 44 | 42 |
| 45 uint32_t GetAccessibilityState() { | 43 uint32_t GetAccessibilityState() { |
| 46 AccessibilityDelegate* delegate = | 44 AccessibilityDelegate* delegate = WmShell::Get()->GetAccessibilityDelegate(); |
| 47 Shell::GetInstance()->accessibility_delegate(); | |
| 48 uint32_t state = A11Y_NONE; | 45 uint32_t state = A11Y_NONE; |
| 49 if (delegate->IsSpokenFeedbackEnabled()) | 46 if (delegate->IsSpokenFeedbackEnabled()) |
| 50 state |= A11Y_SPOKEN_FEEDBACK; | 47 state |= A11Y_SPOKEN_FEEDBACK; |
| 51 if (delegate->IsHighContrastEnabled()) | 48 if (delegate->IsHighContrastEnabled()) |
| 52 state |= A11Y_HIGH_CONTRAST; | 49 state |= A11Y_HIGH_CONTRAST; |
| 53 if (delegate->IsMagnifierEnabled()) | 50 if (delegate->IsMagnifierEnabled()) |
| 54 state |= A11Y_SCREEN_MAGNIFIER; | 51 state |= A11Y_SCREEN_MAGNIFIER; |
| 55 if (delegate->IsLargeCursorEnabled()) | 52 if (delegate->IsLargeCursorEnabled()) |
| 56 state |= A11Y_LARGE_CURSOR; | 53 state |= A11Y_LARGE_CURSOR; |
| 57 if (delegate->IsAutoclickEnabled()) | 54 if (delegate->IsAutoclickEnabled()) |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 148 AppendHelpEntries(); | 145 AppendHelpEntries(); |
| 149 CreateSpecialRow(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_TITLE, this); | 146 CreateSpecialRow(IDS_ASH_STATUS_TRAY_ACCESSIBILITY_TITLE, this); |
| 150 | 147 |
| 151 Layout(); | 148 Layout(); |
| 152 } | 149 } |
| 153 | 150 |
| 154 void AccessibilityDetailedView::AppendAccessibilityList() { | 151 void AccessibilityDetailedView::AppendAccessibilityList() { |
| 155 CreateScrollableList(); | 152 CreateScrollableList(); |
| 156 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); | 153 ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance(); |
| 157 | 154 |
| 158 AccessibilityDelegate* delegate = | 155 AccessibilityDelegate* delegate = WmShell::Get()->GetAccessibilityDelegate(); |
| 159 Shell::GetInstance()->accessibility_delegate(); | |
| 160 spoken_feedback_enabled_ = delegate->IsSpokenFeedbackEnabled(); | 156 spoken_feedback_enabled_ = delegate->IsSpokenFeedbackEnabled(); |
| 161 spoken_feedback_view_ = | 157 spoken_feedback_view_ = |
| 162 AddScrollListItem(bundle.GetLocalizedString( | 158 AddScrollListItem(bundle.GetLocalizedString( |
| 163 IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SPOKEN_FEEDBACK), | 159 IDS_ASH_STATUS_TRAY_ACCESSIBILITY_SPOKEN_FEEDBACK), |
| 164 spoken_feedback_enabled_, spoken_feedback_enabled_); | 160 spoken_feedback_enabled_, spoken_feedback_enabled_); |
| 165 | 161 |
| 166 // Large Cursor item is shown only in Login screen. | 162 // Large Cursor item is shown only in Login screen. |
| 167 if (login_ == LoginStatus::NOT_LOGGED_IN) { | 163 if (login_ == LoginStatus::NOT_LOGGED_IN) { |
| 168 large_cursor_enabled_ = delegate->IsLargeCursorEnabled(); | 164 large_cursor_enabled_ = delegate->IsLargeCursorEnabled(); |
| 169 large_cursor_view_ = | 165 large_cursor_view_ = |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 194 virtual_keyboard_enabled_ = delegate->IsVirtualKeyboardEnabled(); | 190 virtual_keyboard_enabled_ = delegate->IsVirtualKeyboardEnabled(); |
| 195 virtual_keyboard_view_ = | 191 virtual_keyboard_view_ = |
| 196 AddScrollListItem(bundle.GetLocalizedString( | 192 AddScrollListItem(bundle.GetLocalizedString( |
| 197 IDS_ASH_STATUS_TRAY_ACCESSIBILITY_VIRTUAL_KEYBOARD), | 193 IDS_ASH_STATUS_TRAY_ACCESSIBILITY_VIRTUAL_KEYBOARD), |
| 198 virtual_keyboard_enabled_, virtual_keyboard_enabled_); | 194 virtual_keyboard_enabled_, virtual_keyboard_enabled_); |
| 199 } | 195 } |
| 200 | 196 |
| 201 void AccessibilityDetailedView::AppendHelpEntries() { | 197 void AccessibilityDetailedView::AppendHelpEntries() { |
| 202 // Currently the help page requires a browser window. | 198 // Currently the help page requires a browser window. |
| 203 // TODO(yoshiki): show this even on login/lock screen. crbug.com/158286 | 199 // TODO(yoshiki): show this even on login/lock screen. crbug.com/158286 |
| 204 bool userAddingRunning = ash::Shell::GetInstance() | |
| 205 ->session_state_delegate() | |
| 206 ->IsInSecondaryLoginScreen(); | |
| 207 | |
| 208 if (login_ == LoginStatus::NOT_LOGGED_IN || login_ == LoginStatus::LOCKED || | 200 if (login_ == LoginStatus::NOT_LOGGED_IN || login_ == LoginStatus::LOCKED || |
| 209 userAddingRunning) | 201 WmShell::Get()->GetSessionStateDelegate()->IsInSecondaryLoginScreen()) |
|
stevenjb
2016/06/20 17:49:17
We really should do a (separate) cleanup pass to c
| |
| 210 return; | 202 return; |
| 211 | 203 |
| 212 views::View* bottom_row = new View(); | 204 views::View* bottom_row = new View(); |
| 213 views::BoxLayout* layout = new | 205 views::BoxLayout* layout = new |
| 214 views::BoxLayout(views::BoxLayout::kHorizontal, | 206 views::BoxLayout(views::BoxLayout::kHorizontal, |
| 215 kTrayMenuBottomRowPadding, | 207 kTrayMenuBottomRowPadding, |
| 216 kTrayMenuBottomRowPadding, | 208 kTrayMenuBottomRowPadding, |
| 217 kTrayMenuBottomRowPaddingBetweenItems); | 209 kTrayMenuBottomRowPaddingBetweenItems); |
| 218 layout->SetDefaultFlex(1); | 210 layout->SetDefaultFlex(1); |
| 219 bottom_row->SetLayoutManager(layout); | 211 bottom_row->SetLayoutManager(layout); |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 241 const base::string16& text, | 233 const base::string16& text, |
| 242 bool highlight, | 234 bool highlight, |
| 243 bool checked) { | 235 bool checked) { |
| 244 HoverHighlightView* container = new HoverHighlightView(this); | 236 HoverHighlightView* container = new HoverHighlightView(this); |
| 245 container->AddCheckableLabel(text, highlight, checked); | 237 container->AddCheckableLabel(text, highlight, checked); |
| 246 scroll_content()->AddChildView(container); | 238 scroll_content()->AddChildView(container); |
| 247 return container; | 239 return container; |
| 248 } | 240 } |
| 249 | 241 |
| 250 void AccessibilityDetailedView::OnViewClicked(views::View* sender) { | 242 void AccessibilityDetailedView::OnViewClicked(views::View* sender) { |
| 251 AccessibilityDelegate* delegate = | 243 AccessibilityDelegate* delegate = WmShell::Get()->GetAccessibilityDelegate(); |
| 252 Shell::GetInstance()->accessibility_delegate(); | |
| 253 if (sender == footer()->content()) { | 244 if (sender == footer()->content()) { |
| 254 TransitionToDefaultView(); | 245 TransitionToDefaultView(); |
| 255 } else if (sender == spoken_feedback_view_) { | 246 } else if (sender == spoken_feedback_view_) { |
| 256 Shell::GetInstance()->metrics()->RecordUserMetricsAction( | 247 WmShell::Get()->RecordUserMetricsAction( |
| 257 delegate->IsSpokenFeedbackEnabled() ? | 248 delegate->IsSpokenFeedbackEnabled() ? |
| 258 ash::UMA_STATUS_AREA_DISABLE_SPOKEN_FEEDBACK : | 249 ash::UMA_STATUS_AREA_DISABLE_SPOKEN_FEEDBACK : |
| 259 ash::UMA_STATUS_AREA_ENABLE_SPOKEN_FEEDBACK); | 250 ash::UMA_STATUS_AREA_ENABLE_SPOKEN_FEEDBACK); |
| 260 delegate->ToggleSpokenFeedback(ui::A11Y_NOTIFICATION_NONE); | 251 delegate->ToggleSpokenFeedback(ui::A11Y_NOTIFICATION_NONE); |
| 261 } else if (sender == high_contrast_view_) { | 252 } else if (sender == high_contrast_view_) { |
| 262 Shell::GetInstance()->metrics()->RecordUserMetricsAction( | 253 WmShell::Get()->RecordUserMetricsAction( |
| 263 delegate->IsHighContrastEnabled() ? | 254 delegate->IsHighContrastEnabled() ? |
| 264 ash::UMA_STATUS_AREA_DISABLE_HIGH_CONTRAST : | 255 ash::UMA_STATUS_AREA_DISABLE_HIGH_CONTRAST : |
| 265 ash::UMA_STATUS_AREA_ENABLE_HIGH_CONTRAST); | 256 ash::UMA_STATUS_AREA_ENABLE_HIGH_CONTRAST); |
| 266 delegate->ToggleHighContrast(); | 257 delegate->ToggleHighContrast(); |
| 267 } else if (sender == screen_magnifier_view_) { | 258 } else if (sender == screen_magnifier_view_) { |
| 268 Shell::GetInstance()->metrics()->RecordUserMetricsAction( | 259 WmShell::Get()->RecordUserMetricsAction( |
| 269 delegate->IsMagnifierEnabled() ? | 260 delegate->IsMagnifierEnabled() ? |
| 270 ash::UMA_STATUS_AREA_DISABLE_MAGNIFIER : | 261 ash::UMA_STATUS_AREA_DISABLE_MAGNIFIER : |
| 271 ash::UMA_STATUS_AREA_ENABLE_MAGNIFIER); | 262 ash::UMA_STATUS_AREA_ENABLE_MAGNIFIER); |
| 272 delegate->SetMagnifierEnabled(!delegate->IsMagnifierEnabled()); | 263 delegate->SetMagnifierEnabled(!delegate->IsMagnifierEnabled()); |
| 273 } else if (large_cursor_view_ && sender == large_cursor_view_) { | 264 } else if (large_cursor_view_ && sender == large_cursor_view_) { |
| 274 Shell::GetInstance()->metrics()->RecordUserMetricsAction( | 265 WmShell::Get()->RecordUserMetricsAction( |
| 275 delegate->IsLargeCursorEnabled() ? | 266 delegate->IsLargeCursorEnabled() ? |
| 276 ash::UMA_STATUS_AREA_DISABLE_LARGE_CURSOR : | 267 ash::UMA_STATUS_AREA_DISABLE_LARGE_CURSOR : |
| 277 ash::UMA_STATUS_AREA_ENABLE_LARGE_CURSOR); | 268 ash::UMA_STATUS_AREA_ENABLE_LARGE_CURSOR); |
| 278 delegate->SetLargeCursorEnabled(!delegate->IsLargeCursorEnabled()); | 269 delegate->SetLargeCursorEnabled(!delegate->IsLargeCursorEnabled()); |
| 279 } else if (autoclick_view_ && sender == autoclick_view_) { | 270 } else if (autoclick_view_ && sender == autoclick_view_) { |
| 280 Shell::GetInstance()->metrics()->RecordUserMetricsAction( | 271 WmShell::Get()->RecordUserMetricsAction( |
| 281 delegate->IsAutoclickEnabled() ? | 272 delegate->IsAutoclickEnabled() ? |
| 282 ash::UMA_STATUS_AREA_DISABLE_AUTO_CLICK : | 273 ash::UMA_STATUS_AREA_DISABLE_AUTO_CLICK : |
| 283 ash::UMA_STATUS_AREA_ENABLE_AUTO_CLICK); | 274 ash::UMA_STATUS_AREA_ENABLE_AUTO_CLICK); |
| 284 delegate->SetAutoclickEnabled(!delegate->IsAutoclickEnabled()); | 275 delegate->SetAutoclickEnabled(!delegate->IsAutoclickEnabled()); |
| 285 } else if (virtual_keyboard_view_ && sender == virtual_keyboard_view_) { | 276 } else if (virtual_keyboard_view_ && sender == virtual_keyboard_view_) { |
| 286 Shell::GetInstance()->metrics()->RecordUserMetricsAction( | 277 WmShell::Get()->RecordUserMetricsAction( |
| 287 delegate->IsVirtualKeyboardEnabled() ? | 278 delegate->IsVirtualKeyboardEnabled() ? |
| 288 ash::UMA_STATUS_AREA_DISABLE_VIRTUAL_KEYBOARD : | 279 ash::UMA_STATUS_AREA_DISABLE_VIRTUAL_KEYBOARD : |
| 289 ash::UMA_STATUS_AREA_ENABLE_VIRTUAL_KEYBOARD); | 280 ash::UMA_STATUS_AREA_ENABLE_VIRTUAL_KEYBOARD); |
| 290 delegate->SetVirtualKeyboardEnabled(!delegate->IsVirtualKeyboardEnabled()); | 281 delegate->SetVirtualKeyboardEnabled(!delegate->IsVirtualKeyboardEnabled()); |
| 291 } | 282 } |
| 292 } | 283 } |
| 293 | 284 |
| 294 void AccessibilityDetailedView::ButtonPressed(views::Button* sender, | 285 void AccessibilityDetailedView::ButtonPressed(views::Button* sender, |
| 295 const ui::Event& event) { | 286 const ui::Event& event) { |
| 296 SystemTrayDelegate* tray_delegate = WmShell::Get()->system_tray_delegate(); | 287 SystemTrayDelegate* tray_delegate = WmShell::Get()->system_tray_delegate(); |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 308 TrayAccessibility::TrayAccessibility(SystemTray* system_tray) | 299 TrayAccessibility::TrayAccessibility(SystemTray* system_tray) |
| 309 : TrayImageItem(system_tray, IDR_AURA_UBER_TRAY_ACCESSIBILITY), | 300 : TrayImageItem(system_tray, IDR_AURA_UBER_TRAY_ACCESSIBILITY), |
| 310 default_(NULL), | 301 default_(NULL), |
| 311 detailed_popup_(NULL), | 302 detailed_popup_(NULL), |
| 312 detailed_menu_(NULL), | 303 detailed_menu_(NULL), |
| 313 request_popup_view_state_(A11Y_NONE), | 304 request_popup_view_state_(A11Y_NONE), |
| 314 tray_icon_visible_(false), | 305 tray_icon_visible_(false), |
| 315 login_(GetCurrentLoginStatus()), | 306 login_(GetCurrentLoginStatus()), |
| 316 previous_accessibility_state_(GetAccessibilityState()), | 307 previous_accessibility_state_(GetAccessibilityState()), |
| 317 show_a11y_menu_on_lock_screen_(true) { | 308 show_a11y_menu_on_lock_screen_(true) { |
| 318 DCHECK(Shell::GetInstance()->delegate()); | |
| 319 DCHECK(system_tray); | 309 DCHECK(system_tray); |
| 320 Shell::GetInstance()->system_tray_notifier()->AddAccessibilityObserver(this); | 310 WmShell::Get()->system_tray_notifier()->AddAccessibilityObserver(this); |
| 321 } | 311 } |
| 322 | 312 |
| 323 TrayAccessibility::~TrayAccessibility() { | 313 TrayAccessibility::~TrayAccessibility() { |
| 324 Shell::GetInstance()->system_tray_notifier()-> | 314 WmShell::Get()->system_tray_notifier()->RemoveAccessibilityObserver(this); |
| 325 RemoveAccessibilityObserver(this); | |
| 326 } | 315 } |
| 327 | 316 |
| 328 void TrayAccessibility::SetTrayIconVisible(bool visible) { | 317 void TrayAccessibility::SetTrayIconVisible(bool visible) { |
| 329 if (tray_view()) | 318 if (tray_view()) |
| 330 tray_view()->SetVisible(visible); | 319 tray_view()->SetVisible(visible); |
| 331 tray_icon_visible_ = visible; | 320 tray_icon_visible_ = visible; |
| 332 } | 321 } |
| 333 | 322 |
| 334 tray::AccessibilityDetailedView* TrayAccessibility::CreateDetailedMenu() { | 323 tray::AccessibilityDetailedView* TrayAccessibility::CreateDetailedMenu() { |
| 335 return new tray::AccessibilityDetailedView(this, login_); | 324 return new tray::AccessibilityDetailedView(this, login_); |
| 336 } | 325 } |
| 337 | 326 |
| 338 bool TrayAccessibility::GetInitialVisibility() { | 327 bool TrayAccessibility::GetInitialVisibility() { |
| 339 // Shows accessibility icon if any accessibility feature is enabled. | 328 // Shows accessibility icon if any accessibility feature is enabled. |
| 340 // Otherwise, doen't show it. | 329 // Otherwise, doen't show it. |
| 341 return GetAccessibilityState() != A11Y_NONE; | 330 return GetAccessibilityState() != A11Y_NONE; |
| 342 } | 331 } |
| 343 | 332 |
| 344 views::View* TrayAccessibility::CreateDefaultView(LoginStatus status) { | 333 views::View* TrayAccessibility::CreateDefaultView(LoginStatus status) { |
| 345 CHECK(default_ == NULL); | 334 CHECK(default_ == NULL); |
| 346 | 335 |
| 347 // Shows accessibility menu if: | 336 // Shows accessibility menu if: |
| 348 // - on login screen (not logged in); | 337 // - on login screen (not logged in); |
| 349 // - "Enable accessibility menu" on chrome://settings is checked; | 338 // - "Enable accessibility menu" on chrome://settings is checked; |
| 350 // - or any of accessibility features is enabled | 339 // - or any of accessibility features is enabled |
| 351 // Otherwise, not shows it. | 340 // Otherwise, not shows it. |
| 352 AccessibilityDelegate* delegate = | 341 AccessibilityDelegate* delegate = WmShell::Get()->GetAccessibilityDelegate(); |
| 353 Shell::GetInstance()->accessibility_delegate(); | |
| 354 if (login_ != LoginStatus::NOT_LOGGED_IN && | 342 if (login_ != LoginStatus::NOT_LOGGED_IN && |
| 355 !delegate->ShouldShowAccessibilityMenu() && | 343 !delegate->ShouldShowAccessibilityMenu() && |
| 356 // On login screen, keeps the initial visibility of the menu. | 344 // On login screen, keeps the initial visibility of the menu. |
| 357 (status != LoginStatus::LOCKED || !show_a11y_menu_on_lock_screen_)) | 345 (status != LoginStatus::LOCKED || !show_a11y_menu_on_lock_screen_)) |
| 358 return NULL; | 346 return NULL; |
| 359 | 347 |
| 360 CHECK(default_ == NULL); | 348 CHECK(default_ == NULL); |
| 361 default_ = new tray::DefaultAccessibilityView(this); | 349 default_ = new tray::DefaultAccessibilityView(this); |
| 362 | 350 |
| 363 return default_; | 351 return default_; |
| 364 } | 352 } |
| 365 | 353 |
| 366 views::View* TrayAccessibility::CreateDetailedView(LoginStatus status) { | 354 views::View* TrayAccessibility::CreateDetailedView(LoginStatus status) { |
| 367 CHECK(detailed_popup_ == NULL); | 355 CHECK(detailed_popup_ == NULL); |
| 368 CHECK(detailed_menu_ == NULL); | 356 CHECK(detailed_menu_ == NULL); |
| 369 | 357 |
| 370 if (request_popup_view_state_) { | 358 if (request_popup_view_state_) { |
| 371 detailed_popup_ = | 359 detailed_popup_ = |
| 372 new tray::AccessibilityPopupView(this, request_popup_view_state_); | 360 new tray::AccessibilityPopupView(this, request_popup_view_state_); |
| 373 request_popup_view_state_ = A11Y_NONE; | 361 request_popup_view_state_ = A11Y_NONE; |
| 374 return detailed_popup_; | 362 return detailed_popup_; |
| 375 } else { | 363 } else { |
| 376 Shell::GetInstance()->metrics()->RecordUserMetricsAction( | 364 WmShell::Get()->RecordUserMetricsAction( |
| 377 ash::UMA_STATUS_AREA_DETAILED_ACCESSABILITY); | 365 ash::UMA_STATUS_AREA_DETAILED_ACCESSABILITY); |
| 378 detailed_menu_ = CreateDetailedMenu(); | 366 detailed_menu_ = CreateDetailedMenu(); |
| 379 return detailed_menu_; | 367 return detailed_menu_; |
| 380 } | 368 } |
| 381 } | 369 } |
| 382 | 370 |
| 383 void TrayAccessibility::DestroyDefaultView() { | 371 void TrayAccessibility::DestroyDefaultView() { |
| 384 default_ = NULL; | 372 default_ = NULL; |
| 385 } | 373 } |
| 386 | 374 |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 423 if (detailed_popup_) | 411 if (detailed_popup_) |
| 424 detailed_popup_->GetWidget()->Close(); | 412 detailed_popup_->GetWidget()->Close(); |
| 425 if (detailed_menu_) | 413 if (detailed_menu_) |
| 426 detailed_menu_->GetWidget()->Close(); | 414 detailed_menu_->GetWidget()->Close(); |
| 427 } | 415 } |
| 428 | 416 |
| 429 previous_accessibility_state_ = accessibility_state; | 417 previous_accessibility_state_ = accessibility_state; |
| 430 } | 418 } |
| 431 | 419 |
| 432 } // namespace ash | 420 } // namespace ash |
| OLD | NEW |