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

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

Issue 2565873002: [translate] Add translate ranker model loader. (Closed)
Patch Set: comments from hamelphi Created 3 years, 11 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 33d3c514a5d011646e21b4c5aedfbff7679a21f6..07766c732d67c87f27fd5c4a98c72e04611b941a 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();
@@ -230,6 +229,19 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) {
return;
}
+ bool ranker_should_offer_translation = true;
groby-ooo-7-16 2017/01/23 21:41:57 Shouldn't this be initialized to false? If it does
Roger McFarlane (Chromium) 2017/02/08 23:08:11 In it's current incarnation, the ranker is as gate
+ if (translate_ranker_->IsEnabled()) {
+ 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() ||
@@ -300,22 +312,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(
@@ -601,7 +603,8 @@ 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(std::move(translate_event_));
+ translate_event_ = base::MakeUnique<metrics::TranslateEventProto>();
}
} // namespace translate

Powered by Google App Engine
This is Rietveld 408576698