summaryrefslogtreecommitdiffstats
path: root/chrome/browser/automation
diff options
context:
space:
mode:
authoralyssad@chromium.org <alyssad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-10 18:11:16 +0000
committeralyssad@chromium.org <alyssad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-10 18:11:16 +0000
commit4a47d7612c2f80b6dd760fdea9ba48d9e3704057 (patch)
treeb83a011fb93df886d75559f12f2b18e1381146a5 /chrome/browser/automation
parent2c9e5769de902aacf1585f8273bf55dc3583e614 (diff)
downloadchromium_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.cc23
-rw-r--r--chrome/browser/automation/automation_provider_observers.cc4
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());