diff options
author | cthomp@chromium.org <cthomp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-16 01:10:16 +0000 |
---|---|---|
committer | cthomp@chromium.org <cthomp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-16 01:10:16 +0000 |
commit | 07c973f756ff41198cab01f7d2abd2ff8a123eae (patch) | |
tree | 9bce76d9e36667070459520cede6447f086a8215 /chrome/browser/download/download_danger_prompt.cc | |
parent | 9af1231d969ee9b215d1a02f0155f9aae9e18910 (diff) | |
download | chromium_src-07c973f756ff41198cab01f7d2abd2ff8a123eae.zip chromium_src-07c973f756ff41198cab01f7d2abd2ff8a123eae.tar.gz chromium_src-07c973f756ff41198cab01f7d2abd2ff8a123eae.tar.bz2 |
Experience sampling instrumentation for dangerous downloads warnings
BUG=384635
Review URL: https://codereview.chromium.org/402293002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@290076 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/download/download_danger_prompt.cc')
-rw-r--r-- | chrome/browser/download/download_danger_prompt.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/chrome/browser/download/download_danger_prompt.cc b/chrome/browser/download/download_danger_prompt.cc index 4ec23bc..13d623b 100644 --- a/chrome/browser/download/download_danger_prompt.cc +++ b/chrome/browser/download/download_danger_prompt.cc @@ -9,6 +9,7 @@ #include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/download/chrome_download_manager_delegate.h" #include "chrome/browser/download/download_stats.h" +#include "chrome/browser/extensions/api/experience_sampling_private/experience_sampling.h" #include "chrome/browser/ui/tab_modal_confirm_dialog.h" #include "chrome/browser/ui/tab_modal_confirm_dialog_delegate.h" #include "content/public/browser/download_danger_type.h" @@ -17,6 +18,8 @@ #include "grit/generated_resources.h" #include "ui/base/l10n/l10n_util.h" +using extensions::ExperienceSamplingEvent; + namespace { // TODO(wittman): Create a native web contents modal dialog implementation of @@ -56,6 +59,8 @@ class DownloadDangerPromptImpl : public DownloadDangerPrompt, bool show_context_; OnDone done_; + scoped_ptr<ExperienceSamplingEvent> sampling_event_; + DISALLOW_COPY_AND_ASSIGN(DownloadDangerPromptImpl); }; @@ -71,6 +76,14 @@ DownloadDangerPromptImpl::DownloadDangerPromptImpl( DCHECK(!done_.is_null()); download_->AddObserver(this); RecordOpenedDangerousConfirmDialog(download_->GetDangerType()); + + // ExperienceSampling: A malicious download warning is being shown to the + // user, so we start a new SamplingEvent and track it. + sampling_event_.reset(new ExperienceSamplingEvent( + ExperienceSamplingEvent::kDownloadDangerPrompt, + download->GetURL(), + download->GetReferrerUrl(), + download->GetBrowserContext())); } DownloadDangerPromptImpl::~DownloadDangerPromptImpl() { @@ -203,14 +216,20 @@ base::string16 DownloadDangerPromptImpl::GetCancelButtonTitle() { } void DownloadDangerPromptImpl::OnAccepted() { + // ExperienceSampling: User proceeded through the warning. + sampling_event_->CreateUserDecisionEvent(ExperienceSamplingEvent::kProceed); RunDone(ACCEPT); } void DownloadDangerPromptImpl::OnCanceled() { + // ExperienceSampling: User canceled the warning. + sampling_event_->CreateUserDecisionEvent(ExperienceSamplingEvent::kDeny); RunDone(CANCEL); } void DownloadDangerPromptImpl::OnClosed() { + // ExperienceSampling: User canceled the warning. + sampling_event_->CreateUserDecisionEvent(ExperienceSamplingEvent::kDeny); RunDone(DISMISS); } |