blob: fb04e5b72cfea27264db89e226203741bc10d5d8 [file] [log] [blame]
// Copyright 2015 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 CONTENT_COMMON_CACHE_STORAGE_CACHE_STORAGE_TYPES_H_
#define CONTENT_COMMON_CACHE_STORAGE_CACHE_STORAGE_TYPES_H_
#include <map>
#include <string>
#include "base/strings/nullable_string16.h"
#include "content/common/content_export.h"
#include "content/common/service_worker/service_worker_types.h"
// This file is to have common definitions that are to be shared by
// browser and child process.
namespace content {
// Controls how requests are matched in the Cache API.
struct CONTENT_EXPORT CacheStorageCacheQueryParams {
CacheStorageCacheQueryParams();
bool ignore_search = false;
bool ignore_method = false;
bool ignore_vary = false;
base::NullableString16 cache_name;
};
// The type of a single batch operation in the Cache API.
enum CacheStorageCacheOperationType {
CACHE_STORAGE_CACHE_OPERATION_TYPE_UNDEFINED,
CACHE_STORAGE_CACHE_OPERATION_TYPE_PUT,
CACHE_STORAGE_CACHE_OPERATION_TYPE_DELETE,
CACHE_STORAGE_CACHE_OPERATION_TYPE_LAST =
CACHE_STORAGE_CACHE_OPERATION_TYPE_DELETE
};
// A single batch operation for the Cache API.
struct CONTENT_EXPORT CacheStorageBatchOperation {
CacheStorageBatchOperation();
CacheStorageBatchOperation(const CacheStorageBatchOperation& other);
CacheStorageCacheOperationType operation_type;
ServiceWorkerFetchRequest request;
ServiceWorkerResponse response;
CacheStorageCacheQueryParams match_params;
};
// This enum is used in histograms, so do not change the ordering and always
// append new types to the end.
enum CacheStorageError {
CACHE_STORAGE_OK = 0,
CACHE_STORAGE_ERROR_EXISTS,
CACHE_STORAGE_ERROR_STORAGE,
CACHE_STORAGE_ERROR_NOT_FOUND,
CACHE_STORAGE_ERROR_QUOTA_EXCEEDED,
CACHE_STORAGE_ERROR_CACHE_NAME_NOT_FOUND,
CACHE_STORAGE_ERROR_QUERY_TOO_LARGE,
CACHE_STORAGE_ERROR_LAST = CACHE_STORAGE_ERROR_QUERY_TOO_LARGE
};
} // namespace content
#endif // CONTENT_COMMON_CACHE_STORAGE_CACHE_STORAGE_TYPES_H_