| 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/child/service_worker/web_service_worker_registration_impl.h" | 5 #include "content/child/service_worker/web_service_worker_registration_impl.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 125 | 125 |
| 126 void WebServiceWorkerRegistrationImpl::update( | 126 void WebServiceWorkerRegistrationImpl::update( |
| 127 blink::WebServiceWorkerProvider* provider, | 127 blink::WebServiceWorkerProvider* provider, |
| 128 WebServiceWorkerUpdateCallbacks* callbacks) { | 128 WebServiceWorkerUpdateCallbacks* callbacks) { |
| 129 WebServiceWorkerProviderImpl* provider_impl = | 129 WebServiceWorkerProviderImpl* provider_impl = |
| 130 static_cast<WebServiceWorkerProviderImpl*>(provider); | 130 static_cast<WebServiceWorkerProviderImpl*>(provider); |
| 131 ServiceWorkerDispatcher* dispatcher = | 131 ServiceWorkerDispatcher* dispatcher = |
| 132 ServiceWorkerDispatcher::GetThreadSpecificInstance(); | 132 ServiceWorkerDispatcher::GetThreadSpecificInstance(); |
| 133 DCHECK(dispatcher); | 133 DCHECK(dispatcher); |
| 134 dispatcher->UpdateServiceWorker(provider_impl->provider_id(), | 134 dispatcher->UpdateServiceWorker(provider_impl->provider_id(), |
| 135 registration_id(), callbacks); | 135 registrationId(), callbacks); |
| 136 } | 136 } |
| 137 | 137 |
| 138 void WebServiceWorkerRegistrationImpl::unregister( | 138 void WebServiceWorkerRegistrationImpl::unregister( |
| 139 blink::WebServiceWorkerProvider* provider, | 139 blink::WebServiceWorkerProvider* provider, |
| 140 WebServiceWorkerUnregistrationCallbacks* callbacks) { | 140 WebServiceWorkerUnregistrationCallbacks* callbacks) { |
| 141 WebServiceWorkerProviderImpl* provider_impl = | 141 WebServiceWorkerProviderImpl* provider_impl = |
| 142 static_cast<WebServiceWorkerProviderImpl*>(provider); | 142 static_cast<WebServiceWorkerProviderImpl*>(provider); |
| 143 ServiceWorkerDispatcher* dispatcher = | 143 ServiceWorkerDispatcher* dispatcher = |
| 144 ServiceWorkerDispatcher::GetThreadSpecificInstance(); | 144 ServiceWorkerDispatcher::GetThreadSpecificInstance(); |
| 145 DCHECK(dispatcher); | 145 DCHECK(dispatcher); |
| 146 dispatcher->UnregisterServiceWorker(provider_impl->provider_id(), | 146 dispatcher->UnregisterServiceWorker(provider_impl->provider_id(), |
| 147 registration_id(), callbacks); | 147 registrationId(), callbacks); |
| 148 } | 148 } |
| 149 | 149 |
| 150 void WebServiceWorkerRegistrationImpl::enableNavigationPreload( | 150 void WebServiceWorkerRegistrationImpl::enableNavigationPreload( |
| 151 bool enable, | 151 bool enable, |
| 152 blink::WebServiceWorkerProvider* provider, | 152 blink::WebServiceWorkerProvider* provider, |
| 153 std::unique_ptr<WebEnableNavigationPreloadCallbacks> callbacks) { | 153 std::unique_ptr<WebEnableNavigationPreloadCallbacks> callbacks) { |
| 154 WebServiceWorkerProviderImpl* provider_impl = | 154 WebServiceWorkerProviderImpl* provider_impl = |
| 155 static_cast<WebServiceWorkerProviderImpl*>(provider); | 155 static_cast<WebServiceWorkerProviderImpl*>(provider); |
| 156 ServiceWorkerDispatcher* dispatcher = | 156 ServiceWorkerDispatcher* dispatcher = |
| 157 ServiceWorkerDispatcher::GetThreadSpecificInstance(); | 157 ServiceWorkerDispatcher::GetThreadSpecificInstance(); |
| 158 DCHECK(dispatcher); | 158 DCHECK(dispatcher); |
| 159 dispatcher->EnableNavigationPreload(provider_impl->provider_id(), | 159 dispatcher->EnableNavigationPreload(provider_impl->provider_id(), |
| 160 registration_id(), enable, | 160 registrationId(), enable, |
| 161 std::move(callbacks)); | 161 std::move(callbacks)); |
| 162 } | 162 } |
| 163 | 163 |
| 164 void WebServiceWorkerRegistrationImpl::getNavigationPreloadState( | 164 void WebServiceWorkerRegistrationImpl::getNavigationPreloadState( |
| 165 blink::WebServiceWorkerProvider* provider, | 165 blink::WebServiceWorkerProvider* provider, |
| 166 std::unique_ptr<WebGetNavigationPreloadStateCallbacks> callbacks) { | 166 std::unique_ptr<WebGetNavigationPreloadStateCallbacks> callbacks) { |
| 167 WebServiceWorkerProviderImpl* provider_impl = | 167 WebServiceWorkerProviderImpl* provider_impl = |
| 168 static_cast<WebServiceWorkerProviderImpl*>(provider); | 168 static_cast<WebServiceWorkerProviderImpl*>(provider); |
| 169 ServiceWorkerDispatcher* dispatcher = | 169 ServiceWorkerDispatcher* dispatcher = |
| 170 ServiceWorkerDispatcher::GetThreadSpecificInstance(); | 170 ServiceWorkerDispatcher::GetThreadSpecificInstance(); |
| 171 DCHECK(dispatcher); | 171 DCHECK(dispatcher); |
| 172 dispatcher->GetNavigationPreloadState( | 172 dispatcher->GetNavigationPreloadState(provider_impl->provider_id(), |
| 173 provider_impl->provider_id(), registration_id(), std::move(callbacks)); | 173 registrationId(), std::move(callbacks)); |
| 174 } | 174 } |
| 175 | 175 |
| 176 void WebServiceWorkerRegistrationImpl::setNavigationPreloadHeader( | 176 void WebServiceWorkerRegistrationImpl::setNavigationPreloadHeader( |
| 177 const blink::WebString& value, | 177 const blink::WebString& value, |
| 178 blink::WebServiceWorkerProvider* provider, | 178 blink::WebServiceWorkerProvider* provider, |
| 179 std::unique_ptr<WebSetNavigationPreloadHeaderCallbacks> callbacks) { | 179 std::unique_ptr<WebSetNavigationPreloadHeaderCallbacks> callbacks) { |
| 180 WebServiceWorkerProviderImpl* provider_impl = | 180 WebServiceWorkerProviderImpl* provider_impl = |
| 181 static_cast<WebServiceWorkerProviderImpl*>(provider); | 181 static_cast<WebServiceWorkerProviderImpl*>(provider); |
| 182 ServiceWorkerDispatcher* dispatcher = | 182 ServiceWorkerDispatcher* dispatcher = |
| 183 ServiceWorkerDispatcher::GetThreadSpecificInstance(); | 183 ServiceWorkerDispatcher::GetThreadSpecificInstance(); |
| 184 DCHECK(dispatcher); | 184 DCHECK(dispatcher); |
| 185 dispatcher->SetNavigationPreloadHeader(provider_impl->provider_id(), | 185 dispatcher->SetNavigationPreloadHeader(provider_impl->provider_id(), |
| 186 registration_id(), value.utf8(), | 186 registrationId(), value.utf8(), |
| 187 std::move(callbacks)); | 187 std::move(callbacks)); |
| 188 } | 188 } |
| 189 | 189 |
| 190 int64_t WebServiceWorkerRegistrationImpl::registration_id() const { | 190 int64_t WebServiceWorkerRegistrationImpl::registrationId() const { |
| 191 return handle_ref_->registration_id(); | 191 return handle_ref_->registration_id(); |
| 192 } | 192 } |
| 193 | 193 |
| 194 int64_t WebServiceWorkerRegistrationImpl::registrationId() const { | |
| 195 return registration_id(); | |
| 196 } | |
| 197 | |
| 198 // static | 194 // static |
| 199 std::unique_ptr<blink::WebServiceWorkerRegistration::Handle> | 195 std::unique_ptr<blink::WebServiceWorkerRegistration::Handle> |
| 200 WebServiceWorkerRegistrationImpl::CreateHandle( | 196 WebServiceWorkerRegistrationImpl::CreateHandle( |
| 201 const scoped_refptr<WebServiceWorkerRegistrationImpl>& registration) { | 197 const scoped_refptr<WebServiceWorkerRegistrationImpl>& registration) { |
| 202 if (!registration) | 198 if (!registration) |
| 203 return nullptr; | 199 return nullptr; |
| 204 return base::MakeUnique<HandleImpl>(registration); | 200 return base::MakeUnique<HandleImpl>(registration); |
| 205 } | 201 } |
| 206 | 202 |
| 207 blink::WebServiceWorkerRegistration::Handle* | 203 blink::WebServiceWorkerRegistration::Handle* |
| 208 WebServiceWorkerRegistrationImpl::CreateLeakyHandle( | 204 WebServiceWorkerRegistrationImpl::CreateLeakyHandle( |
| 209 const scoped_refptr<WebServiceWorkerRegistrationImpl>& registration) { | 205 const scoped_refptr<WebServiceWorkerRegistrationImpl>& registration) { |
| 210 if (!registration) | 206 if (!registration) |
| 211 return nullptr; | 207 return nullptr; |
| 212 return new HandleImpl(registration); | 208 return new HandleImpl(registration); |
| 213 } | 209 } |
| 214 | 210 |
| 215 WebServiceWorkerRegistrationImpl::~WebServiceWorkerRegistrationImpl() { | 211 WebServiceWorkerRegistrationImpl::~WebServiceWorkerRegistrationImpl() { |
| 216 ServiceWorkerDispatcher* dispatcher = | 212 ServiceWorkerDispatcher* dispatcher = |
| 217 ServiceWorkerDispatcher::GetThreadSpecificInstance(); | 213 ServiceWorkerDispatcher::GetThreadSpecificInstance(); |
| 218 if (dispatcher) | 214 if (dispatcher) |
| 219 dispatcher->RemoveServiceWorkerRegistration(handle_ref_->handle_id()); | 215 dispatcher->RemoveServiceWorkerRegistration(handle_ref_->handle_id()); |
| 220 } | 216 } |
| 221 | 217 |
| 222 } // namespace content | 218 } // namespace content |
| OLD | NEW |