Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1559)

Unified Diff: components/translate/core/browser/translate_manager.cc

Issue 2565873002: [translate] Add translate ranker model loader. (Closed)
Patch Set: comments from sdefresne Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/translate/core/browser/translate_manager.cc
diff --git a/components/translate/core/browser/translate_manager.cc b/components/translate/core/browser/translate_manager.cc
index cd10a75ed8ac4e003ed4705582fa52063a534da8..2466bd58a040e63363f331bbd7a914b2d1b398e9 100644
--- a/components/translate/core/browser/translate_manager.cc
+++ b/components/translate/core/browser/translate_manager.cc
@@ -131,17 +131,16 @@ TranslateManager::RegisterTranslateErrorCallback(
TranslateManager::TranslateManager(
TranslateClient* translate_client,
+ TranslateRanker* translate_ranker,
const std::string& accept_languages_pref_name)
: page_seq_no_(0),
accept_languages_pref_name_(accept_languages_pref_name),
translate_client_(translate_client),
translate_driver_(translate_client_->GetTranslateDriver()),
+ translate_ranker_(translate_ranker),
language_state_(translate_driver_),
translate_event_(base::MakeUnique<metrics::TranslateEventProto>()),
- weak_method_factory_(this) {
- if (TranslateRanker::IsEnabled())
- TranslateRanker::GetInstance()->FetchModelData(); // Asynchronous.
-}
+ weak_method_factory_(this) {}
base::WeakPtr<TranslateManager> TranslateManager::GetWeakPtr() {
return weak_method_factory_.GetWeakPtr();
@@ -232,6 +231,22 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES);
return;
}
+
+ bool ranker_should_offer_translation = true;
+ if (translate_ranker_->IsQueryEnabled() ||
+ translate_ranker_->IsLoggingEnabled() ||
+ translate_ranker_->IsEnforcementEnabled()) {
+ ranker_should_offer_translation = translate_ranker_->ShouldOfferTranslation(
+ *translate_prefs, language_code, target_lang);
+ translate_event_->set_ranker_request_timestamp_sec(
+ (base::TimeTicks::Now() - base::TimeTicks()).InSeconds());
+ translate_event_->set_ranker_version(translate_ranker_->GetModelVersion());
+ translate_event_->set_ranker_response(
+ ranker_should_offer_translation
+ ? metrics::TranslateEventProto::SHOW
+ : metrics::TranslateEventProto::DONT_SHOW);
+ }
+
// Nothing to do if either the language Chrome is in or the language of the
// page is not supported by the translation server.
if (target_lang.empty() ||
@@ -302,22 +317,12 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
return;
}
- if (TranslateRanker::IsEnabled()) {
- TranslateRanker* translate_ranker = TranslateRanker::GetInstance();
- bool should_offer_translation = translate_ranker->ShouldOfferTranslation(
- *translate_prefs, language_code, target_lang);
- translate_event_->set_ranker_request_timestamp_sec(
- (base::TimeTicks::Now() - base::TimeTicks()).InSeconds());
- translate_event_->set_ranker_version(translate_ranker->GetModelVersion());
- translate_event_->set_ranker_response(
- should_offer_translation ? metrics::TranslateEventProto::SHOW
- : metrics::TranslateEventProto::DONT_SHOW);
- if (!should_offer_translation && TranslateRanker::IsEnforcementEnabled()) {
- TranslateBrowserMetrics::ReportInitiationStatus(
- TranslateBrowserMetrics::INITIATION_STATUS_ABORTED_BY_RANKER);
- RecordTranslateEvent(metrics::TranslateEventProto::DISABLED_BY_RANKER);
- return;
- }
+ if (!ranker_should_offer_translation &&
+ translate_ranker_->IsEnforcementEnabled()) {
+ TranslateBrowserMetrics::ReportInitiationStatus(
+ TranslateBrowserMetrics::INITIATION_STATUS_ABORTED_BY_RANKER);
+ RecordTranslateEvent(metrics::TranslateEventProto::DISABLED_BY_RANKER);
+ return;
}
TranslateBrowserMetrics::ReportInitiationStatus(
@@ -604,7 +609,7 @@ void TranslateManager::RecordTranslateEvent(int event_type) {
static_cast<metrics::TranslateEventProto::EventType>(event_type));
translate_event_->set_event_timestamp_sec(
(base::TimeTicks::Now() - base::TimeTicks()).InSeconds());
- TranslateRanker::GetInstance()->RecordTranslateEvent(*translate_event_);
+ translate_ranker_->AddTranslateEvent(*translate_event_);
}
} // namespace translate
« no previous file with comments | « components/translate/core/browser/translate_manager.h ('k') | components/translate/core/browser/translate_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698