| 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.h" | 5 #include "components/translate/core/browser/translate_ranker.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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 } | 59 } |
| 60 | 60 |
| 61 GURL GetTranslateRankerURL() { | 61 GURL GetTranslateRankerURL() { |
| 62 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); | 62 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |
| 63 return GURL(command_line->HasSwitch(switches::kTranslateRankerModelURL) | 63 return GURL(command_line->HasSwitch(switches::kTranslateRankerModelURL) |
| 64 ? command_line->GetSwitchValueASCII( | 64 ? command_line->GetSwitchValueASCII( |
| 65 switches::kTranslateRankerModelURL) | 65 switches::kTranslateRankerModelURL) |
| 66 : kTranslateRankerModelURL); | 66 : kTranslateRankerModelURL); |
| 67 } | 67 } |
| 68 | 68 |
| 69 bool IsQueryEnabled() { | |
| 70 return base::FeatureList::IsEnabled(kTranslateRankerQuery); | |
| 71 } | |
| 72 | |
| 73 bool IsEnforcementEnabled() { | |
| 74 return base::FeatureList::IsEnabled(kTranslateRankerEnforcement); | |
| 75 } | |
| 76 | |
| 77 void ReportModelStatus(ModelStatus model_status) { | 69 void ReportModelStatus(ModelStatus model_status) { |
| 78 UMA_HISTOGRAM_ENUMERATION("Translate.Ranker.Model.Status", model_status, | 70 UMA_HISTOGRAM_ENUMERATION("Translate.Ranker.Model.Status", model_status, |
| 79 MODEL_STATUS_MAX); | 71 MODEL_STATUS_MAX); |
| 80 } | 72 } |
| 81 | 73 |
| 82 } // namespace | 74 } // namespace |
| 83 | 75 |
| 84 const base::Feature kTranslateRankerQuery{"TranslateRankerQuery", | 76 const base::Feature kTranslateRankerQuery{"TranslateRankerQuery", |
| 85 base::FEATURE_DISABLED_BY_DEFAULT}; | 77 base::FEATURE_DISABLED_BY_DEFAULT}; |
| 86 | 78 |
| 87 const base::Feature kTranslateRankerEnforcement{ | 79 const base::Feature kTranslateRankerEnforcement{ |
| 88 "TranslateRankerEnforcement", base::FEATURE_DISABLED_BY_DEFAULT}; | 80 "TranslateRankerEnforcement", base::FEATURE_DISABLED_BY_DEFAULT}; |
| 89 | 81 |
| 90 const base::Feature kTranslateRankerLogging{"TranslateRankerLogging", | 82 const base::Feature kTranslateRankerLogging{"TranslateRankerLogging", |
| 91 base::FEATURE_DISABLED_BY_DEFAULT}; | 83 base::FEATURE_DISABLED_BY_DEFAULT}; |
| 92 | 84 |
| 93 TranslateRanker::~TranslateRanker() {} | 85 TranslateRanker::~TranslateRanker() {} |
| 94 | 86 |
| 95 // static | 87 // static |
| 96 bool TranslateRanker::IsEnabled() { | 88 bool TranslateRanker::IsEnabled() { |
| 97 return IsQueryEnabled() || IsEnforcementEnabled(); | 89 return IsQueryEnabled() || IsEnforcementEnabled(); |
| 98 } | 90 } |
| 99 | 91 |
| 100 // static | 92 // static |
| 101 bool TranslateRanker::IsLoggingEnabled() { | 93 bool TranslateRanker::IsLoggingEnabled() { |
| 102 return base::FeatureList::IsEnabled(kTranslateRankerLogging); | 94 return base::FeatureList::IsEnabled(kTranslateRankerLogging); |
| 103 } | 95 } |
| 104 | 96 |
| 105 // static | 97 // static |
| 98 bool TranslateRanker::IsQueryEnabled() { |
| 99 return base::FeatureList::IsEnabled(kTranslateRankerQuery); |
| 100 } |
| 101 |
| 102 // static |
| 103 bool TranslateRanker::IsEnforcementEnabled() { |
| 104 return base::FeatureList::IsEnabled(kTranslateRankerEnforcement); |
| 105 } |
| 106 |
| 107 // static |
| 106 TranslateRanker* TranslateRanker::GetInstance() { | 108 TranslateRanker* TranslateRanker::GetInstance() { |
| 107 return base::Singleton<TranslateRanker>::get(); | 109 return base::Singleton<TranslateRanker>::get(); |
| 108 } | 110 } |
| 109 | 111 |
| 110 std::unique_ptr<TranslateRanker> TranslateRanker::CreateForTesting( | 112 std::unique_ptr<TranslateRanker> TranslateRanker::CreateForTesting( |
| 111 const std::string& model_data) { | 113 const std::string& model_data) { |
| 112 std::unique_ptr<TranslateRanker> ranker(new TranslateRanker()); | 114 std::unique_ptr<TranslateRanker> ranker(new TranslateRanker()); |
| 113 CHECK(ranker != nullptr); | 115 CHECK(ranker != nullptr); |
| 114 ranker->ParseModel(0, true, model_data); | 116 ranker->ParseModel(0, true, model_data); |
| 115 CHECK(ranker->model_ != nullptr); | 117 CHECK(ranker->model_ != nullptr); |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 } | 301 } |
| 300 } | 302 } |
| 301 | 303 |
| 302 void TranslateRanker::RecordTranslateEvent( | 304 void TranslateRanker::RecordTranslateEvent( |
| 303 const metrics::TranslateEventProto& translate_event) { | 305 const metrics::TranslateEventProto& translate_event) { |
| 304 if (IsLoggingEnabled()) | 306 if (IsLoggingEnabled()) |
| 305 translate_events_cache_.push_back(translate_event); | 307 translate_events_cache_.push_back(translate_event); |
| 306 } | 308 } |
| 307 | 309 |
| 308 } // namespace translate | 310 } // namespace translate |
| OLD | NEW |