Chromium Code Reviews| 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 8491a2adb164dbb1db06b4f48d0af8ca082ea006..8211f6cf0a13b0c2fefda3e88684d06098f69082 100644 |
| --- a/components/translate/core/browser/translate_manager.cc |
| +++ b/components/translate/core/browser/translate_manager.cc |
| @@ -232,7 +232,8 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) { |
| bool ranker_should_offer_translation = true; |
| 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.
|
| - translate_ranker_->IsEnforcementEnabled()) { |
| + translate_ranker_->IsEnforcementEnabled() || |
| + translate_ranker_->IsDecisionOverrideEnabled()) { |
| ranker_should_offer_translation = translate_ranker_->ShouldOfferTranslation( |
| *translate_prefs, language_code, target_lang); |
| translate_event_->set_ranker_request_timestamp_sec( |
| @@ -315,7 +316,8 @@ void TranslateManager::InitiateTranslation(const std::string& page_lang) { |
| } |
| if (!ranker_should_offer_translation && |
| - translate_ranker_->IsEnforcementEnabled()) { |
| + (translate_ranker_->IsEnforcementEnabled() || |
| + translate_ranker_->IsDecisionOverrideEnabled())) { |
| TranslateBrowserMetrics::ReportInitiationStatus( |
| TranslateBrowserMetrics::INITIATION_STATUS_ABORTED_BY_RANKER); |
| RecordTranslateEvent(metrics::TranslateEventProto::DISABLED_BY_RANKER); |
| @@ -609,4 +611,17 @@ void TranslateManager::RecordTranslateEvent(int event_type) { |
| translate_ranker_->AddTranslateEvent(*translate_event_); |
| } |
| +bool TranslateManager::ShouldOverrideDecision(int event_type) { |
| + DCHECK(metrics::TranslateEventProto::EventType_IsValid(event_type)); |
| + if (translate_ranker_->IsDecisionOverrideEnabled()) { |
| + translate_event_->add_decision_overrides( |
| + static_cast<metrics::TranslateEventProto::EventType>(event_type)); |
| + DVLOG(3) << "Overriding decision of type: " << event_type; |
| + return true; |
| + } else { |
| + RecordTranslateEvent(event_type); |
| + return false; |
| + } |
| +} |
| + |
| } // namespace translate |