| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "chrome/browser/cocoa/clear_browsing_data_controller.h" | 5 #import "chrome/browser/cocoa/clear_browsing_data_controller.h" |
| 6 | 6 |
| 7 #include "base/mac_util.h" | 7 #include "base/mac_util.h" |
| 8 #include "base/scoped_nsobject.h" | 8 #include "base/scoped_nsobject.h" |
| 9 #include "chrome/browser/browsing_data_remover.h" | 9 #include "chrome/browser/browsing_data_remover.h" |
| 10 #include "chrome/common/pref_names.h" | 10 #include "chrome/common/pref_names.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 scoped_nsobject<NSImage> throbberImage( | 71 scoped_nsobject<NSImage> throbberImage( |
| 72 [[NSImage alloc] initWithContentsOfFile:imagePath]); | 72 [[NSImage alloc] initWithContentsOfFile:imagePath]); |
| 73 [progress_ setImage:throbberImage]; | 73 [progress_ setImage:throbberImage]; |
| 74 } | 74 } |
| 75 | 75 |
| 76 // Run application modal. | 76 // Run application modal. |
| 77 - (void)runModalDialog { | 77 - (void)runModalDialog { |
| 78 [[NSApplication sharedApplication] runModalForWindow:[self window]]; | 78 [[NSApplication sharedApplication] runModalForWindow:[self window]]; |
| 79 } | 79 } |
| 80 | 80 |
| 81 // Called when the user clicks the "clear" button. Do the work and persist | 81 - (int)removeMask { |
| 82 // the prefs for next time. We don't stop the modal session until we get | |
| 83 // the callback from the BrowsingDataRemover so the window stays on the screen. | |
| 84 // While we're working, dim the buttons so the user can't click them. | |
| 85 - (IBAction)clearData:(id)sender { | |
| 86 // Set that we're working so that the buttons disable. | |
| 87 [self setIsClearing:YES]; | |
| 88 | |
| 89 [self persistToPrefs]; | |
| 90 | |
| 91 int removeMask = 0L; | 82 int removeMask = 0L; |
| 92 if (clearBrowsingHistory_) | 83 if (clearBrowsingHistory_) |
| 93 removeMask |= BrowsingDataRemover::REMOVE_HISTORY; | 84 removeMask |= BrowsingDataRemover::REMOVE_HISTORY; |
| 94 if (clearDownloadHistory_) | 85 if (clearDownloadHistory_) |
| 95 removeMask |= BrowsingDataRemover::REMOVE_DOWNLOADS; | 86 removeMask |= BrowsingDataRemover::REMOVE_DOWNLOADS; |
| 96 if (emptyCache_) | 87 if (emptyCache_) |
| 97 removeMask |= BrowsingDataRemover::REMOVE_CACHE; | 88 removeMask |= BrowsingDataRemover::REMOVE_CACHE; |
| 98 if (deleteCookies_) | 89 if (deleteCookies_) |
| 99 removeMask |= BrowsingDataRemover::REMOVE_COOKIES; | 90 removeMask |= BrowsingDataRemover::REMOVE_COOKIES; |
| 100 if (clearSavedPasswords_) | 91 if (clearSavedPasswords_) |
| 101 removeMask |= BrowsingDataRemover::REMOVE_PASSWORDS; | 92 removeMask |= BrowsingDataRemover::REMOVE_PASSWORDS; |
| 102 if (clearFormData_) | 93 if (clearFormData_) |
| 103 removeMask |= BrowsingDataRemover::REMOVE_PASSWORDS; | 94 removeMask |= BrowsingDataRemover::REMOVE_FORM_DATA; |
| 95 return removeMask; |
| 96 } |
| 97 |
| 98 // Called when the user clicks the "clear" button. Do the work and persist |
| 99 // the prefs for next time. We don't stop the modal session until we get |
| 100 // the callback from the BrowsingDataRemover so the window stays on the screen. |
| 101 // While we're working, dim the buttons so the user can't click them. |
| 102 - (IBAction)clearData:(id)sender { |
| 103 // Set that we're working so that the buttons disable. |
| 104 [self setIsClearing:YES]; |
| 105 |
| 106 [self persistToPrefs]; |
| 104 | 107 |
| 105 // BrowsingDataRemover deletes itself when done. | 108 // BrowsingDataRemover deletes itself when done. |
| 106 remover_ = new BrowsingDataRemover(profile_, | 109 remover_ = new BrowsingDataRemover(profile_, |
| 107 static_cast<BrowsingDataRemover::TimePeriod>(timePeriod_), | 110 static_cast<BrowsingDataRemover::TimePeriod>(timePeriod_), |
| 108 base::Time()); | 111 base::Time()); |
| 109 remover_->AddObserver(observer_.get()); | 112 remover_->AddObserver(observer_.get()); |
| 110 remover_->Remove(removeMask); | 113 remover_->Remove([self removeMask]); |
| 111 } | 114 } |
| 112 | 115 |
| 113 // Called when the user clicks the cancel button. All we need to do is stop | 116 // Called when the user clicks the cancel button. All we need to do is stop |
| 114 // the modal session. | 117 // the modal session. |
| 115 - (IBAction)cancel:(id)sender { | 118 - (IBAction)cancel:(id)sender { |
| 116 [[NSApplication sharedApplication] stopModal]; | 119 [[NSApplication sharedApplication] stopModal]; |
| 117 [[self window] orderOut:self]; | 120 [[self window] orderOut:self]; |
| 118 } | 121 } |
| 119 | 122 |
| 120 // Initialize the bools from prefs using the setters to be KVO-compliant. | 123 // Initialize the bools from prefs using the setters to be KVO-compliant. |
| (...skipping 27 matching lines...) Expand all Loading... |
| 148 // Called when the data remover object is done with its work. Close the window. | 151 // Called when the data remover object is done with its work. Close the window. |
| 149 // The remover will delete itself. End the modal session at this point. | 152 // The remover will delete itself. End the modal session at this point. |
| 150 - (void)dataRemoverDidFinish { | 153 - (void)dataRemoverDidFinish { |
| 151 [[NSApplication sharedApplication] stopModal]; | 154 [[NSApplication sharedApplication] stopModal]; |
| 152 [[self window] orderOut:self]; | 155 [[self window] orderOut:self]; |
| 153 [self setIsClearing:NO]; | 156 [self setIsClearing:NO]; |
| 154 remover_ = NULL; | 157 remover_ = NULL; |
| 155 } | 158 } |
| 156 | 159 |
| 157 @end | 160 @end |
| OLD | NEW |