Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(416)

Side by Side Diff: components/translate/core/browser/translate_infobar_delegate.cc

Issue 290573013: LanguageState should be owned by TranslateManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adding TBR for CL Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_infobar_delegate.h" 5 #include "components/translate/core/browser/translate_infobar_delegate.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/i18n/string_compare.h" 9 #include "base/i18n/string_compare.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 DCHECK(step == translate::TRANSLATE_STEP_TRANSLATING || 71 DCHECK(step == translate::TRANSLATE_STEP_TRANSLATING ||
72 step == translate::TRANSLATE_STEP_AFTER_TRANSLATE); 72 step == translate::TRANSLATE_STEP_AFTER_TRANSLATE);
73 DCHECK_EQ(translate::kUnknownLanguageCode, original_language); 73 DCHECK_EQ(translate::kUnknownLanguageCode, original_language);
74 } 74 }
75 } 75 }
76 76
77 // Do not create the after translate infobar if we are auto translating. 77 // Do not create the after translate infobar if we are auto translating.
78 TranslateClient* translate_client = translate_manager->translate_client(); 78 TranslateClient* translate_client = translate_manager->translate_client();
79 if (((step == translate::TRANSLATE_STEP_AFTER_TRANSLATE) || 79 if (((step == translate::TRANSLATE_STEP_AFTER_TRANSLATE) ||
80 (step == translate::TRANSLATE_STEP_TRANSLATING)) && 80 (step == translate::TRANSLATE_STEP_TRANSLATING)) &&
81 translate_client->GetTranslateDriver()->GetLanguageState() 81 translate_manager->GetLanguageState().InTranslateNavigation()) {
82 .InTranslateNavigation()) {
83 return; 82 return;
84 } 83 }
85 84
86 // Find any existing translate infobar delegate. 85 // Find any existing translate infobar delegate.
87 infobars::InfoBar* old_infobar = NULL; 86 infobars::InfoBar* old_infobar = NULL;
88 TranslateInfoBarDelegate* old_delegate = NULL; 87 TranslateInfoBarDelegate* old_delegate = NULL;
89 for (size_t i = 0; i < infobar_manager->infobar_count(); ++i) { 88 for (size_t i = 0; i < infobar_manager->infobar_count(); ++i) {
90 old_infobar = infobar_manager->infobar_at(i); 89 old_infobar = infobar_manager->infobar_at(i);
91 old_delegate = old_infobar->delegate()->AsTranslateInfoBarDelegate(); 90 old_delegate = old_infobar->delegate()->AsTranslateInfoBarDelegate();
92 if (old_delegate) { 91 if (old_delegate) {
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 translate::TranslateStep step, 314 translate::TranslateStep step,
316 TranslateInfoBarDelegate* old_delegate, 315 TranslateInfoBarDelegate* old_delegate,
317 const std::string& original_language, 316 const std::string& original_language,
318 const std::string& target_language, 317 const std::string& target_language,
319 TranslateErrors::Type error_type, 318 TranslateErrors::Type error_type,
320 bool triggered_from_menu) 319 bool triggered_from_menu)
321 : infobars::InfoBarDelegate(), 320 : infobars::InfoBarDelegate(),
322 is_off_the_record_(is_off_the_record), 321 is_off_the_record_(is_off_the_record),
323 step_(step), 322 step_(step),
324 background_animation_(NONE), 323 background_animation_(NONE),
325 ui_delegate_(translate_manager->translate_client(), 324 ui_delegate_(translate_manager, original_language, target_language),
326 translate_manager.get(),
327 original_language,
328 target_language),
329 translate_manager_(translate_manager), 325 translate_manager_(translate_manager),
330 error_type_(error_type), 326 error_type_(error_type),
331 prefs_(translate_manager->translate_client()->GetTranslatePrefs()), 327 prefs_(translate_manager->translate_client()->GetTranslatePrefs()),
332 triggered_from_menu_(triggered_from_menu) { 328 triggered_from_menu_(triggered_from_menu) {
333 DCHECK_NE((step_ == translate::TRANSLATE_STEP_TRANSLATE_ERROR), 329 DCHECK_NE((step_ == translate::TRANSLATE_STEP_TRANSLATE_ERROR),
334 (error_type_ == TranslateErrors::NONE)); 330 (error_type_ == TranslateErrors::NONE));
335 DCHECK(translate_manager_); 331 DCHECK(translate_manager_);
336 332
337 if (old_delegate && (old_delegate->is_error() != is_error())) 333 if (old_delegate && (old_delegate->is_error() != is_error()))
338 background_animation_ = is_error() ? NORMAL_TO_ERROR : ERROR_TO_NORMAL; 334 background_animation_ = is_error() ? NORMAL_TO_ERROR : ERROR_TO_NORMAL;
(...skipping 24 matching lines...) Expand all
363 if (!details.is_navigation_to_different_page && !details.is_main_frame) 359 if (!details.is_navigation_to_different_page && !details.is_main_frame)
364 return false; 360 return false;
365 361
366 return infobars::InfoBarDelegate::ShouldExpireInternal(details); 362 return infobars::InfoBarDelegate::ShouldExpireInternal(details);
367 } 363 }
368 364
369 TranslateInfoBarDelegate* 365 TranslateInfoBarDelegate*
370 TranslateInfoBarDelegate::AsTranslateInfoBarDelegate() { 366 TranslateInfoBarDelegate::AsTranslateInfoBarDelegate() {
371 return this; 367 return this;
372 } 368 }
OLDNEW
« no previous file with comments | « components/translate/core/browser/translate_driver.h ('k') | components/translate/core/browser/translate_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698