OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <algorithm> | 5 #include <algorithm> |
6 #include <set> | 6 #include <set> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/prefs/pref_change_registrar.h" | 10 #include "base/prefs/pref_change_registrar.h" |
(...skipping 1010 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1021 | 1021 |
1022 // An infobar should be shown. | 1022 // An infobar should be shown. |
1023 EXPECT_TRUE(GetTranslateInfoBar() != NULL); | 1023 EXPECT_TRUE(GetTranslateInfoBar() != NULL); |
1024 | 1024 |
1025 // Select never translate this language. | 1025 // Select never translate this language. |
1026 Profile* profile = | 1026 Profile* profile = |
1027 Profile::FromBrowserContext(web_contents()->GetBrowserContext()); | 1027 Profile::FromBrowserContext(web_contents()->GetBrowserContext()); |
1028 PrefService* prefs = profile->GetPrefs(); | 1028 PrefService* prefs = profile->GetPrefs(); |
1029 PrefChangeRegistrar registrar; | 1029 PrefChangeRegistrar registrar; |
1030 registrar.Init(prefs); | 1030 registrar.Init(prefs); |
1031 registrar.Add(TranslatePrefs::kPrefTranslateLanguageBlacklist, | 1031 registrar.Add(TranslatePrefs::kPrefTranslateBlockedLanguages, |
1032 pref_callback_); | 1032 pref_callback_); |
1033 TranslatePrefs translate_prefs(prefs); | 1033 TranslatePrefs translate_prefs(prefs); |
1034 EXPECT_FALSE(translate_prefs.IsBlockedLanguage("fr")); | 1034 EXPECT_FALSE(translate_prefs.IsBlockedLanguage("fr")); |
1035 EXPECT_TRUE(translate_prefs.CanTranslateLanguage(profile, "fr")); | 1035 EXPECT_TRUE(translate_prefs.CanTranslateLanguage(profile, "fr")); |
1036 SetPrefObserverExpectation(TranslatePrefs::kPrefTranslateLanguageBlacklist); | 1036 SetPrefObserverExpectation(TranslatePrefs::kPrefTranslateBlockedLanguages); |
1037 translate_prefs.BlockLanguage("fr"); | 1037 translate_prefs.BlockLanguage("fr"); |
1038 EXPECT_TRUE(translate_prefs.IsBlockedLanguage("fr")); | 1038 EXPECT_TRUE(translate_prefs.IsBlockedLanguage("fr")); |
1039 EXPECT_FALSE(translate_prefs.IsSiteBlacklisted(url.host())); | 1039 EXPECT_FALSE(translate_prefs.IsSiteBlacklisted(url.host())); |
1040 EXPECT_FALSE(translate_prefs.CanTranslateLanguage(profile, "fr")); | 1040 EXPECT_FALSE(translate_prefs.CanTranslateLanguage(profile, "fr")); |
1041 | 1041 |
1042 EXPECT_TRUE(CloseTranslateInfoBar()); | 1042 EXPECT_TRUE(CloseTranslateInfoBar()); |
1043 | 1043 |
1044 // Navigate to a new page also in French. | 1044 // Navigate to a new page also in French. |
1045 SimulateNavigation(GURL("http://wwww.youtube.fr"), "fr", true); | 1045 SimulateNavigation(GURL("http://wwww.youtube.fr"), "fr", true); |
1046 | 1046 |
1047 // There should not be a translate infobar. | 1047 // There should not be a translate infobar. |
1048 EXPECT_TRUE(GetTranslateInfoBar() == NULL); | 1048 EXPECT_TRUE(GetTranslateInfoBar() == NULL); |
1049 | 1049 |
1050 // Remove the language from the blacklist. | 1050 // Remove the language from the blacklist. |
1051 SetPrefObserverExpectation(TranslatePrefs::kPrefTranslateLanguageBlacklist); | 1051 SetPrefObserverExpectation(TranslatePrefs::kPrefTranslateBlockedLanguages); |
1052 translate_prefs.UnblockLanguage("fr"); | 1052 translate_prefs.UnblockLanguage("fr"); |
1053 EXPECT_FALSE(translate_prefs.IsBlockedLanguage("fr")); | 1053 EXPECT_FALSE(translate_prefs.IsBlockedLanguage("fr")); |
1054 EXPECT_FALSE(translate_prefs.IsSiteBlacklisted(url.host())); | 1054 EXPECT_FALSE(translate_prefs.IsSiteBlacklisted(url.host())); |
1055 EXPECT_TRUE(translate_prefs.CanTranslateLanguage(profile, "fr")); | 1055 EXPECT_TRUE(translate_prefs.CanTranslateLanguage(profile, "fr")); |
1056 | 1056 |
1057 // Navigate to a page in French. | 1057 // Navigate to a page in French. |
1058 SimulateNavigation(url, "fr", true); | 1058 SimulateNavigation(url, "fr", true); |
1059 | 1059 |
1060 // There should be a translate infobar. | 1060 // There should be a translate infobar. |
1061 EXPECT_TRUE(GetTranslateInfoBar() != NULL); | 1061 EXPECT_TRUE(GetTranslateInfoBar() != NULL); |
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1454 content::WebContents* current_web_contents = | 1454 content::WebContents* current_web_contents = |
1455 browser()->tab_strip_model()->GetActiveWebContents(); | 1455 browser()->tab_strip_model()->GetActiveWebContents(); |
1456 content::Source<content::WebContents> source(current_web_contents); | 1456 content::Source<content::WebContents> source(current_web_contents); |
1457 | 1457 |
1458 ui_test_utils::WindowedNotificationObserverWithDetails< | 1458 ui_test_utils::WindowedNotificationObserverWithDetails< |
1459 LanguageDetectionDetails> | 1459 LanguageDetectionDetails> |
1460 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, | 1460 fr_language_detected_signal(chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, |
1461 source); | 1461 source); |
1462 fr_language_detected_signal.Wait(); | 1462 fr_language_detected_signal.Wait(); |
1463 } | 1463 } |
OLD | NEW |