Add modified_request_headers parameter to URLLoader::FollowRedirect

Consumers like Device Management Service (crbug.com/832749) need to
add extra headers on redirect.

This CL:
1. Adds |modified_request_headers| parameter in 'url_loader.mojom' and
   all |URLLoader::FollowRedirect| overrides.
2. Adds |DCHECK(!modified_request_headers.has_value())| in all
   non-empty override implementations.
3. Use |base::nullopt| for all call-sites.

This CL doesn't have behavior change.

Bug: 845683
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I45cae17220b1e4179d9617c802718f794918e535
Reviewed-on: https://chromium-review.googlesource.com/1065584
Commit-Queue: Chong Zhang <[email protected]>
Reviewed-by: John Abd-El-Malek <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Cr-Commit-Position: refs/heads/master@{#560942}
diff --git a/content/browser/file_url_loader_factory.cc b/content/browser/file_url_loader_factory.cc
index fde37068..f260e71a 100644
--- a/content/browser/file_url_loader_factory.cc
+++ b/content/browser/file_url_loader_factory.cc
@@ -107,7 +107,8 @@
   }
 
   // network::mojom::URLLoader:
-  void FollowRedirect() override {}
+  void FollowRedirect(const base::Optional<net::HttpRequestHeaders>&
+                          modified_request_headers) override {}
   void ProceedWithResponse() override { NOTREACHED(); }
   void SetPriority(net::RequestPriority priority,
                    int32_t intra_priority_value) override {}
@@ -315,7 +316,8 @@
   }
 
   // network::mojom::URLLoader:
-  void FollowRedirect() override {}
+  void FollowRedirect(const base::Optional<net::HttpRequestHeaders>&
+                          modified_request_headers) override {}
   void ProceedWithResponse() override {}
   void SetPriority(net::RequestPriority priority,
                    int32_t intra_priority_value) override {}