summaryrefslogtreecommitdiffstats
path: root/chrome/browser/app_controller_mac.mm
diff options
context:
space:
mode:
authorpinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-29 14:30:38 +0000
committerpinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-29 14:30:38 +0000
commit93e18176c674291dc8f6cf6dfdc2d9b7227f561c (patch)
tree366da45470e2fa32cd4a91a6fbf7d955eec29192 /chrome/browser/app_controller_mac.mm
parent2946da155c393685c6cc3f7fe5e28d347bf6642d (diff)
downloadchromium_src-93e18176c674291dc8f6cf6dfdc2d9b7227f561c.zip
chromium_src-93e18176c674291dc8f6cf6dfdc2d9b7227f561c.tar.gz
chromium_src-93e18176c674291dc8f6cf6dfdc2d9b7227f561c.tar.bz2
Implement Clear Browser Data for Mac as an app modal dialog. Uses the profile of the given window or the default profile if run with no windows open. Add a setter to the throbber so it can be used in a nib file.
BUG=none TEST=clear browser functionality (note that clearing passwords doesn't work) and checkbox persistance. Review URL: http://codereview.chromium.org/112065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17186 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/app_controller_mac.mm')
-rw-r--r--chrome/browser/app_controller_mac.mm17
1 files changed, 13 insertions, 4 deletions
diff --git a/chrome/browser/app_controller_mac.mm b/chrome/browser/app_controller_mac.mm
index 1016bcf1..32afd0b 100644
--- a/chrome/browser/app_controller_mac.mm
+++ b/chrome/browser/app_controller_mac.mm
@@ -14,6 +14,7 @@
#include "chrome/browser/browser_shutdown.h"
#import "chrome/browser/cocoa/about_window_controller.h"
#import "chrome/browser/cocoa/bookmark_menu_bridge.h"
+#import "chrome/browser/cocoa/clear_browsing_data_controller.h"
#import "chrome/browser/cocoa/encoding_menu_controller_delegate_mac.h"
#import "chrome/browser/cocoa/menu_localizer.h"
#import "chrome/browser/cocoa/preferences_window_controller.h"
@@ -289,21 +290,28 @@
// command is supported and doesn't check, otherwise it would have been disabled
// in the UI in validateUserInterfaceItem:.
- (void)commandDispatch:(id)sender {
- Profile* default_profile = [self defaultProfile];
+ Profile* defaultProfile = [self defaultProfile];
NSInteger tag = [sender tag];
switch (tag) {
case IDC_NEW_WINDOW:
- Browser::OpenEmptyWindow(default_profile);
+ Browser::OpenEmptyWindow(defaultProfile);
break;
case IDC_NEW_INCOGNITO_WINDOW:
- Browser::OpenURLOffTheRecord(default_profile, GURL());
+ Browser::OpenURLOffTheRecord(defaultProfile, GURL());
break;
case IDC_OPEN_FILE:
- Browser::OpenEmptyWindow(default_profile);
+ Browser::OpenEmptyWindow(defaultProfile);
BrowserList::GetLastActive()->
ExecuteCommandWithDisposition(IDC_OPEN_FILE, CURRENT_TAB);
break;
+ case IDC_CLEAR_BROWSING_DATA:
+ // There may not be a browser open, so use the default profile.
+ scoped_nsobject<ClearBrowsingDataController> controller(
+ [[ClearBrowsingDataController alloc]
+ initWithProfile:defaultProfile]);
+ [controller runModalDialog];
+ break;
};
}
@@ -330,6 +338,7 @@
menuState_->UpdateCommandEnabled(IDC_NEW_WINDOW, true);
menuState_->UpdateCommandEnabled(IDC_NEW_INCOGNITO_WINDOW, true);
menuState_->UpdateCommandEnabled(IDC_OPEN_FILE, true);
+ menuState_->UpdateCommandEnabled(IDC_CLEAR_BROWSING_DATA, true);
// TODO(pinkerton): ...more to come...
}