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/cachestorage/InspectorCacheStorageAgent.h" | 6 #include "modules/cachestorage/InspectorCacheStorageAgent.h" |
7 | 7 |
8 #include "core/InspectorBackendDispatcher.h" | 8 #include "core/InspectorBackendDispatcher.h" |
9 #include "core/InspectorTypeBuilder.h" | 9 #include "core/InspectorTypeBuilder.h" |
10 #include "platform/JSONValues.h" | 10 #include "platform/JSONValues.h" |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 | 115 |
116 public: | 116 public: |
117 RequestCacheNames(const String& securityOrigin, PassRefPtrWillBeRawPtr<Reque
stCacheNamesCallback> callback) | 117 RequestCacheNames(const String& securityOrigin, PassRefPtrWillBeRawPtr<Reque
stCacheNamesCallback> callback) |
118 : m_securityOrigin(securityOrigin) | 118 : m_securityOrigin(securityOrigin) |
119 , m_callback(callback) | 119 , m_callback(callback) |
120 { | 120 { |
121 } | 121 } |
122 | 122 |
123 ~RequestCacheNames() override { } | 123 ~RequestCacheNames() override { } |
124 | 124 |
125 void onSuccess(WebVector<WebString>* caches) | 125 void onSuccess(const WebVector<WebString>& caches) override |
126 { | 126 { |
127 RefPtr<Array<Cache>> array = Array<Cache>::create(); | 127 RefPtr<Array<Cache>> array = Array<Cache>::create(); |
128 for (size_t i = 0; i < caches->size(); i++) { | 128 for (size_t i = 0; i < caches.size(); i++) { |
129 String name = String((*caches)[i]); | 129 String name = String(caches[i]); |
130 RefPtr<Cache> entry = Cache::create() | 130 RefPtr<Cache> entry = Cache::create() |
131 .setSecurityOrigin(m_securityOrigin) | 131 .setSecurityOrigin(m_securityOrigin) |
132 .setCacheName(name) | 132 .setCacheName(name) |
133 .setCacheId(buildCacheId(m_securityOrigin, name)); | 133 .setCacheId(buildCacheId(m_securityOrigin, name)); |
134 array->addItem(entry); | 134 array->addItem(entry); |
135 } | 135 } |
136 m_callback->sendSuccess(array); | 136 m_callback->sendSuccess(array); |
137 } | 137 } |
138 | 138 |
139 void onError(WebServiceWorkerCacheError* error) | 139 void onError(WebServiceWorkerCacheError error) override |
140 { | 140 { |
141 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(*error).data())); | 141 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(error).data())); |
142 } | 142 } |
143 | 143 |
144 private: | 144 private: |
145 String m_securityOrigin; | 145 String m_securityOrigin; |
146 RefPtrWillBePersistent<RequestCacheNamesCallback> m_callback; | 146 RefPtrWillBePersistent<RequestCacheNamesCallback> m_callback; |
147 }; | 147 }; |
148 | 148 |
149 struct DataRequestParams { | 149 struct DataRequestParams { |
150 String cacheName; | 150 String cacheName; |
151 int skipCount; | 151 int skipCount; |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 const DataRequestParams& params, const WebServiceWorkerRequest& request, | 222 const DataRequestParams& params, const WebServiceWorkerRequest& request, |
223 PassRefPtr<ResponsesAccumulator> accum, PassRefPtrWillBeRawPtr<RequestEn
triesCallback> callback) | 223 PassRefPtr<ResponsesAccumulator> accum, PassRefPtrWillBeRawPtr<RequestEn
triesCallback> callback) |
224 : m_params(params) | 224 : m_params(params) |
225 , m_request(request) | 225 , m_request(request) |
226 , m_accumulator(accum) | 226 , m_accumulator(accum) |
227 , m_callback(callback) | 227 , m_callback(callback) |
228 { | 228 { |
229 } | 229 } |
230 ~GetCacheResponsesForRequestData() override { } | 230 ~GetCacheResponsesForRequestData() override { } |
231 | 231 |
232 void onSuccess(WebServiceWorkerResponse* response) | 232 void onSuccess(const WebServiceWorkerResponse& response) override |
233 { | 233 { |
234 m_accumulator->addRequestResponsePair(m_request, *response); | 234 m_accumulator->addRequestResponsePair(m_request, response); |
235 } | 235 } |
236 | 236 |
237 void onError(WebServiceWorkerCacheError* error) | 237 void onError(WebServiceWorkerCacheError error) override |
238 { | 238 { |
239 m_callback->sendFailure(String::format("Error requesting responses for c
ache %s: %s", m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(*
error).data())); | 239 m_callback->sendFailure(String::format("Error requesting responses for c
ache %s: %s", m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(e
rror).data())); |
240 } | 240 } |
241 | 241 |
242 private: | 242 private: |
243 DataRequestParams m_params; | 243 DataRequestParams m_params; |
244 WebServiceWorkerRequest m_request; | 244 WebServiceWorkerRequest m_request; |
245 RefPtr<ResponsesAccumulator> m_accumulator; | 245 RefPtr<ResponsesAccumulator> m_accumulator; |
246 RefPtrWillBePersistent<RequestEntriesCallback> m_callback; | 246 RefPtrWillBePersistent<RequestEntriesCallback> m_callback; |
247 }; | 247 }; |
248 | 248 |
249 class GetCacheKeysForRequestData : public WebServiceWorkerCache::CacheWithReques
tsCallbacks { | 249 class GetCacheKeysForRequestData : public WebServiceWorkerCache::CacheWithReques
tsCallbacks { |
250 WTF_MAKE_NONCOPYABLE(GetCacheKeysForRequestData); | 250 WTF_MAKE_NONCOPYABLE(GetCacheKeysForRequestData); |
251 | 251 |
252 public: | 252 public: |
253 GetCacheKeysForRequestData(const DataRequestParams& params, PassOwnPtr<WebSe
rviceWorkerCache> cache, PassRefPtrWillBeRawPtr<RequestEntriesCallback> callback
) | 253 GetCacheKeysForRequestData(const DataRequestParams& params, PassOwnPtr<WebSe
rviceWorkerCache> cache, PassRefPtrWillBeRawPtr<RequestEntriesCallback> callback
) |
254 : m_params(params) | 254 : m_params(params) |
255 , m_cache(cache) | 255 , m_cache(cache) |
256 , m_callback(callback) | 256 , m_callback(callback) |
257 { | 257 { |
258 } | 258 } |
259 ~GetCacheKeysForRequestData() override { } | 259 ~GetCacheKeysForRequestData() override { } |
260 | 260 |
261 void onSuccess(WebVector<WebServiceWorkerRequest>* requests) | 261 WebServiceWorkerCache* cache() { return m_cache.get(); } |
| 262 void onSuccess(const WebVector<WebServiceWorkerRequest>& requests) override |
262 { | 263 { |
263 if (requests->isEmpty()) { | 264 if (requests.isEmpty()) { |
264 RefPtr<Array<DataEntry>> array = Array<DataEntry>::create(); | 265 RefPtr<Array<DataEntry>> array = Array<DataEntry>::create(); |
265 m_callback->sendSuccess(array, false); | 266 m_callback->sendSuccess(array, false); |
266 return; | 267 return; |
267 } | 268 } |
268 RefPtr<ResponsesAccumulator> accumulator = adoptRef(new ResponsesAccumul
ator(requests->size(), m_params, m_callback)); | 269 RefPtr<ResponsesAccumulator> accumulator = adoptRef(new ResponsesAccumul
ator(requests.size(), m_params, m_callback)); |
269 | 270 |
270 for (size_t i = 0; i < requests->size(); i++) { | 271 for (size_t i = 0; i < requests.size(); i++) { |
271 const auto& request = (*requests)[i]; | 272 const auto& request = requests[i]; |
272 auto* cacheRequest = new GetCacheResponsesForRequestData(m_params, r
equest, accumulator, m_callback); | 273 auto* cacheRequest = new GetCacheResponsesForRequestData(m_params, r
equest, accumulator, m_callback); |
273 m_cache->dispatchMatch(cacheRequest, request, WebServiceWorkerCache:
:QueryParams()); | 274 m_cache->dispatchMatch(cacheRequest, request, WebServiceWorkerCache:
:QueryParams()); |
274 } | 275 } |
275 } | 276 } |
276 | 277 |
277 void onError(WebServiceWorkerCacheError* error) | 278 void onError(WebServiceWorkerCacheError error) override |
278 { | 279 { |
279 m_callback->sendFailure(String::format("Error requesting requests for ca
che %s: %s", m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(*er
ror).data())); | 280 m_callback->sendFailure(String::format("Error requesting requests for ca
che %s: %s", m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(err
or).data())); |
280 } | 281 } |
281 | 282 |
282 private: | 283 private: |
283 DataRequestParams m_params; | 284 DataRequestParams m_params; |
284 OwnPtr<WebServiceWorkerCache> m_cache; | 285 OwnPtr<WebServiceWorkerCache> m_cache; |
285 RefPtrWillBePersistent<RequestEntriesCallback> m_callback; | 286 RefPtrWillBePersistent<RequestEntriesCallback> m_callback; |
286 }; | 287 }; |
287 | 288 |
288 class GetCacheForRequestData | 289 class GetCacheForRequestData |
289 : public WebServiceWorkerCacheStorage::CacheStorageWithCacheCallbacks { | 290 : public WebServiceWorkerCacheStorage::CacheStorageWithCacheCallbacks { |
290 WTF_MAKE_NONCOPYABLE(GetCacheForRequestData); | 291 WTF_MAKE_NONCOPYABLE(GetCacheForRequestData); |
291 | 292 |
292 public: | 293 public: |
293 GetCacheForRequestData(const DataRequestParams& params, PassRefPtrWillBeRawP
tr<RequestEntriesCallback> callback) | 294 GetCacheForRequestData(const DataRequestParams& params, PassRefPtrWillBeRawP
tr<RequestEntriesCallback> callback) |
294 : m_params(params) | 295 : m_params(params) |
295 , m_callback(callback) | 296 , m_callback(callback) |
296 { | 297 { |
297 } | 298 } |
298 ~GetCacheForRequestData() override { } | 299 ~GetCacheForRequestData() override { } |
299 | 300 |
300 void onSuccess(WebServiceWorkerCache* cache) | 301 void onSuccess(WebPassOwnPtr<WebServiceWorkerCache> cache) override |
301 { | 302 { |
302 auto* cacheRequest = new GetCacheKeysForRequestData(m_params, adoptPtr(c
ache), m_callback); | 303 auto* cacheRequest = new GetCacheKeysForRequestData(m_params, cache.rele
ase(), m_callback); |
303 cache->dispatchKeys(cacheRequest, nullptr, WebServiceWorkerCache::QueryP
arams()); | 304 cacheRequest->cache()->dispatchKeys(cacheRequest, nullptr, WebServiceWor
kerCache::QueryParams()); |
304 } | 305 } |
305 | 306 |
306 void onError(WebServiceWorkerCacheError* error) | 307 void onError(WebServiceWorkerCacheError error) override |
307 { | 308 { |
308 m_callback->sendFailure(String::format("Error requesting cache %s: %s",
m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(*error).data()))
; | 309 m_callback->sendFailure(String::format("Error requesting cache %s: %s",
m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(error).data())); |
309 } | 310 } |
310 | 311 |
311 private: | 312 private: |
312 DataRequestParams m_params; | 313 DataRequestParams m_params; |
313 RefPtrWillBePersistent<RequestEntriesCallback> m_callback; | 314 RefPtrWillBePersistent<RequestEntriesCallback> m_callback; |
314 }; | 315 }; |
315 | 316 |
316 class DeleteCache : public WebServiceWorkerCacheStorage::CacheStorageCallbacks { | 317 class DeleteCache : public WebServiceWorkerCacheStorage::CacheStorageCallbacks { |
317 WTF_MAKE_NONCOPYABLE(DeleteCache); | 318 WTF_MAKE_NONCOPYABLE(DeleteCache); |
318 | 319 |
319 public: | 320 public: |
320 DeleteCache(PassRefPtrWillBeRawPtr<DeleteCacheCallback> callback) | 321 DeleteCache(PassRefPtrWillBeRawPtr<DeleteCacheCallback> callback) |
321 : m_callback(callback) | 322 : m_callback(callback) |
322 { | 323 { |
323 } | 324 } |
324 ~DeleteCache() override { } | 325 ~DeleteCache() override { } |
325 | 326 |
326 void onSuccess() | 327 void onSuccess() override |
327 { | 328 { |
328 m_callback->sendSuccess(); | 329 m_callback->sendSuccess(); |
329 } | 330 } |
330 | 331 |
331 void onError(WebServiceWorkerCacheError* error) | 332 void onError(WebServiceWorkerCacheError error) override |
332 { | 333 { |
333 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(*error).data())); | 334 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(error).data())); |
334 } | 335 } |
335 | 336 |
336 private: | 337 private: |
337 RefPtrWillBePersistent<DeleteCacheCallback> m_callback; | 338 RefPtrWillBePersistent<DeleteCacheCallback> m_callback; |
338 }; | 339 }; |
339 | 340 |
340 class DeleteCacheEntry : public WebServiceWorkerCache::CacheBatchCallbacks { | 341 class DeleteCacheEntry : public WebServiceWorkerCache::CacheBatchCallbacks { |
341 WTF_MAKE_NONCOPYABLE(DeleteCacheEntry); | 342 WTF_MAKE_NONCOPYABLE(DeleteCacheEntry); |
342 public: | 343 public: |
343 | 344 |
344 DeleteCacheEntry(PassRefPtrWillBeRawPtr<DeleteEntryCallback> callback) | 345 DeleteCacheEntry(PassRefPtrWillBeRawPtr<DeleteEntryCallback> callback) |
345 : m_callback(callback) | 346 : m_callback(callback) |
346 { | 347 { |
347 } | 348 } |
348 ~DeleteCacheEntry() override { } | 349 ~DeleteCacheEntry() override { } |
349 | 350 |
350 void onSuccess() | 351 void onSuccess() override |
351 { | 352 { |
352 m_callback->sendSuccess(); | 353 m_callback->sendSuccess(); |
353 } | 354 } |
354 | 355 |
355 void onError(WebServiceWorkerCacheError error) | 356 void onError(WebServiceWorkerCacheError error) override |
356 { | 357 { |
357 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(error).data())); | 358 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(error).data())); |
358 } | 359 } |
359 | 360 |
360 private: | 361 private: |
361 RefPtrWillBePersistent<DeleteEntryCallback> m_callback; | 362 RefPtrWillBePersistent<DeleteEntryCallback> m_callback; |
362 }; | 363 }; |
363 | 364 |
364 class GetCacheForDeleteEntry | 365 class GetCacheForDeleteEntry |
365 : public WebServiceWorkerCacheStorage::CacheStorageWithCacheCallbacks { | 366 : public WebServiceWorkerCacheStorage::CacheStorageWithCacheCallbacks { |
366 WTF_MAKE_NONCOPYABLE(GetCacheForDeleteEntry); | 367 WTF_MAKE_NONCOPYABLE(GetCacheForDeleteEntry); |
367 | 368 |
368 public: | 369 public: |
369 GetCacheForDeleteEntry(const String& requestSpec, const String& cacheName, P
assRefPtrWillBeRawPtr<DeleteEntryCallback> callback) | 370 GetCacheForDeleteEntry(const String& requestSpec, const String& cacheName, P
assRefPtrWillBeRawPtr<DeleteEntryCallback> callback) |
370 : m_requestSpec(requestSpec) | 371 : m_requestSpec(requestSpec) |
371 , m_cacheName(cacheName) | 372 , m_cacheName(cacheName) |
372 , m_callback(callback) | 373 , m_callback(callback) |
373 { | 374 { |
374 } | 375 } |
375 ~GetCacheForDeleteEntry() override { } | 376 ~GetCacheForDeleteEntry() override { } |
376 | 377 |
377 void onSuccess(WebServiceWorkerCache* cache) | 378 void onSuccess(WebPassOwnPtr<WebServiceWorkerCache> cache) override |
378 { | 379 { |
379 auto* deleteRequest = new DeleteCacheEntry( m_callback); | 380 auto* deleteRequest = new DeleteCacheEntry(m_callback); |
380 BatchOperation deleteOperation; | 381 BatchOperation deleteOperation; |
381 deleteOperation.operationType = WebServiceWorkerCache::OperationTypeDele
te; | 382 deleteOperation.operationType = WebServiceWorkerCache::OperationTypeDele
te; |
382 deleteOperation.request.setURL(KURL(ParsedURLString, m_requestSpec)); | 383 deleteOperation.request.setURL(KURL(ParsedURLString, m_requestSpec)); |
383 Vector<BatchOperation> operations; | 384 Vector<BatchOperation> operations; |
384 operations.append(deleteOperation); | 385 operations.append(deleteOperation); |
385 cache->dispatchBatch(deleteRequest, WebVector<BatchOperation>(operations
)); | 386 cache.release()->dispatchBatch(deleteRequest, WebVector<BatchOperation>(
operations)); |
386 } | 387 } |
387 | 388 |
388 void onError(WebServiceWorkerCacheError* error) | 389 void onError(WebServiceWorkerCacheError error) override |
389 { | 390 { |
390 m_callback->sendFailure(String::format("Error requesting cache %s: %s",
m_cacheName.utf8().data(), serviceWorkerCacheErrorString(*error).data())); | 391 m_callback->sendFailure(String::format("Error requesting cache %s: %s",
m_cacheName.utf8().data(), serviceWorkerCacheErrorString(error).data())); |
391 } | 392 } |
392 | 393 |
393 private: | 394 private: |
394 String m_requestSpec; | 395 String m_requestSpec; |
395 String m_cacheName; | 396 String m_cacheName; |
396 RefPtrWillBePersistent<DeleteEntryCallback> m_callback; | 397 RefPtrWillBePersistent<DeleteEntryCallback> m_callback; |
397 }; | 398 }; |
398 | 399 |
399 } // namespace | 400 } // namespace |
400 | 401 |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 OwnPtr<WebServiceWorkerCacheStorage> cache = assertCacheStorageAndNameForId(
errorString, cacheId, &cacheName); | 463 OwnPtr<WebServiceWorkerCacheStorage> cache = assertCacheStorageAndNameForId(
errorString, cacheId, &cacheName); |
463 if (!cache) { | 464 if (!cache) { |
464 callback->sendFailure(*errorString); | 465 callback->sendFailure(*errorString); |
465 return; | 466 return; |
466 } | 467 } |
467 cache->dispatchOpen(new GetCacheForDeleteEntry(request, cacheName, callback)
, WebString(cacheName)); | 468 cache->dispatchOpen(new GetCacheForDeleteEntry(request, cacheName, callback)
, WebString(cacheName)); |
468 } | 469 } |
469 | 470 |
470 | 471 |
471 } // namespace blink | 472 } // namespace blink |
OLD | NEW |