diff options
author | alyssad@chromium.org <alyssad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-10 18:11:16 +0000 |
---|---|---|
committer | alyssad@chromium.org <alyssad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-10 18:11:16 +0000 |
commit | 4a47d7612c2f80b6dd760fdea9ba48d9e3704057 (patch) | |
tree | b83a011fb93df886d75559f12f2b18e1381146a5 /chrome/browser/automation | |
parent | 2c9e5769de902aacf1585f8273bf55dc3583e614 (diff) | |
download | chromium_src-4a47d7612c2f80b6dd760fdea9ba48d9e3704057.zip chromium_src-4a47d7612c2f80b6dd760fdea9ba48d9e3704057.tar.gz chromium_src-4a47d7612c2f80b6dd760fdea9ba48d9e3704057.tar.bz2 |
New pyauto translate hooks: always and never translate button.
This hooks allows testers to test that always and never translate button that shows up after a user has accepted/declined translation several times.
Review URL: http://codereview.chromium.org/3061054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55590 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/automation')
-rw-r--r-- | chrome/browser/automation/automation_provider.cc | 23 | ||||
-rw-r--r-- | chrome/browser/automation/automation_provider_observers.cc | 4 |
2 files changed, 27 insertions, 0 deletions
diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc index 4ab8bc6..fdca465 100644 --- a/chrome/browser/automation/automation_provider.cc +++ b/chrome/browser/automation/automation_provider.cc @@ -2865,6 +2865,17 @@ void AutomationProvider::SelectTranslateOption(Browser* browser, return_value->SetBoolean("translation_success", true); AutomationJSONReply(this, reply_message).SendSuccess(return_value.get()); return; + } else if (option == "click_always_translate_lang_button") { + if (!translate_bar->ShouldShowAlwaysTranslateButton()) { + AutomationJSONReply(this, reply_message) + .SendError("Always translate button not showing."); + return; + } + // Clicking 'Always Translate' triggers a translation. The observer will + // wait until the translation is complete before sending the reply. + new PageTranslatedObserver(this, reply_message, tab_contents); + translate_bar->AlwaysTranslatePageLanguage(); + return; } AutomationJSONReply reply(this, reply_message); @@ -2888,6 +2899,18 @@ void AutomationProvider::SelectTranslateOption(Browser* browser, } else if (option == "revert_translation") { translate_bar->RevertTranslation(); reply.SendSuccess(NULL); + } else if (option == "click_never_translate_lang_button") { + if (!translate_bar->ShouldShowNeverTranslateButton()) { + reply.SendError("Always translate button not showing."); + return; + } + translate_bar->NeverTranslatePageLanguage(); + reply.SendSuccess(NULL); + } else if (option == "decline_translation") { + // This is the function called when an infobar is dismissed or when the + // user clicks the 'Nope' translate button. + translate_bar->TranslationDeclined(); + reply.SendSuccess(NULL); } else { reply.SendError("Invalid string found for option."); } diff --git a/chrome/browser/automation/automation_provider_observers.cc b/chrome/browser/automation/automation_provider_observers.cc index fa45172..4938867 100644 --- a/chrome/browser/automation/automation_provider_observers.cc +++ b/chrome/browser/automation/automation_provider_observers.cc @@ -995,6 +995,10 @@ void TabLanguageDeterminedObserver::Observe( type_to_string[TranslateInfoBarDelegate::TRANSLATION_ERROR] = "TRANSLATION_ERROR"; + bar_info->SetBoolean("always_translate_lang_button_showing", + translate_bar_->ShouldShowAlwaysTranslateButton()); + bar_info->SetBoolean("never_translate_lang_button_showing", + translate_bar_->ShouldShowNeverTranslateButton()); bar_info->SetString("bar_state", type_to_string[translate_bar_->type()]); bar_info->SetString("target_lang_code", translate_bar_->GetTargetLanguageCode()); |