| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #include "chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.
h" | 5 #include "chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.
h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/metrics/histogram_macros.h" | 10 #include "base/metrics/histogram_macros.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 base::Unretained(this))); | 29 base::Unretained(this))); |
| 30 } | 30 } |
| 31 | 31 |
| 32 ClearBrowsingDataHandler::~ClearBrowsingDataHandler() { | 32 ClearBrowsingDataHandler::~ClearBrowsingDataHandler() { |
| 33 if (remover_) | 33 if (remover_) |
| 34 remover_->RemoveObserver(this); | 34 remover_->RemoveObserver(this); |
| 35 } | 35 } |
| 36 | 36 |
| 37 void ClearBrowsingDataHandler::RegisterMessages() { | 37 void ClearBrowsingDataHandler::RegisterMessages() { |
| 38 web_ui()->RegisterMessageCallback( | 38 web_ui()->RegisterMessageCallback( |
| 39 "performClearBrowserData", | 39 "clearBrowsingData", |
| 40 base::Bind(&ClearBrowsingDataHandler::HandleClearBrowserData, | 40 base::Bind(&ClearBrowsingDataHandler::HandleClearBrowsingData, |
| 41 base::Unretained(this))); | 41 base::Unretained(this))); |
| 42 } | 42 } |
| 43 | 43 |
| 44 void ClearBrowsingDataHandler::HandleClearBrowserData( | 44 void ClearBrowsingDataHandler::HandleClearBrowsingData( |
| 45 const base::ListValue* args) { | 45 const base::ListValue* args) { |
| 46 // We should never be called when the previous clearing has not yet finished. | 46 // We should never be called when the previous clearing has not yet finished. |
| 47 CHECK(!remover_); | 47 CHECK(!remover_); |
| 48 CHECK_EQ(1U, args->GetSize()); |
| 49 CHECK(webui_callback_id_.empty()); |
| 50 CHECK(args->GetString(0, &webui_callback_id_)); |
| 48 | 51 |
| 49 Profile* profile = Profile::FromWebUI(web_ui()); | 52 Profile* profile = Profile::FromWebUI(web_ui()); |
| 50 PrefService* prefs = profile->GetPrefs(); | 53 PrefService* prefs = profile->GetPrefs(); |
| 51 | 54 |
| 52 int site_data_mask = BrowsingDataRemover::REMOVE_SITE_DATA; | 55 int site_data_mask = BrowsingDataRemover::REMOVE_SITE_DATA; |
| 53 // Don't try to clear LSO data if it's not supported. | 56 // Don't try to clear LSO data if it's not supported. |
| 54 if (!*clear_plugin_lso_data_enabled_) | 57 if (!*clear_plugin_lso_data_enabled_) |
| 55 site_data_mask &= ~BrowsingDataRemover::REMOVE_PLUGIN_DATA; | 58 site_data_mask &= ~BrowsingDataRemover::REMOVE_PLUGIN_DATA; |
| 56 | 59 |
| 57 int remove_mask = 0; | 60 int remove_mask = 0; |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 remover_->AddObserver(this); | 131 remover_->AddObserver(this); |
| 129 remover_->Remove( | 132 remover_->Remove( |
| 130 BrowsingDataRemover::Period( | 133 BrowsingDataRemover::Period( |
| 131 static_cast<BrowsingDataRemover::TimePeriod>(period_selected)), | 134 static_cast<BrowsingDataRemover::TimePeriod>(period_selected)), |
| 132 remove_mask, origin_mask); | 135 remove_mask, origin_mask); |
| 133 } | 136 } |
| 134 | 137 |
| 135 void ClearBrowsingDataHandler::OnBrowsingDataRemoverDone() { | 138 void ClearBrowsingDataHandler::OnBrowsingDataRemoverDone() { |
| 136 remover_->RemoveObserver(this); | 139 remover_->RemoveObserver(this); |
| 137 remover_ = nullptr; | 140 remover_ = nullptr; |
| 138 web_ui()->CallJavascriptFunction("SettingsClearBrowserData.doneClearing"); | 141 ResolveJavascriptCallback( |
| 142 base::StringValue(webui_callback_id_), |
| 143 *base::Value::CreateNullValue()); |
| 144 webui_callback_id_.clear(); |
| 139 } | 145 } |
| 140 | 146 |
| 141 void ClearBrowsingDataHandler::OnBrowsingHistoryPrefChanged() { | 147 void ClearBrowsingDataHandler::OnBrowsingHistoryPrefChanged() { |
| 142 web_ui()->CallJavascriptFunction( | 148 web_ui()->CallJavascriptFunction( |
| 143 "SettingsClearBrowserData.setAllowDeletingHistory", | 149 "cr.webUIListenerCallback", |
| 150 base::StringValue("browsing-history-pref-changed"), |
| 144 base::FundamentalValue(*allow_deleting_browser_history_)); | 151 base::FundamentalValue(*allow_deleting_browser_history_)); |
| 145 } | 152 } |
| 146 | 153 |
| 147 } // namespace settings | 154 } // namespace settings |
| OLD | NEW |