Chromium Code Reviews| 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..32324e5c35b8e7cc548989baa688e8dde1c99c2f 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; |
| +// If |request| is a request to YouTube, enforces YouTube's Restrict mode by |
| +// setting YouTube's Restrict header. For backwards compatibility, also |
| +// sets the Safety Mode header. Setting |YTRM_OFF| removes a Restrict header |
|
Thiemo Nagel
2016/08/12 12:12:20
I thought you're removing the safety mode header?
ljusten (tachyonic)
2016/08/16 09:24:54
Plans change, old comments stay... Reformulated th
|
| +// 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 YTRM_OFF: |
| + // 'Off' wipes an existing header if it exists |
| + headers->RemoveHeader(kYouTubeRestrictHeaderName); |
| + return; |
| + |
| + case YTRM_MODERATE: |
| + headers->SetHeader(kYouTubeRestrictHeaderName, |
| + kYouTubeRestrictHeaderValueModerate); |
| + break; |
| + |
| + case YTRM_STRICT: |
| + headers->SetHeader(kYouTubeRestrictHeaderName, |
| + kYouTubeRestrictHeaderValueStrict); |
| + break; |
| + |
| + default: |
| + 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 |