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_REQUEST_HANDLER_H_ | 5 #ifndef CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REQUEST_HANDLER_H_ |
6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REQUEST_HANDLER_H_ | 6 #define CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REQUEST_HANDLER_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
10 #include "base/supports_user_data.h" | 10 #include "base/supports_user_data.h" |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 | 86 |
87 virtual void GetExtraResponseInfo( | 87 virtual void GetExtraResponseInfo( |
88 bool* was_fetched_via_service_worker, | 88 bool* was_fetched_via_service_worker, |
89 bool* was_fallback_required_by_service_worker, | 89 bool* was_fallback_required_by_service_worker, |
90 GURL* original_url_via_service_worker, | 90 GURL* original_url_via_service_worker, |
91 blink::WebServiceWorkerResponseType* response_type_via_service_worker, | 91 blink::WebServiceWorkerResponseType* response_type_via_service_worker, |
92 base::TimeTicks* fetch_start_time, | 92 base::TimeTicks* fetch_start_time, |
93 base::TimeTicks* fetch_ready_time, | 93 base::TimeTicks* fetch_ready_time, |
94 base::TimeTicks* fetch_end_time) const = 0; | 94 base::TimeTicks* fetch_end_time) const = 0; |
95 | 95 |
| 96 // Methods to support cross site navigations. |
| 97 void PrepareForCrossSiteTransfer(int old_process_id); |
| 98 void CompleteCrossSiteTransfer(int new_process_id, |
| 99 int new_provider_id); |
| 100 void MaybeCompleteCrossSiteTransferInOldProcess( |
| 101 int old_process_id); |
| 102 |
96 protected: | 103 protected: |
97 ServiceWorkerRequestHandler( | 104 ServiceWorkerRequestHandler( |
98 base::WeakPtr<ServiceWorkerContextCore> context, | 105 base::WeakPtr<ServiceWorkerContextCore> context, |
99 base::WeakPtr<ServiceWorkerProviderHost> provider_host, | 106 base::WeakPtr<ServiceWorkerProviderHost> provider_host, |
100 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, | 107 base::WeakPtr<storage::BlobStorageContext> blob_storage_context, |
101 ResourceType resource_type); | 108 ResourceType resource_type); |
102 | 109 |
103 base::WeakPtr<ServiceWorkerContextCore> context_; | 110 base::WeakPtr<ServiceWorkerContextCore> context_; |
104 base::WeakPtr<ServiceWorkerProviderHost> provider_host_; | 111 base::WeakPtr<ServiceWorkerProviderHost> provider_host_; |
105 base::WeakPtr<storage::BlobStorageContext> blob_storage_context_; | 112 base::WeakPtr<storage::BlobStorageContext> blob_storage_context_; |
106 ResourceType resource_type_; | 113 ResourceType resource_type_; |
107 | 114 |
108 private: | 115 private: |
| 116 scoped_ptr<ServiceWorkerProviderHost> host_for_cross_site_transfer_; |
| 117 int old_process_id_; |
| 118 int old_provider_id_; |
| 119 |
109 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerRequestHandler); | 120 DISALLOW_COPY_AND_ASSIGN(ServiceWorkerRequestHandler); |
110 }; | 121 }; |
111 | 122 |
112 } // namespace content | 123 } // namespace content |
113 | 124 |
114 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REQUEST_HANDLER_H_ | 125 #endif // CONTENT_BROWSER_SERVICE_WORKER_SERVICE_WORKER_REQUEST_HANDLER_H_ |
OLD | NEW |