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 |