chromium/third_party/blink/renderer/modules/cache_storage/cache_storage.idl

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://w3c.github.io/ServiceWorker/#cachestorage-interface
[
    ActiveScriptWrappable,
    SecureContext,
    Exposed=(Window,Worker)
] interface CacheStorage {
  [CallWith=ScriptState, MeasureAs=CacheStorageRead, RaisesException]
  Promise<Response> match(RequestInfo request,
                     optional MultiCacheQueryOptions options = {});

  [CallWith=ScriptState, MeasureAs=CacheStorageRead, RaisesException]
  Promise<boolean> has(DOMString cacheName);

  [CallWith=ScriptState, RaisesException] Promise<Cache> open(DOMString cacheName);

  [CallWith=ScriptState, MeasureAs=CacheStorageWrite, ImplementedAs=Delete, RaisesException]
  Promise<boolean> delete(DOMString cacheName);

  [CallWith=ScriptState, MeasureAs=CacheStorageRead, RaisesException]
  Promise<sequence<DOMString>> keys();
};