Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / translate / translate_manager_render_view_host_unittest.cc
index 507fefe..db74fe4 100644 (file)
 #include "chrome/app/chrome_command_ids.h"
 #include "chrome/browser/chrome_notification_types.h"
 #include "chrome/browser/extensions/test_extension_system.h"
-#include "chrome/browser/infobars/infobar.h"
 #include "chrome/browser/infobars/infobar_service.h"
 #include "chrome/browser/renderer_context_menu/render_view_context_menu_test_util.h"
 #include "chrome/browser/translate/translate_infobar_delegate.h"
-#include "chrome/browser/translate/translate_manager.h"
 #include "chrome/browser/translate/translate_service.h"
 #include "chrome/browser/translate/translate_tab_helper.h"
 #include "chrome/browser/ui/translate/translate_bubble_factory.h"
 #include "chrome/browser/ui/translate/translate_bubble_model_impl.h"
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/pref_names.h"
-#include "chrome/common/render_messages.h"
 #include "chrome/common/url_constants.h"
 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
 #include "chrome/test/base/testing_browser_process.h"
 #include "chrome/test/base/testing_profile.h"
+#include "components/infobars/core/infobar.h"
+#include "components/translate/content/common/translate_messages.h"
 #include "components/translate/core/browser/translate_accept_languages.h"
 #include "components/translate/core/browser/translate_download_manager.h"
 #include "components/translate/core/browser/translate_language_list.h"
+#include "components/translate/core/browser/translate_manager.h"
 #include "components/translate/core/browser/translate_prefs.h"
 #include "components/translate/core/browser/translate_script.h"
 #include "components/translate/core/common/language_detection_details.h"
@@ -150,18 +150,16 @@ class TranslateManagerRenderViewHostTest
   // Returns the translate infobar if there is 1 infobar and it is a translate
   // infobar.
   TranslateInfoBarDelegate* GetTranslateInfoBar() {
-    return (infobar_service()->infobar_count() == 1)
-               ? infobar_service()
-                     ->infobar_at(0)
-                     ->delegate()
-                     ->AsTranslateInfoBarDelegate()
-               : NULL;
+    return (infobar_service()->infobar_count() == 1) ?
+        infobar_service()->infobar_at(0)->delegate()->
+            AsTranslateInfoBarDelegate() :
+        NULL;
   }
 
   // If there is 1 infobar and it is a translate infobar, closes it and returns
   // true.  Returns false otherwise.
   bool CloseTranslateInfoBar() {
-    InfoBarDelegate* infobar = GetTranslateInfoBar();
+    infobars::InfoBarDelegate* infobar = GetTranslateInfoBar();
     if (!infobar)
       return false;
     infobar->InfoBarDismissed();  // Simulates closing the infobar.
@@ -171,7 +169,7 @@ class TranslateManagerRenderViewHostTest
 
   // Checks whether |infobar| has been removed and clears the removed infobar
   // list.
-  bool CheckInfoBarRemovedAndReset(InfoBarDelegate* delegate) {
+  bool CheckInfoBarRemovedAndReset(infobars::InfoBarDelegate* delegate) {
     bool found = removed_infobars_.count(delegate) != 0;
     removed_infobars_.clear();
     return found;
@@ -237,7 +235,8 @@ class TranslateManagerRenderViewHostTest
                        const content::NotificationDetails& details) {
     DCHECK_EQ(chrome::NOTIFICATION_TAB_CONTENTS_INFOBAR_REMOVED, type);
     removed_infobars_.insert(
-        content::Details<InfoBar::RemovedDetails>(details)->first->delegate());
+        content::Details<infobars::InfoBar::RemovedDetails>(
+            details)->first->delegate());
   }
 
   MOCK_METHOD1(OnPreferenceChanged, void(const std::string&));
@@ -258,9 +257,8 @@ class TranslateManagerRenderViewHostTest
     ChromeRenderViewHostTestHarness::SetUp();
     InfoBarService::CreateForWebContents(web_contents());
     TranslateTabHelper::CreateForWebContents(web_contents());
-    TranslateManager* manager =
-        TranslateTabHelper::GetManagerFromWebContents(web_contents());
-    manager->set_translate_max_reload_attemps(0);
+    TranslateTabHelper::FromWebContents(web_contents())
+        ->set_translate_max_reload_attempts(0);
 
     notification_registrar_.Add(
         this,
@@ -358,7 +356,7 @@ class TranslateManagerRenderViewHostTest
 
   // The infobars that have been removed.
   // WARNING: the pointers point to deleted objects, use only for comparison.
-  std::set<InfoBarDelegate*> removed_infobars_;
+  std::set<infobars::InfoBarDelegate*> removed_infobars_;
 
   DISALLOW_COPY_AND_ASSIGN(TranslateManagerRenderViewHostTest);
 };
@@ -369,7 +367,7 @@ class MockTranslateBubbleFactory : public TranslateBubbleFactory {
 
   virtual void ShowImplementation(BrowserWindow* window,
                                   content::WebContents* web_contents,
-                                  TranslateTabHelper::TranslateStep step,
+                                  translate::TranslateStep step,
                                   TranslateErrors::Type error_type) OVERRIDE {
     if (model_) {
       model_->SetViewState(
@@ -383,8 +381,11 @@ class MockTranslateBubbleFactory : public TranslateBubbleFactory {
         translate_tab_helper->GetLanguageState().original_language();
     std::string target_language = TranslateDownloadManager::GetLanguageCode(
         g_browser_process->GetApplicationLocale());
-    scoped_ptr<TranslateUIDelegate> ui_delegate(new TranslateUIDelegate(
-        web_contents, source_language, target_language));
+    scoped_ptr<TranslateUIDelegate> ui_delegate(
+        new TranslateUIDelegate(translate_tab_helper,
+                                translate_tab_helper->GetTranslateManager(),
+                                source_language,
+                                target_language));
     model_.reset(new TranslateBubbleModelImpl(step, ui_delegate.Pass()));
   }
 
@@ -403,7 +404,8 @@ TEST_F(TranslateManagerRenderViewHostTest, NormalTranslate) {
   // We should have an infobar.
   TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::BEFORE_TRANSLATE, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_BEFORE_TRANSLATE,
+            infobar->translate_step());
 
   // Simulate clicking translate.
   process()->sink().ClearMessages();
@@ -412,7 +414,7 @@ TEST_F(TranslateManagerRenderViewHostTest, NormalTranslate) {
   // The "Translating..." infobar should be showing.
   infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::TRANSLATING, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_TRANSLATING, infobar->translate_step());
 
   // Simulate the translate script being retrieved (it only needs to be done
   // once in the test as it is cached).
@@ -431,7 +433,8 @@ TEST_F(TranslateManagerRenderViewHostTest, NormalTranslate) {
   // The after translate infobar should be showing.
   infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::AFTER_TRANSLATE, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_AFTER_TRANSLATE,
+            infobar->translate_step());
 
   // Simulate changing the original language and translating.
   process()->sink().ClearMessages();
@@ -464,13 +467,14 @@ TEST_F(TranslateManagerRenderViewHostTest, NormalTranslate) {
   ReloadAndWait(true);
   infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::BEFORE_TRANSLATE, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_BEFORE_TRANSLATE,
+            infobar->translate_step());
   infobar->UpdateTargetLanguageIndex(1);
   infobar->ToggleAlwaysTranslate();
   ReloadAndWait(true);
   infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::TRANSLATING, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_TRANSLATING, infobar->translate_step());
   EXPECT_EQ(new_target_lang, infobar->target_language_code());
 }
 
@@ -480,7 +484,8 @@ TEST_F(TranslateManagerRenderViewHostTest, TranslateScriptNotAvailable) {
   // We should have an infobar.
   TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::BEFORE_TRANSLATE, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_BEFORE_TRANSLATE,
+            infobar->translate_step());
 
   // Simulate clicking translate.
   process()->sink().ClearMessages();
@@ -493,7 +498,8 @@ TEST_F(TranslateManagerRenderViewHostTest, TranslateScriptNotAvailable) {
   // And we should have an error infobar showing.
   infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::TRANSLATE_ERROR, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_TRANSLATE_ERROR,
+            infobar->translate_step());
 }
 
 // Ensures we deal correctly with pages for which the browser does not recognize
@@ -516,7 +522,8 @@ TEST_F(TranslateManagerRenderViewHostTest, TranslateUnknownLanguage) {
   SimulateTranslateScriptURLFetch(false);
   TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::TRANSLATE_ERROR, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_TRANSLATE_ERROR,
+            infobar->translate_step());
   EXPECT_TRUE(infobar->is_error());
   infobar->MessageInfoBarButtonPressed();
   SimulateTranslateScriptURLFetch(true);  // This time succeed.
@@ -528,7 +535,8 @@ TEST_F(TranslateManagerRenderViewHostTest, TranslateUnknownLanguage) {
   // The after translate infobar should be showing.
   infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::AFTER_TRANSLATE, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_AFTER_TRANSLATE,
+            infobar->translate_step());
   EXPECT_EQ("fr", infobar->original_language_code());
   EXPECT_EQ("en", infobar->target_language_code());
 
@@ -541,7 +549,8 @@ TEST_F(TranslateManagerRenderViewHostTest, TranslateUnknownLanguage) {
   SimulateOnPageTranslated(1, "en", "en", TranslateErrors::IDENTICAL_LANGUAGES);
   infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::TRANSLATE_ERROR, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_TRANSLATE_ERROR,
+            infobar->translate_step());
   EXPECT_EQ(TranslateErrors::IDENTICAL_LANGUAGES, infobar->error_type());
 
   // Let's run the same steps again but this time the server fails to detect the
@@ -554,7 +563,8 @@ TEST_F(TranslateManagerRenderViewHostTest, TranslateUnknownLanguage) {
       2, std::string(), "en", TranslateErrors::UNKNOWN_LANGUAGE);
   infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::TRANSLATE_ERROR, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_TRANSLATE_ERROR,
+            infobar->translate_step());
   EXPECT_EQ(TranslateErrors::UNKNOWN_LANGUAGE, infobar->error_type());
 }
 
@@ -765,9 +775,8 @@ TEST_F(TranslateManagerRenderViewHostTest, Reload) {
 
   // If we set reload attempts to a high value, we will not see the infobar
   // immediately.
-  TranslateManager* manager =
-      TranslateTabHelper::GetManagerFromWebContents(web_contents());
-  manager->set_translate_max_reload_attemps(100);
+  TranslateTabHelper::FromWebContents(web_contents())
+      ->set_translate_max_reload_attempts(100);
   ReloadAndWait(true);
   EXPECT_TRUE(GetTranslateInfoBar() == NULL);
 }
@@ -935,7 +944,8 @@ TEST_F(TranslateManagerRenderViewHostTest, ServerReportsUnsupportedLanguage) {
   // language.
   infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::TRANSLATE_ERROR, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_TRANSLATE_ERROR,
+            infobar->translate_step());
 
   // This infobar should have a button (so the string should not be empty).
   ASSERT_FALSE(infobar->GetMessageInfoBarButtonText().empty());
@@ -1157,7 +1167,7 @@ TEST_F(TranslateManagerRenderViewHostTest, AlwaysTranslateLanguagePref) {
   // The translating infobar should be showing.
   TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::TRANSLATING, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_TRANSLATING, infobar->translate_step());
   SimulateTranslateScriptURLFetch(true);
   int page_id = 0;
   std::string original_lang, target_lang;
@@ -1191,7 +1201,8 @@ TEST_F(TranslateManagerRenderViewHostTest, AlwaysTranslateLanguagePref) {
   EXPECT_FALSE(GetTranslateMessage(&page_id, &original_lang, &target_lang));
   infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::BEFORE_TRANSLATE, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_BEFORE_TRANSLATE,
+            infobar->translate_step());
 }
 
 // Context menu.
@@ -1229,7 +1240,7 @@ TEST_F(TranslateManagerRenderViewHostTest, ContextMenu) {
   // The "translating..." infobar should be showing.
   TranslateInfoBarDelegate* infobar = GetTranslateInfoBar();
   ASSERT_TRUE(infobar != NULL);
-  EXPECT_EQ(TranslateTabHelper::TRANSLATING, infobar->translate_step());
+  EXPECT_EQ(translate::TRANSLATE_STEP_TRANSLATING, infobar->translate_step());
   SimulateTranslateScriptURLFetch(true);
   int page_id = 0;
   std::string original_lang, target_lang;
@@ -1327,7 +1338,8 @@ TEST_F(TranslateManagerRenderViewHostTest, BeforeTranslateExtraButtons) {
     SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
     infobar = GetTranslateInfoBar();
     ASSERT_TRUE(infobar != NULL);
-    EXPECT_EQ(TranslateTabHelper::BEFORE_TRANSLATE, infobar->translate_step());
+    EXPECT_EQ(translate::TRANSLATE_STEP_BEFORE_TRANSLATE,
+              infobar->translate_step());
     if (i < 7) {
       EXPECT_FALSE(infobar->ShouldShowAlwaysTranslateShortcut());
       infobar->Translate();
@@ -1359,7 +1371,8 @@ TEST_F(TranslateManagerRenderViewHostTest, BeforeTranslateExtraButtons) {
     SimulateNavigation(GURL("http://www.google.de"), "de", true);
     infobar = GetTranslateInfoBar();
     ASSERT_TRUE(infobar != NULL);
-    EXPECT_EQ(TranslateTabHelper::BEFORE_TRANSLATE, infobar->translate_step());
+    EXPECT_EQ(translate::TRANSLATE_STEP_BEFORE_TRANSLATE,
+              infobar->translate_step());
     if (i < 7) {
       EXPECT_FALSE(infobar->ShouldShowNeverTranslateShortcut());
       infobar->TranslationDeclined();
@@ -1430,9 +1443,9 @@ TEST_F(TranslateManagerRenderViewHostTest, ScriptExpires) {
 
 TEST_F(TranslateManagerRenderViewHostTest, DownloadsAndHistoryNotTranslated) {
   ASSERT_FALSE(
-      TranslateManager::IsTranslatableURL(GURL(chrome::kChromeUIDownloadsURL)));
+      TranslateService::IsTranslatableURL(GURL(chrome::kChromeUIDownloadsURL)));
   ASSERT_FALSE(
-      TranslateManager::IsTranslatableURL(GURL(chrome::kChromeUIHistoryURL)));
+      TranslateService::IsTranslatableURL(GURL(chrome::kChromeUIHistoryURL)));
 }
 
 #if defined(USE_AURA)