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

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

Issue 2552993002: Rename activeDOMObjectsAreStopped to isContextDestroyed (Closed)
Patch Set: Created 4 years 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"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 class CacheStorage::Callbacks final 47 class CacheStorage::Callbacks final
48 : public WebServiceWorkerCacheStorage::CacheStorageCallbacks { 48 : public WebServiceWorkerCacheStorage::CacheStorageCallbacks {
49 WTF_MAKE_NONCOPYABLE(Callbacks); 49 WTF_MAKE_NONCOPYABLE(Callbacks);
50 50
51 public: 51 public:
52 explicit Callbacks(ScriptPromiseResolver* resolver) : m_resolver(resolver) {} 52 explicit Callbacks(ScriptPromiseResolver* resolver) : m_resolver(resolver) {}
53 ~Callbacks() override {} 53 ~Callbacks() override {}
54 54
55 void onSuccess() override { 55 void onSuccess() override {
56 if (!m_resolver->getExecutionContext() || 56 if (!m_resolver->getExecutionContext() ||
57 m_resolver->getExecutionContext()->activeDOMObjectsAreStopped()) 57 m_resolver->getExecutionContext()->isContextDestroyed())
58 return; 58 return;
59 m_resolver->resolve(true); 59 m_resolver->resolve(true);
60 m_resolver.clear(); 60 m_resolver.clear();
61 } 61 }
62 62
63 void onError(WebServiceWorkerCacheError reason) override { 63 void onError(WebServiceWorkerCacheError reason) override {
64 if (!m_resolver->getExecutionContext() || 64 if (!m_resolver->getExecutionContext() ||
65 m_resolver->getExecutionContext()->activeDOMObjectsAreStopped()) 65 m_resolver->getExecutionContext()->isContextDestroyed())
66 return; 66 return;
67 if (reason == WebServiceWorkerCacheErrorNotFound) 67 if (reason == WebServiceWorkerCacheErrorNotFound)
68 m_resolver->resolve(false); 68 m_resolver->resolve(false);
69 else 69 else
70 m_resolver->reject(CacheStorageError::createException(reason)); 70 m_resolver->reject(CacheStorageError::createException(reason));
71 m_resolver.clear(); 71 m_resolver.clear();
72 } 72 }
73 73
74 private: 74 private:
75 Persistent<ScriptPromiseResolver> m_resolver; 75 Persistent<ScriptPromiseResolver> m_resolver;
76 }; 76 };
77 77
78 // FIXME: Consider using CallbackPromiseAdapter. 78 // FIXME: Consider using CallbackPromiseAdapter.
79 class CacheStorage::WithCacheCallbacks final 79 class CacheStorage::WithCacheCallbacks final
80 : public WebServiceWorkerCacheStorage::CacheStorageWithCacheCallbacks { 80 : public WebServiceWorkerCacheStorage::CacheStorageWithCacheCallbacks {
81 WTF_MAKE_NONCOPYABLE(WithCacheCallbacks); 81 WTF_MAKE_NONCOPYABLE(WithCacheCallbacks);
82 82
83 public: 83 public:
84 WithCacheCallbacks(const String& cacheName, 84 WithCacheCallbacks(const String& cacheName,
85 CacheStorage* cacheStorage, 85 CacheStorage* cacheStorage,
86 ScriptPromiseResolver* resolver) 86 ScriptPromiseResolver* resolver)
87 : m_cacheName(cacheName), 87 : m_cacheName(cacheName),
88 m_cacheStorage(cacheStorage), 88 m_cacheStorage(cacheStorage),
89 m_resolver(resolver) {} 89 m_resolver(resolver) {}
90 ~WithCacheCallbacks() override {} 90 ~WithCacheCallbacks() override {}
91 91
92 void onSuccess(std::unique_ptr<WebServiceWorkerCache> webCache) override { 92 void onSuccess(std::unique_ptr<WebServiceWorkerCache> webCache) override {
93 if (!m_resolver->getExecutionContext() || 93 if (!m_resolver->getExecutionContext() ||
94 m_resolver->getExecutionContext()->activeDOMObjectsAreStopped()) 94 m_resolver->getExecutionContext()->isContextDestroyed())
95 return; 95 return;
96 Cache* cache = Cache::create(m_cacheStorage->m_scopedFetcher, 96 Cache* cache = Cache::create(m_cacheStorage->m_scopedFetcher,
97 wrapUnique(webCache.release())); 97 wrapUnique(webCache.release()));
98 m_resolver->resolve(cache); 98 m_resolver->resolve(cache);
99 m_resolver.clear(); 99 m_resolver.clear();
100 } 100 }
101 101
102 void onError(WebServiceWorkerCacheError reason) override { 102 void onError(WebServiceWorkerCacheError reason) override {
103 if (!m_resolver->getExecutionContext() || 103 if (!m_resolver->getExecutionContext() ||
104 m_resolver->getExecutionContext()->activeDOMObjectsAreStopped()) 104 m_resolver->getExecutionContext()->isContextDestroyed())
105 return; 105 return;
106 if (reason == WebServiceWorkerCacheErrorNotFound) 106 if (reason == WebServiceWorkerCacheErrorNotFound)
107 m_resolver->resolve(); 107 m_resolver->resolve();
108 else 108 else
109 m_resolver->reject(CacheStorageError::createException(reason)); 109 m_resolver->reject(CacheStorageError::createException(reason));
110 m_resolver.clear(); 110 m_resolver.clear();
111 } 111 }
112 112
113 private: 113 private:
114 String m_cacheName; 114 String m_cacheName;
115 Persistent<CacheStorage> m_cacheStorage; 115 Persistent<CacheStorage> m_cacheStorage;
116 Persistent<ScriptPromiseResolver> m_resolver; 116 Persistent<ScriptPromiseResolver> m_resolver;
117 }; 117 };
118 118
119 // FIXME: Consider using CallbackPromiseAdapter. 119 // FIXME: Consider using CallbackPromiseAdapter.
120 class CacheStorage::MatchCallbacks 120 class CacheStorage::MatchCallbacks
121 : public WebServiceWorkerCacheStorage::CacheStorageMatchCallbacks { 121 : public WebServiceWorkerCacheStorage::CacheStorageMatchCallbacks {
122 WTF_MAKE_NONCOPYABLE(MatchCallbacks); 122 WTF_MAKE_NONCOPYABLE(MatchCallbacks);
123 123
124 public: 124 public:
125 explicit MatchCallbacks(ScriptPromiseResolver* resolver) 125 explicit MatchCallbacks(ScriptPromiseResolver* resolver)
126 : m_resolver(resolver) {} 126 : m_resolver(resolver) {}
127 127
128 void onSuccess(const WebServiceWorkerResponse& webResponse) override { 128 void onSuccess(const WebServiceWorkerResponse& webResponse) override {
129 if (!m_resolver->getExecutionContext() || 129 if (!m_resolver->getExecutionContext() ||
130 m_resolver->getExecutionContext()->activeDOMObjectsAreStopped()) 130 m_resolver->getExecutionContext()->isContextDestroyed())
131 return; 131 return;
132 ScriptState::Scope scope(m_resolver->getScriptState()); 132 ScriptState::Scope scope(m_resolver->getScriptState());
133 m_resolver->resolve( 133 m_resolver->resolve(
134 Response::create(m_resolver->getScriptState(), webResponse)); 134 Response::create(m_resolver->getScriptState(), webResponse));
135 m_resolver.clear(); 135 m_resolver.clear();
136 } 136 }
137 137
138 void onError(WebServiceWorkerCacheError reason) override { 138 void onError(WebServiceWorkerCacheError reason) override {
139 if (!m_resolver->getExecutionContext() || 139 if (!m_resolver->getExecutionContext() ||
140 m_resolver->getExecutionContext()->activeDOMObjectsAreStopped()) 140 m_resolver->getExecutionContext()->isContextDestroyed())
141 return; 141 return;
142 if (reason == WebServiceWorkerCacheErrorNotFound || 142 if (reason == WebServiceWorkerCacheErrorNotFound ||
143 reason == WebServiceWorkerCacheErrorCacheNameNotFound) 143 reason == WebServiceWorkerCacheErrorCacheNameNotFound)
144 m_resolver->resolve(); 144 m_resolver->resolve();
145 else 145 else
146 m_resolver->reject(CacheStorageError::createException(reason)); 146 m_resolver->reject(CacheStorageError::createException(reason));
147 m_resolver.clear(); 147 m_resolver.clear();
148 } 148 }
149 149
150 private: 150 private:
151 Persistent<ScriptPromiseResolver> m_resolver; 151 Persistent<ScriptPromiseResolver> m_resolver;
152 }; 152 };
153 153
154 // FIXME: Consider using CallbackPromiseAdapter. 154 // FIXME: Consider using CallbackPromiseAdapter.
155 class CacheStorage::DeleteCallbacks final 155 class CacheStorage::DeleteCallbacks final
156 : public WebServiceWorkerCacheStorage::CacheStorageCallbacks { 156 : public WebServiceWorkerCacheStorage::CacheStorageCallbacks {
157 WTF_MAKE_NONCOPYABLE(DeleteCallbacks); 157 WTF_MAKE_NONCOPYABLE(DeleteCallbacks);
158 158
159 public: 159 public:
160 DeleteCallbacks(const String& cacheName, 160 DeleteCallbacks(const String& cacheName,
161 CacheStorage* cacheStorage, 161 CacheStorage* cacheStorage,
162 ScriptPromiseResolver* resolver) 162 ScriptPromiseResolver* resolver)
163 : m_cacheName(cacheName), 163 : m_cacheName(cacheName),
164 m_cacheStorage(cacheStorage), 164 m_cacheStorage(cacheStorage),
165 m_resolver(resolver) {} 165 m_resolver(resolver) {}
166 ~DeleteCallbacks() override {} 166 ~DeleteCallbacks() override {}
167 167
168 void onSuccess() override { 168 void onSuccess() override {
169 if (!m_resolver->getExecutionContext() || 169 if (!m_resolver->getExecutionContext() ||
170 m_resolver->getExecutionContext()->activeDOMObjectsAreStopped()) 170 m_resolver->getExecutionContext()->isContextDestroyed())
171 return; 171 return;
172 m_resolver->resolve(true); 172 m_resolver->resolve(true);
173 m_resolver.clear(); 173 m_resolver.clear();
174 } 174 }
175 175
176 void onError(WebServiceWorkerCacheError reason) override { 176 void onError(WebServiceWorkerCacheError reason) override {
177 if (!m_resolver->getExecutionContext() || 177 if (!m_resolver->getExecutionContext() ||
178 m_resolver->getExecutionContext()->activeDOMObjectsAreStopped()) 178 m_resolver->getExecutionContext()->isContextDestroyed())
179 return; 179 return;
180 if (reason == WebServiceWorkerCacheErrorNotFound) 180 if (reason == WebServiceWorkerCacheErrorNotFound)
181 m_resolver->resolve(false); 181 m_resolver->resolve(false);
182 else 182 else
183 m_resolver->reject(CacheStorageError::createException(reason)); 183 m_resolver->reject(CacheStorageError::createException(reason));
184 m_resolver.clear(); 184 m_resolver.clear();
185 } 185 }
186 186
187 private: 187 private:
188 String m_cacheName; 188 String m_cacheName;
189 Persistent<CacheStorage> m_cacheStorage; 189 Persistent<CacheStorage> m_cacheStorage;
190 Persistent<ScriptPromiseResolver> m_resolver; 190 Persistent<ScriptPromiseResolver> m_resolver;
191 }; 191 };
192 192
193 // FIXME: Consider using CallbackPromiseAdapter. 193 // FIXME: Consider using CallbackPromiseAdapter.
194 class CacheStorage::KeysCallbacks final 194 class CacheStorage::KeysCallbacks final
195 : public WebServiceWorkerCacheStorage::CacheStorageKeysCallbacks { 195 : public WebServiceWorkerCacheStorage::CacheStorageKeysCallbacks {
196 WTF_MAKE_NONCOPYABLE(KeysCallbacks); 196 WTF_MAKE_NONCOPYABLE(KeysCallbacks);
197 197
198 public: 198 public:
199 explicit KeysCallbacks(ScriptPromiseResolver* resolver) 199 explicit KeysCallbacks(ScriptPromiseResolver* resolver)
200 : m_resolver(resolver) {} 200 : m_resolver(resolver) {}
201 ~KeysCallbacks() override {} 201 ~KeysCallbacks() override {}
202 202
203 void onSuccess(const WebVector<WebString>& keys) override { 203 void onSuccess(const WebVector<WebString>& keys) override {
204 if (!m_resolver->getExecutionContext() || 204 if (!m_resolver->getExecutionContext() ||
205 m_resolver->getExecutionContext()->activeDOMObjectsAreStopped()) 205 m_resolver->getExecutionContext()->isContextDestroyed())
206 return; 206 return;
207 Vector<String> wtfKeys; 207 Vector<String> wtfKeys;
208 for (size_t i = 0; i < keys.size(); ++i) 208 for (size_t i = 0; i < keys.size(); ++i)
209 wtfKeys.append(keys[i]); 209 wtfKeys.append(keys[i]);
210 m_resolver->resolve(wtfKeys); 210 m_resolver->resolve(wtfKeys);
211 m_resolver.clear(); 211 m_resolver.clear();
212 } 212 }
213 213
214 void onError(WebServiceWorkerCacheError reason) override { 214 void onError(WebServiceWorkerCacheError reason) override {
215 if (!m_resolver->getExecutionContext() || 215 if (!m_resolver->getExecutionContext() ||
216 m_resolver->getExecutionContext()->activeDOMObjectsAreStopped()) 216 m_resolver->getExecutionContext()->isContextDestroyed())
217 return; 217 return;
218 m_resolver->reject(CacheStorageError::createException(reason)); 218 m_resolver->reject(CacheStorageError::createException(reason));
219 m_resolver.clear(); 219 m_resolver.clear();
220 } 220 }
221 221
222 private: 222 private:
223 Persistent<ScriptPromiseResolver> m_resolver; 223 Persistent<ScriptPromiseResolver> m_resolver;
224 }; 224 };
225 225
226 CacheStorage* CacheStorage::create( 226 CacheStorage* CacheStorage::create(
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 353
354 void CacheStorage::dispose() { 354 void CacheStorage::dispose() {
355 m_webCacheStorage.reset(); 355 m_webCacheStorage.reset();
356 } 356 }
357 357
358 DEFINE_TRACE(CacheStorage) { 358 DEFINE_TRACE(CacheStorage) {
359 visitor->trace(m_scopedFetcher); 359 visitor->trace(m_scopedFetcher);
360 } 360 }
361 361
362 } // namespace blink 362 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698