| 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 |