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 "chrome/browser/translate/chrome_translate_client.h" | 5 #include "chrome/browser/translate/chrome_translate_client.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 29 #include "components/metrics/proto/translate_event.pb.h" | 29 #include "components/metrics/proto/translate_event.pb.h" |
| 30 #include "components/prefs/pref_service.h" | 30 #include "components/prefs/pref_service.h" |
| 31 #include "components/translate/core/browser/language_model.h" | 31 #include "components/translate/core/browser/language_model.h" |
| 32 #include "components/translate/core/browser/language_state.h" | 32 #include "components/translate/core/browser/language_state.h" |
| 33 #include "components/translate/core/browser/page_translated_details.h" | 33 #include "components/translate/core/browser/page_translated_details.h" |
| 34 #include "components/translate/core/browser/translate_accept_languages.h" | 34 #include "components/translate/core/browser/translate_accept_languages.h" |
| 35 #include "components/translate/core/browser/translate_download_manager.h" | 35 #include "components/translate/core/browser/translate_download_manager.h" |
| 36 #include "components/translate/core/browser/translate_infobar_delegate.h" | 36 #include "components/translate/core/browser/translate_infobar_delegate.h" |
| 37 #include "components/translate/core/browser/translate_manager.h" | 37 #include "components/translate/core/browser/translate_manager.h" |
| 38 #include "components/translate/core/browser/translate_prefs.h" | 38 #include "components/translate/core/browser/translate_prefs.h" |
| 39 #include "components/translate/core/browser/translate_ranker.h" | |
| 39 #include "components/translate/core/common/language_detection_details.h" | 40 #include "components/translate/core/common/language_detection_details.h" |
| 40 #include "components/variations/service/variations_service.h" | 41 #include "components/variations/service/variations_service.h" |
| 41 #include "content/public/browser/notification_service.h" | 42 #include "content/public/browser/notification_service.h" |
| 42 #include "content/public/browser/render_view_host.h" | 43 #include "content/public/browser/render_view_host.h" |
| 43 #include "content/public/browser/web_contents.h" | 44 #include "content/public/browser/web_contents.h" |
| 44 #include "url/gurl.h" | 45 #include "url/gurl.h" |
| 45 | 46 |
| 46 namespace { | 47 namespace { |
| 47 | 48 |
| 48 metrics::TranslateEventProto::EventType BubbleResultToTranslateEvent( | 49 metrics::TranslateEventProto::EventType BubbleResultToTranslateEvent( |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 217 #endif | 218 #endif |
| 218 | 219 |
| 219 // Bubble UI. | 220 // Bubble UI. |
| 220 if (step == translate::TRANSLATE_STEP_BEFORE_TRANSLATE) { | 221 if (step == translate::TRANSLATE_STEP_BEFORE_TRANSLATE) { |
| 221 // TODO(droger): Move this logic out of UI code. | 222 // TODO(droger): Move this logic out of UI code. |
| 222 GetLanguageState().SetTranslateEnabled(true); | 223 GetLanguageState().SetTranslateEnabled(true); |
| 223 // In the new UI, continue offering translation after the user navigates to | 224 // In the new UI, continue offering translation after the user navigates to |
| 224 // another page. | 225 // another page. |
| 225 if (!base::FeatureList::IsEnabled(translate::kTranslateUI2016Q2) && | 226 if (!base::FeatureList::IsEnabled(translate::kTranslateUI2016Q2) && |
| 226 !GetLanguageState().HasLanguageChanged()) { | 227 !GetLanguageState().HasLanguageChanged()) { |
| 227 translate_manager_->RecordTranslateEvent( | 228 if (translate::TranslateRanker::IsDecisionOverrideEnabled()) { |
| 228 metrics::TranslateEventProto::MATCHES_PREVIOUS_LANGUAGE); | 229 translate_manager_->RecordDecisionOverride( |
| 229 return; | 230 metrics::TranslateEventProto::MATCHES_PREVIOUS_LANGUAGE); |
| 231 DVLOG(3) << "Overriding decision MATCHES_PREVIOUS_LANGUAGE."; | |
| 232 } else { | |
| 233 translate_manager_->RecordTranslateEvent( | |
| 234 metrics::TranslateEventProto::MATCHES_PREVIOUS_LANGUAGE); | |
| 235 return; | |
| 236 } | |
| 230 } | 237 } |
| 231 | 238 |
| 232 if (!triggered_from_menu && | 239 if (!triggered_from_menu && |
| 233 GetTranslatePrefs()->IsTooOftenDenied(source_language)) { | 240 GetTranslatePrefs()->IsTooOftenDenied(source_language)) { |
| 234 translate_manager_->RecordTranslateEvent( | 241 if (translate::TranslateRanker::IsDecisionOverrideEnabled()) { |
|
groby-ooo-7-16
2017/02/23 19:08:06
You could filter out the common code into a helper
hamelphi
2017/03/01 00:40:03
Done. I moved the logging logic to TranslateManage
| |
| 235 metrics::TranslateEventProto::LANGUAGE_DISABLED_BY_AUTO_BLACKLIST); | 242 translate_manager_->RecordDecisionOverride( |
| 236 return; | 243 metrics::TranslateEventProto::LANGUAGE_DISABLED_BY_AUTO_BLACKLIST); |
| 244 DVLOG(3) << "Overriding decision LANGUAGE_DISABLED_BY_AUTO_BLACKLIST."; | |
| 245 } else { | |
| 246 translate_manager_->RecordTranslateEvent( | |
| 247 metrics::TranslateEventProto::LANGUAGE_DISABLED_BY_AUTO_BLACKLIST); | |
| 248 return; | |
| 249 } | |
| 237 } | 250 } |
| 238 } | 251 } |
| 252 | |
| 239 ShowTranslateBubbleResult result = ShowBubble(step, error_type); | 253 ShowTranslateBubbleResult result = ShowBubble(step, error_type); |
| 240 if (result != ShowTranslateBubbleResult::SUCCESS && | 254 if (result != ShowTranslateBubbleResult::SUCCESS && |
| 241 step == translate::TRANSLATE_STEP_BEFORE_TRANSLATE) { | 255 step == translate::TRANSLATE_STEP_BEFORE_TRANSLATE) { |
| 242 translate_manager_->RecordTranslateEvent( | 256 translate_manager_->RecordTranslateEvent( |
| 243 BubbleResultToTranslateEvent(result)); | 257 BubbleResultToTranslateEvent(result)); |
| 244 } | 258 } |
| 245 } | 259 } |
| 246 | 260 |
| 247 translate::TranslateDriver* ChromeTranslateClient::GetTranslateDriver() { | 261 translate::TranslateDriver* ChromeTranslateClient::GetTranslateDriver() { |
| 248 return &translate_driver_; | 262 return &translate_driver_; |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 373 return ShowTranslateBubbleResult::SUCCESS; | 387 return ShowTranslateBubbleResult::SUCCESS; |
| 374 } | 388 } |
| 375 | 389 |
| 376 return TranslateBubbleFactory::Show(browser->window(), web_contents(), step, | 390 return TranslateBubbleFactory::Show(browser->window(), web_contents(), step, |
| 377 error_type); | 391 error_type); |
| 378 #else | 392 #else |
| 379 NOTREACHED(); | 393 NOTREACHED(); |
| 380 return ShowTranslateBubbleResult::SUCCESS; | 394 return ShowTranslateBubbleResult::SUCCESS; |
| 381 #endif | 395 #endif |
| 382 } | 396 } |
| OLD | NEW |