#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"
// 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.
// 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;
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&));
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,
// 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);
};
virtual void ShowImplementation(BrowserWindow* window,
content::WebContents* web_contents,
- TranslateTabHelper::TranslateStep step,
+ translate::TranslateStep step,
TranslateErrors::Type error_type) OVERRIDE {
if (model_) {
model_->SetViewState(
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()));
}
// 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();
// 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).
// 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();
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());
}
// 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();
// 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
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.
// 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());
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
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());
}
// 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);
}
// 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());
// 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;
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.
// 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;
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();
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();
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)