Chromium Code Reviews| 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 4c1c305090323c73a9eb1753151212d8d07f51c0..c233ad84da7f561a5cb6abf2ff4d7e3f6716217f 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,17 @@ 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(); |
| + // Currently NavigationPreload doesn't support request body. |
|
falken
2016/10/14 07:53:12
nit: TODO(horo)?
horo
2016/10/14 16:09:05
Done.
|
| + 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; |
| + } |
| + preload_handle_ = |
| + ServiceWorkerNavigationPreloadFetcher::Start(original_request); |
| } |
| ServiceWorkerMetrics::EventType ServiceWorkerFetchDispatcher::GetEventType() |