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

Unified Diff: chrome/browser/ui/views/download/download_feedback_dialog_view.cc

Issue 153353006: Opt out of download feedback from settings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/download/download_feedback_dialog_view.cc
diff --git a/chrome/browser/ui/views/download/download_feedback_dialog_view.cc b/chrome/browser/ui/views/download/download_feedback_dialog_view.cc
index 00774ad9b4c2aea926d6ab5f409c4f204f39b83a..ff716ea27fcaba2e988f329f1088fda16a083f5d 100644
--- a/chrome/browser/ui/views/download/download_feedback_dialog_view.cc
+++ b/chrome/browser/ui/views/download/download_feedback_dialog_view.cc
@@ -33,10 +33,10 @@ class DialogStatusData : public base::SupportsUserData::Data {
void DownloadFeedbackDialogView::Show(
gfx::NativeWindow parent_window,
Profile* profile,
- const base::Callback<void(DownloadReportingStatus)>& callback) {
+ const UserDecisionCallback& callback) {
// This dialog should only be shown if it hasn't been shown before.
- DCHECK(profile->GetPrefs()->GetInteger(
- prefs::kSafeBrowsingDownloadReportingEnabled) == kDialogNotYetShown);
+ DCHECK(!profile->GetPrefs()->HasPrefPath(
+ prefs::kSafeBrowsingDownloadFeedbackEnabled));
// Only one dialog should be shown at a time, so check to see if another one
// is open. If another one is open, treat this parallel call as if reporting
@@ -53,20 +53,13 @@ void DownloadFeedbackDialogView::Show(
new DownloadFeedbackDialogView(profile, callback);
CreateBrowserModalDialogViews(window, parent_window)->Show();
} else {
- callback.Run(kDownloadReportingDisabled);
+ callback.Run(false);
}
}
-void DownloadFeedbackDialogView::ReleaseDialogStatusHold() {
- DialogStatusData* data =
- static_cast<DialogStatusData*>(profile_->GetUserData(kDialogStatusKey));
- DCHECK(data);
- data->set_currently_shown(false);
-}
-
DownloadFeedbackDialogView::DownloadFeedbackDialogView(
Profile* profile,
- const base::Callback<void(DownloadReportingStatus)>& callback)
+ const UserDecisionCallback& callback)
: profile_(profile),
callback_(callback),
explanation_box_view_(new views::MessageBoxView(
@@ -91,20 +84,24 @@ base::string16 DownloadFeedbackDialogView::GetDialogButtonLabel(
ok_button_text_ : cancel_button_text_;
}
-bool DownloadFeedbackDialogView::Cancel() {
- profile_->GetPrefs()->SetInteger(
- prefs::kSafeBrowsingDownloadReportingEnabled, kDownloadReportingDisabled);
- ReleaseDialogStatusHold();
- callback_.Run(kDownloadReportingDisabled);
+bool DownloadFeedbackDialogView::OnButtonClicked(bool accepted) {
+ profile_->GetPrefs()->SetBoolean(prefs::kSafeBrowsingDownloadFeedbackEnabled,
+ accepted);
+ DialogStatusData* data =
+ static_cast<DialogStatusData*>(profile_->GetUserData(kDialogStatusKey));
+ DCHECK(data);
+ data->set_currently_shown(false);
+
+ callback_.Run(accepted);
return true;
}
+bool DownloadFeedbackDialogView::Cancel() {
+ return OnButtonClicked(false);
+}
+
bool DownloadFeedbackDialogView::Accept() {
- profile_->GetPrefs()->SetInteger(
- prefs::kSafeBrowsingDownloadReportingEnabled, kDownloadReportingEnabled);
- ReleaseDialogStatusHold();
- callback_.Run(kDownloadReportingEnabled);
- return true;
+ return OnButtonClicked(true);
}
ui::ModalType DownloadFeedbackDialogView::GetModalType() const {

Powered by Google App Engine
This is Rietveld 408576698