| Index: LayoutTests/imported/web-platform-tests/IndexedDB/interfaces.html
 | 
| diff --git a/LayoutTests/imported/web-platform-tests/IndexedDB/interfaces.html b/LayoutTests/imported/web-platform-tests/IndexedDB/interfaces.html
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..e35277af83f68bfaf6c34970e2678f2611172824
 | 
| --- /dev/null
 | 
| +++ b/LayoutTests/imported/web-platform-tests/IndexedDB/interfaces.html
 | 
| @@ -0,0 +1,203 @@
 | 
| +<!doctype html>
 | 
| +<meta charset=utf-8>
 | 
| +<title>IndexedDB IDL tests</title>
 | 
| +<script src=../../../resources/testharness.js></script>
 | 
| +<script src=../../../resources/testharnessreport.js></script>
 | 
| +<script src=/resources/WebIDLParser.js></script>
 | 
| +<script src=/resources/idlharness.js></script>
 | 
| +<script src=support.js></script>
 | 
| +
 | 
| +<h1>IndexedDB IDL tests</h1>
 | 
| +<div id=log></div>
 | 
| +
 | 
| +<script type=text/plain>
 | 
| +enum IDBTransactionMode {
 | 
| +    "readonly",
 | 
| +    "readwrite",
 | 
| +    "versionchange"
 | 
| +};
 | 
| +
 | 
| +enum IDBRequestReadyState {
 | 
| +    "pending",
 | 
| +    "done"
 | 
| +};
 | 
| +
 | 
| +interface IDBKeyRange {
 | 
| +    readonly    attribute any     lower;
 | 
| +    readonly    attribute any     upper;
 | 
| +    readonly    attribute boolean lowerOpen;
 | 
| +    readonly    attribute boolean upperOpen;
 | 
| +    static IDBKeyRange only (any value);
 | 
| +    static IDBKeyRange lowerBound (any lower, optional boolean open = false);
 | 
| +    static IDBKeyRange upperBound (any upper, optional boolean open = false);
 | 
| +    static IDBKeyRange bound (any lower, any upper, optional boolean lowerOpen = false, optional boolean upperOpen = false);
 | 
| +};
 | 
| +
 | 
| +enum IDBCursorDirection {
 | 
| +    "next",
 | 
| +    "nextunique",
 | 
| +    "prev",
 | 
| +    "prevunique"
 | 
| +};
 | 
| +
 | 
| +dictionary IDBObjectStoreParameters {
 | 
| +    (DOMString or sequence<DOMString>)? keyPath = null;
 | 
| +    boolean                             autoIncrement = false;
 | 
| +};
 | 
| +
 | 
| +dictionary IDBIndexParameters {
 | 
| +    boolean unique = false;
 | 
| +    boolean multiEntry = false;
 | 
| +};
 | 
| +
 | 
| +dictionary IDBVersionChangeEventInit : EventInit {
 | 
| +    unsigned long long  oldVersion = 0;
 | 
| +    unsigned long long? newVersion = null;
 | 
| +};
 | 
| +
 | 
| +interface IDBRequest : EventTarget {
 | 
| +    readonly    attribute any                                        result;
 | 
| +    readonly    attribute DOMError                                   error;
 | 
| +    readonly    attribute (IDBObjectStore or IDBIndex or IDBCursor)? source;
 | 
| +    readonly    attribute IDBTransaction                             transaction;
 | 
| +    readonly    attribute IDBRequestReadyState                       readyState;
 | 
| +                attribute EventHandler                               onsuccess;
 | 
| +                attribute EventHandler                               onerror;
 | 
| +};
 | 
| +
 | 
| +interface IDBOpenDBRequest : IDBRequest {
 | 
| +                attribute EventHandler onblocked;
 | 
| +                attribute EventHandler onupgradeneeded;
 | 
| +};
 | 
| +
 | 
| +[Constructor(DOMString type, optional IDBVersionChangeEventInit eventInitDict)]
 | 
| +interface IDBVersionChangeEvent : Event {
 | 
| +    readonly    attribute unsigned long long  oldVersion;
 | 
| +    readonly    attribute unsigned long long? newVersion;
 | 
| +};
 | 
| +
 | 
| +Window implements IDBEnvironment;
 | 
| +WorkerUtils implements IDBEnvironment;
 | 
| +
 | 
| +[NoInterfaceObject]
 | 
| +interface IDBEnvironment {
 | 
| +    readonly    attribute IDBFactory indexedDB;
 | 
| +};
 | 
| +
 | 
| +interface IDBFactory {
 | 
| +    IDBOpenDBRequest open (DOMString name, [EnforceRange] optional unsigned long long version);
 | 
| +    IDBOpenDBRequest deleteDatabase (DOMString name);
 | 
| +    short            cmp (any first, any second);
 | 
| +};
 | 
| +
 | 
| +interface IDBDatabase : EventTarget {
 | 
| +    readonly    attribute DOMString          name;
 | 
| +    readonly    attribute unsigned long long version;
 | 
| +    readonly    attribute DOMStringList      objectStoreNames;
 | 
| +    IDBObjectStore createObjectStore (DOMString name, optional IDBObjectStoreParameters optionalParameters);
 | 
| +    void           deleteObjectStore (DOMString name);
 | 
| +    IDBTransaction transaction ((DOMString or sequence<DOMString>) storeNames, optional IDBTransactionMode mode = "readonly");
 | 
| +    void           close ();
 | 
| +                attribute EventHandler       onabort;
 | 
| +                attribute EventHandler       onerror;
 | 
| +                attribute EventHandler       onversionchange;
 | 
| +};
 | 
| +
 | 
| +interface IDBObjectStore {
 | 
| +    readonly    attribute DOMString      name;
 | 
| +    readonly    attribute any            keyPath;
 | 
| +    readonly    attribute DOMStringList  indexNames;
 | 
| +    readonly    attribute IDBTransaction transaction;
 | 
| +    readonly    attribute boolean        autoIncrement;
 | 
| +    IDBRequest put (any value, optional any key);
 | 
| +    IDBRequest add (any value, optional any key);
 | 
| +    IDBRequest delete (any key);
 | 
| +    IDBRequest get (any key);
 | 
| +    IDBRequest clear ();
 | 
| +    IDBRequest openCursor (optional any range, optional IDBCursorDirection direction = "next");
 | 
| +    IDBIndex   createIndex (DOMString name, (DOMString or sequence<DOMString>) keyPath, optional IDBIndexParameters optionalParameters);
 | 
| +    IDBIndex   index (DOMString name);
 | 
| +    void       deleteIndex (DOMString indexName);
 | 
| +    IDBRequest count (optional any key);
 | 
| +};
 | 
| +
 | 
| +interface IDBIndex {
 | 
| +    readonly    attribute DOMString      name;
 | 
| +    readonly    attribute IDBObjectStore objectStore;
 | 
| +    readonly    attribute any            keyPath;
 | 
| +    readonly    attribute boolean        multiEntry;
 | 
| +    readonly    attribute boolean        unique;
 | 
| +    IDBRequest openCursor (optional any range, optional IDBCursorDirection direction = "next");
 | 
| +    IDBRequest openKeyCursor (optional any range, optional IDBCursorDirection direction = "next");
 | 
| +    IDBRequest get (any key);
 | 
| +    IDBRequest getKey (any key);
 | 
| +    IDBRequest count (optional any key);
 | 
| +};
 | 
| +
 | 
| +interface IDBCursor {
 | 
| +    readonly    attribute (IDBObjectStore or IDBIndex) source;
 | 
| +    readonly    attribute IDBCursorDirection           direction;
 | 
| +    readonly    attribute any                          key;
 | 
| +    readonly    attribute any                          primaryKey;
 | 
| +    IDBRequest update (any value);
 | 
| +    void       advance ([EnforceRange] unsigned long count);
 | 
| +    void       continue (optional any key);
 | 
| +    IDBRequest delete ();
 | 
| +};
 | 
| +
 | 
| +interface IDBCursorWithValue : IDBCursor {
 | 
| +    readonly    attribute any value;
 | 
| +};
 | 
| +
 | 
| +interface IDBTransaction : EventTarget {
 | 
| +    readonly    attribute IDBTransactionMode mode;
 | 
| +    readonly    attribute IDBDatabase        db;
 | 
| +    readonly    attribute DOMError           error;
 | 
| +    IDBObjectStore objectStore (DOMString name);
 | 
| +    void           abort ();
 | 
| +                attribute EventHandler       onabort;
 | 
| +                attribute EventHandler       oncomplete;
 | 
| +                attribute EventHandler       onerror;
 | 
| +};
 | 
| +</script>
 | 
| +
 | 
| +<script type="text/plain" class="untested">
 | 
| +interface Window { };
 | 
| +
 | 
| +interface WorkerUtils { };
 | 
| +
 | 
| +interface EventTarget { };
 | 
| +</script>
 | 
| +
 | 
| +<script>
 | 
| +"use strict";
 | 
| +setup(function() {
 | 
| +  var idlArray = new IdlArray();
 | 
| +
 | 
| +  [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) {
 | 
| +    if (node.className == "untested") {
 | 
| +       idlArray.add_untested_idls(node.textContent);
 | 
| +    } else {
 | 
| +       idlArray.add_idls(node.textContent);
 | 
| +    }
 | 
| +  });
 | 
| +
 | 
| +  idlArray.add_objects({
 | 
| +    IDBKeyRange: [],
 | 
| +    IDBRequest: [],
 | 
| +    IDBOpenDBRequest: [],
 | 
| +    IDBEnvironment: [],
 | 
| +    IDBVersionChangeEvent: ['new IDBVersionChangeEvent("foo")'],
 | 
| +    IDBFactory: ['window.indexedDB'],
 | 
| +    IDBDatabase: [],
 | 
| +    IDBObjectStore: [],
 | 
| +    IDBIndex: [],
 | 
| +    IDBCursor: [],
 | 
| +    IDBCursorWithValue: [],
 | 
| +    IDBTransaction: []
 | 
| +  });
 | 
| +
 | 
| +  idlArray.test();
 | 
| +});
 | 
| +</script>
 | 
| +
 | 
| 
 |