diff options
author | kuan@chromium.org <kuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-15 21:48:50 +0000 |
---|---|---|
committer | kuan@chromium.org <kuan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-15 21:48:50 +0000 |
commit | d7f380f4fbedb93a528307fa2cec4068cbba8901 (patch) | |
tree | be8de266418feb1415ee2642385896ce5a10a020 /chrome/browser/translate/translate_infobars_delegates.cc | |
parent | 1d3afeaeea04c5545883ce9bfd47b5686d41b73f (diff) | |
download | chromium_src-d7f380f4fbedb93a528307fa2cec4068cbba8901.zip chromium_src-d7f380f4fbedb93a528307fa2cec4068cbba8901.tar.gz chromium_src-d7f380f4fbedb93a528307fa2cec4068cbba8901.tar.bz2 |
2nd attempt at landing cl to implement enhancements for translate infobar
- cl was previously committed at r41510 but reverted at r41520 - grd changes broke the buildbot.
- so this cl will revert r41520.
- this cl is the original cl which has been lgtm'ed, so i just tbr this.
BUG=35553,36682
TEST=verify per bug reports.
TBR=jcampan
Review URL: http://codereview.chromium.org/980001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41639 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/translate/translate_infobars_delegates.cc')
-rw-r--r-- | chrome/browser/translate/translate_infobars_delegates.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/chrome/browser/translate/translate_infobars_delegates.cc b/chrome/browser/translate/translate_infobars_delegates.cc index 062eba8..aeaef50 100644 --- a/chrome/browser/translate/translate_infobars_delegates.cc +++ b/chrome/browser/translate/translate_infobars_delegates.cc @@ -48,6 +48,7 @@ string16 TranslateInfoBarDelegate::GetDisplayNameForLocale( } void TranslateInfoBarDelegate::UpdateState(TranslateState new_state) { + translation_pending_ = false; if (state_ != new_state) state_ = new_state; } @@ -73,11 +74,17 @@ void TranslateInfoBarDelegate::GetAvailableTargetLanguages( } void TranslateInfoBarDelegate::Translate() { - if (state_ == kBeforeTranslate) - UpdateState(kTranslating); + // We only really send page for translation if original and target languages + // are different, so only in this case is translation really pending. + if (original_lang_index_ != target_lang_index_) + translation_pending_ = true; tab_contents_->TranslatePage(original_lang_code(), target_lang_code()); } +void TranslateInfoBarDelegate::RevertTranslation() { + tab_contents_->RevertTranslatedPage(); +} + void TranslateInfoBarDelegate::TranslationDeclined() { // Remember that the user declined the translation so as to prevent showing a // translate infobar for that page again. (TranslateManager initiates @@ -224,6 +231,7 @@ TranslateInfoBarDelegate::TranslateInfoBarDelegate(TabContents* tab_contents, tab_contents_(tab_contents), prefs_(new TranslatePrefs(user_prefs)), state_(state), + translation_pending_(false), site_(url.HostNoBrackets()), original_lang_index_(original_lang_index), target_lang_index_(target_lang_index), |