OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/prerender/prerender_field_trial.h" | 5 #include "chrome/browser/prerender/prerender_field_trial.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 channel == chrome::VersionInfo::CHANNEL_BETA) { | 98 channel == chrome::VersionInfo::CHANNEL_BETA) { |
99 // Use very conservatives and stable settings in beta and stable. | 99 // Use very conservatives and stable settings in beta and stable. |
100 const FieldTrial::Probability release_prerender_enabled_probability = 970; | 100 const FieldTrial::Probability release_prerender_enabled_probability = 970; |
101 const FieldTrial::Probability release_control_probability = 10; | 101 const FieldTrial::Probability release_control_probability = 10; |
102 const FieldTrial::Probability | 102 const FieldTrial::Probability |
103 release_experiment_multi_prerender_probability = 0; | 103 release_experiment_multi_prerender_probability = 0; |
104 const FieldTrial::Probability release_experiment_15min_ttl_probability = 10; | 104 const FieldTrial::Probability release_experiment_15min_ttl_probability = 10; |
105 const FieldTrial::Probability release_experiment_no_use_probability = 0; | 105 const FieldTrial::Probability release_experiment_no_use_probability = 0; |
106 const FieldTrial::Probability | 106 const FieldTrial::Probability |
107 release_experiment_match_complete_probability = 10; | 107 release_experiment_match_complete_probability = 10; |
108 COMPILE_ASSERT( | 108 static_assert( |
109 release_prerender_enabled_probability + | 109 release_prerender_enabled_probability + |
110 release_control_probability + | 110 release_control_probability + |
111 release_experiment_multi_prerender_probability + | 111 release_experiment_multi_prerender_probability + |
112 release_experiment_15min_ttl_probability + | 112 release_experiment_15min_ttl_probability + |
113 release_experiment_no_use_probability + | 113 release_experiment_no_use_probability + |
114 release_experiment_match_complete_probability == divisor, | 114 release_experiment_match_complete_probability == divisor, |
115 release_experiment_probabilities_must_equal_divisor); | 115 "release experiment probabilities must equal divisor"); |
116 | 116 |
117 control_probability = release_control_probability; | 117 control_probability = release_control_probability; |
118 experiment_multi_prerender_probability = | 118 experiment_multi_prerender_probability = |
119 release_experiment_multi_prerender_probability; | 119 release_experiment_multi_prerender_probability; |
120 experiment_15min_ttl_probability = release_experiment_15min_ttl_probability; | 120 experiment_15min_ttl_probability = release_experiment_15min_ttl_probability; |
121 experiment_no_use_probability = release_experiment_no_use_probability; | 121 experiment_no_use_probability = release_experiment_no_use_probability; |
122 experiment_match_complete_probability = | 122 experiment_match_complete_probability = |
123 release_experiment_match_complete_probability; | 123 release_experiment_match_complete_probability; |
124 } else { | 124 } else { |
125 // In testing channels, use more experiments and a larger control group to | 125 // In testing channels, use more experiments and a larger control group to |
126 // improve quality of data. | 126 // improve quality of data. |
127 const FieldTrial::Probability dev_prerender_enabled_probability = 200; | 127 const FieldTrial::Probability dev_prerender_enabled_probability = 200; |
128 const FieldTrial::Probability dev_control_probability = 200; | 128 const FieldTrial::Probability dev_control_probability = 200; |
129 const FieldTrial::Probability | 129 const FieldTrial::Probability |
130 dev_experiment_multi_prerender_probability = 200; | 130 dev_experiment_multi_prerender_probability = 200; |
131 const FieldTrial::Probability dev_experiment_15min_ttl_probability = 100; | 131 const FieldTrial::Probability dev_experiment_15min_ttl_probability = 100; |
132 const FieldTrial::Probability dev_experiment_no_use_probability = 100; | 132 const FieldTrial::Probability dev_experiment_no_use_probability = 100; |
133 const FieldTrial::Probability | 133 const FieldTrial::Probability |
134 dev_experiment_match_complete_probability = 200; | 134 dev_experiment_match_complete_probability = 200; |
135 COMPILE_ASSERT(dev_prerender_enabled_probability + | 135 static_assert(dev_prerender_enabled_probability + |
136 dev_control_probability + | 136 dev_control_probability + |
137 dev_experiment_multi_prerender_probability + | 137 dev_experiment_multi_prerender_probability + |
138 dev_experiment_15min_ttl_probability + | 138 dev_experiment_15min_ttl_probability + |
139 dev_experiment_no_use_probability + | 139 dev_experiment_no_use_probability + |
140 dev_experiment_match_complete_probability == divisor, | 140 dev_experiment_match_complete_probability == divisor, |
141 dev_experiment_probabilities_must_equal_divisor); | 141 "dev experiment probabilities must equal divisor"); |
142 | 142 |
143 control_probability = dev_control_probability; | 143 control_probability = dev_control_probability; |
144 experiment_multi_prerender_probability = | 144 experiment_multi_prerender_probability = |
145 dev_experiment_multi_prerender_probability; | 145 dev_experiment_multi_prerender_probability; |
146 experiment_15min_ttl_probability = dev_experiment_15min_ttl_probability; | 146 experiment_15min_ttl_probability = dev_experiment_15min_ttl_probability; |
147 experiment_no_use_probability = dev_experiment_no_use_probability; | 147 experiment_no_use_probability = dev_experiment_no_use_probability; |
148 experiment_match_complete_probability = | 148 experiment_match_complete_probability = |
149 dev_experiment_match_complete_probability; | 149 dev_experiment_match_complete_probability; |
150 } | 150 } |
151 | 151 |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 return GetLocalPredictorSpecValue(kDisableSessionStorageNamespaceMerging) != | 484 return GetLocalPredictorSpecValue(kDisableSessionStorageNamespaceMerging) != |
485 kDisabledGroup; | 485 kDisabledGroup; |
486 } | 486 } |
487 | 487 |
488 bool IsPrerenderCookieStoreEnabled() { | 488 bool IsPrerenderCookieStoreEnabled() { |
489 return GetLocalPredictorSpecValue(kPrerenderCookieStore) != kDisabledGroup && | 489 return GetLocalPredictorSpecValue(kPrerenderCookieStore) != kDisabledGroup && |
490 FieldTrialList::FindFullName(kPrerenderCookieStore) != kDisabledGroup; | 490 FieldTrialList::FindFullName(kPrerenderCookieStore) != kDisabledGroup; |
491 } | 491 } |
492 | 492 |
493 } // namespace prerender | 493 } // namespace prerender |
OLD | NEW |