Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(803)

Side by Side Diff: chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc

Issue 1899853004: MD Settings: Clear Browsing Data dialog, dismiss when clearing is done. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698