| 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 |