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/extensions/activity_log/uma_policy.h" | 5 #include "chrome/browser/extensions/activity_log/uma_policy.h" |
6 | 6 |
7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "chrome/browser/browser_process.h" | 9 #include "chrome/browser/browser_process.h" |
10 #include "chrome/browser/extensions/active_script_controller.h" | 10 #include "chrome/browser/extensions/active_script_controller.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 const int kCreatedScript = 1 << UmaPolicy::CREATED_SCRIPT; | 34 const int kCreatedScript = 1 << UmaPolicy::CREATED_SCRIPT; |
35 const int kCreatedIframe = 1 << UmaPolicy::CREATED_IFRAME; | 35 const int kCreatedIframe = 1 << UmaPolicy::CREATED_IFRAME; |
36 const int kCreatedDiv = 1 << UmaPolicy::CREATED_DIV; | 36 const int kCreatedDiv = 1 << UmaPolicy::CREATED_DIV; |
37 const int kCreatedLink = 1 << UmaPolicy::CREATED_LINK; | 37 const int kCreatedLink = 1 << UmaPolicy::CREATED_LINK; |
38 const int kCreatedInput = 1 << UmaPolicy::CREATED_INPUT; | 38 const int kCreatedInput = 1 << UmaPolicy::CREATED_INPUT; |
39 const int kCreatedEmbed = 1 << UmaPolicy::CREATED_EMBED; | 39 const int kCreatedEmbed = 1 << UmaPolicy::CREATED_EMBED; |
40 const int kCreatedObject = 1 << UmaPolicy::CREATED_OBJECT; | 40 const int kCreatedObject = 1 << UmaPolicy::CREATED_OBJECT; |
41 const int kAdInjected = 1 << UmaPolicy::AD_INJECTED; | 41 const int kAdInjected = 1 << UmaPolicy::AD_INJECTED; |
42 const int kAdRemoved = 1 << UmaPolicy::AD_REMOVED; | 42 const int kAdRemoved = 1 << UmaPolicy::AD_REMOVED; |
43 const int kAdReplaced = 1 << UmaPolicy::AD_REPLACED; | 43 const int kAdReplaced = 1 << UmaPolicy::AD_REPLACED; |
| 44 const int kAdLikelyInjected = 1 << UmaPolicy::AD_LIKELY_INJECTED; |
| 45 const int kAdLikelyReplaced = 1 << UmaPolicy::AD_LIKELY_REPLACED; |
44 | 46 |
45 // A mask of all the ad injection flags. | 47 // A mask of all the ad injection flags. |
46 const int kAnyAdActivity = kAdInjected | kAdRemoved | kAdReplaced; | 48 const int kAnyAdActivity = kAdInjected | kAdRemoved | kAdReplaced; |
47 | 49 |
48 } // namespace | 50 } // namespace |
49 | 51 |
50 // Class constants, also used in testing. -------------------------------------- | 52 // Class constants, also used in testing. -------------------------------------- |
51 | 53 |
52 const char UmaPolicy::kNumberOfTabs[] = "num_tabs"; | 54 const char UmaPolicy::kNumberOfTabs[] = "num_tabs"; |
53 const size_t UmaPolicy::kMaxTabsTracked = 50; | 55 const size_t UmaPolicy::kMaxTabsTracked = 50; |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 switch (ad_injection) { | 154 switch (ad_injection) { |
153 case Action::INJECTION_NEW_AD: | 155 case Action::INJECTION_NEW_AD: |
154 ret_bit |= kAdInjected; | 156 ret_bit |= kAdInjected; |
155 break; | 157 break; |
156 case Action::INJECTION_REMOVED_AD: | 158 case Action::INJECTION_REMOVED_AD: |
157 ret_bit |= kAdRemoved; | 159 ret_bit |= kAdRemoved; |
158 break; | 160 break; |
159 case Action::INJECTION_REPLACED_AD: | 161 case Action::INJECTION_REPLACED_AD: |
160 ret_bit |= kAdReplaced; | 162 ret_bit |= kAdReplaced; |
161 break; | 163 break; |
| 164 case Action::INJECTION_LIKELY_NEW_AD: |
| 165 ret_bit |= kAdLikelyInjected; |
| 166 break; |
| 167 case Action::INJECTION_LIKELY_REPLACED_AD: |
| 168 ret_bit |= kAdLikelyReplaced; |
| 169 break; |
162 case Action::NO_AD_INJECTION: | 170 case Action::NO_AD_INJECTION: |
163 break; | 171 break; |
164 case Action::NUM_INJECTION_TYPES: | 172 case Action::NUM_INJECTION_TYPES: |
165 NOTREACHED(); | 173 NOTREACHED(); |
166 } | 174 } |
167 | 175 |
168 return ret_bit; | 176 return ret_bit; |
169 } | 177 } |
170 | 178 |
171 void UmaPolicy::HistogramOnClose(const std::string& cleaned_url, | 179 void UmaPolicy::HistogramOnClose(const std::string& cleaned_url, |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(CREATED_EMBED), | 234 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(CREATED_EMBED), |
227 statuses[CREATED_EMBED - 1]); | 235 statuses[CREATED_EMBED - 1]); |
228 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(CREATED_OBJECT), | 236 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(CREATED_OBJECT), |
229 statuses[CREATED_OBJECT - 1]); | 237 statuses[CREATED_OBJECT - 1]); |
230 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_INJECTED), | 238 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_INJECTED), |
231 statuses[AD_INJECTED - 1]); | 239 statuses[AD_INJECTED - 1]); |
232 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_REMOVED), | 240 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_REMOVED), |
233 statuses[AD_REMOVED - 1]); | 241 statuses[AD_REMOVED - 1]); |
234 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_REPLACED), | 242 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_REPLACED), |
235 statuses[AD_REPLACED - 1]); | 243 statuses[AD_REPLACED - 1]); |
| 244 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_LIKELY_INJECTED), |
| 245 statuses[AD_LIKELY_INJECTED - 1]); |
| 246 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_LIKELY_REPLACED), |
| 247 statuses[AD_LIKELY_REPLACED - 1]); |
236 } else { | 248 } else { |
237 prefix += "Google."; | 249 prefix += "Google."; |
238 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(CONTENT_SCRIPT), | 250 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(CONTENT_SCRIPT), |
239 statuses[CONTENT_SCRIPT - 1]); | 251 statuses[CONTENT_SCRIPT - 1]); |
240 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(READ_DOM), | 252 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(READ_DOM), |
241 statuses[READ_DOM - 1]); | 253 statuses[READ_DOM - 1]); |
242 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(MODIFIED_DOM), | 254 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(MODIFIED_DOM), |
243 statuses[MODIFIED_DOM - 1]); | 255 statuses[MODIFIED_DOM - 1]); |
244 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(DOM_METHOD), | 256 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(DOM_METHOD), |
245 statuses[DOM_METHOD - 1]); | 257 statuses[DOM_METHOD - 1]); |
(...skipping 14 matching lines...) Expand all Loading... |
260 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(CREATED_EMBED), | 272 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(CREATED_EMBED), |
261 statuses[CREATED_EMBED - 1]); | 273 statuses[CREATED_EMBED - 1]); |
262 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(CREATED_OBJECT), | 274 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(CREATED_OBJECT), |
263 statuses[CREATED_OBJECT - 1]); | 275 statuses[CREATED_OBJECT - 1]); |
264 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_INJECTED), | 276 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_INJECTED), |
265 statuses[AD_INJECTED - 1]); | 277 statuses[AD_INJECTED - 1]); |
266 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_REMOVED), | 278 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_REMOVED), |
267 statuses[AD_REMOVED - 1]); | 279 statuses[AD_REMOVED - 1]); |
268 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_REPLACED), | 280 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_REPLACED), |
269 statuses[AD_REPLACED - 1]); | 281 statuses[AD_REPLACED - 1]); |
| 282 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_LIKELY_INJECTED), |
| 283 statuses[AD_LIKELY_INJECTED - 1]); |
| 284 UMA_HISTOGRAM_COUNTS_100(prefix + GetHistogramName(AD_LIKELY_REPLACED), |
| 285 statuses[AD_LIKELY_REPLACED - 1]); |
270 } | 286 } |
271 } | 287 } |
272 | 288 |
273 // Handle tab tracking. -------------------------------------------------------- | 289 // Handle tab tracking. -------------------------------------------------------- |
274 | 290 |
275 void UmaPolicy::OnBrowserAdded(Browser* browser) { | 291 void UmaPolicy::OnBrowserAdded(Browser* browser) { |
276 if (!profile_->IsSameProfile(browser->profile())) | 292 if (!profile_->IsSameProfile(browser->profile())) |
277 return; | 293 return; |
278 browser->tab_strip_model()->AddObserver(this); | 294 browser->tab_strip_model()->AddObserver(this); |
279 } | 295 } |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 case CREATED_EMBED: | 421 case CREATED_EMBED: |
406 return "CreatedEmbed"; | 422 return "CreatedEmbed"; |
407 case CREATED_OBJECT: | 423 case CREATED_OBJECT: |
408 return "CreatedObject"; | 424 return "CreatedObject"; |
409 case AD_INJECTED: | 425 case AD_INJECTED: |
410 return "AdInjected"; | 426 return "AdInjected"; |
411 case AD_REMOVED: | 427 case AD_REMOVED: |
412 return "AdRemoved"; | 428 return "AdRemoved"; |
413 case AD_REPLACED: | 429 case AD_REPLACED: |
414 return "AdReplaced"; | 430 return "AdReplaced"; |
| 431 case AD_LIKELY_INJECTED: |
| 432 return "AdLikelyInjected"; |
| 433 case AD_LIKELY_REPLACED: |
| 434 return "AdLikelyReplaced"; |
415 case NONE: | 435 case NONE: |
416 case MAX_STATUS: | 436 case MAX_STATUS: |
417 default: | 437 default: |
418 NOTREACHED(); | 438 NOTREACHED(); |
419 return ""; | 439 return ""; |
420 } | 440 } |
421 } | 441 } |
422 | 442 |
423 } // namespace extensions | 443 } // namespace extensions |
OLD | NEW |