Fix DOMUI pref mode handling of Mac menu items
In DOMUI pref mode, Mac menu items should open prefs via a browser window. Also fixes OpenSyncMyBookmarksDialog on all platforms.
BUG=67670
TEST=Choosing a pref-opening menu item from the Chrome menu on Mac should open DOMUI prefs.
Review URL: http://codereview.chromium.org/6293018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72500 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/app_controller_mac.mm b/chrome/browser/app_controller_mac.mm
index 058ed16..c77d3f3 100644
--- a/chrome/browser/app_controller_mac.mm
+++ b/chrome/browser/app_controller_mac.mm
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -848,15 +848,33 @@
break;
case IDC_CLEAR_BROWSING_DATA: {
// There may not be a browser open, so use the default profile.
- [ClearBrowsingDataController
- showClearBrowsingDialogForProfile:defaultProfile];
+ if (CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kDisableTabbedOptions)) {
+ [ClearBrowsingDataController
+ showClearBrowsingDialogForProfile:defaultProfile];
+ } else {
+ if (Browser* browser = ActivateBrowser(defaultProfile)) {
+ browser->OpenClearBrowsingDataDialog();
+ } else {
+ Browser::OpenClearBrowingDataDialogWindow(defaultProfile);
+ }
+ }
break;
}
case IDC_IMPORT_SETTINGS: {
- UserMetrics::RecordAction(UserMetricsAction("Import_ShowDlg"),
- defaultProfile);
- [ImportSettingsDialogController
- showImportSettingsDialogForProfile:defaultProfile];
+ if (CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kDisableTabbedOptions)) {
+ UserMetrics::RecordAction(UserMetricsAction("Import_ShowDlg"),
+ defaultProfile);
+ [ImportSettingsDialogController
+ showImportSettingsDialogForProfile:defaultProfile];
+ } else {
+ if (Browser* browser = ActivateBrowser(defaultProfile)) {
+ browser->OpenImportSettingsDialog();
+ } else {
+ Browser::OpenImportSettingsDialogWindow(defaultProfile);
+ }
+ }
break;
}
case IDC_SHOW_BOOKMARK_MANAGER:
@@ -918,7 +936,8 @@
// TODO(akalin): Add a constant to denote starting sync from the
// main menu and use that instead of START_FROM_WRENCH.
sync_ui_util::OpenSyncMyBookmarksDialog(
- defaultProfile, ProfileSyncService::START_FROM_WRENCH);
+ defaultProfile, ActivateBrowser(defaultProfile),
+ ProfileSyncService::START_FROM_WRENCH);
break;
case IDC_TASK_MANAGER:
UserMetrics::RecordAction(UserMetricsAction("TaskManager"),