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() |