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 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_URL_REQUEST_JOB_H_ | 5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_URL_REQUEST_JOB_H_ |
6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_URL_REQUEST_JOB_H_ | 6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_URL_REQUEST_JOB_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 25 matching lines...) Expand all Loading... |
36 | 36 |
37 namespace content { | 37 namespace content { |
38 | 38 |
39 class ResourceContext; | 39 class ResourceContext; |
40 class ResourceRequestBody; | 40 class ResourceRequestBody; |
41 class ServiceWorkerContextCore; | 41 class ServiceWorkerContextCore; |
42 class ServiceWorkerFetchDispatcher; | 42 class ServiceWorkerFetchDispatcher; |
43 class ServiceWorkerProviderHost; | 43 class ServiceWorkerProviderHost; |
44 class ServiceWorkerVersion; | 44 class ServiceWorkerVersion; |
45 class Stream; | 45 class Stream; |
| 46 struct ResourceResponseInfo; |
46 | 47 |
47 class CONTENT_EXPORT ServiceWorkerURLRequestJob | 48 class CONTENT_EXPORT ServiceWorkerURLRequestJob |
48 : public net::URLRequestJob, | 49 : public net::URLRequestJob, |
49 public net::URLRequest::Delegate, | 50 public net::URLRequest::Delegate, |
50 public StreamReadObserver, | 51 public StreamReadObserver, |
51 public StreamRegisterObserver { | 52 public StreamRegisterObserver { |
52 public: | 53 public: |
53 ServiceWorkerURLRequestJob( | 54 ServiceWorkerURLRequestJob( |
54 net::URLRequest* request, | 55 net::URLRequest* request, |
55 net::NetworkDelegate* network_delegate, | 56 net::NetworkDelegate* network_delegate, |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 void OnBeforeNetworkStart(net::URLRequest* request, bool* defer) override; | 103 void OnBeforeNetworkStart(net::URLRequest* request, bool* defer) override; |
103 void OnResponseStarted(net::URLRequest* request) override; | 104 void OnResponseStarted(net::URLRequest* request) override; |
104 void OnReadCompleted(net::URLRequest* request, int bytes_read) override; | 105 void OnReadCompleted(net::URLRequest* request, int bytes_read) override; |
105 | 106 |
106 // StreamObserver override: | 107 // StreamObserver override: |
107 void OnDataAvailable(Stream* stream) override; | 108 void OnDataAvailable(Stream* stream) override; |
108 | 109 |
109 // StreamRegisterObserver override: | 110 // StreamRegisterObserver override: |
110 void OnStreamRegistered(Stream* stream) override; | 111 void OnStreamRegistered(Stream* stream) override; |
111 | 112 |
112 void GetExtraResponseInfo( | 113 void GetExtraResponseInfo(ResourceResponseInfo* response_info) const; |
113 bool* was_fetched_via_service_worker, | |
114 bool* was_fallback_required_by_service_worker, | |
115 GURL* original_url_via_service_worker, | |
116 blink::WebServiceWorkerResponseType* response_type_via_service_worker, | |
117 base::TimeTicks* worker_start_time) const; | |
118 | 114 |
119 const base::TimeTicks& worker_start_time() const { | 115 const base::TimeTicks& worker_start_time() const { |
120 return worker_start_time_; | 116 return worker_start_time_; |
121 } | 117 } |
| 118 const base::TimeTicks& worker_ready_time() const { |
| 119 return worker_ready_time_; |
| 120 } |
122 | 121 |
123 protected: | 122 protected: |
124 ~ServiceWorkerURLRequestJob() override; | 123 ~ServiceWorkerURLRequestJob() override; |
125 | 124 |
126 private: | 125 private: |
127 enum ResponseType { | 126 enum ResponseType { |
128 NOT_DETERMINED, | 127 NOT_DETERMINED, |
129 FALLBACK_TO_NETWORK, | 128 FALLBACK_TO_NETWORK, |
130 FORWARD_TO_SERVICE_WORKER, | 129 FORWARD_TO_SERVICE_WORKER, |
131 }; | 130 }; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 // Releases the resources for streaming. | 164 // Releases the resources for streaming. |
166 void ClearStream(); | 165 void ClearStream(); |
167 | 166 |
168 const net::HttpResponseInfo* http_info() const; | 167 const net::HttpResponseInfo* http_info() const; |
169 | 168 |
170 base::WeakPtr<ServiceWorkerProviderHost> provider_host_; | 169 base::WeakPtr<ServiceWorkerProviderHost> provider_host_; |
171 | 170 |
172 // Timing info to show on the popup in Devtools' Network tab. | 171 // Timing info to show on the popup in Devtools' Network tab. |
173 net::LoadTimingInfo load_timing_info_; | 172 net::LoadTimingInfo load_timing_info_; |
174 base::TimeTicks worker_start_time_; | 173 base::TimeTicks worker_start_time_; |
| 174 base::TimeTicks worker_ready_time_; |
175 base::Time response_time_; | 175 base::Time response_time_; |
176 | 176 |
177 ResponseType response_type_; | 177 ResponseType response_type_; |
178 bool is_started_; | 178 bool is_started_; |
179 | 179 |
180 net::HttpByteRange byte_range_; | 180 net::HttpByteRange byte_range_; |
181 scoped_ptr<net::HttpResponseInfo> range_response_info_; | 181 scoped_ptr<net::HttpResponseInfo> range_response_info_; |
182 scoped_ptr<net::HttpResponseInfo> http_response_info_; | 182 scoped_ptr<net::HttpResponseInfo> http_response_info_; |
183 // Headers that have not yet been committed to |http_response_info_|. | 183 // Headers that have not yet been committed to |http_response_info_|. |
184 scoped_refptr<net::HttpResponseHeaders> http_response_headers_; | 184 scoped_refptr<net::HttpResponseHeaders> http_response_headers_; |
(...skipping 23 matching lines...) Expand all Loading... |
208 scoped_refptr<ServiceWorkerVersion> streaming_version_; | 208 scoped_refptr<ServiceWorkerVersion> streaming_version_; |
209 | 209 |
210 base::WeakPtrFactory<ServiceWorkerURLRequestJob> weak_factory_; | 210 base::WeakPtrFactory<ServiceWorkerURLRequestJob> weak_factory_; |
211 | 211 |
212 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerURLRequestJob); | 212 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerURLRequestJob); |
213 }; | 213 }; |
214 | 214 |
215 } // namespace content | 215 } // namespace content |
216 | 216 |
217 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_URL_REQUEST_JOB_H_ | 217 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_URL_REQUEST_JOB_H_ |
OLD | NEW |