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..2d77d562ed95659b0e16b356c0372e8a5afb76b7 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" |
@@ -37,8 +36,10 @@ |
#include "chrome/test/base/testing_browser_process.h" |
#include "chrome/test/base/testing_profile.h" |
#include "chrome/test/base/ui_test_utils.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_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 +1097,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")); |
+ TranslateAcceptLanguages* accept_languages = |
+ TranslateTabHelper::GetTranslateAcceptLanguages(profile); |
+ EXPECT_TRUE(translate_prefs->CanTranslateLanguage(accept_languages, "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(accept_languages, "fr")); |
EXPECT_TRUE(CloseTranslateInfoBar()); |
@@ -1115,10 +1119,10 @@ 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(accept_languages, "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)); |
+ TranslateAcceptLanguages* accept_languages = |
+ TranslateTabHelper::GetTranslateAcceptLanguages(profile); |
+ EXPECT_TRUE(translate_prefs->CanTranslateLanguage(accept_languages, "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(accept_languages, "fr")); |
EXPECT_TRUE(CloseTranslateInfoBar()); |
@@ -1161,9 +1168,9 @@ 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(accept_languages, "fr")); |
// Navigate to a page in French. |
SimulateNavigation(url, "fr", true); |
@@ -1181,9 +1188,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 +1230,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 +1245,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 +1285,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 +1352,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 +1388,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 +1420,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(); |