OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/service_worker/service_worker_context_client.h" | 5 #include "content/renderer/service_worker/service_worker_context_client.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 // Blink calls this method for each request starting with the main script, | 92 // Blink calls this method for each request starting with the main script, |
93 // we tag them with the provider id. | 93 // we tag them with the provider id. |
94 void willSendRequest(blink::WebDataSource* data_source, | 94 void willSendRequest(blink::WebDataSource* data_source, |
95 blink::WebURLRequest& request) override { | 95 blink::WebURLRequest& request) override { |
96 ServiceWorkerNetworkProvider* provider = | 96 ServiceWorkerNetworkProvider* provider = |
97 ServiceWorkerNetworkProvider::FromDocumentState( | 97 ServiceWorkerNetworkProvider::FromDocumentState( |
98 static_cast<DataSourceExtraData*>(data_source->getExtraData())); | 98 static_cast<DataSourceExtraData*>(data_source->getExtraData())); |
99 std::unique_ptr<RequestExtraData> extra_data(new RequestExtraData); | 99 std::unique_ptr<RequestExtraData> extra_data(new RequestExtraData); |
100 extra_data->set_service_worker_provider_id(provider->provider_id()); | 100 extra_data->set_service_worker_provider_id(provider->provider_id()); |
101 extra_data->set_originated_from_service_worker(true); | 101 extra_data->set_originated_from_service_worker(true); |
| 102 // Service workers are only available in secure contexts, so all requests |
| 103 // are initiated in a secure context. |
| 104 extra_data->set_initiated_in_secure_context(true); |
102 request.setExtraData(extra_data.release()); | 105 request.setExtraData(extra_data.release()); |
103 } | 106 } |
104 }; | 107 }; |
105 | 108 |
106 void SendPostMessageToClientOnMainThread( | 109 void SendPostMessageToClientOnMainThread( |
107 ThreadSafeSender* sender, | 110 ThreadSafeSender* sender, |
108 int routing_id, | 111 int routing_id, |
109 const std::string& uuid, | 112 const std::string& uuid, |
110 const base::string16& message, | 113 const base::string16& message, |
111 std::unique_ptr<blink::WebMessagePortChannelArray> channels) { | 114 std::unique_ptr<blink::WebMessagePortChannelArray> channels) { |
(...skipping 919 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1031 } | 1034 } |
1032 | 1035 |
1033 base::WeakPtr<ServiceWorkerContextClient> | 1036 base::WeakPtr<ServiceWorkerContextClient> |
1034 ServiceWorkerContextClient::GetWeakPtr() { | 1037 ServiceWorkerContextClient::GetWeakPtr() { |
1035 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); | 1038 DCHECK(worker_task_runner_->RunsTasksOnCurrentThread()); |
1036 DCHECK(context_); | 1039 DCHECK(context_); |
1037 return context_->weak_factory.GetWeakPtr(); | 1040 return context_->weak_factory.GetWeakPtr(); |
1038 } | 1041 } |
1039 | 1042 |
1040 } // namespace content | 1043 } // namespace content |
OLD | NEW |