Chromium Code Reviews| Index: chrome/browser/policy/policy_browsertest.cc |
| diff --git a/chrome/browser/policy/policy_browsertest.cc b/chrome/browser/policy/policy_browsertest.cc |
| index ad31d28324cd8bbfc5563bd07d91efc5568ca936..3a1054206898e8e04d629a4f42724e6209e1d9a7 100644 |
| --- a/chrome/browser/policy/policy_browsertest.cc |
| +++ b/chrome/browser/policy/policy_browsertest.cc |
| @@ -882,13 +882,16 @@ class PolicyTest : public InProcessBrowserTest { |
| void ApplySafeSearchPolicy( |
| std::unique_ptr<base::FundamentalValue> legacy_safe_search, |
| std::unique_ptr<base::FundamentalValue> google_safe_search, |
| - std::unique_ptr<base::FundamentalValue> youtube_safety_mode) { |
| + std::unique_ptr<base::FundamentalValue> legacy_youtube, |
| + std::unique_ptr<base::FundamentalValue> youtube_restrict) { |
| PolicyMap policies; |
| SetPolicy(&policies, key::kForceSafeSearch, std::move(legacy_safe_search)); |
| SetPolicy(&policies, key::kForceGoogleSafeSearch, |
| std::move(google_safe_search)); |
| SetPolicy(&policies, key::kForceYouTubeSafetyMode, |
| - std::move(youtube_safety_mode)); |
| + std::move(legacy_youtube)); |
| + SetPolicy(&policies, key::kForceYouTubeRestrict, |
| + std::move(youtube_restrict)); |
| UpdateProviderPolicy(policies); |
| } |
| @@ -1178,38 +1181,79 @@ IN_PROC_BROWSER_TEST_F(PolicyTest, ForceSafeSearch) { |
| // First check that nothing happens. |
| CheckSafeSearch(false); |
| - // Go over all combinations of (undefined,true,false) for the three policies. |
| - for (int i = 0; i < 3 * 3 * 3; i++) { |
| - int legacy = i % 3; |
| - int google = (i / 3) % 3; |
| - int youtube = i / (3 * 3); |
| + // Go over all combinations of (undefined,true,false) resp. |
|
Thiemo Nagel
2016/10/06 14:05:57
Nit: Could you please insert spaces after the comm
ljusten (tachyonic)
2016/10/06 15:16:49
Done.
|
| + // (undefined, off, moderate, strict) for the three policies. |
| + for (int i = 0; i < 3 * 3 * 3 * 4; i++) { |
| + int val = i; |
| + int legacy_safe_search = val % 3; val /= 3; |
| + int google_safe_search = val % 3; val /= 3; |
| + int legacy_youtube = val % 3; val /= 3; |
| + int youtube_restrict = val % 4; |
| // Override the default SafeSearch setting using policies. |
| - ApplySafeSearchPolicy( |
| - legacy == 0 ? nullptr |
| - : base::MakeUnique<base::FundamentalValue>(legacy == 1), |
| - google == 0 ? nullptr |
| - : base::MakeUnique<base::FundamentalValue>(google == 1), |
| - youtube == 0 ? nullptr |
| - : base::MakeUnique<base::FundamentalValue>(youtube == 1)); |
| - |
| - // The legacy policy should only have an effect if both google and youtube |
| - // are undefined. |
| - bool legacy_in_effect = (google == 0 && youtube == 0 && legacy != 0); |
| - bool legacy_enabled = legacy_in_effect && legacy == 1; |
| + static_assert(safe_search_util::YOUTUBE_RESTRICT_OFF == 0 && |
| + safe_search_util::YOUTUBE_RESTRICT_MODERATE == 1 && |
| + safe_search_util::YOUTUBE_RESTRICT_STRICT == 2, |
| + "Adjust 'youtube' to match YouTubeRestrictMode enum"); |
|
Thiemo Nagel
2016/10/06 14:05:57
Nit: I think it would be more readable to move the
ljusten (tachyonic)
2016/10/06 15:16:49
I've refined this a little.
|
| + ApplySafeSearchPolicy( |
| + legacy_safe_search == 0 |
| + ? nullptr |
| + : base::MakeUnique<base::FundamentalValue>(legacy_safe_search == 1), |
| + google_safe_search == 0 |
| + ? nullptr |
| + : base::MakeUnique<base::FundamentalValue>(google_safe_search == 1), |
| + legacy_youtube == 0 |
| + ? nullptr |
| + : base::MakeUnique<base::FundamentalValue>(legacy_youtube == 1), |
| + youtube_restrict == 0 |
| + ? nullptr // subtracting 1 gives 0,1,2, see above |
| + : base::MakeUnique<base::FundamentalValue>(youtube_restrict - 1)); |
| + |
| + // The legacy ForceSafeSearch policy should only have an effect if |
|
Thiemo Nagel
2016/10/06 14:05:57
Nit: Please wrap comments at 80 characters.
ljusten (tachyonic)
2016/10/06 15:16:49
Done.
|
| + // none of the other 3 policies are defined. |
| + bool legacy_safe_search_in_effect = |
| + google_safe_search == 0 && legacy_youtube == 0 && |
| + youtube_restrict == 0 && legacy_safe_search != 0; |
| + bool legacy_safe_search_enabled = |
| + legacy_safe_search_in_effect && legacy_safe_search == 1; |
| + |
| + // Likewise, ForceYouTubeSafetyMode should only have an effect if |
| + // ForceYouTubeRestrict is not set. |
| + bool legacy_youtube_in_effect = |
| + youtube_restrict == 0 && legacy_youtube != 0; |
| + bool legacy_youtube_enabled = |
| + legacy_youtube_in_effect && legacy_youtube == 1; |
| + |
| + // Consistency check, can't have both legacy modes at the same time. |
| + EXPECT_FALSE(legacy_youtube_in_effect && legacy_safe_search_in_effect); |
| + |
| + // Google safe search can be triggered by the ForceGoogleSafeSearch policy |
| + // or the legacy safe search mode. |
| PrefService* prefs = browser()->profile()->GetPrefs(); |
| - EXPECT_EQ(google != 0 || legacy_in_effect, |
| + EXPECT_EQ(google_safe_search != 0 || legacy_safe_search_in_effect, |
| prefs->IsManagedPreference(prefs::kForceGoogleSafeSearch)); |
| - EXPECT_EQ(google == 1 || legacy_enabled, |
| + EXPECT_EQ(google_safe_search == 1 || legacy_safe_search_enabled, |
| prefs->GetBoolean(prefs::kForceGoogleSafeSearch)); |
| - EXPECT_EQ(youtube != 0 || legacy_in_effect, |
| - prefs->IsManagedPreference(prefs::kForceYouTubeSafetyMode)); |
| - EXPECT_EQ(youtube == 1 || legacy_enabled, |
| - prefs->GetBoolean(prefs::kForceYouTubeSafetyMode)); |
| + // YouTube restrict mode can be triggered by the ForceYouTubeRestrict policy |
| + // or any of the legacy modes. |
| + EXPECT_EQ(youtube_restrict != 0 || legacy_safe_search_in_effect || |
| + legacy_youtube_in_effect, |
| + prefs->IsManagedPreference(prefs::kForceYouTubeRestrict)); |
| + EXPECT_EQ(youtube_restrict != 0, |
|
Thiemo Nagel
2016/10/06 14:05:57
That doesn't seem to make sense when youtube_restr
ljusten (tachyonic)
2016/10/06 15:16:49
Done.
|
| + prefs->GetInteger(prefs::kForceYouTubeRestrict) == youtube_restrict - 1); |
| + |
| + // The legacy modes should result in MODERATE strictness, if enabled. |
| + if (youtube_restrict == 0) { |
| + safe_search_util::YouTubeRestrictMode expected_mode = |
| + legacy_safe_search_enabled || legacy_youtube_enabled |
| + ? safe_search_util::YOUTUBE_RESTRICT_MODERATE |
| + : safe_search_util::YOUTUBE_RESTRICT_OFF; |
| + EXPECT_EQ(prefs->GetInteger(prefs::kForceYouTubeRestrict),expected_mode); |
|
Thiemo Nagel
2016/10/06 14:05:57
Nit: Missing blank after comma.
ljusten (tachyonic)
2016/10/06 15:16:49
Done.
|
| + } |
| - CheckSafeSearch(google == 1 || legacy_enabled); |
| + CheckSafeSearch(google_safe_search == 1 || legacy_safe_search_enabled); |
| } |
| } |