summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authortc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-15 18:20:54 +0000
committertc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-09-15 18:20:54 +0000
commitdfaa8db80cfdf7c4f04dfedf87642a0f333da0e1 (patch)
treee7a386d840a4db2b7f7195259958c5dd96533256 /chrome/browser
parent57acf1f06349b991670c5cf164f1a1e6d520034f (diff)
downloadchromium_src-dfaa8db80cfdf7c4f04dfedf87642a0f333da0e1.zip
chromium_src-dfaa8db80cfdf7c4f04dfedf87642a0f333da0e1.tar.gz
chromium_src-dfaa8db80cfdf7c4f04dfedf87642a0f333da0e1.tar.bz2
Add preferences for the clear browsing data dialog so that
the user choices are persistent. Patch by Arthur Lussos <developer0420@gmail.com> Original issue at http://codereview.chromium.org/3014 Review URL: http://codereview.chromium.org/3059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2222 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/browser.cc5
-rw-r--r--chrome/browser/views/clear_browsing_data.cc33
2 files changed, 33 insertions, 5 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc
index 235edbf..52706f5 100644
--- a/chrome/browser/browser.cc
+++ b/chrome/browser/browser.cc
@@ -179,6 +179,11 @@ void Browser::RegisterUserPrefs(PrefService* prefs) {
net::CookiePolicy::ALLOW_ALL_COOKIES);
prefs->RegisterBooleanPref(prefs::kShowHomeButton, false);
prefs->RegisterStringPref(prefs::kRecentlySelectedEncoding, L"");
+ prefs->RegisterBooleanPref(prefs::kDeleteBrowsingHistory, true);
+ prefs->RegisterBooleanPref(prefs::kDeleteDownloadHistory, true);
+ prefs->RegisterBooleanPref(prefs::kDeleteCache, true);
+ prefs->RegisterBooleanPref(prefs::kDeleteCookies, true);
+ prefs->RegisterBooleanPref(prefs::kDeletePasswords, false);
}
Browser::Browser(const gfx::Rect& initial_bounds,
diff --git a/chrome/browser/views/clear_browsing_data.cc b/chrome/browser/views/clear_browsing_data.cc
index c81b63d..06d9b6d 100644
--- a/chrome/browser/views/clear_browsing_data.cc
+++ b/chrome/browser/views/clear_browsing_data.cc
@@ -15,6 +15,8 @@
#include "chrome/views/native_button.h"
#include "chrome/views/throbber.h"
#include "chrome/views/window.h"
+#include "chrome/common/pref_names.h"
+#include "chrome/common/pref_service.h"
#include "net/url_request/url_request_context.h"
#include "generated_resources.h"
@@ -70,19 +72,24 @@ void ClearBrowsingDataView::Init() {
// Add all the check-boxes.
del_history_checkbox_ =
- AddCheckbox(l10n_util::GetString(IDS_DEL_BROWSING_HISTORY_CHKBOX), true);
+ AddCheckbox(l10n_util::GetString(IDS_DEL_BROWSING_HISTORY_CHKBOX),
+ profile_->GetPrefs()->GetBoolean(prefs::kDeleteBrowsingHistory));
del_downloads_checkbox_ =
- AddCheckbox(l10n_util::GetString(IDS_DEL_DOWNLOAD_HISTORY_CHKBOX), true);
+ AddCheckbox(l10n_util::GetString(IDS_DEL_DOWNLOAD_HISTORY_CHKBOX),
+ profile_->GetPrefs()->GetBoolean(prefs::kDeleteDownloadHistory));
del_cache_checkbox_ =
- AddCheckbox(l10n_util::GetString(IDS_DEL_CACHE_CHKBOX), true);
+ AddCheckbox(l10n_util::GetString(IDS_DEL_CACHE_CHKBOX),
+ profile_->GetPrefs()->GetBoolean(prefs::kDeleteCache));
del_cookies_checkbox_ =
- AddCheckbox(l10n_util::GetString(IDS_DEL_COOKIES_CHKBOX), true);
+ AddCheckbox(l10n_util::GetString(IDS_DEL_COOKIES_CHKBOX),
+ profile_->GetPrefs()->GetBoolean(prefs::kDeleteCookies));
del_passwords_checkbox_ =
- AddCheckbox(l10n_util::GetString(IDS_DEL_PASSWORDS_CHKBOX), false);
+ AddCheckbox(l10n_util::GetString(IDS_DEL_PASSWORDS_CHKBOX),
+ profile_->GetPrefs()->GetBoolean(prefs::kDeletePasswords));
// Add a label which appears before the combo box for the time period.
time_period_label_ = new ChromeViews::Label(
@@ -302,6 +309,22 @@ std::wstring ClearBrowsingDataView::GetItemAt(ChromeViews::ComboBox* source,
// ClearBrowsingDataView, ChromeViews::ButtonListener implementation:
void ClearBrowsingDataView::ButtonPressed(ChromeViews::NativeButton* sender) {
+ if (sender == del_history_checkbox_)
+ profile_->GetPrefs()->SetBoolean(prefs::kDeleteBrowsingHistory,
+ del_history_checkbox_->IsSelected() ? true : false);
+ else if (sender == del_downloads_checkbox_)
+ profile_->GetPrefs()->SetBoolean(prefs::kDeleteDownloadHistory,
+ del_downloads_checkbox_->IsSelected() ? true : false);
+ else if (sender == del_cache_checkbox_)
+ profile_->GetPrefs()->SetBoolean(prefs::kDeleteCache,
+ del_cache_checkbox_->IsSelected() ? true : false);
+ else if (sender == del_cookies_checkbox_)
+ profile_->GetPrefs()->SetBoolean(prefs::kDeleteCookies,
+ del_cookies_checkbox_->IsSelected() ? true : false);
+ else if (sender == del_passwords_checkbox_)
+ profile_->GetPrefs()->SetBoolean(prefs::kDeletePasswords,
+ del_passwords_checkbox_->IsSelected() ? true : false);
+
// When no checkbox is checked we should not have the action button enabled.
// This forces the button to evaluate what state they should be in.
GetDialogClientView()->UpdateDialogButtons();