| 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 "modules/cachestorage/InspectorCacheStorageAgent.h" | 5 #include "modules/cachestorage/InspectorCacheStorageAgent.h" |
| 6 | 6 |
| 7 #include "platform/heap/Handle.h" | 7 #include "platform/heap/Handle.h" |
| 8 #include "platform/inspector_protocol/Dispatcher.h" | 8 #include "platform/inspector_protocol/Dispatcher.h" |
| 9 #include "platform/inspector_protocol/TypeBuilder.h" | 9 #include "platform/inspector_protocol/TypeBuilder.h" |
| 10 #include "platform/inspector_protocol/Values.h" | 10 #include "platform/inspector_protocol/Values.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 return CString("unknown error."); | 108 return CString("unknown error."); |
| 109 break; | 109 break; |
| 110 } | 110 } |
| 111 } | 111 } |
| 112 | 112 |
| 113 class RequestCacheNames | 113 class RequestCacheNames |
| 114 : public WebServiceWorkerCacheStorage::CacheStorageKeysCallbacks { | 114 : public WebServiceWorkerCacheStorage::CacheStorageKeysCallbacks { |
| 115 WTF_MAKE_NONCOPYABLE(RequestCacheNames); | 115 WTF_MAKE_NONCOPYABLE(RequestCacheNames); |
| 116 | 116 |
| 117 public: | 117 public: |
| 118 RequestCacheNames(const String& securityOrigin, PassRefPtr<RequestCacheNames
Callback> callback) | 118 RequestCacheNames(const String& securityOrigin, PassOwnPtr<RequestCacheNames
Callback> callback) |
| 119 : m_securityOrigin(securityOrigin) | 119 : m_securityOrigin(securityOrigin) |
| 120 , m_callback(callback) | 120 , m_callback(callback) |
| 121 { | 121 { |
| 122 } | 122 } |
| 123 | 123 |
| 124 ~RequestCacheNames() override { } | 124 ~RequestCacheNames() override { } |
| 125 | 125 |
| 126 void onSuccess(const WebVector<WebString>& caches) override | 126 void onSuccess(const WebVector<WebString>& caches) override |
| 127 { | 127 { |
| 128 OwnPtr<Array<Cache>> array = Array<Cache>::create(); | 128 OwnPtr<Array<Cache>> array = Array<Cache>::create(); |
| 129 for (size_t i = 0; i < caches.size(); i++) { | 129 for (size_t i = 0; i < caches.size(); i++) { |
| 130 String name = String(caches[i]); | 130 String name = String(caches[i]); |
| 131 OwnPtr<Cache> entry = Cache::create() | 131 OwnPtr<Cache> entry = Cache::create() |
| 132 .setSecurityOrigin(m_securityOrigin) | 132 .setSecurityOrigin(m_securityOrigin) |
| 133 .setCacheName(name) | 133 .setCacheName(name) |
| 134 .setCacheId(buildCacheId(m_securityOrigin, name)).build(); | 134 .setCacheId(buildCacheId(m_securityOrigin, name)).build(); |
| 135 array->addItem(entry.release()); | 135 array->addItem(entry.release()); |
| 136 } | 136 } |
| 137 m_callback->sendSuccess(array.release()); | 137 m_callback->sendSuccess(array.release()); |
| 138 } | 138 } |
| 139 | 139 |
| 140 void onError(WebServiceWorkerCacheError error) override | 140 void onError(WebServiceWorkerCacheError error) override |
| 141 { | 141 { |
| 142 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(error).data())); | 142 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(error).data())); |
| 143 } | 143 } |
| 144 | 144 |
| 145 private: | 145 private: |
| 146 String m_securityOrigin; | 146 String m_securityOrigin; |
| 147 RefPtr<RequestCacheNamesCallback> m_callback; | 147 OwnPtr<RequestCacheNamesCallback> m_callback; |
| 148 }; | 148 }; |
| 149 | 149 |
| 150 struct DataRequestParams { | 150 struct DataRequestParams { |
| 151 String cacheName; | 151 String cacheName; |
| 152 int skipCount; | 152 int skipCount; |
| 153 int pageSize; | 153 int pageSize; |
| 154 }; | 154 }; |
| 155 | 155 |
| 156 struct RequestResponse { | 156 struct RequestResponse { |
| 157 RequestResponse() { } | 157 RequestResponse() { } |
| 158 RequestResponse(const String& request, const String& response) | 158 RequestResponse(const String& request, const String& response) |
| 159 : request(request) | 159 : request(request) |
| 160 , response(response) | 160 , response(response) |
| 161 { | 161 { |
| 162 } | 162 } |
| 163 String request; | 163 String request; |
| 164 String response; | 164 String response; |
| 165 }; | 165 }; |
| 166 | 166 |
| 167 class ResponsesAccumulator : public RefCounted<ResponsesAccumulator> { | 167 class ResponsesAccumulator : public RefCounted<ResponsesAccumulator> { |
| 168 WTF_MAKE_NONCOPYABLE(ResponsesAccumulator); | 168 WTF_MAKE_NONCOPYABLE(ResponsesAccumulator); |
| 169 | 169 |
| 170 public: | 170 public: |
| 171 ResponsesAccumulator(int numResponses, const DataRequestParams& params, Pass
RefPtr<RequestEntriesCallback> callback) | 171 ResponsesAccumulator(int numResponses, const DataRequestParams& params, Pass
OwnPtr<RequestEntriesCallback> callback) |
| 172 : m_params(params) | 172 : m_params(params) |
| 173 , m_numResponsesLeft(numResponses) | 173 , m_numResponsesLeft(numResponses) |
| 174 , m_responses(static_cast<size_t>(numResponses)) | 174 , m_responses(static_cast<size_t>(numResponses)) |
| 175 , m_callback(callback) | 175 , m_callback(callback) |
| 176 { | 176 { |
| 177 } | 177 } |
| 178 | 178 |
| 179 void addRequestResponsePair(const WebServiceWorkerRequest& request, const We
bServiceWorkerResponse& response) | 179 void addRequestResponsePair(const WebServiceWorkerRequest& request, const We
bServiceWorkerResponse& response) |
| 180 { | 180 { |
| 181 ASSERT(m_numResponsesLeft > 0); | 181 ASSERT(m_numResponsesLeft > 0); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 201 OwnPtr<Array<DataEntry>> array = Array<DataEntry>::create(); | 201 OwnPtr<Array<DataEntry>> array = Array<DataEntry>::create(); |
| 202 for (const auto& requestResponse : m_responses) { | 202 for (const auto& requestResponse : m_responses) { |
| 203 OwnPtr<DataEntry> entry = DataEntry::create() | 203 OwnPtr<DataEntry> entry = DataEntry::create() |
| 204 .setRequest(requestResponse.request) | 204 .setRequest(requestResponse.request) |
| 205 .setResponse(requestResponse.response).build(); | 205 .setResponse(requestResponse.response).build(); |
| 206 array->addItem(entry.release()); | 206 array->addItem(entry.release()); |
| 207 } | 207 } |
| 208 m_callback->sendSuccess(array.release(), hasMore); | 208 m_callback->sendSuccess(array.release(), hasMore); |
| 209 } | 209 } |
| 210 | 210 |
| 211 void sendFailure(const String& error) |
| 212 { |
| 213 m_callback->sendFailure(error); |
| 214 } |
| 215 |
| 211 private: | 216 private: |
| 212 DataRequestParams m_params; | 217 DataRequestParams m_params; |
| 213 int m_numResponsesLeft; | 218 int m_numResponsesLeft; |
| 214 Vector<RequestResponse> m_responses; | 219 Vector<RequestResponse> m_responses; |
| 215 RefPtr<RequestEntriesCallback> m_callback; | 220 OwnPtr<RequestEntriesCallback> m_callback; |
| 216 }; | 221 }; |
| 217 | 222 |
| 218 class GetCacheResponsesForRequestData : public WebServiceWorkerCache::CacheMatch
Callbacks { | 223 class GetCacheResponsesForRequestData : public WebServiceWorkerCache::CacheMatch
Callbacks { |
| 219 WTF_MAKE_NONCOPYABLE(GetCacheResponsesForRequestData); | 224 WTF_MAKE_NONCOPYABLE(GetCacheResponsesForRequestData); |
| 220 | 225 |
| 221 public: | 226 public: |
| 222 GetCacheResponsesForRequestData( | 227 GetCacheResponsesForRequestData(const DataRequestParams& params, const WebSe
rviceWorkerRequest& request, PassRefPtr<ResponsesAccumulator> accum) |
| 223 const DataRequestParams& params, const WebServiceWorkerRequest& request, | |
| 224 PassRefPtr<ResponsesAccumulator> accum, PassRefPtr<RequestEntriesCallbac
k> callback) | |
| 225 : m_params(params) | 228 : m_params(params) |
| 226 , m_request(request) | 229 , m_request(request) |
| 227 , m_accumulator(accum) | 230 , m_accumulator(accum) |
| 228 , m_callback(callback) | |
| 229 { | 231 { |
| 230 } | 232 } |
| 231 ~GetCacheResponsesForRequestData() override { } | 233 ~GetCacheResponsesForRequestData() override { } |
| 232 | 234 |
| 233 void onSuccess(const WebServiceWorkerResponse& response) override | 235 void onSuccess(const WebServiceWorkerResponse& response) override |
| 234 { | 236 { |
| 235 m_accumulator->addRequestResponsePair(m_request, response); | 237 m_accumulator->addRequestResponsePair(m_request, response); |
| 236 } | 238 } |
| 237 | 239 |
| 238 void onError(WebServiceWorkerCacheError error) override | 240 void onError(WebServiceWorkerCacheError error) override |
| 239 { | 241 { |
| 240 m_callback->sendFailure(String::format("Error requesting responses for c
ache %s: %s", m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(e
rror).data())); | 242 m_accumulator->sendFailure(String::format("Error requesting responses fo
r cache %s: %s", m_params.cacheName.utf8().data(), serviceWorkerCacheErrorStrin
g(error).data())); |
| 241 } | 243 } |
| 242 | 244 |
| 243 private: | 245 private: |
| 244 DataRequestParams m_params; | 246 DataRequestParams m_params; |
| 245 WebServiceWorkerRequest m_request; | 247 WebServiceWorkerRequest m_request; |
| 246 RefPtr<ResponsesAccumulator> m_accumulator; | 248 RefPtr<ResponsesAccumulator> m_accumulator; |
| 247 RefPtr<RequestEntriesCallback> m_callback; | |
| 248 }; | 249 }; |
| 249 | 250 |
| 250 class GetCacheKeysForRequestData : public WebServiceWorkerCache::CacheWithReques
tsCallbacks { | 251 class GetCacheKeysForRequestData : public WebServiceWorkerCache::CacheWithReques
tsCallbacks { |
| 251 WTF_MAKE_NONCOPYABLE(GetCacheKeysForRequestData); | 252 WTF_MAKE_NONCOPYABLE(GetCacheKeysForRequestData); |
| 252 | 253 |
| 253 public: | 254 public: |
| 254 GetCacheKeysForRequestData(const DataRequestParams& params, PassOwnPtr<WebSe
rviceWorkerCache> cache, PassRefPtr<RequestEntriesCallback> callback) | 255 GetCacheKeysForRequestData(const DataRequestParams& params, PassOwnPtr<WebSe
rviceWorkerCache> cache, PassOwnPtr<RequestEntriesCallback> callback) |
| 255 : m_params(params) | 256 : m_params(params) |
| 256 , m_cache(cache) | 257 , m_cache(cache) |
| 257 , m_callback(callback) | 258 , m_callback(callback) |
| 258 { | 259 { |
| 259 } | 260 } |
| 260 ~GetCacheKeysForRequestData() override { } | 261 ~GetCacheKeysForRequestData() override { } |
| 261 | 262 |
| 262 WebServiceWorkerCache* cache() { return m_cache.get(); } | 263 WebServiceWorkerCache* cache() { return m_cache.get(); } |
| 263 void onSuccess(const WebVector<WebServiceWorkerRequest>& requests) override | 264 void onSuccess(const WebVector<WebServiceWorkerRequest>& requests) override |
| 264 { | 265 { |
| 265 if (requests.isEmpty()) { | 266 if (requests.isEmpty()) { |
| 266 OwnPtr<Array<DataEntry>> array = Array<DataEntry>::create(); | 267 OwnPtr<Array<DataEntry>> array = Array<DataEntry>::create(); |
| 267 m_callback->sendSuccess(array.release(), false); | 268 m_callback->sendSuccess(array.release(), false); |
| 268 return; | 269 return; |
| 269 } | 270 } |
| 270 RefPtr<ResponsesAccumulator> accumulator = adoptRef(new ResponsesAccumul
ator(requests.size(), m_params, m_callback)); | 271 RefPtr<ResponsesAccumulator> accumulator = adoptRef(new ResponsesAccumul
ator(requests.size(), m_params, m_callback.release())); |
| 271 | 272 |
| 272 for (size_t i = 0; i < requests.size(); i++) { | 273 for (size_t i = 0; i < requests.size(); i++) { |
| 273 const auto& request = requests[i]; | 274 const auto& request = requests[i]; |
| 274 auto* cacheRequest = new GetCacheResponsesForRequestData(m_params, r
equest, accumulator, m_callback); | 275 auto* cacheRequest = new GetCacheResponsesForRequestData(m_params, r
equest, accumulator); |
| 275 m_cache->dispatchMatch(cacheRequest, request, WebServiceWorkerCache:
:QueryParams()); | 276 m_cache->dispatchMatch(cacheRequest, request, WebServiceWorkerCache:
:QueryParams()); |
| 276 } | 277 } |
| 277 } | 278 } |
| 278 | 279 |
| 279 void onError(WebServiceWorkerCacheError error) override | 280 void onError(WebServiceWorkerCacheError error) override |
| 280 { | 281 { |
| 281 m_callback->sendFailure(String::format("Error requesting requests for ca
che %s: %s", m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(err
or).data())); | 282 m_callback->sendFailure(String::format("Error requesting requests for ca
che %s: %s", m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(err
or).data())); |
| 282 } | 283 } |
| 283 | 284 |
| 284 private: | 285 private: |
| 285 DataRequestParams m_params; | 286 DataRequestParams m_params; |
| 286 OwnPtr<WebServiceWorkerCache> m_cache; | 287 OwnPtr<WebServiceWorkerCache> m_cache; |
| 287 RefPtr<RequestEntriesCallback> m_callback; | 288 OwnPtr<RequestEntriesCallback> m_callback; |
| 288 }; | 289 }; |
| 289 | 290 |
| 290 class GetCacheForRequestData | 291 class GetCacheForRequestData |
| 291 : public WebServiceWorkerCacheStorage::CacheStorageWithCacheCallbacks { | 292 : public WebServiceWorkerCacheStorage::CacheStorageWithCacheCallbacks { |
| 292 WTF_MAKE_NONCOPYABLE(GetCacheForRequestData); | 293 WTF_MAKE_NONCOPYABLE(GetCacheForRequestData); |
| 293 | 294 |
| 294 public: | 295 public: |
| 295 GetCacheForRequestData(const DataRequestParams& params, PassRefPtr<RequestEn
triesCallback> callback) | 296 GetCacheForRequestData(const DataRequestParams& params, PassOwnPtr<RequestEn
triesCallback> callback) |
| 296 : m_params(params) | 297 : m_params(params) |
| 297 , m_callback(callback) | 298 , m_callback(callback) |
| 298 { | 299 { |
| 299 } | 300 } |
| 300 ~GetCacheForRequestData() override { } | 301 ~GetCacheForRequestData() override { } |
| 301 | 302 |
| 302 void onSuccess(WebPassOwnPtr<WebServiceWorkerCache> cache) override | 303 void onSuccess(WebPassOwnPtr<WebServiceWorkerCache> cache) override |
| 303 { | 304 { |
| 304 auto* cacheRequest = new GetCacheKeysForRequestData(m_params, cache.rele
ase(), m_callback); | 305 auto* cacheRequest = new GetCacheKeysForRequestData(m_params, cache.rele
ase(), m_callback.release()); |
| 305 cacheRequest->cache()->dispatchKeys(cacheRequest, nullptr, WebServiceWor
kerCache::QueryParams()); | 306 cacheRequest->cache()->dispatchKeys(cacheRequest, nullptr, WebServiceWor
kerCache::QueryParams()); |
| 306 } | 307 } |
| 307 | 308 |
| 308 void onError(WebServiceWorkerCacheError error) override | 309 void onError(WebServiceWorkerCacheError error) override |
| 309 { | 310 { |
| 310 m_callback->sendFailure(String::format("Error requesting cache %s: %s",
m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(error).data())); | 311 m_callback->sendFailure(String::format("Error requesting cache %s: %s",
m_params.cacheName.utf8().data(), serviceWorkerCacheErrorString(error).data())); |
| 311 } | 312 } |
| 312 | 313 |
| 313 private: | 314 private: |
| 314 DataRequestParams m_params; | 315 DataRequestParams m_params; |
| 315 RefPtr<RequestEntriesCallback> m_callback; | 316 OwnPtr<RequestEntriesCallback> m_callback; |
| 316 }; | 317 }; |
| 317 | 318 |
| 318 class DeleteCache : public WebServiceWorkerCacheStorage::CacheStorageCallbacks { | 319 class DeleteCache : public WebServiceWorkerCacheStorage::CacheStorageCallbacks { |
| 319 WTF_MAKE_NONCOPYABLE(DeleteCache); | 320 WTF_MAKE_NONCOPYABLE(DeleteCache); |
| 320 | 321 |
| 321 public: | 322 public: |
| 322 DeleteCache(PassRefPtr<DeleteCacheCallback> callback) | 323 DeleteCache(PassOwnPtr<DeleteCacheCallback> callback) |
| 323 : m_callback(callback) | 324 : m_callback(callback) |
| 324 { | 325 { |
| 325 } | 326 } |
| 326 ~DeleteCache() override { } | 327 ~DeleteCache() override { } |
| 327 | 328 |
| 328 void onSuccess() override | 329 void onSuccess() override |
| 329 { | 330 { |
| 330 m_callback->sendSuccess(); | 331 m_callback->sendSuccess(); |
| 331 } | 332 } |
| 332 | 333 |
| 333 void onError(WebServiceWorkerCacheError error) override | 334 void onError(WebServiceWorkerCacheError error) override |
| 334 { | 335 { |
| 335 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(error).data())); | 336 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(error).data())); |
| 336 } | 337 } |
| 337 | 338 |
| 338 private: | 339 private: |
| 339 RefPtr<DeleteCacheCallback> m_callback; | 340 OwnPtr<DeleteCacheCallback> m_callback; |
| 340 }; | 341 }; |
| 341 | 342 |
| 342 class DeleteCacheEntry : public WebServiceWorkerCache::CacheBatchCallbacks { | 343 class DeleteCacheEntry : public WebServiceWorkerCache::CacheBatchCallbacks { |
| 343 WTF_MAKE_NONCOPYABLE(DeleteCacheEntry); | 344 WTF_MAKE_NONCOPYABLE(DeleteCacheEntry); |
| 344 public: | 345 public: |
| 345 | 346 |
| 346 DeleteCacheEntry(PassRefPtr<DeleteEntryCallback> callback) | 347 DeleteCacheEntry(PassOwnPtr<DeleteEntryCallback> callback) |
| 347 : m_callback(callback) | 348 : m_callback(callback) |
| 348 { | 349 { |
| 349 } | 350 } |
| 350 ~DeleteCacheEntry() override { } | 351 ~DeleteCacheEntry() override { } |
| 351 | 352 |
| 352 void onSuccess() override | 353 void onSuccess() override |
| 353 { | 354 { |
| 354 m_callback->sendSuccess(); | 355 m_callback->sendSuccess(); |
| 355 } | 356 } |
| 356 | 357 |
| 357 void onError(WebServiceWorkerCacheError error) override | 358 void onError(WebServiceWorkerCacheError error) override |
| 358 { | 359 { |
| 359 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(error).data())); | 360 m_callback->sendFailure(String::format("Error requesting cache names: %s
", serviceWorkerCacheErrorString(error).data())); |
| 360 } | 361 } |
| 361 | 362 |
| 362 private: | 363 private: |
| 363 RefPtr<DeleteEntryCallback> m_callback; | 364 OwnPtr<DeleteEntryCallback> m_callback; |
| 364 }; | 365 }; |
| 365 | 366 |
| 366 class GetCacheForDeleteEntry | 367 class GetCacheForDeleteEntry |
| 367 : public WebServiceWorkerCacheStorage::CacheStorageWithCacheCallbacks { | 368 : public WebServiceWorkerCacheStorage::CacheStorageWithCacheCallbacks { |
| 368 WTF_MAKE_NONCOPYABLE(GetCacheForDeleteEntry); | 369 WTF_MAKE_NONCOPYABLE(GetCacheForDeleteEntry); |
| 369 | 370 |
| 370 public: | 371 public: |
| 371 GetCacheForDeleteEntry(const String& requestSpec, const String& cacheName, P
assRefPtr<DeleteEntryCallback> callback) | 372 GetCacheForDeleteEntry(const String& requestSpec, const String& cacheName, P
assOwnPtr<DeleteEntryCallback> callback) |
| 372 : m_requestSpec(requestSpec) | 373 : m_requestSpec(requestSpec) |
| 373 , m_cacheName(cacheName) | 374 , m_cacheName(cacheName) |
| 374 , m_callback(callback) | 375 , m_callback(callback) |
| 375 { | 376 { |
| 376 } | 377 } |
| 377 ~GetCacheForDeleteEntry() override { } | 378 ~GetCacheForDeleteEntry() override { } |
| 378 | 379 |
| 379 void onSuccess(WebPassOwnPtr<WebServiceWorkerCache> cache) override | 380 void onSuccess(WebPassOwnPtr<WebServiceWorkerCache> cache) override |
| 380 { | 381 { |
| 381 auto* deleteRequest = new DeleteCacheEntry(m_callback); | 382 auto* deleteRequest = new DeleteCacheEntry(m_callback.release()); |
| 382 BatchOperation deleteOperation; | 383 BatchOperation deleteOperation; |
| 383 deleteOperation.operationType = WebServiceWorkerCache::OperationTypeDele
te; | 384 deleteOperation.operationType = WebServiceWorkerCache::OperationTypeDele
te; |
| 384 deleteOperation.request.setURL(KURL(ParsedURLString, m_requestSpec)); | 385 deleteOperation.request.setURL(KURL(ParsedURLString, m_requestSpec)); |
| 385 Vector<BatchOperation> operations; | 386 Vector<BatchOperation> operations; |
| 386 operations.append(deleteOperation); | 387 operations.append(deleteOperation); |
| 387 cache.release()->dispatchBatch(deleteRequest, WebVector<BatchOperation>(
operations)); | 388 cache.release()->dispatchBatch(deleteRequest, WebVector<BatchOperation>(
operations)); |
| 388 } | 389 } |
| 389 | 390 |
| 390 void onError(WebServiceWorkerCacheError error) override | 391 void onError(WebServiceWorkerCacheError error) override |
| 391 { | 392 { |
| 392 m_callback->sendFailure(String::format("Error requesting cache %s: %s",
m_cacheName.utf8().data(), serviceWorkerCacheErrorString(error).data())); | 393 m_callback->sendFailure(String::format("Error requesting cache %s: %s",
m_cacheName.utf8().data(), serviceWorkerCacheErrorString(error).data())); |
| 393 } | 394 } |
| 394 | 395 |
| 395 private: | 396 private: |
| 396 String m_requestSpec; | 397 String m_requestSpec; |
| 397 String m_cacheName; | 398 String m_cacheName; |
| 398 RefPtr<DeleteEntryCallback> m_callback; | 399 OwnPtr<DeleteEntryCallback> m_callback; |
| 399 }; | 400 }; |
| 400 | 401 |
| 401 } // namespace | 402 } // namespace |
| 402 | 403 |
| 403 InspectorCacheStorageAgent::InspectorCacheStorageAgent() | 404 InspectorCacheStorageAgent::InspectorCacheStorageAgent() |
| 404 : InspectorBaseAgent<InspectorCacheStorageAgent, protocol::Frontend::CacheSt
orage>("CacheStorage") | 405 : InspectorBaseAgent<InspectorCacheStorageAgent, protocol::Frontend::CacheSt
orage>("CacheStorage") |
| 405 { | 406 { |
| 406 } | 407 } |
| 407 | 408 |
| 408 InspectorCacheStorageAgent::~InspectorCacheStorageAgent() { } | 409 InspectorCacheStorageAgent::~InspectorCacheStorageAgent() { } |
| 409 | 410 |
| 410 DEFINE_TRACE(InspectorCacheStorageAgent) | 411 DEFINE_TRACE(InspectorCacheStorageAgent) |
| 411 { | 412 { |
| 412 InspectorBaseAgent::trace(visitor); | 413 InspectorBaseAgent::trace(visitor); |
| 413 } | 414 } |
| 414 | 415 |
| 415 void InspectorCacheStorageAgent::requestCacheNames(ErrorString* errorString, con
st String& securityOrigin, PassRefPtr<RequestCacheNamesCallback> callback) | 416 void InspectorCacheStorageAgent::requestCacheNames(ErrorString* errorString, con
st String& securityOrigin, PassOwnPtr<RequestCacheNamesCallback> callback) |
| 416 { | 417 { |
| 417 RefPtr<SecurityOrigin> secOrigin = SecurityOrigin::createFromString(security
Origin); | 418 RefPtr<SecurityOrigin> secOrigin = SecurityOrigin::createFromString(security
Origin); |
| 418 | 419 |
| 419 // Cache Storage API is restricted to trustworthy origins. | 420 // Cache Storage API is restricted to trustworthy origins. |
| 420 if (!secOrigin->isPotentiallyTrustworthy()) { | 421 if (!secOrigin->isPotentiallyTrustworthy()) { |
| 421 // Don't treat this as an error, just don't attempt to open and enumerat
e the caches. | 422 // Don't treat this as an error, just don't attempt to open and enumerat
e the caches. |
| 422 callback->sendSuccess(Array<protocol::CacheStorage::Cache>::create()); | 423 callback->sendSuccess(Array<protocol::CacheStorage::Cache>::create()); |
| 423 return; | 424 return; |
| 424 } | 425 } |
| 425 | 426 |
| 426 OwnPtr<WebServiceWorkerCacheStorage> cache = assertCacheStorage(errorString,
securityOrigin); | 427 OwnPtr<WebServiceWorkerCacheStorage> cache = assertCacheStorage(errorString,
securityOrigin); |
| 427 if (!cache) { | 428 if (!cache) { |
| 428 callback->sendFailure(*errorString); | 429 callback->sendFailure(*errorString); |
| 429 return; | 430 return; |
| 430 } | 431 } |
| 431 cache->dispatchKeys(new RequestCacheNames(securityOrigin, callback)); | 432 cache->dispatchKeys(new RequestCacheNames(securityOrigin, callback)); |
| 432 } | 433 } |
| 433 | 434 |
| 434 void InspectorCacheStorageAgent::requestEntries(ErrorString* errorString, const
String& cacheId, int skipCount, int pageSize, PassRefPtr<RequestEntriesCallback>
callback) | 435 void InspectorCacheStorageAgent::requestEntries(ErrorString* errorString, const
String& cacheId, int skipCount, int pageSize, PassOwnPtr<RequestEntriesCallback>
callback) |
| 435 { | 436 { |
| 436 String cacheName; | 437 String cacheName; |
| 437 OwnPtr<WebServiceWorkerCacheStorage> cache = assertCacheStorageAndNameForId(
errorString, cacheId, &cacheName); | 438 OwnPtr<WebServiceWorkerCacheStorage> cache = assertCacheStorageAndNameForId(
errorString, cacheId, &cacheName); |
| 438 if (!cache) { | 439 if (!cache) { |
| 439 callback->sendFailure(*errorString); | 440 callback->sendFailure(*errorString); |
| 440 return; | 441 return; |
| 441 } | 442 } |
| 442 DataRequestParams params; | 443 DataRequestParams params; |
| 443 params.cacheName = cacheName; | 444 params.cacheName = cacheName; |
| 444 params.pageSize = pageSize; | 445 params.pageSize = pageSize; |
| 445 params.skipCount = skipCount; | 446 params.skipCount = skipCount; |
| 446 cache->dispatchOpen(new GetCacheForRequestData(params, callback), WebString(
cacheName)); | 447 cache->dispatchOpen(new GetCacheForRequestData(params, callback), WebString(
cacheName)); |
| 447 } | 448 } |
| 448 | 449 |
| 449 void InspectorCacheStorageAgent::deleteCache(ErrorString* errorString, const Str
ing& cacheId, PassRefPtr<DeleteCacheCallback> callback) | 450 void InspectorCacheStorageAgent::deleteCache(ErrorString* errorString, const Str
ing& cacheId, PassOwnPtr<DeleteCacheCallback> callback) |
| 450 { | 451 { |
| 451 String cacheName; | 452 String cacheName; |
| 452 OwnPtr<WebServiceWorkerCacheStorage> cache = assertCacheStorageAndNameForId(
errorString, cacheId, &cacheName); | 453 OwnPtr<WebServiceWorkerCacheStorage> cache = assertCacheStorageAndNameForId(
errorString, cacheId, &cacheName); |
| 453 if (!cache) { | 454 if (!cache) { |
| 454 callback->sendFailure(*errorString); | 455 callback->sendFailure(*errorString); |
| 455 return; | 456 return; |
| 456 } | 457 } |
| 457 cache->dispatchDelete(new DeleteCache(callback), WebString(cacheName)); | 458 cache->dispatchDelete(new DeleteCache(callback), WebString(cacheName)); |
| 458 } | 459 } |
| 459 | 460 |
| 460 void InspectorCacheStorageAgent::deleteEntry(ErrorString* errorString, const Str
ing& cacheId, const String& request, PassRefPtr<DeleteEntryCallback> callback) | 461 void InspectorCacheStorageAgent::deleteEntry(ErrorString* errorString, const Str
ing& cacheId, const String& request, PassOwnPtr<DeleteEntryCallback> callback) |
| 461 { | 462 { |
| 462 String cacheName; | 463 String cacheName; |
| 463 OwnPtr<WebServiceWorkerCacheStorage> cache = assertCacheStorageAndNameForId(
errorString, cacheId, &cacheName); | 464 OwnPtr<WebServiceWorkerCacheStorage> cache = assertCacheStorageAndNameForId(
errorString, cacheId, &cacheName); |
| 464 if (!cache) { | 465 if (!cache) { |
| 465 callback->sendFailure(*errorString); | 466 callback->sendFailure(*errorString); |
| 466 return; | 467 return; |
| 467 } | 468 } |
| 468 cache->dispatchOpen(new GetCacheForDeleteEntry(request, cacheName, callback)
, WebString(cacheName)); | 469 cache->dispatchOpen(new GetCacheForDeleteEntry(request, cacheName, callback)
, WebString(cacheName)); |
| 469 } | 470 } |
| 470 | 471 |
| 471 | 472 |
| 472 } // namespace blink | 473 } // namespace blink |
| OLD | NEW |