Apply Google-related request modifications for networking service path.

This adds support for:
1) Safe Search
2) YouTube restricted mode
3) restricting consumer accounts
through Group Policy.

The other supporting change is to make ThrottlingURLLoader handle a throttle changing the URL in WillStartRequest.

This is a reland of https://chromium-review.googlesource.com/c/chromium/src/+/1152507 with a fix for the CFI failure in unit_tests.

TBR=kinuko

Bug: 841313
Cq-Include-Trybots: luci.chromium.try:linux_mojo
Change-Id: Iedb413e4cb2837d71d380e5df74d7f80305181cd
Reviewed-on: https://chromium-review.googlesource.com/1159821
Reviewed-by: John Abd-El-Malek <[email protected]>
Cr-Commit-Position: refs/heads/master@{#580063}
diff --git a/components/variations/variations_http_header_provider.cc b/components/variations/variations_http_header_provider.cc
index cec9343..5055b9e3 100644
--- a/components/variations/variations_http_header_provider.cc
+++ b/components/variations/variations_http_header_provider.cc
@@ -35,10 +35,10 @@
 // There are three cases:
 // 1. Subresources request in renderer, it is implemented
 // in URLLoaderThrottleProviderImpl::CreateThrottles() by adding a
-// VariationsHeaderURLLoaderThrottle to a content::URLLoaderThrottle vector.
+// GoogleURLLoaderThrottle to a content::URLLoaderThrottle vector.
 // 2. Navigations/Downloads request in browser, it is implemented in
 // ChromeContentBrowserClient::CreateURLLoaderThrottles() by also adding a
-// VariationsHeaderURLLoaderThrottle to a content::URLLoaderThrottle vector.
+// GoogleURLLoaderThrottle to a content::URLLoaderThrottle vector.
 // 3. SimpleURLLoader in browser, it is implemented in a SimpleURLLoader wrapper
 // function variations::CreateSimpleURLLoaderWithVariationsHeaders().