Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(302)

Side by Side Diff: content/child/service_worker/web_service_worker_registration_impl.cc

Issue 2771823002: Implement updateViaCache flag and no-cache by default for main service worker scripts
Patch Set: fix IPC Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 } 79 }
80 80
81 void WebServiceWorkerRegistrationImpl::SetActive( 81 void WebServiceWorkerRegistrationImpl::SetActive(
82 const scoped_refptr<WebServiceWorkerImpl>& service_worker) { 82 const scoped_refptr<WebServiceWorkerImpl>& service_worker) {
83 if (proxy_) 83 if (proxy_)
84 proxy_->SetActive(WebServiceWorkerImpl::CreateHandle(service_worker)); 84 proxy_->SetActive(WebServiceWorkerImpl::CreateHandle(service_worker));
85 else 85 else
86 queued_tasks_.push_back(QueuedTask(ACTIVE, service_worker)); 86 queued_tasks_.push_back(QueuedTask(ACTIVE, service_worker));
87 } 87 }
88 88
89 void WebServiceWorkerRegistrationImpl::SetRegistrationHandleReference(
90 std::unique_ptr<ServiceWorkerRegistrationHandleReference> handle_ref) {
91 handle_ref_ = std::move(handle_ref);
92 }
93
89 void WebServiceWorkerRegistrationImpl::OnUpdateFound() { 94 void WebServiceWorkerRegistrationImpl::OnUpdateFound() {
90 if (proxy_) 95 if (proxy_)
91 proxy_->DispatchUpdateFoundEvent(); 96 proxy_->DispatchUpdateFoundEvent();
92 else 97 else
93 queued_tasks_.push_back(QueuedTask(UPDATE_FOUND, nullptr)); 98 queued_tasks_.push_back(QueuedTask(UPDATE_FOUND, nullptr));
94 } 99 }
95 100
96 void WebServiceWorkerRegistrationImpl::SetProxy( 101 void WebServiceWorkerRegistrationImpl::SetProxy(
97 blink::WebServiceWorkerRegistrationProxy* proxy) { 102 blink::WebServiceWorkerRegistrationProxy* proxy) {
98 proxy_ = proxy; 103 proxy_ = proxy;
(...skipping 17 matching lines...) Expand all
116 121
117 blink::WebServiceWorkerRegistrationProxy* 122 blink::WebServiceWorkerRegistrationProxy*
118 WebServiceWorkerRegistrationImpl::Proxy() { 123 WebServiceWorkerRegistrationImpl::Proxy() {
119 return proxy_; 124 return proxy_;
120 } 125 }
121 126
122 blink::WebURL WebServiceWorkerRegistrationImpl::Scope() const { 127 blink::WebURL WebServiceWorkerRegistrationImpl::Scope() const {
123 return handle_ref_->scope(); 128 return handle_ref_->scope();
124 } 129 }
125 130
131 blink::WebServiceWorkerUpdateViaCache
132 WebServiceWorkerRegistrationImpl::UpdateViaCache() const {
133 return handle_ref_->update_via_cache();
134 }
135
126 void WebServiceWorkerRegistrationImpl::Update( 136 void WebServiceWorkerRegistrationImpl::Update(
127 blink::WebServiceWorkerProvider* provider, 137 blink::WebServiceWorkerProvider* provider,
128 std::unique_ptr<WebServiceWorkerUpdateCallbacks> callbacks) { 138 std::unique_ptr<WebServiceWorkerUpdateCallbacks> callbacks) {
129 WebServiceWorkerProviderImpl* provider_impl = 139 WebServiceWorkerProviderImpl* provider_impl =
130 static_cast<WebServiceWorkerProviderImpl*>(provider); 140 static_cast<WebServiceWorkerProviderImpl*>(provider);
131 ServiceWorkerDispatcher* dispatcher = 141 ServiceWorkerDispatcher* dispatcher =
132 ServiceWorkerDispatcher::GetThreadSpecificInstance(); 142 ServiceWorkerDispatcher::GetThreadSpecificInstance();
133 DCHECK(dispatcher); 143 DCHECK(dispatcher);
134 dispatcher->UpdateServiceWorker(provider_impl->provider_id(), 144 dispatcher->UpdateServiceWorker(provider_impl->provider_id(),
135 RegistrationId(), std::move(callbacks)); 145 RegistrationId(), std::move(callbacks));
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 } 211 }
202 212
203 WebServiceWorkerRegistrationImpl::~WebServiceWorkerRegistrationImpl() { 213 WebServiceWorkerRegistrationImpl::~WebServiceWorkerRegistrationImpl() {
204 ServiceWorkerDispatcher* dispatcher = 214 ServiceWorkerDispatcher* dispatcher =
205 ServiceWorkerDispatcher::GetThreadSpecificInstance(); 215 ServiceWorkerDispatcher::GetThreadSpecificInstance();
206 if (dispatcher) 216 if (dispatcher)
207 dispatcher->RemoveServiceWorkerRegistration(handle_ref_->handle_id()); 217 dispatcher->RemoveServiceWorkerRegistration(handle_ref_->handle_id());
208 } 218 }
209 219
210 } // namespace content 220 } // namespace content
OLDNEW
« no previous file with comments | « content/child/service_worker/web_service_worker_registration_impl.h ('k') | content/common/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698