| Index: content/browser/service_worker/service_worker_fetch_dispatcher.cc
|
| diff --git a/content/browser/service_worker/service_worker_fetch_dispatcher.cc b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
|
| index fefc7137f6e953a3a34b43563943dc094bab16ab..453bc93f6ff2e476d3b2691edd1bbb8274de3bcf 100644
|
| --- a/content/browser/service_worker/service_worker_fetch_dispatcher.cc
|
| +++ b/content/browser/service_worker/service_worker_fetch_dispatcher.cc
|
| @@ -12,6 +12,7 @@
|
| #include "base/time/time.h"
|
| #include "base/trace_event/trace_event.h"
|
| #include "content/browser/service_worker/embedded_worker_status.h"
|
| +#include "content/browser/service_worker/service_worker_navigation_preload_fetcher.h"
|
| #include "content/browser/service_worker/service_worker_version.h"
|
| #include "content/common/service_worker/fetch_event_dispatcher.mojom.h"
|
| #include "content/common/service_worker/service_worker_messages.h"
|
| @@ -279,9 +280,20 @@ void ServiceWorkerFetchDispatcher::MaybeStartNavigationPreload(
|
| }
|
| if (!version_->navigation_preload_enabled())
|
| return;
|
| - // TODO(horo): Implement this to start the preload request for the navigation
|
| - // request and set |preload_handle_|.
|
| - NOTIMPLEMENTED();
|
| + // TODO(horo): Currently NavigationPreload doesn't support request body.
|
| + if (!request_->blob_uuid.empty())
|
| + return;
|
| + if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnableExperimentalWebPlatformFeatures)) {
|
| + // TODO(horo): Check |version_|'s origin_trial_tokens() here if we use
|
| + // Origin-Trial for NavigationPreload.
|
| + return;
|
| + }
|
| + // TODO(horo): Pass "Service-Worker-Navigation-Preload" header to
|
| + // ServiceWorkerNavigationPreloadFetcher.
|
| + // See: https://github.com/w3c/ServiceWorker/issues/920#issuecomment-251150270
|
| + preload_handle_ =
|
| + ServiceWorkerNavigationPreloadFetcher::Start(original_request);
|
| }
|
|
|
| ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType()
|
|
|