| Index: chrome/browser/translate/translate_manager_browsertest.cc
|
| diff --git a/chrome/browser/translate/translate_manager_browsertest.cc b/chrome/browser/translate/translate_manager_browsertest.cc
|
| index 717823f6979d3b6fe53ce3a4634a99c8149af63a..1ab4b045555a76fdfbe941b932e3aa669459bd5c 100644
|
| --- a/chrome/browser/translate/translate_manager_browsertest.cc
|
| +++ b/chrome/browser/translate/translate_manager_browsertest.cc
|
| @@ -20,7 +20,6 @@
|
| #include "chrome/browser/tab_contents/render_view_context_menu.h"
|
| #include "chrome/browser/translate/translate_infobar_delegate.h"
|
| #include "chrome/browser/translate/translate_manager.h"
|
| -#include "chrome/browser/translate/translate_prefs.h"
|
| #include "chrome/browser/translate/translate_service.h"
|
| #include "chrome/browser/translate/translate_tab_helper.h"
|
| #include "chrome/browser/ui/browser.h"
|
| @@ -39,6 +38,7 @@
|
| #include "chrome/test/base/ui_test_utils.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_prefs.h"
|
| #include "components/translate/core/browser/translate_script.h"
|
| #include "components/translate/core/common/language_detection_details.h"
|
| #include "components/translate/core/common/translate_pref_names.h"
|
| @@ -1096,14 +1096,17 @@ TEST_F(TranslateManagerBrowserTest, NeverTranslateLanguagePref) {
|
| registrar.Init(prefs);
|
| registrar.Add(TranslatePrefs::kPrefTranslateBlockedLanguages,
|
| pref_callback_);
|
| - TranslatePrefs translate_prefs(prefs);
|
| - EXPECT_FALSE(translate_prefs.IsBlockedLanguage("fr"));
|
| - EXPECT_TRUE(translate_prefs.CanTranslateLanguage(profile, "fr"));
|
| + scoped_ptr<TranslatePrefs> translate_prefs(
|
| + TranslateTabHelper::CreateTranslatePrefs(prefs));
|
| + EXPECT_FALSE(translate_prefs->IsBlockedLanguage("fr"));
|
| + EXPECT_TRUE(translate_prefs->CanTranslateLanguage(
|
| + TranslateTabHelper::IsAcceptLanguage(profile, "fr"), "fr"));
|
| SetPrefObserverExpectation(TranslatePrefs::kPrefTranslateBlockedLanguages);
|
| - translate_prefs.BlockLanguage("fr");
|
| - EXPECT_TRUE(translate_prefs.IsBlockedLanguage("fr"));
|
| - EXPECT_FALSE(translate_prefs.IsSiteBlacklisted(url.host()));
|
| - EXPECT_FALSE(translate_prefs.CanTranslateLanguage(profile, "fr"));
|
| + translate_prefs->BlockLanguage("fr");
|
| + EXPECT_TRUE(translate_prefs->IsBlockedLanguage("fr"));
|
| + EXPECT_FALSE(translate_prefs->IsSiteBlacklisted(url.host()));
|
| + EXPECT_FALSE(translate_prefs->CanTranslateLanguage(
|
| + TranslateTabHelper::IsAcceptLanguage(profile, "fr"), "fr"));
|
|
|
| EXPECT_TRUE(CloseTranslateInfoBar());
|
|
|
| @@ -1115,10 +1118,11 @@ TEST_F(TranslateManagerBrowserTest, NeverTranslateLanguagePref) {
|
|
|
| // Remove the language from the blacklist.
|
| SetPrefObserverExpectation(TranslatePrefs::kPrefTranslateBlockedLanguages);
|
| - translate_prefs.UnblockLanguage("fr");
|
| - EXPECT_FALSE(translate_prefs.IsBlockedLanguage("fr"));
|
| - EXPECT_FALSE(translate_prefs.IsSiteBlacklisted(url.host()));
|
| - EXPECT_TRUE(translate_prefs.CanTranslateLanguage(profile, "fr"));
|
| + translate_prefs->UnblockLanguage("fr");
|
| + EXPECT_FALSE(translate_prefs->IsBlockedLanguage("fr"));
|
| + EXPECT_FALSE(translate_prefs->IsSiteBlacklisted(url.host()));
|
| + EXPECT_TRUE(translate_prefs->CanTranslateLanguage(
|
| + TranslateTabHelper::IsAcceptLanguage(profile, "fr"), "fr"));
|
|
|
| // Navigate to a page in French.
|
| SimulateNavigation(url, "fr", true);
|
| @@ -1143,13 +1147,16 @@ TEST_F(TranslateManagerBrowserTest, NeverTranslateSitePref) {
|
| PrefChangeRegistrar registrar;
|
| registrar.Init(prefs);
|
| registrar.Add(TranslatePrefs::kPrefTranslateSiteBlacklist, pref_callback_);
|
| - TranslatePrefs translate_prefs(prefs);
|
| - EXPECT_FALSE(translate_prefs.IsSiteBlacklisted(host));
|
| - EXPECT_TRUE(translate_prefs.CanTranslateLanguage(profile, "fr"));
|
| + scoped_ptr<TranslatePrefs> translate_prefs(
|
| + TranslateTabHelper::CreateTranslatePrefs(prefs));
|
| + EXPECT_FALSE(translate_prefs->IsSiteBlacklisted(host));
|
| + EXPECT_TRUE(translate_prefs->CanTranslateLanguage(
|
| + TranslateTabHelper::IsAcceptLanguage(profile, "fr"), "fr"));
|
| SetPrefObserverExpectation(TranslatePrefs::kPrefTranslateSiteBlacklist);
|
| - translate_prefs.BlacklistSite(host);
|
| - EXPECT_TRUE(translate_prefs.IsSiteBlacklisted(host));
|
| - EXPECT_TRUE(translate_prefs.CanTranslateLanguage(profile, "fr"));
|
| + translate_prefs->BlacklistSite(host);
|
| + EXPECT_TRUE(translate_prefs->IsSiteBlacklisted(host));
|
| + EXPECT_TRUE(translate_prefs->CanTranslateLanguage(
|
| + TranslateTabHelper::IsAcceptLanguage(profile, "fr"), "fr"));
|
|
|
| EXPECT_TRUE(CloseTranslateInfoBar());
|
|
|
| @@ -1161,9 +1168,10 @@ TEST_F(TranslateManagerBrowserTest, NeverTranslateSitePref) {
|
|
|
| // Remove the site from the blacklist.
|
| SetPrefObserverExpectation(TranslatePrefs::kPrefTranslateSiteBlacklist);
|
| - translate_prefs.RemoveSiteFromBlacklist(host);
|
| - EXPECT_FALSE(translate_prefs.IsSiteBlacklisted(host));
|
| - EXPECT_TRUE(translate_prefs.CanTranslateLanguage(profile, "fr"));
|
| + translate_prefs->RemoveSiteFromBlacklist(host);
|
| + EXPECT_FALSE(translate_prefs->IsSiteBlacklisted(host));
|
| + EXPECT_TRUE(translate_prefs->CanTranslateLanguage(
|
| + TranslateTabHelper::IsAcceptLanguage(profile, "fr"), "fr"));
|
|
|
| // Navigate to a page in French.
|
| SimulateNavigation(url, "fr", true);
|
| @@ -1181,9 +1189,10 @@ TEST_F(TranslateManagerBrowserTest, AlwaysTranslateLanguagePref) {
|
| PrefChangeRegistrar registrar;
|
| registrar.Init(prefs);
|
| registrar.Add(TranslatePrefs::kPrefTranslateWhitelists, pref_callback_);
|
| - TranslatePrefs translate_prefs(prefs);
|
| + scoped_ptr<TranslatePrefs> translate_prefs(
|
| + TranslateTabHelper::CreateTranslatePrefs(prefs));
|
| SetPrefObserverExpectation(TranslatePrefs::kPrefTranslateWhitelists);
|
| - translate_prefs.WhitelistLanguagePair("fr", "en");
|
| + translate_prefs->WhitelistLanguagePair("fr", "en");
|
|
|
| // Load a page in French.
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
| @@ -1222,7 +1231,7 @@ TEST_F(TranslateManagerBrowserTest, AlwaysTranslateLanguagePref) {
|
| // Now revert the always translate pref and make sure we go back to expected
|
| // behavior, which is show a "before translate" infobar.
|
| SetPrefObserverExpectation(TranslatePrefs::kPrefTranslateWhitelists);
|
| - translate_prefs.RemoveLanguagePairFromWhitelist("fr", "en");
|
| + translate_prefs->RemoveLanguagePairFromWhitelist("fr", "en");
|
| SimulateNavigation(GURL("http://www.google.fr"), "fr", true);
|
| EXPECT_FALSE(GetTranslateMessage(&page_id, &original_lang, &target_lang));
|
| infobar = GetTranslateInfoBar();
|
| @@ -1237,11 +1246,12 @@ TEST_F(TranslateManagerBrowserTest, ContextMenu) {
|
| GURL url("http://www.google.fr");
|
| Profile* profile =
|
| Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
| - TranslatePrefs translate_prefs(profile->GetPrefs());
|
| - translate_prefs.BlockLanguage("fr");
|
| - translate_prefs.BlacklistSite(url.host());
|
| - EXPECT_TRUE(translate_prefs.IsBlockedLanguage("fr"));
|
| - EXPECT_TRUE(translate_prefs.IsSiteBlacklisted(url.host()));
|
| + scoped_ptr<TranslatePrefs> translate_prefs(
|
| + TranslateTabHelper::CreateTranslatePrefs(profile->GetPrefs()));
|
| + translate_prefs->BlockLanguage("fr");
|
| + translate_prefs->BlacklistSite(url.host());
|
| + EXPECT_TRUE(translate_prefs->IsBlockedLanguage("fr"));
|
| + EXPECT_TRUE(translate_prefs->IsSiteBlacklisted(url.host()));
|
|
|
| // Simulate navigating to a page in French. The translate menu should show but
|
| // should only be enabled when the page language has been received.
|
| @@ -1276,8 +1286,8 @@ TEST_F(TranslateManagerBrowserTest, ContextMenu) {
|
| process()->sink().ClearMessages();
|
|
|
| // This should also have reverted the blacklisting of this site and language.
|
| - EXPECT_FALSE(translate_prefs.IsBlockedLanguage("fr"));
|
| - EXPECT_FALSE(translate_prefs.IsSiteBlacklisted(url.host()));
|
| + EXPECT_FALSE(translate_prefs->IsBlockedLanguage("fr"));
|
| + EXPECT_FALSE(translate_prefs->IsSiteBlacklisted(url.host()));
|
|
|
| // Let's simulate the page being translated.
|
| SimulateOnPageTranslated("fr", "en");
|
| @@ -1343,11 +1353,12 @@ TEST_F(TranslateManagerBrowserTest, ContextMenu) {
|
| TEST_F(TranslateManagerBrowserTest, BeforeTranslateExtraButtons) {
|
| Profile* profile =
|
| Profile::FromBrowserContext(web_contents()->GetBrowserContext());
|
| - TranslatePrefs translate_prefs(profile->GetPrefs());
|
| - translate_prefs.ResetTranslationAcceptedCount("fr");
|
| - translate_prefs.ResetTranslationDeniedCount("fr");
|
| - translate_prefs.ResetTranslationAcceptedCount("de");
|
| - translate_prefs.ResetTranslationDeniedCount("de");
|
| + scoped_ptr<TranslatePrefs> translate_prefs(
|
| + TranslateTabHelper::CreateTranslatePrefs(profile->GetPrefs()));
|
| + translate_prefs->ResetTranslationAcceptedCount("fr");
|
| + translate_prefs->ResetTranslationDeniedCount("fr");
|
| + translate_prefs->ResetTranslationAcceptedCount("de");
|
| + translate_prefs->ResetTranslationDeniedCount("de");
|
|
|
| // We'll do 4 times in incognito mode first to make sure the button is not
|
| // shown in that case, then 4 times in normal mode.
|
| @@ -1378,7 +1389,7 @@ TEST_F(TranslateManagerBrowserTest, BeforeTranslateExtraButtons) {
|
| }
|
| // Simulate the user pressing "Always translate French".
|
| infobar->AlwaysTranslatePageLanguage();
|
| - EXPECT_TRUE(translate_prefs.IsLanguagePairWhitelisted("fr", "en"));
|
| + EXPECT_TRUE(translate_prefs->IsLanguagePairWhitelisted("fr", "en"));
|
| // Simulate the translate script being retrieved (it only needs to be done
|
| // once in the test as it is cached).
|
| SimulateTranslateScriptURLFetch(true);
|
| @@ -1410,7 +1421,7 @@ TEST_F(TranslateManagerBrowserTest, BeforeTranslateExtraButtons) {
|
| }
|
| // Simulate the user pressing "Never translate French".
|
| infobar->NeverTranslatePageLanguage();
|
| - EXPECT_TRUE(translate_prefs.IsBlockedLanguage("de"));
|
| + EXPECT_TRUE(translate_prefs->IsBlockedLanguage("de"));
|
| // No translation should have occured and the infobar should be gone.
|
| EXPECT_FALSE(GetTranslateMessage(&page_id, &original_lang, &target_lang));
|
| process()->sink().ClearMessages();
|
|
|