| Index: content/child/service_worker/service_worker_network_provider.cc
|
| diff --git a/content/child/service_worker/service_worker_network_provider.cc b/content/child/service_worker/service_worker_network_provider.cc
|
| index 5c883a0154ddb182d6ad680b5a4c77660f2b373f..0ad0365ddcc00c94a579d24c3c190d546068f1c7 100644
|
| --- a/content/child/service_worker/service_worker_network_provider.cc
|
| +++ b/content/child/service_worker/service_worker_network_provider.cc
|
| @@ -7,7 +7,6 @@
|
| #include "base/atomic_sequence_num.h"
|
| #include "content/child/child_thread_impl.h"
|
| #include "content/child/service_worker/service_worker_provider_context.h"
|
| -#include "content/common/navigation_params.h"
|
| #include "content/common/service_worker/service_worker_messages.h"
|
| #include "content/common/service_worker/service_worker_utils.h"
|
| #include "content/public/common/browser_side_navigation_policy.h"
|
| @@ -58,34 +57,18 @@ ServiceWorkerNetworkProvider* ServiceWorkerNetworkProvider::FromDocumentState(
|
| std::unique_ptr<ServiceWorkerNetworkProvider>
|
| ServiceWorkerNetworkProvider::CreateForNavigation(
|
| int route_id,
|
| - const RequestNavigationParams& request_params,
|
| blink::WebLocalFrame* frame,
|
| bool content_initiated) {
|
| - bool browser_side_navigation = IsBrowserSideNavigationEnabled();
|
| - bool should_create_provider_for_window = false;
|
| - int service_worker_provider_id = kInvalidServiceWorkerProviderId;
|
| - std::unique_ptr<ServiceWorkerNetworkProvider> network_provider;
|
| -
|
| // Determine if a ServiceWorkerNetworkProvider should be created and properly
|
| // initialized for the navigation. A default ServiceWorkerNetworkProvider
|
| // will always be created since it is expected in a certain number of places,
|
| // however it will have an invalid id.
|
| - // PlzNavigate: |service_worker_provider_id| can be sent by the browser, if
|
| - // it already created the SeviceWorkerProviderHost.
|
| - if (browser_side_navigation && !content_initiated) {
|
| - should_create_provider_for_window =
|
| - request_params.should_create_service_worker;
|
| - service_worker_provider_id = request_params.service_worker_provider_id;
|
| - DCHECK(ServiceWorkerUtils::IsBrowserAssignedProviderId(
|
| - service_worker_provider_id) ||
|
| - service_worker_provider_id == kInvalidServiceWorkerProviderId);
|
| - } else {
|
| - should_create_provider_for_window =
|
| - ((frame->effectiveSandboxFlags() & blink::WebSandboxFlags::Origin) !=
|
| - blink::WebSandboxFlags::Origin);
|
| - }
|
| + bool should_create_provider_for_window =
|
| + ((frame->effectiveSandboxFlags() & blink::WebSandboxFlags::Origin) !=
|
| + blink::WebSandboxFlags::Origin);
|
|
|
| // Now create the ServiceWorkerNetworkProvider (with invalid id if needed).
|
| + std::unique_ptr<ServiceWorkerNetworkProvider> network_provider;
|
| if (should_create_provider_for_window) {
|
| // Ideally Document::isSecureContext would be called here, but the document
|
| // is not created yet, and due to redirects the URL may change. So pass
|
| @@ -94,20 +77,10 @@ ServiceWorkerNetworkProvider::CreateForNavigation(
|
| // control the document.
|
| const bool is_parent_frame_secure = IsFrameSecure(frame->parent());
|
|
|
| - if (service_worker_provider_id == kInvalidServiceWorkerProviderId) {
|
| - network_provider = std::unique_ptr<ServiceWorkerNetworkProvider>(
|
| - new ServiceWorkerNetworkProvider(route_id,
|
| - SERVICE_WORKER_PROVIDER_FOR_WINDOW,
|
| - is_parent_frame_secure));
|
| - } else {
|
| - CHECK(browser_side_navigation);
|
| - DCHECK(ServiceWorkerUtils::IsBrowserAssignedProviderId(
|
| - service_worker_provider_id));
|
| - network_provider = std::unique_ptr<ServiceWorkerNetworkProvider>(
|
| - new ServiceWorkerNetworkProvider(
|
| - route_id, SERVICE_WORKER_PROVIDER_FOR_WINDOW,
|
| - service_worker_provider_id, is_parent_frame_secure));
|
| - }
|
| + network_provider = std::unique_ptr<ServiceWorkerNetworkProvider>(
|
| + new ServiceWorkerNetworkProvider(route_id,
|
| + SERVICE_WORKER_PROVIDER_FOR_WINDOW,
|
| + is_parent_frame_secure));
|
| } else {
|
| network_provider = std::unique_ptr<ServiceWorkerNetworkProvider>(
|
| new ServiceWorkerNetworkProvider());
|
| @@ -118,11 +91,9 @@ ServiceWorkerNetworkProvider::CreateForNavigation(
|
| ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider(
|
| int route_id,
|
| ServiceWorkerProviderType provider_type,
|
| - int browser_provider_id,
|
| bool is_parent_frame_secure)
|
| - : provider_id_(browser_provider_id) {
|
| - if (provider_id_ == kInvalidServiceWorkerProviderId)
|
| - return;
|
| + : provider_id_(GetNextProviderId()) {
|
| + DCHECK(provider_id_ != kInvalidServiceWorkerProviderId);
|
| if (!ChildThreadImpl::current())
|
| return; // May be null in some tests.
|
| context_ = new ServiceWorkerProviderContext(
|
| @@ -132,15 +103,6 @@ ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider(
|
| provider_id_, route_id, provider_type, is_parent_frame_secure));
|
| }
|
|
|
| -ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider(
|
| - int route_id,
|
| - ServiceWorkerProviderType provider_type,
|
| - bool is_parent_frame_secure)
|
| - : ServiceWorkerNetworkProvider(route_id,
|
| - provider_type,
|
| - GetNextProviderId(),
|
| - is_parent_frame_secure) {}
|
| -
|
| ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider()
|
| : provider_id_(kInvalidServiceWorkerProviderId) {}
|
|
|
|
|