OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/supervised_user/supervised_user_resource_throttle.h" | 5 #include "chrome/browser/supervised_user/supervised_user_resource_throttle.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/metrics/sparse_histogram.h" | 8 #include "base/metrics/sparse_histogram.h" |
9 #include "chrome/browser/supervised_user/supervised_user_interstitial.h" | 9 #include "chrome/browser/supervised_user/supervised_user_interstitial.h" |
10 #include "chrome/browser/supervised_user/supervised_user_navigation_observer.h" | 10 #include "chrome/browser/supervised_user/supervised_user_navigation_observer.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 // These values corresponds to SupervisedUserSafetyFilterResult in | 23 // These values corresponds to SupervisedUserSafetyFilterResult in |
24 // tools/metrics/histograms/histograms.xml. If you change anything here, make | 24 // tools/metrics/histograms/histograms.xml. If you change anything here, make |
25 // sure to also update histograms.xml accordingly. | 25 // sure to also update histograms.xml accordingly. |
26 enum { | 26 enum { |
27 FILTERING_BEHAVIOR_ALLOW = 1, | 27 FILTERING_BEHAVIOR_ALLOW = 1, |
28 FILTERING_BEHAVIOR_ALLOW_UNCERTAIN, | 28 FILTERING_BEHAVIOR_ALLOW_UNCERTAIN, |
29 FILTERING_BEHAVIOR_BLOCK_BLACKLIST, | 29 FILTERING_BEHAVIOR_BLOCK_BLACKLIST, |
30 FILTERING_BEHAVIOR_BLOCK_SAFESITES, | 30 FILTERING_BEHAVIOR_BLOCK_SAFESITES, |
31 FILTERING_BEHAVIOR_BLOCK_MANUAL, | 31 FILTERING_BEHAVIOR_BLOCK_MANUAL, |
32 FILTERING_BEHAVIOR_BLOCK_DEFAULT, | 32 FILTERING_BEHAVIOR_BLOCK_DEFAULT, |
33 FILTERING_BEHAVIOR_MAX = FILTERING_BEHAVIOR_BLOCK_DEFAULT | 33 FILTERING_BEHAVIOR_ALLOW_WHITELIST, |
| 34 FILTERING_BEHAVIOR_MAX = FILTERING_BEHAVIOR_ALLOW_WHITELIST |
34 }; | 35 }; |
35 const int kHistogramFilteringBehaviorSpacing = 100; | 36 const int kHistogramFilteringBehaviorSpacing = 100; |
36 const int kHistogramPageTransitionMaxKnownValue = | 37 const int kHistogramPageTransitionMaxKnownValue = |
37 static_cast<int>(ui::PAGE_TRANSITION_KEYWORD_GENERATED); | 38 static_cast<int>(ui::PAGE_TRANSITION_KEYWORD_GENERATED); |
38 const int kHistogramPageTransitionFallbackValue = | 39 const int kHistogramPageTransitionFallbackValue = |
39 kHistogramFilteringBehaviorSpacing - 1; | 40 kHistogramFilteringBehaviorSpacing - 1; |
40 const int kHistogramMax = 700; | 41 const int kHistogramMax = 800; |
41 | 42 |
42 static_assert(kHistogramPageTransitionMaxKnownValue < | 43 static_assert(kHistogramPageTransitionMaxKnownValue < |
43 kHistogramPageTransitionFallbackValue, | 44 kHistogramPageTransitionFallbackValue, |
44 "HistogramPageTransition MaxKnownValue must be < FallbackValue"); | 45 "HistogramPageTransition MaxKnownValue must be < FallbackValue"); |
45 static_assert(FILTERING_BEHAVIOR_MAX * kHistogramFilteringBehaviorSpacing + | 46 static_assert(FILTERING_BEHAVIOR_MAX * kHistogramFilteringBehaviorSpacing + |
46 kHistogramPageTransitionFallbackValue < kHistogramMax, | 47 kHistogramPageTransitionFallbackValue < kHistogramMax, |
47 "Invalid HistogramMax value"); | 48 "Invalid HistogramMax value"); |
48 | 49 |
49 int GetHistogramValueForFilteringBehavior( | 50 int GetHistogramValueForFilteringBehavior( |
50 SupervisedUserURLFilter::FilteringBehavior behavior, | 51 SupervisedUserURLFilter::FilteringBehavior behavior, |
51 SupervisedUserURLFilter::FilteringBehaviorReason reason, | 52 SupervisedUserURLFilter::FilteringBehaviorReason reason, |
52 bool uncertain) { | 53 bool uncertain) { |
53 switch (behavior) { | 54 switch (behavior) { |
54 case SupervisedUserURLFilter::ALLOW: | 55 case SupervisedUserURLFilter::ALLOW: |
55 case SupervisedUserURLFilter::WARN: | 56 case SupervisedUserURLFilter::WARN: |
| 57 if (reason == SupervisedUserURLFilter::WHITELIST) |
| 58 return FILTERING_BEHAVIOR_ALLOW_WHITELIST; |
56 return uncertain ? FILTERING_BEHAVIOR_ALLOW_UNCERTAIN | 59 return uncertain ? FILTERING_BEHAVIOR_ALLOW_UNCERTAIN |
57 : FILTERING_BEHAVIOR_ALLOW; | 60 : FILTERING_BEHAVIOR_ALLOW; |
58 case SupervisedUserURLFilter::BLOCK: | 61 case SupervisedUserURLFilter::BLOCK: |
59 switch (reason) { | 62 switch (reason) { |
60 case SupervisedUserURLFilter::BLACKLIST: | 63 case SupervisedUserURLFilter::BLACKLIST: |
61 return FILTERING_BEHAVIOR_BLOCK_BLACKLIST; | 64 return FILTERING_BEHAVIOR_BLOCK_BLACKLIST; |
62 case SupervisedUserURLFilter::ASYNC_CHECKER: | 65 case SupervisedUserURLFilter::ASYNC_CHECKER: |
63 return FILTERING_BEHAVIOR_BLOCK_SAFESITES; | 66 return FILTERING_BEHAVIOR_BLOCK_SAFESITES; |
64 case SupervisedUserURLFilter::WHITELIST: | 67 case SupervisedUserURLFilter::WHITELIST: |
65 NOTREACHED(); | 68 NOTREACHED(); |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 controller()->Resume(); | 200 controller()->Resume(); |
198 } | 201 } |
199 | 202 |
200 void SupervisedUserResourceThrottle::OnInterstitialResult( | 203 void SupervisedUserResourceThrottle::OnInterstitialResult( |
201 bool continue_request) { | 204 bool continue_request) { |
202 if (continue_request) | 205 if (continue_request) |
203 controller()->Resume(); | 206 controller()->Resume(); |
204 else | 207 else |
205 controller()->Cancel(); | 208 controller()->Cancel(); |
206 } | 209 } |
OLD | NEW |