OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "components/translate/core/browser/translate_ranker_impl.h" | 5 #include "components/translate/core/browser/translate_ranker_impl.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 | 75 |
76 const base::Feature kTranslateRankerQuery{"TranslateRankerQuery", | 76 const base::Feature kTranslateRankerQuery{"TranslateRankerQuery", |
77 base::FEATURE_DISABLED_BY_DEFAULT}; | 77 base::FEATURE_DISABLED_BY_DEFAULT}; |
78 | 78 |
79 const base::Feature kTranslateRankerEnforcement{ | 79 const base::Feature kTranslateRankerEnforcement{ |
80 "TranslateRankerEnforcement", base::FEATURE_DISABLED_BY_DEFAULT}; | 80 "TranslateRankerEnforcement", base::FEATURE_DISABLED_BY_DEFAULT}; |
81 | 81 |
82 const base::Feature kTranslateRankerLogging{"TranslateRankerLogging", | 82 const base::Feature kTranslateRankerLogging{"TranslateRankerLogging", |
83 base::FEATURE_ENABLED_BY_DEFAULT}; | 83 base::FEATURE_ENABLED_BY_DEFAULT}; |
84 | 84 |
| 85 const base::Feature kTranslateRankerDecisionOverride{ |
| 86 "TranslateRankerDecisionOverride", base::FEATURE_DISABLED_BY_DEFAULT}; |
| 87 |
85 TranslateRankerFeatures::TranslateRankerFeatures() {} | 88 TranslateRankerFeatures::TranslateRankerFeatures() {} |
86 | 89 |
87 TranslateRankerFeatures::TranslateRankerFeatures(int accepted, | 90 TranslateRankerFeatures::TranslateRankerFeatures(int accepted, |
88 int denied, | 91 int denied, |
89 int ignored, | 92 int ignored, |
90 const std::string& src, | 93 const std::string& src, |
91 const std::string& dst, | 94 const std::string& dst, |
92 const std::string& cntry, | 95 const std::string& cntry, |
93 const std::string& locale) | 96 const std::string& locale) |
94 : accepted_count(accepted), | 97 : accepted_count(accepted), |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 << "ignore_ratio=" << ignored_ratio; | 134 << "ignore_ratio=" << ignored_ratio; |
132 } | 135 } |
133 | 136 |
134 TranslateRankerImpl::TranslateRankerImpl(const base::FilePath& model_path, | 137 TranslateRankerImpl::TranslateRankerImpl(const base::FilePath& model_path, |
135 const GURL& model_url) | 138 const GURL& model_url) |
136 : is_logging_enabled_( | 139 : is_logging_enabled_( |
137 base::FeatureList::IsEnabled(kTranslateRankerLogging)), | 140 base::FeatureList::IsEnabled(kTranslateRankerLogging)), |
138 is_query_enabled_(base::FeatureList::IsEnabled(kTranslateRankerQuery)), | 141 is_query_enabled_(base::FeatureList::IsEnabled(kTranslateRankerQuery)), |
139 is_enforcement_enabled_( | 142 is_enforcement_enabled_( |
140 base::FeatureList::IsEnabled(kTranslateRankerEnforcement)), | 143 base::FeatureList::IsEnabled(kTranslateRankerEnforcement)), |
| 144 is_decision_override_enabled_(base::FeatureList::IsEnabled( |
| 145 translate::kTranslateRankerDecisionOverride)), |
141 weak_ptr_factory_(this) { | 146 weak_ptr_factory_(this) { |
142 if (IsQueryEnabled() || IsEnforcementEnabled()) { | 147 if (IsQueryEnabled() || IsEnforcementEnabled() || |
| 148 IsDecisionOverrideEnabled()) { |
143 model_loader_ = base::MakeUnique<RankerModelLoader>( | 149 model_loader_ = base::MakeUnique<RankerModelLoader>( |
144 base::Bind(&ValidateModel), | 150 base::Bind(&ValidateModel), |
145 base::Bind(&TranslateRankerImpl::OnModelAvailable, | 151 base::Bind(&TranslateRankerImpl::OnModelAvailable, |
146 weak_ptr_factory_.GetWeakPtr()), | 152 weak_ptr_factory_.GetWeakPtr()), |
147 model_path, model_url, kUmaPrefix); | 153 model_path, model_url, kUmaPrefix); |
148 model_loader_->Start(); | 154 model_loader_->Start(); |
149 } | 155 } |
150 } | 156 } |
151 | 157 |
152 TranslateRankerImpl::~TranslateRankerImpl() {} | 158 TranslateRankerImpl::~TranslateRankerImpl() {} |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 } | 195 } |
190 | 196 |
191 bool TranslateRankerImpl::IsQueryEnabled() { | 197 bool TranslateRankerImpl::IsQueryEnabled() { |
192 return is_query_enabled_; | 198 return is_query_enabled_; |
193 } | 199 } |
194 | 200 |
195 bool TranslateRankerImpl::IsEnforcementEnabled() { | 201 bool TranslateRankerImpl::IsEnforcementEnabled() { |
196 return is_enforcement_enabled_; | 202 return is_enforcement_enabled_; |
197 } | 203 } |
198 | 204 |
| 205 bool TranslateRankerImpl::IsDecisionOverrideEnabled() { |
| 206 return is_decision_override_enabled_; |
| 207 } |
| 208 |
199 int TranslateRankerImpl::GetModelVersion() const { | 209 int TranslateRankerImpl::GetModelVersion() const { |
200 return model_ ? model_->proto().translate().version() : 0; | 210 return model_ ? model_->proto().translate().version() : 0; |
201 } | 211 } |
202 | 212 |
203 bool TranslateRankerImpl::ShouldOfferTranslation( | 213 bool TranslateRankerImpl::ShouldOfferTranslation( |
204 const TranslatePrefs& translate_prefs, | 214 const TranslatePrefs& translate_prefs, |
205 const std::string& src_lang, | 215 const std::string& src_lang, |
206 const std::string& dst_lang) { | 216 const std::string& dst_lang) { |
207 DCHECK(sequence_checker_.CalledOnValidSequence()); | 217 DCHECK(sequence_checker_.CalledOnValidSequence()); |
208 // The ranker is a gate in the "show a translation prompt" flow. To retain | 218 // The ranker is a gate in the "show a translation prompt" flow. To retain |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 return model_loader_ != nullptr; | 302 return model_loader_ != nullptr; |
293 } | 303 } |
294 | 304 |
295 } // namespace translate | 305 } // namespace translate |
296 | 306 |
297 std::ostream& operator<<(std::ostream& stream, | 307 std::ostream& operator<<(std::ostream& stream, |
298 const translate::TranslateRankerFeatures& features) { | 308 const translate::TranslateRankerFeatures& features) { |
299 features.WriteTo(stream); | 309 features.WriteTo(stream); |
300 return stream; | 310 return stream; |
301 } | 311 } |
OLD | NEW |