| <!DOCTYPE html> |
| <html> |
| <title>Service Workers: CacheStorage</title> |
| <head> |
| <link rel="help" href="https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#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); |
| </pre> |
| |
| <!-- |
| **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 {}; |
| </pre> |
| |
| <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> |
| |