Index: chrome/browser/net/safe_search_util.cc |
diff --git a/chrome/browser/net/safe_search_util.cc b/chrome/browser/net/safe_search_util.cc |
index 17bda6605a805c9583e7d8aeaf551940cfb5e296..664f366fe076ca52c2bd56e2b1cd118de63524c5 100644 |
--- a/chrome/browser/net/safe_search_util.cc |
+++ b/chrome/browser/net/safe_search_util.cc |
@@ -25,10 +25,11 @@ |
namespace { |
int g_force_google_safe_search_count_for_test = 0; |
-int g_force_youtube_safety_mode_count_for_test = 0; |
+int g_force_youtube_restrict_count_for_test = 0; |
-const char kYouTubeSafetyModeHeaderName[] = "YouTube-Safety-Mode"; |
-const char kYouTubeSafetyModeHeaderValue[] = "Active"; |
+const char kYouTubeRestrictHeaderName[] = "YouTube-Restrict"; |
+const char kYouTubeRestrictHeaderValueModerate[] = "Moderate"; |
+const char kYouTubeRestrictHeaderValueStrict[] = "Strict"; |
// Returns whether a URL parameter, |first_parameter| (e.g. foo=bar), has the |
// same key as the the |second_parameter| (e.g. foo=baz). Both parameters |
@@ -88,11 +89,14 @@ void ForceGoogleSafeSearch(const net::URLRequest* request, GURL* new_url) { |
*new_url = request->url().ReplaceComponents(replacements); |
} |
-// If |request| is a request to YouTube, enforces YouTube's Safety Mode by |
-// setting YouTube's Safety Mode header. |
-void ForceYouTubeSafetyMode(const net::URLRequest* request, |
- net::HttpRequestHeaders* headers) { |
- ++g_force_youtube_safety_mode_count_for_test; |
+// Does nothing if |request| is not a request to YouTube. Otherwise, if |mode| |
+// is not |YOUTUBE_OFF|, enforces a minimum YouTube Restrict mode by setting |
+// YouTube Restrict header. Setting |YOUTUBE_OFF| removes a Restrict header |
+// if it exists. |
+void ForceYouTubeRestrict(const net::URLRequest* request, |
+ net::HttpRequestHeaders* headers, |
+ YouTubeRestrictMode mode) { |
+ ++g_force_youtube_restrict_count_for_test; |
if (!google_util::IsYoutubeDomainUrl( |
request->url(), |
@@ -100,24 +104,41 @@ void ForceYouTubeSafetyMode(const net::URLRequest* request, |
google_util::DISALLOW_NON_STANDARD_PORTS)) |
return; |
- headers->SetHeader(kYouTubeSafetyModeHeaderName, |
- kYouTubeSafetyModeHeaderValue); |
+ switch (mode) { |
+ case YOUTUBE_OFF: |
+ // 'Off' wipes an existing header if it exists |
+ headers->RemoveHeader(kYouTubeRestrictHeaderName); |
+ return; |
+ |
+ case YOUTUBE_MODERATE: |
+ headers->SetHeader(kYouTubeRestrictHeaderName, |
+ kYouTubeRestrictHeaderValueModerate); |
+ break; |
+ |
+ case YOUTUBE_STRICT: |
+ headers->SetHeader(kYouTubeRestrictHeaderName, |
+ kYouTubeRestrictHeaderValueStrict); |
+ break; |
+ |
+ default: |
Marc Treib
2016/09/05 09:58:10
Leave out the "default" case. That way, if anyone
ljusten (tachyonic)
2016/09/05 15:24:32
Done.
|
+ NOTREACHED(); |
+ } |
} |
int GetForceGoogleSafeSearchCountForTesting() { |
return g_force_google_safe_search_count_for_test; |
} |
-int GetForceYouTubeSafetyModeCountForTesting() { |
- return g_force_youtube_safety_mode_count_for_test; |
+int GetForceYouTubeRestrictCountForTesting() { |
+ return g_force_youtube_restrict_count_for_test; |
} |
void ClearForceGoogleSafeSearchCountForTesting() { |
g_force_google_safe_search_count_for_test = 0; |
} |
-void ClearForceYouTubeSafetyModeCountForTesting() { |
- g_force_youtube_safety_mode_count_for_test = 0; |
+void ClearForceYouTubeRestrictCountForTesting() { |
+ g_force_youtube_restrict_count_for_test = 0; |
} |
} // namespace safe_search_util |