| 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 "config.h" | 5 #include "config.h" |
| 6 #include "modules/serviceworkers/CacheStorage.h" | 6 #include "modules/serviceworkers/CacheStorage.h" |
| 7 | 7 |
| 8 #include "bindings/core/v8/ScriptPromiseResolver.h" | 8 #include "bindings/core/v8/ScriptPromiseResolver.h" |
| 9 #include "bindings/core/v8/ScriptState.h" | 9 #include "bindings/core/v8/ScriptState.h" |
| 10 #include "core/dom/DOMException.h" | 10 #include "core/dom/DOMException.h" |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 | 141 |
| 142 private: | 142 private: |
| 143 RefPtr<ScriptPromiseResolver> m_resolver; | 143 RefPtr<ScriptPromiseResolver> m_resolver; |
| 144 }; | 144 }; |
| 145 | 145 |
| 146 CacheStorage* CacheStorage::create(WebServiceWorkerCacheStorage* webCacheStorage
) | 146 CacheStorage* CacheStorage::create(WebServiceWorkerCacheStorage* webCacheStorage
) |
| 147 { | 147 { |
| 148 return new CacheStorage(webCacheStorage); | 148 return new CacheStorage(webCacheStorage); |
| 149 } | 149 } |
| 150 | 150 |
| 151 ScriptPromise CacheStorage::get(ScriptState* scriptState, const String& cacheNam
e) | 151 ScriptPromise CacheStorage::open(ScriptState* scriptState, const String& cacheNa
me) |
| 152 { | 152 { |
| 153 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip
tState); | 153 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip
tState); |
| 154 const ScriptPromise promise = resolver->promise(); | 154 const ScriptPromise promise = resolver->promise(); |
| 155 | 155 |
| 156 if (m_nameToCacheMap.contains(cacheName)) { | 156 if (m_nameToCacheMap.contains(cacheName)) { |
| 157 Cache* cache = m_nameToCacheMap.find(cacheName)->value; | 157 Cache* cache = m_nameToCacheMap.find(cacheName)->value; |
| 158 resolver->resolve(cache); | 158 resolver->resolve(cache); |
| 159 return promise; | 159 return promise; |
| 160 } | 160 } |
| 161 | 161 |
| 162 if (m_webCacheStorage) | 162 if (m_webCacheStorage) |
| 163 m_webCacheStorage->dispatchGet(new WithCacheCallbacks(cacheName, this, r
esolver), cacheName); | 163 m_webCacheStorage->dispatchOpen(new WithCacheCallbacks(cacheName, this,
resolver), cacheName); |
| 164 else | 164 else |
| 165 resolver->reject(createNoImplementationException()); | 165 resolver->reject(createNoImplementationException()); |
| 166 | 166 |
| 167 return promise; | 167 return promise; |
| 168 } | 168 } |
| 169 | 169 |
| 170 ScriptPromise CacheStorage::has(ScriptState* scriptState, const String& cacheNam
e) | 170 ScriptPromise CacheStorage::has(ScriptState* scriptState, const String& cacheNam
e) |
| 171 { | 171 { |
| 172 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip
tState); | 172 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip
tState); |
| 173 const ScriptPromise promise = resolver->promise(); | 173 const ScriptPromise promise = resolver->promise(); |
| 174 | 174 |
| 175 if (m_nameToCacheMap.contains(cacheName)) { | 175 if (m_nameToCacheMap.contains(cacheName)) { |
| 176 resolver->resolve(true); | 176 resolver->resolve(true); |
| 177 return promise; | 177 return promise; |
| 178 } | 178 } |
| 179 | 179 |
| 180 if (m_webCacheStorage) | 180 if (m_webCacheStorage) |
| 181 m_webCacheStorage->dispatchHas(new Callbacks(resolver), cacheName); | 181 m_webCacheStorage->dispatchHas(new Callbacks(resolver), cacheName); |
| 182 else | 182 else |
| 183 resolver->reject(createNoImplementationException()); | 183 resolver->reject(createNoImplementationException()); |
| 184 | 184 |
| 185 return promise; | 185 return promise; |
| 186 } | 186 } |
| 187 | 187 |
| 188 ScriptPromise CacheStorage::createFunction(ScriptState* scriptState, const Strin
g& cacheName) | |
| 189 { | |
| 190 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip
tState); | |
| 191 const ScriptPromise promise = resolver->promise(); | |
| 192 | |
| 193 if (m_webCacheStorage) | |
| 194 m_webCacheStorage->dispatchCreate(new WithCacheCallbacks(cacheName, this
, resolver), cacheName); | |
| 195 else | |
| 196 resolver->reject(createNoImplementationException()); | |
| 197 | |
| 198 return promise; | |
| 199 } | |
| 200 | |
| 201 ScriptPromise CacheStorage::deleteFunction(ScriptState* scriptState, const Strin
g& cacheName) | 188 ScriptPromise CacheStorage::deleteFunction(ScriptState* scriptState, const Strin
g& cacheName) |
| 202 { | 189 { |
| 203 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip
tState); | 190 RefPtr<ScriptPromiseResolver> resolver = ScriptPromiseResolver::create(scrip
tState); |
| 204 const ScriptPromise promise = resolver->promise(); | 191 const ScriptPromise promise = resolver->promise(); |
| 205 | 192 |
| 206 if (m_webCacheStorage) | 193 if (m_webCacheStorage) |
| 207 m_webCacheStorage->dispatchDelete(new DeleteCallbacks(cacheName, this, r
esolver), cacheName); | 194 m_webCacheStorage->dispatchDelete(new DeleteCallbacks(cacheName, this, r
esolver), cacheName); |
| 208 else | 195 else |
| 209 resolver->reject(createNoImplementationException()); | 196 resolver->reject(createNoImplementationException()); |
| 210 | 197 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 228 { | 215 { |
| 229 visitor->trace(m_nameToCacheMap); | 216 visitor->trace(m_nameToCacheMap); |
| 230 } | 217 } |
| 231 | 218 |
| 232 CacheStorage::CacheStorage(WebServiceWorkerCacheStorage* webCacheStorage) | 219 CacheStorage::CacheStorage(WebServiceWorkerCacheStorage* webCacheStorage) |
| 233 : m_webCacheStorage(webCacheStorage) | 220 : m_webCacheStorage(webCacheStorage) |
| 234 { | 221 { |
| 235 } | 222 } |
| 236 | 223 |
| 237 } // namespace blink | 224 } // namespace blink |
| OLD | NEW |