Index: chrome/browser/safe_browsing/safe_browsing_blocking_page.cc |
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc |
index 472dc5108a10fb43334762f3b0e697909fba6c38..a11bee0daff5609fa135a2eb87a99435a71169af 100644 |
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc |
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc |
@@ -159,7 +159,7 @@ SafeBrowsingBlockingPage::SafeBrowsingBlockingPage( |
// This must be done after calculating |interstitial_reason_| above. |
// Use same prefix for UMA as for Rappor. |
set_metrics_helper(new SecurityInterstitialMetricsHelper( |
- web_contents, request_url(), GetMetricPrefix(), GetMetricPrefix(), |
+ web_contents, request_url(), GetMetricPrefix(), GetRapporPrefix(), |
SecurityInterstitialMetricsHelper::REPORT_RAPPOR, |
GetSamplingEventName())); |
metrics_helper()->RecordUserDecision(SecurityInterstitialMetricsHelper::SHOW); |
@@ -493,6 +493,20 @@ bool SafeBrowsingBlockingPage::IsMainPageLoadBlocked( |
} |
std::string SafeBrowsingBlockingPage::GetMetricPrefix() const { |
+ bool primary_subresource = unsafe_resources_[0].is_subresource; |
+ switch (interstitial_reason_) { |
+ case SB_REASON_MALWARE: |
+ return primary_subresource ? "malware_subresource" : "malware"; |
+ case SB_REASON_HARMFUL: |
+ return primary_subresource ? "harmful_subresource" : "harmful"; |
+ case SB_REASON_PHISHING: |
+ return primary_subresource ? "phishing_subresource" : "phishing"; |
+ } |
+ NOTREACHED(); |
+ return std::string(); |
+} |
+ |
+std::string SafeBrowsingBlockingPage::GetRapporPrefix() const { |
switch (interstitial_reason_) { |
case SB_REASON_MALWARE: |
return "malware"; |