| Index: chrome/browser/ui/views/download/download_item_view.cc
|
| diff --git a/chrome/browser/ui/views/download/download_item_view.cc b/chrome/browser/ui/views/download/download_item_view.cc
|
| index 7a3d9714d3579f82928cb477f823f410e53a0554..e93b5eb0b2ccac72f64bf1c547e79274479b1f5c 100644
|
| --- a/chrome/browser/ui/views/download/download_item_view.cc
|
| +++ b/chrome/browser/ui/views/download/download_item_view.cc
|
| @@ -557,27 +557,19 @@ void DownloadItemView::ButtonPressed(views::Button* sender,
|
| UMA_HISTOGRAM_LONG_TIMES("clickjacking.discard_download", warning_duration);
|
| if (model_.ShouldAllowDownloadFeedback() &&
|
| !shelf_->browser()->profile()->IsOffTheRecord()) {
|
| - DownloadFeedbackDialogView::DownloadReportingStatus pref_value =
|
| - static_cast<DownloadFeedbackDialogView::DownloadReportingStatus>(
|
| - shelf_->browser()->profile()->GetPrefs()->GetInteger(
|
| - prefs::kSafeBrowsingDownloadReportingEnabled));
|
| - switch (pref_value) {
|
| - case DownloadFeedbackDialogView::kDialogNotYetShown:
|
| - DownloadFeedbackDialogView::Show(
|
| - shelf_->get_parent()->GetNativeWindow(),
|
| - shelf_->browser()->profile(),
|
| - base::Bind(
|
| - &DownloadItemView::PossiblySubmitDownloadToFeedbackService,
|
| - weak_ptr_factory_.GetWeakPtr()));
|
| - break;
|
| -
|
| - case DownloadFeedbackDialogView::kDownloadReportingEnabled:
|
| - case DownloadFeedbackDialogView::kDownloadReportingDisabled:
|
| - PossiblySubmitDownloadToFeedbackService(pref_value);
|
| - break;
|
| -
|
| - case DownloadFeedbackDialogView::kMaxValue:
|
| - NOTREACHED();
|
| + if (!shelf_->browser()->profile()->GetPrefs()->HasPrefPath(
|
| + prefs::kSafeBrowsingDownloadFeedbackEnabled)) {
|
| + // Show dialog, because the dialog hasn't been shown before.
|
| + DownloadFeedbackDialogView::Show(
|
| + shelf_->get_parent()->GetNativeWindow(),
|
| + shelf_->browser()->profile(),
|
| + base::Bind(
|
| + &DownloadItemView::PossiblySubmitDownloadToFeedbackService,
|
| + weak_ptr_factory_.GetWeakPtr()));
|
| + } else {
|
| + PossiblySubmitDownloadToFeedbackService(
|
| + shelf_->browser()->profile()->GetPrefs()->GetBoolean(
|
| + prefs::kSafeBrowsingDownloadFeedbackEnabled));
|
| }
|
| return;
|
| }
|
| @@ -937,12 +929,9 @@ bool DownloadItemView::SubmitDownloadToFeedbackService() {
|
| #endif
|
| }
|
|
|
| -void DownloadItemView::PossiblySubmitDownloadToFeedbackService(
|
| - DownloadFeedbackDialogView::DownloadReportingStatus status) {
|
| - if (status != DownloadFeedbackDialogView::kDownloadReportingEnabled ||
|
| - !SubmitDownloadToFeedbackService()) {
|
| +void DownloadItemView::PossiblySubmitDownloadToFeedbackService(bool enabled) {
|
| + if (!enabled || !SubmitDownloadToFeedbackService())
|
| download()->Remove();
|
| - }
|
| // WARNING: 'this' is deleted at this point. Don't access 'this'.
|
| }
|
|
|
|
|