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

Side by Side Diff: third_party/WebKit/Source/modules/cachestorage/CacheStorage.cpp

Issue 2050123002: Remove OwnPtr from Blink. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: First attempt to land. Created 4 years, 6 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 "modules/cachestorage/CacheStorage.h" 5 #include "modules/cachestorage/CacheStorage.h"
6 6
7 #include "bindings/core/v8/ScriptPromiseResolver.h" 7 #include "bindings/core/v8/ScriptPromiseResolver.h"
8 #include "bindings/core/v8/ScriptState.h" 8 #include "bindings/core/v8/ScriptState.h"
9 #include "core/dom/DOMException.h" 9 #include "core/dom/DOMException.h"
10 #include "core/dom/ExceptionCode.h" 10 #include "core/dom/ExceptionCode.h"
11 #include "core/inspector/ConsoleMessage.h" 11 #include "core/inspector/ConsoleMessage.h"
12 #include "modules/cachestorage/CacheStorageError.h" 12 #include "modules/cachestorage/CacheStorageError.h"
13 #include "modules/fetch/Request.h" 13 #include "modules/fetch/Request.h"
14 #include "modules/fetch/Response.h" 14 #include "modules/fetch/Response.h"
15 #include "platform/RuntimeEnabledFeatures.h" 15 #include "platform/RuntimeEnabledFeatures.h"
16 #include "public/platform/modules/serviceworker/WebServiceWorkerCacheError.h" 16 #include "public/platform/modules/serviceworker/WebServiceWorkerCacheError.h"
17 #include "public/platform/modules/serviceworker/WebServiceWorkerCacheStorage.h" 17 #include "public/platform/modules/serviceworker/WebServiceWorkerCacheStorage.h"
18 #include "wtf/PtrUtil.h"
19 #include <memory>
18 20
19 namespace blink { 21 namespace blink {
20 22
21 namespace { 23 namespace {
22 24
23 DOMException* createNoImplementationException() 25 DOMException* createNoImplementationException()
24 { 26 {
25 return DOMException::create(NotSupportedError, "No CacheStorage implementati on provided."); 27 return DOMException::create(NotSupportedError, "No CacheStorage implementati on provided.");
26 } 28 }
27 29
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 WTF_MAKE_NONCOPYABLE(WithCacheCallbacks); 90 WTF_MAKE_NONCOPYABLE(WithCacheCallbacks);
89 public: 91 public:
90 WithCacheCallbacks(const String& cacheName, CacheStorage* cacheStorage, Scri ptPromiseResolver* resolver) 92 WithCacheCallbacks(const String& cacheName, CacheStorage* cacheStorage, Scri ptPromiseResolver* resolver)
91 : m_cacheName(cacheName), m_cacheStorage(cacheStorage), m_resolver(resol ver) { } 93 : m_cacheName(cacheName), m_cacheStorage(cacheStorage), m_resolver(resol ver) { }
92 ~WithCacheCallbacks() override { } 94 ~WithCacheCallbacks() override { }
93 95
94 void onSuccess(std::unique_ptr<WebServiceWorkerCache> webCache) override 96 void onSuccess(std::unique_ptr<WebServiceWorkerCache> webCache) override
95 { 97 {
96 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped()) 98 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
97 return; 99 return;
98 Cache* cache = Cache::create(m_cacheStorage->m_scopedFetcher, adoptPtr(w ebCache.release())); 100 Cache* cache = Cache::create(m_cacheStorage->m_scopedFetcher, wrapUnique (webCache.release()));
99 m_cacheStorage->m_nameToCacheMap.set(m_cacheName, cache); 101 m_cacheStorage->m_nameToCacheMap.set(m_cacheName, cache);
100 m_resolver->resolve(cache); 102 m_resolver->resolve(cache);
101 m_resolver.clear(); 103 m_resolver.clear();
102 } 104 }
103 105
104 void onError(WebServiceWorkerCacheError reason) override 106 void onError(WebServiceWorkerCacheError reason) override
105 { 107 {
106 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped()) 108 if (!m_resolver->getExecutionContext() || m_resolver->getExecutionContex t()->activeDOMObjectsAreStopped())
107 return; 109 return;
108 if (reason == WebServiceWorkerCacheErrorNotFound) 110 if (reason == WebServiceWorkerCacheErrorNotFound)
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 m_resolver->reject(CacheStorageError::createException(reason)); 211 m_resolver->reject(CacheStorageError::createException(reason));
210 m_resolver.clear(); 212 m_resolver.clear();
211 } 213 }
212 214
213 private: 215 private:
214 Persistent<ScriptPromiseResolver> m_resolver; 216 Persistent<ScriptPromiseResolver> m_resolver;
215 }; 217 };
216 218
217 CacheStorage* CacheStorage::create(GlobalFetch::ScopedFetcher* fetcher, WebServi ceWorkerCacheStorage* webCacheStorage) 219 CacheStorage* CacheStorage::create(GlobalFetch::ScopedFetcher* fetcher, WebServi ceWorkerCacheStorage* webCacheStorage)
218 { 220 {
219 return new CacheStorage(fetcher, adoptPtr(webCacheStorage)); 221 return new CacheStorage(fetcher, wrapUnique(webCacheStorage));
220 } 222 }
221 223
222 ScriptPromise CacheStorage::open(ScriptState* scriptState, const String& cacheNa me, ExceptionState& exceptionState) 224 ScriptPromise CacheStorage::open(ScriptState* scriptState, const String& cacheNa me, ExceptionState& exceptionState)
223 { 225 {
224 if (!commonChecks(scriptState, exceptionState)) 226 if (!commonChecks(scriptState, exceptionState))
225 return ScriptPromise(); 227 return ScriptPromise();
226 228
227 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ; 229 ScriptPromiseResolver* resolver = ScriptPromiseResolver::create(scriptState) ;
228 const ScriptPromise promise = resolver->promise(); 230 const ScriptPromise promise = resolver->promise();
229 231
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 const ScriptPromise promise = resolver->promise(); 320 const ScriptPromise promise = resolver->promise();
319 321
320 if (m_webCacheStorage) 322 if (m_webCacheStorage)
321 m_webCacheStorage->dispatchMatch(new MatchCallbacks(resolver), webReques t, Cache::toWebQueryParams(options)); 323 m_webCacheStorage->dispatchMatch(new MatchCallbacks(resolver), webReques t, Cache::toWebQueryParams(options));
322 else 324 else
323 resolver->reject(createNoImplementationException()); 325 resolver->reject(createNoImplementationException());
324 326
325 return promise; 327 return promise;
326 } 328 }
327 329
328 CacheStorage::CacheStorage(GlobalFetch::ScopedFetcher* fetcher, PassOwnPtr<WebSe rviceWorkerCacheStorage> webCacheStorage) 330 CacheStorage::CacheStorage(GlobalFetch::ScopedFetcher* fetcher, std::unique_ptr< WebServiceWorkerCacheStorage> webCacheStorage)
329 : m_scopedFetcher(fetcher) 331 : m_scopedFetcher(fetcher)
330 , m_webCacheStorage(std::move(webCacheStorage)) 332 , m_webCacheStorage(std::move(webCacheStorage))
331 { 333 {
332 } 334 }
333 335
334 CacheStorage::~CacheStorage() 336 CacheStorage::~CacheStorage()
335 { 337 {
336 } 338 }
337 339
338 void CacheStorage::dispose() 340 void CacheStorage::dispose()
339 { 341 {
340 m_webCacheStorage.reset(); 342 m_webCacheStorage.reset();
341 } 343 }
342 344
343 DEFINE_TRACE(CacheStorage) 345 DEFINE_TRACE(CacheStorage)
344 { 346 {
345 visitor->trace(m_scopedFetcher); 347 visitor->trace(m_scopedFetcher);
346 visitor->trace(m_nameToCacheMap); 348 visitor->trace(m_nameToCacheMap);
347 } 349 }
348 350
349 } // namespace blink 351 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698