OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" | 5 #include "content/renderer/shared_worker/embedded_shared_worker_stub.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 ServiceWorkerNetworkProvider* provider = | 89 ServiceWorkerNetworkProvider* provider = |
90 GetNetworkProviderFromDataSource(data_source); | 90 GetNetworkProviderFromDataSource(data_source); |
91 std::unique_ptr<RequestExtraData> extra_data(new RequestExtraData); | 91 std::unique_ptr<RequestExtraData> extra_data(new RequestExtraData); |
92 extra_data->set_service_worker_provider_id(provider->provider_id()); | 92 extra_data->set_service_worker_provider_id(provider->provider_id()); |
93 extra_data->set_initiated_in_secure_context( | 93 extra_data->set_initiated_in_secure_context( |
94 static_cast<DataSourceExtraData*>(data_source->getExtraData()) | 94 static_cast<DataSourceExtraData*>(data_source->getExtraData()) |
95 ->is_secure_context); | 95 ->is_secure_context); |
96 request.setExtraData(extra_data.release()); | 96 request.setExtraData(extra_data.release()); |
97 // If the provider does not have a controller at this point, the renderer | 97 // If the provider does not have a controller at this point, the renderer |
98 // expects subresource requests to never be handled by a controlling service | 98 // expects subresource requests to never be handled by a controlling service |
99 // worker, so set the SkipServiceWorker flag here. Otherwise, a service | 99 // worker, so set the ServiceWorkerMode to skip local workers here. |
100 // worker that is in the process of becoming the controller (i.e., via | 100 // Otherwise, a service worker that is in the process of becoming the |
101 // claim()) on the browser-side could handle the request and break the | 101 // controller (i.e., via claim()) on the browser-side could handle the |
102 // assumptions of the renderer. | 102 // request and break the assumptions of the renderer. |
103 if (request.getRequestContext() != | 103 if (request.getRequestContext() != |
104 blink::WebURLRequest::RequestContextSharedWorker && | 104 blink::WebURLRequest::RequestContextSharedWorker && |
105 !provider->IsControlledByServiceWorker() && | 105 !provider->IsControlledByServiceWorker() && |
106 request.skipServiceWorker() != | 106 request.getServiceWorkerMode() != |
107 blink::WebURLRequest::SkipServiceWorker::All) { | 107 blink::WebURLRequest::ServiceWorkerMode::None) { |
108 request.setSkipServiceWorker( | 108 request.setServiceWorkerMode( |
109 blink::WebURLRequest::SkipServiceWorker::Controlling); | 109 blink::WebURLRequest::ServiceWorkerMode::Foreign); |
110 } | 110 } |
111 } | 111 } |
112 | 112 |
113 bool isControlledByServiceWorker(blink::WebDataSource& data_source) override { | 113 bool isControlledByServiceWorker(blink::WebDataSource& data_source) override { |
114 ServiceWorkerNetworkProvider* provider = | 114 ServiceWorkerNetworkProvider* provider = |
115 GetNetworkProviderFromDataSource(&data_source); | 115 GetNetworkProviderFromDataSource(&data_source); |
116 return provider->IsControlledByServiceWorker(); | 116 return provider->IsControlledByServiceWorker(); |
117 } | 117 } |
118 | 118 |
119 int64_t serviceWorkerID(blink::WebDataSource& data_source) override { | 119 int64_t serviceWorkerID(blink::WebDataSource& data_source) override { |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 } | 313 } |
314 } | 314 } |
315 | 315 |
316 void EmbeddedSharedWorkerStub::OnTerminateWorkerContext() { | 316 void EmbeddedSharedWorkerStub::OnTerminateWorkerContext() { |
317 // After this we wouldn't get any IPC for this stub. | 317 // After this we wouldn't get any IPC for this stub. |
318 running_ = false; | 318 running_ = false; |
319 impl_->terminateWorkerContext(); | 319 impl_->terminateWorkerContext(); |
320 } | 320 } |
321 | 321 |
322 } // namespace content | 322 } // namespace content |
OLD | NEW |