Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 |
| OLD | NEW |