| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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" |
| 6 |
| 5 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 6 #include "chrome/browser/download/download_danger_prompt.h" | |
| 7 #include "chrome/browser/download/download_stats.h" | 8 #include "chrome/browser/download/download_stats.h" |
| 8 #include "chrome/browser/extensions/api/experience_sampling_private/experience_s
ampling.h" | 9 #include "chrome/browser/extensions/api/experience_sampling_private/experience_s
ampling.h" |
| 9 #include "chrome/grit/chromium_strings.h" | 10 #include "chrome/grit/chromium_strings.h" |
| 10 #include "chrome/grit/generated_resources.h" | 11 #include "chrome/grit/generated_resources.h" |
| 11 #include "components/constrained_window/constrained_window_views.h" | 12 #include "components/constrained_window/constrained_window_views.h" |
| 13 #include "content/public/browser/browser_context.h" |
| 12 #include "content/public/browser/browser_thread.h" | 14 #include "content/public/browser/browser_thread.h" |
| 13 #include "content/public/browser/download_danger_type.h" | 15 #include "content/public/browser/download_danger_type.h" |
| 14 #include "content/public/browser/download_item.h" | 16 #include "content/public/browser/download_item.h" |
| 15 #include "ui/base/l10n/l10n_util.h" | 17 #include "ui/base/l10n/l10n_util.h" |
| 16 #include "ui/base/resource/resource_bundle.h" | 18 #include "ui/base/resource/resource_bundle.h" |
| 17 #include "ui/views/controls/button/label_button.h" | 19 #include "ui/views/controls/button/label_button.h" |
| 18 #include "ui/views/controls/label.h" | 20 #include "ui/views/controls/label.h" |
| 19 #include "ui/views/layout/grid_layout.h" | 21 #include "ui/views/layout/grid_layout.h" |
| 20 #include "ui/views/view.h" | 22 #include "ui/views/view.h" |
| 21 #include "ui/views/widget/widget.h" | 23 #include "ui/views/widget/widget.h" |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 NOTREACHED(); | 328 NOTREACHED(); |
| 327 return base::string16(); | 329 return base::string16(); |
| 328 } | 330 } |
| 329 | 331 |
| 330 void DownloadDangerPromptViews::RunDone(Action action) { | 332 void DownloadDangerPromptViews::RunDone(Action action) { |
| 331 // Invoking the callback can cause the download item state to change or cause | 333 // Invoking the callback can cause the download item state to change or cause |
| 332 // the window to close, and |callback| refers to a member variable. | 334 // the window to close, and |callback| refers to a member variable. |
| 333 OnDone done = done_; | 335 OnDone done = done_; |
| 334 done_.Reset(); | 336 done_.Reset(); |
| 335 if (download_ != NULL) { | 337 if (download_ != NULL) { |
| 338 if (!download_->GetURL().is_empty() && |
| 339 !download_->GetBrowserContext()->IsOffTheRecord()) { |
| 340 SendSafeBrowsingDownloadRecoveryReport( |
| 341 action == DownloadDangerPrompt::ACCEPT, download_->GetURL()); |
| 342 } |
| 336 download_->RemoveObserver(this); | 343 download_->RemoveObserver(this); |
| 337 download_ = NULL; | 344 download_ = NULL; |
| 338 } | 345 } |
| 339 if (!done.is_null()) | 346 if (!done.is_null()) |
| 340 done.Run(action); | 347 done.Run(action); |
| 341 } | 348 } |
| 342 | 349 |
| 343 } // namespace | 350 } // namespace |
| 344 | 351 |
| 345 DownloadDangerPrompt* DownloadDangerPrompt::Create( | 352 DownloadDangerPrompt* DownloadDangerPrompt::Create( |
| 346 content::DownloadItem* item, | 353 content::DownloadItem* item, |
| 347 content::WebContents* web_contents, | 354 content::WebContents* web_contents, |
| 348 bool show_context, | 355 bool show_context, |
| 349 const OnDone& done) { | 356 const OnDone& done) { |
| 350 DownloadDangerPromptViews* download_danger_prompt = | 357 DownloadDangerPromptViews* download_danger_prompt = |
| 351 new DownloadDangerPromptViews(item, show_context, done); | 358 new DownloadDangerPromptViews(item, show_context, done); |
| 352 constrained_window::ShowWebModalDialogViews(download_danger_prompt, | 359 constrained_window::ShowWebModalDialogViews(download_danger_prompt, |
| 353 web_contents); | 360 web_contents); |
| 354 return download_danger_prompt; | 361 return download_danger_prompt; |
| 355 } | 362 } |
| OLD | NEW |