Chromium Code Reviews| 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..803e6c6556cb01abd8c4a19b757a21f9c1662af9 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,9 +91,8 @@ ServiceWorkerNetworkProvider::CreateForNavigation( |
| ServiceWorkerNetworkProvider::ServiceWorkerNetworkProvider( |
| int route_id, |
| ServiceWorkerProviderType provider_type, |
| - int browser_provider_id, |
| bool is_parent_frame_secure) |
| - : provider_id_(browser_provider_id) { |
| + : provider_id_(GetNextProviderId()) { |
| if (provider_id_ == kInvalidServiceWorkerProviderId) |
|
falken
2016/06/24 08:21:51
I think it should be rare/impossible for GetNextPr
clamy
2016/06/24 11:16:54
Done.
|
| return; |
| if (!ChildThreadImpl::current()) |
| @@ -132,15 +104,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) {} |