| Index: public/platform/WebServiceWorkerCache.h
|
| diff --git a/public/platform/WebServiceWorkerCache.h b/public/platform/WebServiceWorkerCache.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..285cf4f85e55e0c49452638d53c60859d1195256
|
| --- /dev/null
|
| +++ b/public/platform/WebServiceWorkerCache.h
|
| @@ -0,0 +1,68 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef WebServiceWorkerCache_h
|
| +#define WebServiceWorkerCache_h
|
| +
|
| +#include "public/platform/WebCallbacks.h"
|
| +#include "public/platform/WebCommon.h"
|
| +#include "public/platform/WebServiceWorkerCacheError.h"
|
| +#include "public/platform/WebServiceWorkerRequest.h"
|
| +#include "public/platform/WebServiceWorkerResponse.h"
|
| +#include "public/platform/WebString.h"
|
| +#include "public/platform/WebVector.h"
|
| +
|
| +namespace blink {
|
| +
|
| +// The Service Worker Cache API. The embedder provides the implementation of the Cache to Blink. Blink uses the interface
|
| +// to operate on entries.
|
| +// This object is owned by Blink, and should be destroyed as each Cache instance is no longer in use.
|
| +class WebServiceWorkerCache {
|
| +public:
|
| + typedef WebCallbacks<WebServiceWorkerResponse, WebServiceWorkerCacheError> CacheMatchCallbacks;
|
| + typedef WebCallbacks<WebVector<WebServiceWorkerResponse>, WebServiceWorkerCacheError> CacheWithResponsesCallbacks;
|
| + typedef WebCallbacks<WebVector<WebServiceWorkerRequest>, WebServiceWorkerCacheError> CacheWithRequestsCallbacks;
|
| +
|
| + virtual ~WebServiceWorkerCache() { }
|
| +
|
| + // Options that affect the scope of searches.
|
| + struct QueryParams {
|
| + QueryParams() : ignoreSearch(false), ignoreMethod(false), ignoreVary(false), prefixMatch(false) { }
|
| +
|
| + bool ignoreSearch;
|
| + bool ignoreMethod;
|
| + bool ignoreVary;
|
| + bool prefixMatch;
|
| + WebString cacheName;
|
| + };
|
| +
|
| + enum OperationType {
|
| + OperationTypeUndefined,
|
| + OperationTypePut,
|
| + OperationTypeDelete,
|
| + OperationTypeLast = OperationTypeDelete
|
| + };
|
| +
|
| + struct BatchOperation {
|
| + BatchOperation() : operationType(OperationTypeUndefined) { }
|
| +
|
| + OperationType operationType;
|
| + WebServiceWorkerRequest request;
|
| + WebServiceWorkerResponse response;
|
| + QueryParams matchParams;
|
| + };
|
| +
|
| + WebServiceWorkerCache() { }
|
| +
|
| + // Ownership of the Cache*Callbacks methods passes to the WebServiceWorkerCache instance, which will delete it after
|
| + // calling onSuccess or onFailure.
|
| + virtual void dispatchMatch(CacheMatchCallbacks*, const WebServiceWorkerRequest&, const QueryParams&) = 0;
|
| + virtual void dispatchMatchAll(CacheWithResponsesCallbacks*, const WebServiceWorkerRequest&, const QueryParams&) = 0;
|
| + virtual void dispatchKeys(CacheWithRequestsCallbacks*, const WebServiceWorkerRequest*, const QueryParams&) = 0;
|
| + virtual void dispatchBatch(CacheWithResponsesCallbacks*, const WebVector<BatchOperation>&) = 0;
|
| +};
|
| +
|
| +} // namespace blink
|
| +
|
| +#endif // WebServiceWorkerCache_h
|
|
|