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

Side by Side Diff: chrome/browser/ui/cocoa/download/download_danger_prompt_impl.cc

Issue 1943993006: Create test fixture for SafeBrowsingService (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nits Created 4 years, 7 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/download/download_danger_prompt.h" 5 #include "chrome/browser/download/download_danger_prompt.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/download/download_stats.h" 9 #include "chrome/browser/download/download_stats.h"
10 #include "chrome/browser/extensions/api/experience_sampling_private/experience_s ampling.h" 10 #include "chrome/browser/extensions/api/experience_sampling_private/experience_s ampling.h"
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 RunDone(DISMISS); 236 RunDone(DISMISS);
237 } 237 }
238 238
239 void DownloadDangerPromptImpl::RunDone(Action action) { 239 void DownloadDangerPromptImpl::RunDone(Action action) {
240 // Invoking the callback can cause the download item state to change or cause 240 // Invoking the callback can cause the download item state to change or cause
241 // the constrained window to close, and |callback| refers to a member 241 // the constrained window to close, and |callback| refers to a member
242 // variable. 242 // variable.
243 OnDone done = done_; 243 OnDone done = done_;
244 done_.Reset(); 244 done_.Reset();
245 if (download_ != NULL) { 245 if (download_ != NULL) {
246 const bool accept = action == DownloadDangerPrompt::ACCEPT; 246 // If this download is no longer dangerous, or is already canceled or
247 RecordDownloadDangerPrompt(accept, *download_); 247 // completed, don't send any report.
248 if (!download_->GetURL().is_empty() && 248 if (download_->IsDangerous() && !download_->IsDone()) {
249 !download_->GetBrowserContext()->IsOffTheRecord()) { 249 const bool accept = action == DownloadDangerPrompt::ACCEPT;
250 SendSafeBrowsingDownloadRecoveryReport(accept, *download_); 250 RecordDownloadDangerPrompt(accept, *download_);
251 if (!download_->GetURL().is_empty() &&
252 !download_->GetBrowserContext()->IsOffTheRecord()) {
253 SendSafeBrowsingDownloadRecoveryReport(accept, *download_);
254 }
251 } 255 }
252 download_->RemoveObserver(this); 256 download_->RemoveObserver(this);
253 download_ = NULL; 257 download_ = NULL;
254 } 258 }
255 if (!done.is_null()) 259 if (!done.is_null())
256 done.Run(action); 260 done.Run(action);
257 } 261 }
258 262
259 } // namespace 263 } // namespace
260 264
261 // static 265 // static
262 DownloadDangerPrompt* DownloadDangerPrompt::Create( 266 DownloadDangerPrompt* DownloadDangerPrompt::Create(
263 content::DownloadItem* item, 267 content::DownloadItem* item,
264 content::WebContents* web_contents, 268 content::WebContents* web_contents,
265 bool show_context, 269 bool show_context,
266 const OnDone& done) { 270 const OnDone& done) {
267 DownloadDangerPromptImpl* prompt = 271 DownloadDangerPromptImpl* prompt =
268 new DownloadDangerPromptImpl(item, web_contents, show_context, done); 272 new DownloadDangerPromptImpl(item, web_contents, show_context, done);
269 // |prompt| will be deleted when the dialog is done. 273 // |prompt| will be deleted when the dialog is done.
270 TabModalConfirmDialog::Create(prompt, web_contents); 274 TabModalConfirmDialog::Create(prompt, web_contents);
271 return prompt; 275 return prompt;
272 } 276 }
OLDNEW
« no previous file with comments | « chrome/browser/safe_browsing/ui_manager.h ('k') | chrome/browser/ui/views/download/download_danger_prompt_views.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698