Set force_fetch flag of cert fetcher when the original request load flags has LOAD_BYPASS_CACHE

Bug: 850008
Change-Id: I9da3323ced6f8dae7ee8725f248762b0321fbd68
Reviewed-on: https://chromium-review.googlesource.com/1088452
Reviewed-by: Kunihiko Sakamoto <[email protected]>
Reviewed-by: Kinuko Yasuda <[email protected]>
Commit-Queue: Tsuyoshi Horo <[email protected]>
Cr-Commit-Position: refs/heads/master@{#565151}
diff --git a/content/browser/loader/navigation_url_loader_impl.cc b/content/browser/loader/navigation_url_loader_impl.cc
index 8b3a42ed..ea9f9f3 100644
--- a/content/browser/loader/navigation_url_loader_impl.cc
+++ b/content/browser/loader/navigation_url_loader_impl.cc
@@ -399,6 +399,7 @@
           request_info->frame_tree_node_id,
           request_info->devtools_navigation_token,
           request_info->report_raw_headers,
+          request_info->begin_params->load_flags,
           base::MakeRefCounted<
               SignedExchangeURLLoaderFactoryForNonNetworkService>(
               resource_context_, url_request_context_getter),
@@ -608,6 +609,7 @@
           request_info->frame_tree_node_id,
           request_info->devtools_navigation_token,
           request_info->report_raw_headers,
+          request_info->begin_params->load_flags,
           default_url_loader_factory_getter_->GetNetworkFactory(),
           base::BindRepeating(
               &URLLoaderRequestController::CreateURLLoaderThrottles,
diff --git a/content/browser/loader/prefetch_url_loader.cc b/content/browser/loader/prefetch_url_loader.cc
index c0d5931..621d308d 100644
--- a/content/browser/loader/prefetch_url_loader.cc
+++ b/content/browser/loader/prefetch_url_loader.cc
@@ -29,6 +29,7 @@
     : frame_tree_node_id_getter_(frame_tree_node_id_getter),
       url_(resource_request.url),
       report_raw_headers_(resource_request.report_raw_headers),
+      load_flags_(resource_request.load_flags),
       network_loader_factory_(std::move(network_loader_factory)),
       client_binding_(this),
       forwarding_client_(std::move(client)),
@@ -92,7 +93,7 @@
     // Note that after this point this doesn't directly get upcalls from the
     // network. (Until |this| calls the handler's FollowRedirect.)
     web_package_prefetch_handler_ = std::make_unique<WebPackagePrefetchHandler>(
-        frame_tree_node_id_getter_, report_raw_headers_, response,
+        frame_tree_node_id_getter_, report_raw_headers_, load_flags_, response,
         std::move(loader_), client_binding_.Unbind(), network_loader_factory_,
         request_initiator_, url_, url_loader_throttles_getter_,
         resource_context_, request_context_getter_, this);
diff --git a/content/browser/loader/prefetch_url_loader.h b/content/browser/loader/prefetch_url_loader.h
index 3a63bb0..db438eef 100644
--- a/content/browser/loader/prefetch_url_loader.h
+++ b/content/browser/loader/prefetch_url_loader.h
@@ -94,6 +94,7 @@
   const base::RepeatingCallback<int(void)> frame_tree_node_id_getter_;
   const GURL url_;
   const bool report_raw_headers_;
+  const int load_flags_;
 
   scoped_refptr<network::SharedURLLoaderFactory> network_loader_factory_;