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

Side by Side Diff: components/translate/core/browser/translate_manager.cc

Issue 2697703004: Allow TranslateRanker to override decisions taken by heuristics. (Closed)
Patch Set: Make TranslateAcceptLanguages default constructor protected. Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_manager.h" 5 #include "components/translate/core/browser/translate_manager.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 InitTranslateEvent(language_code, target_lang, *translate_prefs); 224 InitTranslateEvent(language_code, target_lang, *translate_prefs);
225 225
226 // Don't translate similar languages (ex: en-US to en). 226 // Don't translate similar languages (ex: en-US to en).
227 if (language_code == target_lang) { 227 if (language_code == target_lang) {
228 TranslateBrowserMetrics::ReportInitiationStatus( 228 TranslateBrowserMetrics::ReportInitiationStatus(
229 TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES); 229 TranslateBrowserMetrics::INITIATION_STATUS_SIMILAR_LANGUAGES);
230 return; 230 return;
231 } 231 }
232 232
233 bool ranker_should_offer_translation = true; 233 bool ranker_should_offer_translation = true;
234 if (translate_ranker_->IsQueryEnabled() || 234 if (translate_ranker_->IsQueryEnabled() ||
groby-ooo-7-16 2017/04/10 20:52:47 This is more and more ranker-related logic that mo
hamelphi 2017/04/11 22:46:07 Done.
235 translate_ranker_->IsEnforcementEnabled()) { 235 translate_ranker_->IsEnforcementEnabled() ||
236 translate_ranker_->IsDecisionOverrideEnabled()) {
236 ranker_should_offer_translation = translate_ranker_->ShouldOfferTranslation( 237 ranker_should_offer_translation = translate_ranker_->ShouldOfferTranslation(
237 *translate_prefs, language_code, target_lang); 238 *translate_prefs, language_code, target_lang);
238 translate_event_->set_ranker_request_timestamp_sec( 239 translate_event_->set_ranker_request_timestamp_sec(
239 (base::TimeTicks::Now() - base::TimeTicks()).InSeconds()); 240 (base::TimeTicks::Now() - base::TimeTicks()).InSeconds());
240 translate_event_->set_ranker_version(translate_ranker_->GetModelVersion()); 241 translate_event_->set_ranker_version(translate_ranker_->GetModelVersion());
241 translate_event_->set_ranker_response( 242 translate_event_->set_ranker_response(
242 ranker_should_offer_translation 243 ranker_should_offer_translation
243 ? metrics::TranslateEventProto::SHOW 244 ? metrics::TranslateEventProto::SHOW
244 : metrics::TranslateEventProto::DONT_SHOW); 245 : metrics::TranslateEventProto::DONT_SHOW);
245 } 246 }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 } 309 }
309 310
310 if (LanguageInULP(language_code)) { 311 if (LanguageInULP(language_code)) {
311 TranslateBrowserMetrics::ReportInitiationStatus( 312 TranslateBrowserMetrics::ReportInitiationStatus(
312 TranslateBrowserMetrics::INITIATION_STATUS_LANGUAGE_IN_ULP); 313 TranslateBrowserMetrics::INITIATION_STATUS_LANGUAGE_IN_ULP);
313 RecordTranslateEvent(metrics::TranslateEventProto::LANGUAGE_IN_ULP); 314 RecordTranslateEvent(metrics::TranslateEventProto::LANGUAGE_IN_ULP);
314 return; 315 return;
315 } 316 }
316 317
317 if (!ranker_should_offer_translation && 318 if (!ranker_should_offer_translation &&
318 translate_ranker_->IsEnforcementEnabled()) { 319 (translate_ranker_->IsEnforcementEnabled() ||
320 translate_ranker_->IsDecisionOverrideEnabled())) {
319 TranslateBrowserMetrics::ReportInitiationStatus( 321 TranslateBrowserMetrics::ReportInitiationStatus(
320 TranslateBrowserMetrics::INITIATION_STATUS_ABORTED_BY_RANKER); 322 TranslateBrowserMetrics::INITIATION_STATUS_ABORTED_BY_RANKER);
321 RecordTranslateEvent(metrics::TranslateEventProto::DISABLED_BY_RANKER); 323 RecordTranslateEvent(metrics::TranslateEventProto::DISABLED_BY_RANKER);
322 return; 324 return;
323 } 325 }
324 326
325 TranslateBrowserMetrics::ReportInitiationStatus( 327 TranslateBrowserMetrics::ReportInitiationStatus(
326 TranslateBrowserMetrics::INITIATION_STATUS_SHOW_INFOBAR); 328 TranslateBrowserMetrics::INITIATION_STATUS_SHOW_INFOBAR);
327 329
328 // Prompts the user if they want the page translated. 330 // Prompts the user if they want the page translated.
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 604
603 void TranslateManager::RecordTranslateEvent(int event_type) { 605 void TranslateManager::RecordTranslateEvent(int event_type) {
604 DCHECK(metrics::TranslateEventProto::EventType_IsValid(event_type)); 606 DCHECK(metrics::TranslateEventProto::EventType_IsValid(event_type));
605 translate_event_->set_event_type( 607 translate_event_->set_event_type(
606 static_cast<metrics::TranslateEventProto::EventType>(event_type)); 608 static_cast<metrics::TranslateEventProto::EventType>(event_type));
607 translate_event_->set_event_timestamp_sec( 609 translate_event_->set_event_timestamp_sec(
608 (base::TimeTicks::Now() - base::TimeTicks()).InSeconds()); 610 (base::TimeTicks::Now() - base::TimeTicks()).InSeconds());
609 translate_ranker_->AddTranslateEvent(*translate_event_); 611 translate_ranker_->AddTranslateEvent(*translate_event_);
610 } 612 }
611 613
614 bool TranslateManager::ShouldOverrideDecision(int event_type) {
615 DCHECK(metrics::TranslateEventProto::EventType_IsValid(event_type));
616 if (translate_ranker_->IsDecisionOverrideEnabled()) {
617 translate_event_->add_decision_overrides(
618 static_cast<metrics::TranslateEventProto::EventType>(event_type));
619 DVLOG(3) << "Overriding decision of type: " << event_type;
620 return true;
621 } else {
622 RecordTranslateEvent(event_type);
623 return false;
624 }
625 }
626
612 } // namespace translate 627 } // namespace translate
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698