• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/ui/apps/apps_metro_handler_win.h"
6 
7 #include "chrome/app/chrome_command_ids.h"
8 #include "chrome/browser/apps/app_window_registry_util.h"
9 #include "chrome/browser/ui/simple_message_box.h"
10 #include "chrome/grit/chromium_strings.h"
11 #include "chrome/grit/generated_resources.h"
12 #include "extensions/browser/app_window/app_window.h"
13 #include "ui/base/l10n/l10n_util.h"
14 
VerifyASHSwitchForApps(gfx::NativeWindow parent_window,int win_restart_command_id)15 bool VerifyASHSwitchForApps(gfx::NativeWindow parent_window,
16                             int win_restart_command_id) {
17   DCHECK(win_restart_command_id == IDC_WIN_DESKTOP_RESTART ||
18       win_restart_command_id == IDC_WIN8_METRO_RESTART ||
19       win_restart_command_id == IDC_WIN_CHROMEOS_RESTART);
20   if (!AppWindowRegistryUtil::IsAppWindowRegisteredInAnyProfile(
21            extensions::AppWindow::WINDOW_TYPE_DEFAULT)) {
22     return true;
23   }
24 
25   int string_id = 0;
26   switch (win_restart_command_id) {
27     case IDC_WIN8_METRO_RESTART:
28       string_id = IDS_WIN8_PROMPT_TO_CLOSE_APPS_FOR_METRO;
29       break;
30     case IDC_WIN_CHROMEOS_RESTART:
31       string_id = IDS_WIN_PROMPT_TO_CLOSE_APPS_FOR_CHROMEOS;
32       break;
33     default:
34       string_id = IDS_WIN_PROMPT_TO_CLOSE_APPS_FOR_DESKTOP;
35       break;
36   }
37   chrome::MessageBoxResult result = chrome::ShowMessageBox(
38       parent_window,
39       l10n_util::GetStringUTF16(IDS_PRODUCT_NAME),
40       l10n_util::GetStringUTF16(string_id),
41       chrome::MESSAGE_BOX_TYPE_OK_CANCEL);
42 
43   return result == chrome::MESSAGE_BOX_RESULT_YES;
44 }
45