diff options
author | pinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-29 14:30:38 +0000 |
---|---|---|
committer | pinkerton@chromium.org <pinkerton@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-29 14:30:38 +0000 |
commit | 93e18176c674291dc8f6cf6dfdc2d9b7227f561c (patch) | |
tree | 366da45470e2fa32cd4a91a6fbf7d955eec29192 /chrome/browser/app_controller_mac.mm | |
parent | 2946da155c393685c6cc3f7fe5e28d347bf6642d (diff) | |
download | chromium_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.mm | 17 |
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... } |