Chromium Code Reviews| Index: chrome/browser/ui/views/frame/browser_view.cc |
| diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc |
| index c914f155c039f57d574b2129da9b2c72a1c74e9f..a47a092a14e143e7e0173a84f0673eea17e5de25 100644 |
| --- a/chrome/browser/ui/views/frame/browser_view.cc |
| +++ b/chrome/browser/ui/views/frame/browser_view.cc |
| @@ -109,6 +109,7 @@ |
| #include "components/app_modal/app_modal_dialog.h" |
| #include "components/app_modal/app_modal_dialog_queue.h" |
| #include "components/app_modal/native_app_modal_dialog.h" |
| +#include "components/metrics/proto/translate_event.pb.h" |
| #include "components/omnibox/browser/omnibox_popup_model.h" |
| #include "components/omnibox/browser/omnibox_popup_view.h" |
| #include "components/omnibox/browser/omnibox_view.h" |
| @@ -116,6 +117,7 @@ |
| #include "components/sessions/core/tab_restore_service.h" |
| #include "components/signin/core/common/profile_management_switches.h" |
| #include "components/translate/core/browser/language_state.h" |
| +#include "components/translate/core/browser/translate_manager.h" |
| #include "content/public/browser/download_manager.h" |
| #include "content/public/browser/notification_service.h" |
| #include "content/public/browser/render_frame_host.h" |
| @@ -1257,21 +1259,39 @@ void BrowserView::ShowTranslateBubble( |
| translate::TranslateStep step, |
| translate::TranslateErrors::Type error_type, |
| bool is_user_gesture) { |
| + ChromeTranslateClient* translate_client = |
| + ChromeTranslateClient::FromWebContents(web_contents); |
| + translate::TranslateManager* translate_manager = |
| + translate_client->GetTranslateManager(); |
|
groby-ooo-7-16
2016/10/25 18:53:11
Just DCHECK
Roger McFarlane (Chromium)
2016/10/25 20:07:56
Acknowledged.
|
| + |
| if (contents_web_view_->HasFocus() && |
| !GetLocationBarView()->IsMouseHovered()) { |
| content::RenderViewHost* rvh = web_contents->GetRenderViewHost(); |
| - if (rvh->IsFocusedElementEditable()) |
| + if (rvh->IsFocusedElementEditable()) { |
| + if (translate_manager && |
| + step == translate::TRANSLATE_STEP_BEFORE_TRANSLATE) { |
| + translate_manager->RecordTranslateEvent( |
| + metrics::TranslateEventProto::EDITABLE_FIELD_IN_FOCUS); |
| + } |
| return; |
| + } |
| } |
| translate::LanguageState& language_state = |
| - ChromeTranslateClient::FromWebContents(web_contents)->GetLanguageState(); |
| + translate_client->GetLanguageState(); |
| language_state.SetTranslateEnabled(true); |
| - if (!IsMinimized()) { |
| - toolbar_->ShowTranslateBubble(web_contents, step, error_type, |
| - is_user_gesture); |
| + if (IsMinimized()) { |
| + if (translate_manager && |
| + step == translate::TRANSLATE_STEP_BEFORE_TRANSLATE) { |
| + translate_manager->RecordTranslateEvent( |
| + metrics::TranslateEventProto::BROWSER_WINDOW_MINIMIZED); |
| + } |
| + return; |
| } |
| + |
| + toolbar_->ShowTranslateBubble(web_contents, step, error_type, |
| + is_user_gesture); |
| } |
| #if BUILDFLAG(ENABLE_ONE_CLICK_SIGNIN) |