Chromium Code Reviews| Index: ash/accelerators/accelerator_controller.cc |
| diff --git a/ash/accelerators/accelerator_controller.cc b/ash/accelerators/accelerator_controller.cc |
| index f7a9ecba6754a227faa73cdc8cf3f3154a554106..945ac4cd2ed1ebfefcdeedc2726c76940c8e1075 100644 |
| --- a/ash/accelerators/accelerator_controller.cc |
| +++ b/ash/accelerators/accelerator_controller.cc |
| @@ -10,6 +10,7 @@ |
| #include <string> |
| #include "ash/accelerators/accelerator_table.h" |
| +#include "ash/accelerators/exit_warning_handler.h" |
| #include "ash/ash_switches.h" |
| #include "ash/caps_lock_delegate.h" |
| #include "ash/debug.h" |
| @@ -368,7 +369,8 @@ void AcceleratorControllerContext::UpdateContext( |
| // AcceleratorController, public: |
| AcceleratorController::AcceleratorController() |
| - : accelerator_manager_(new ui::AcceleratorManager) { |
| + : accelerator_manager_(new ui::AcceleratorManager), |
| + exit_warning_handler_(new ExitWarningHandler) { |
|
sky
2013/05/13 15:40:32
If the lifetime of ExitWarningHandler is that of A
sschmitz
2013/05/14 16:49:11
Done.
|
| Init(); |
| } |
| @@ -574,8 +576,9 @@ bool AcceleratorController::PerformAction(int action, |
| case OPEN_FEEDBACK_PAGE: |
| ash::Shell::GetInstance()->delegate()->OpenFeedbackPage(); |
| return true; |
| - case EXIT: |
| - Shell::GetInstance()->delegate()->Exit(); |
| + case EXIT_PRESSED: |
| + case EXIT_RELEASED: |
| + exit_warning_handler_->HandleExitKey(action == EXIT_PRESSED); |
| return true; |
| case NEW_INCOGNITO_WINDOW: |
| Shell::GetInstance()->delegate()->NewWindow(true /* is_incognito */); |