Revision 6668ff3716086d3f8efead0f5db2d8d2864c3563 authored by Robert Ma on 21 March 2018, 17:35:46 UTC, committed by Robert Ma on 21 March 2018, 17:35:46 UTC
1. Check the HTTP port of wptserve instead of HTTPS to avoid the
   unnecessary complexities of setting up SSL context (which may fail in
   some environments).
2. Use exponential backoff when waiting for wptserve and specify a
   maximum retry to avoid indefinite hang.
3. Use `terminate` instead of `kill` to give wptserve a chance to clean
   up, which is especially useful when running locally.
1 parent dbb38a6
Raw File
stub-4.6.3-cache-storage.html
<!DOCTYPE html>
<html>
<title>Service Workers: CacheStorage</title>
    <head>
        <link rel="help" href="https://w3c.github.io/ServiceWorker/#cache-storage">
        <script src="/resources/testharness.js"></script>
        <script src="/resources/testharnessreport.js"></script>

        <script src=/resources/WebIDLParser.js></script>
        <script src=/resources/idlharness.js></script>

    </head>
    <body>

<script type=text/plain id="idl_0">
[Constructor(sequence<any> iterable)]
interface CacheStorage {
  Promise<any> match(ScalarValueString url, optional DOMString cacheName);
  Promise<Cache> get(DOMString key);
  Promise<boolean> has(DOMString key);
  Promise<any> set(DOMString key, Cache val);
  Promise<any> clear();
  Promise<any> delete(DOMString key);
  void forEach(CacheStorageIterationCallback callback, optional object thisArg);
  Promise<sequence<any>> entries();
  Promise<sequence<DOMString>> keys();
  Promise<sequence<Cache>> values();
  Promise<unsigned long> size();
};

callback CacheStorageIterationCallback = void (Cache value, DOMString key, CacheStorage map);
</script>

<!--
**Note**:[CacheStorage][1]interface is designed to largely conform
to[ECMAScript 6 Map objects][2]but entirely async, and with additional
convenience methods.

[1]: #cache-storage-interface
[2]: http://goo.gl/gNnDPO
-->


    <script type=text/plain id="untested_idls">
        interface ScalarValueString {};
        interface Cache {};
    </script>

    <script>
        var idl_array = new IdlArray();
        idl_array.add_untested_idls(document.getElementById("untested_idls").textContent);
        idl_array.add_idls(document.getElementById("idl_0").textContent);
        idl_array.add_objects({
            CacheStorage: ["throw new Error ('No object defined for the CacheStorage interface')"],
            CacheStorageIterationCallback: ["throw new Error ('No object defined for the CacheStorageIterationCallback callback')"]
        });
        idl_array.test();
    </script>

    </body>
</html>

back to top