Web Inspector: [InspectorIndexedDB] Add tests for database names and database structu...
authorvsevik@chromium.org <vsevik@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Feb 2012 12:02:47 +0000 (12:02 +0000)
committervsevik@chromium.org <vsevik@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 1 Feb 2012 12:02:47 +0000 (12:02 +0000)
https://bugs.webkit.org/show_bug.cgi?id=77439

Reviewed by Pavel Feldman.

Source/WebCore:

Tests: http/tests/inspector/indexeddb/database-names.html
       http/tests/inspector/indexeddb/database-structure.html

* inspector/front-end/IndexedDBModel.js:
(WebInspector.IndexedDBModel.prototype.refreshDatabase):

LayoutTests:

* http/tests/inspector/indexeddb/database-names-expected.txt: Added.
* http/tests/inspector/indexeddb/database-names.html: Added.
* http/tests/inspector/indexeddb/database-structure-expected.txt: Added.
* http/tests/inspector/indexeddb/database-structure.html: Added.
* http/tests/inspector/indexeddb/indexeddb-test.js: Added.
* platform/gtk/Skipped:
* platform/mac-leopard/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106463 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 files changed:
LayoutTests/ChangeLog
LayoutTests/http/tests/inspector/indexeddb/database-names-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/inspector/indexeddb/database-names.html [new file with mode: 0644]
LayoutTests/http/tests/inspector/indexeddb/database-structure-expected.txt [new file with mode: 0644]
LayoutTests/http/tests/inspector/indexeddb/database-structure.html [new file with mode: 0644]
LayoutTests/http/tests/inspector/indexeddb/indexeddb-test.js [new file with mode: 0644]
LayoutTests/platform/gtk/Skipped
LayoutTests/platform/mac-leopard/Skipped
LayoutTests/platform/mac-snowleopard/Skipped
LayoutTests/platform/mac/Skipped
LayoutTests/platform/qt/Skipped
LayoutTests/platform/win/Skipped
Source/WebCore/ChangeLog
Source/WebCore/inspector/front-end/IndexedDBModel.js

index f78c3b1..6c9d0af 100644 (file)
@@ -1,3 +1,22 @@
+2012-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
+
+        Web Inspector: [InspectorIndexedDB] Add tests for database names and database structure requests.
+        https://bugs.webkit.org/show_bug.cgi?id=77439
+
+        Reviewed by Pavel Feldman.
+
+        * http/tests/inspector/indexeddb/database-names-expected.txt: Added.
+        * http/tests/inspector/indexeddb/database-names.html: Added.
+        * http/tests/inspector/indexeddb/database-structure-expected.txt: Added.
+        * http/tests/inspector/indexeddb/database-structure.html: Added.
+        * http/tests/inspector/indexeddb/indexeddb-test.js: Added.
+        * platform/gtk/Skipped:
+        * platform/mac-leopard/Skipped:
+        * platform/mac-snowleopard/Skipped:
+        * platform/mac/Skipped:
+        * platform/qt/Skipped:
+        * platform/win/Skipped:
+
 2012-02-01  Shawn Singh  <shawnsingh@chromium.org>
 
         Fix the semantics of passing contentsVisible flag to GraphicsLayers
diff --git a/LayoutTests/http/tests/inspector/indexeddb/database-names-expected.txt b/LayoutTests/http/tests/inspector/indexeddb/database-names-expected.txt
new file mode 100644 (file)
index 0000000..0fb344d
--- /dev/null
@@ -0,0 +1,19 @@
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback1
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback2
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback3
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback4
+Tests that database names are correctly loaded and saved in IndexedDBModel.
+
+Dumping database names:
+Dumping database names:
+    testDatabase1
+
+Dumping database names:
+    testDatabase1
+    testDatabase2
+
+Dumping database names:
+    testDatabase1
+
+Dumping database names:
+
diff --git a/LayoutTests/http/tests/inspector/indexeddb/database-names.html b/LayoutTests/http/tests/inspector/indexeddb/database-names.html
new file mode 100644 (file)
index 0000000..1b6d2af
--- /dev/null
@@ -0,0 +1,86 @@
+<html>
+<head>
+<script src="../inspector-test.js"></script>
+<script src="indexeddb-test.js"></script>
+<script>
+function test()
+{
+    var indexedDBModel = new WebInspector.IndexedDBModel();
+    var mainFrameId = WebInspector.resourceTreeModel.mainFrame.id;
+
+    function dumpDatabaseNames()
+    {
+        InspectorTest.addResult("Dumping database names:");
+        var frame = indexedDBModel._frames[mainFrameId];
+        if (!frame)
+            return;
+
+        var securityOrigin = frame.securityOrigin;
+        var names = indexedDBModel._databaseNamesBySecurityOrigin[securityOrigin];
+        for (var i = 0; i < names.length; ++i)
+            InspectorTest.addResult("    " + names[i]);
+        InspectorTest.addResult("");
+    }
+
+    InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseNamesLoaded", step2, false);
+
+    function step2()
+    {
+        dumpDatabaseNames();
+        InspectorTest.createDatabase(mainFrameId, "testDatabase1", step3);
+    }
+
+    function step3()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseNamesLoaded", step4, false);
+        indexedDBModel.refreshDatabaseNames();
+    }
+
+    function step4()
+    {
+        dumpDatabaseNames();
+        InspectorTest.createDatabase(mainFrameId, "testDatabase2", step5);
+    }
+
+    function step5()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseNamesLoaded", step6, false);
+        indexedDBModel.refreshDatabaseNames();
+    }
+
+    function step6()
+    {
+        dumpDatabaseNames();
+        InspectorTest.deleteDatabase(mainFrameId, "testDatabase2", step7);
+    }
+
+    function step7()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseNamesLoaded", step8, false);
+        indexedDBModel.refreshDatabaseNames();
+    }
+
+    function step8()
+    {
+        dumpDatabaseNames();
+        InspectorTest.deleteDatabase(mainFrameId, "testDatabase1", step9);
+    }
+
+    function step9()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseNamesLoaded", step10, false);
+        indexedDBModel.refreshDatabaseNames();
+    }
+
+    function step10()
+    {
+        dumpDatabaseNames();
+        InspectorTest.completeTest();
+    }
+}
+</script>
+</head>
+<body onload="runTest()">
+<p>Tests that database names are correctly loaded and saved in IndexedDBModel.</p>
+</body>
+</html>
diff --git a/LayoutTests/http/tests/inspector/indexeddb/database-structure-expected.txt b/LayoutTests/http/tests/inspector/indexeddb/database-structure-expected.txt
new file mode 100644 (file)
index 0000000..0285ac4
--- /dev/null
@@ -0,0 +1,111 @@
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback1
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback2
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback3
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback4
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback5
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback6
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback7
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback8
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback9
+CONSOLE MESSAGE: line 77: InspectorTest.IndexedDB_callback10
+Tests that database names are correctly loaded and saved in IndexedDBModel.
+
+Dumping database:
+Dumping database:
+testDatabase1
+    version: 
+    objectStores:
+
+Dumping database:
+testDatabase1
+    version: 1
+    objectStores:
+    testObjectStore1
+        keyPath: test.key.path
+        indexes: 
+
+Dumping database:
+testDatabase1
+    version: 2
+    objectStores:
+    testObjectStore1
+        keyPath: test.key.path
+        indexes: 
+    testObjectStore2
+        keyPath: 
+        indexes: 
+
+Dumping database:
+testDatabase1
+    version: 3
+    objectStores:
+    testObjectStore1
+        keyPath: test.key.path
+        indexes: 
+    testObjectStore2
+        keyPath: 
+        indexes: 
+        testIndexName1
+            keyPath: key.path1
+            unique: false
+            multiEntry: true
+
+Dumping database:
+testDatabase1
+    version: 4
+    objectStores:
+    testObjectStore1
+        keyPath: test.key.path
+        indexes: 
+    testObjectStore2
+        keyPath: 
+        indexes: 
+        testIndexName1
+            keyPath: key.path1
+            unique: false
+            multiEntry: true
+        testIndexName2
+            keyPath: key.path2
+            unique: true
+            multiEntry: false
+
+Dumping database:
+testDatabase1
+    version: 5
+    objectStores:
+    testObjectStore1
+        keyPath: test.key.path
+        indexes: 
+    testObjectStore2
+        keyPath: 
+        indexes: 
+        testIndexName1
+            keyPath: key.path1
+            unique: false
+            multiEntry: true
+
+Dumping database:
+testDatabase1
+    version: 6
+    objectStores:
+    testObjectStore1
+        keyPath: test.key.path
+        indexes: 
+    testObjectStore2
+        keyPath: 
+        indexes: 
+
+Dumping database:
+testDatabase1
+    version: 7
+    objectStores:
+    testObjectStore1
+        keyPath: test.key.path
+        indexes: 
+
+Dumping database:
+testDatabase1
+    version: 8
+    objectStores:
+
+
diff --git a/LayoutTests/http/tests/inspector/indexeddb/database-structure.html b/LayoutTests/http/tests/inspector/indexeddb/database-structure.html
new file mode 100644 (file)
index 0000000..cda588a
--- /dev/null
@@ -0,0 +1,189 @@
+<html>
+<head>
+<script src="../inspector-test.js"></script>
+<script src="indexeddb-test.js"></script>
+<script>
+function test()
+{
+    var indexedDBModel = new WebInspector.IndexedDBModel();
+    var mainFrameId = WebInspector.resourceTreeModel.mainFrame.id;
+    var databaseName = "testDatabase1";
+
+    function dumpDatabase()
+    {
+        InspectorTest.addResult("Dumping database:");
+        var frame = indexedDBModel._frames[mainFrameId];
+        if (!frame)
+            return;
+        var database = frame.databases[databaseName];
+        if (!database)
+            return;
+        InspectorTest.addResult(database.name);
+        InspectorTest.addResult("    version: " + database.version);
+        InspectorTest.addResult("    objectStores:");
+        var objectStoreNames = [];
+        for (var objectStoreName in database.objectStores)
+            objectStoreNames.push(objectStoreName);
+        objectStoreNames.sort();
+        for (var i = 0; i < objectStoreNames.length; ++i) {
+            var objectStore = database.objectStores[objectStoreNames[i]];
+            InspectorTest.addResult("    " + objectStore.name);
+            InspectorTest.addResult("        keyPath: " + objectStore.keyPath);
+            InspectorTest.addResult("        indexes: ");
+            var indexNames = [];
+            for (var indexName in objectStore.indexes)
+                indexNames.push(indexName);
+            indexNames.sort();
+            for (var j = 0; j < indexNames.length; ++j) {
+                var index = objectStore.indexes[indexNames[j]];
+                InspectorTest.addResult("        " + index.name);
+                InspectorTest.addResult("            keyPath: " + index.keyPath);
+                InspectorTest.addResult("            unique: " + index.unique);
+                InspectorTest.addResult("            multiEntry: " + index.multiEntry);
+            }
+        }
+        InspectorTest.addResult("");
+    }
+
+    InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseNamesLoaded", step2, false);
+
+    function step2()
+    {
+        InspectorTest.createDatabase(mainFrameId, databaseName, step3);
+    }
+
+    function step3()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseNamesLoaded", step4, false);
+        indexedDBModel.refreshDatabaseNames();
+    }
+
+    function step4()
+    {
+        dumpDatabase();
+
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseLoaded", step5, false);
+        indexedDBModel.refreshDatabase(mainFrameId, databaseName);
+    }
+
+    function step5()
+    {
+        dumpDatabase();
+
+        InspectorTest.createObjectStore(mainFrameId, databaseName, "testObjectStore1", "test.key.path", true, step6);
+    }
+
+    function step6()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseLoaded", step7, false);
+        indexedDBModel.refreshDatabase(mainFrameId, databaseName);
+    }
+
+    function step7()
+    {
+        dumpDatabase();
+
+        InspectorTest.createObjectStore(mainFrameId, databaseName, "testObjectStore2", "", false, step8);
+    }
+
+    function step8()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseLoaded", step9, false);
+        indexedDBModel.refreshDatabase(mainFrameId, databaseName);
+    }
+
+    function step9()
+    {
+        dumpDatabase();
+
+        InspectorTest.createObjectStoreIndex(mainFrameId, databaseName, "testObjectStore2", "testIndexName1", "key.path1", false, true, step10);
+    }
+
+    function step10()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseLoaded", step11, false);
+        indexedDBModel.refreshDatabase(mainFrameId, databaseName);
+    }
+
+    function step11()
+    {
+        dumpDatabase();
+
+        InspectorTest.createObjectStoreIndex(mainFrameId, databaseName, "testObjectStore2", "testIndexName2", "key.path2", true, false, step12);
+    }
+
+    function step12()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseLoaded", step13, false);
+        indexedDBModel.refreshDatabase(mainFrameId, databaseName);
+    }
+
+    function step13()
+    {
+        dumpDatabase();
+
+        InspectorTest.deleteObjectStoreIndex(mainFrameId, databaseName, "testObjectStore2", "testIndexName2", step14);
+    }
+
+    function step14()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseLoaded", step15, false);
+        indexedDBModel.refreshDatabase(mainFrameId, databaseName);
+    }
+
+    function step15()
+    {
+        dumpDatabase();
+
+        InspectorTest.deleteObjectStoreIndex(mainFrameId, databaseName, "testObjectStore2", "testIndexName1", step16);
+    }
+
+    function step16()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseLoaded", step17, false);
+        indexedDBModel.refreshDatabase(mainFrameId, databaseName);
+    }
+
+    function step17()
+    {
+        dumpDatabase();
+
+        InspectorTest.deleteObjectStore(mainFrameId, databaseName, "testObjectStore2", step18);
+    }
+
+    function step18()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseLoaded", step19, false);
+        indexedDBModel.refreshDatabase(mainFrameId, databaseName);
+    }
+
+    function step19()
+    {
+        dumpDatabase();
+
+        InspectorTest.deleteObjectStore(mainFrameId, databaseName, "testObjectStore1", step20);
+    }
+
+    function step20()
+    {
+        InspectorTest.addSniffer(WebInspector.IndexedDBDispatcher.prototype, "databaseLoaded", step21, false);
+        indexedDBModel.refreshDatabase(mainFrameId, databaseName);
+    }
+
+    function step21()
+    {
+        dumpDatabase();
+        InspectorTest.deleteDatabase(mainFrameId, databaseName, step22);
+    }
+
+    function step22()
+    {
+        InspectorTest.completeTest();
+    }
+}
+</script>
+</head>
+<body onload="runTest()">
+<p>Tests that database names are correctly loaded and saved in IndexedDBModel.</p>
+</body>
+</html>
diff --git a/LayoutTests/http/tests/inspector/indexeddb/indexeddb-test.js b/LayoutTests/http/tests/inspector/indexeddb/indexeddb-test.js
new file mode 100644 (file)
index 0000000..0285a0e
--- /dev/null
@@ -0,0 +1,180 @@
+var initialize_IndexedDBTest = function() {
+
+var snifferInstalled = false;
+var lastCallbackId = 0;
+var callbacks = {};
+var callbackIdPrefix = "InspectorTest.IndexedDB_callback";
+InspectorTest.evaluateWithCallback = function(frameId, methodName, parameters, callback)
+{
+    if (!snifferInstalled)
+        InspectorTest._installIndexedDBSniffer();
+    var callbackId = ++lastCallbackId;
+    callbacks[callbackId] = callback;
+    var parametersString = "\"" + callbackIdPrefix + callbackId + "\"";
+    for (var i = 0; i < parameters.length; ++i) {
+        if (typeof(parameters[i]) === "string")
+            parametersString += ", \"" + parameters[i] + "\"";
+        else if ((typeof(parameters[i]) === "number") || (typeof(parameters[i]) === "boolean"))
+            parametersString += ", " + parameters[i];
+    }
+
+    var requestString = methodName + "(" + parametersString + ")";
+    InspectorTest.evaluateInPage(requestString);
+};
+
+InspectorTest._installIndexedDBSniffer = function()
+{
+    snifferInstalled = true;
+    InspectorTest.addConsoleSniffer(consoleMessageOverride, true);
+
+    function consoleMessageOverride(msg)
+    {
+        var text = msg._messageText;
+        if (text.indexOf(callbackIdPrefix) !== 0)
+            return;
+        var callbackId = text.substring(callbackIdPrefix.length);
+        callbacks[callbackId].call();
+        delete callbacks[callbackId];
+    }
+};
+
+InspectorTest.createDatabase = function(frameId, databaseName, callback)
+{
+    InspectorTest.evaluateWithCallback(frameId, "createDatabase", [databaseName], callback)
+};
+
+InspectorTest.deleteDatabase = function(frameId, databaseName, callback)
+{
+    InspectorTest.evaluateWithCallback(frameId, "deleteDatabase", [databaseName], callback)
+};
+
+InspectorTest.createObjectStore = function(frameId, databaseName, objectStoreName, keyPath, autoIncrement, callback)
+{
+    InspectorTest.evaluateWithCallback(frameId, "createObjectStore", [databaseName, objectStoreName, keyPath, autoIncrement], callback)
+};
+
+InspectorTest.deleteObjectStore = function(frameId, databaseName, objectStoreName, callback)
+{
+    InspectorTest.evaluateWithCallback(frameId, "deleteObjectStore", [databaseName, objectStoreName], callback)
+};
+
+InspectorTest.createObjectStoreIndex = function(frameId, databaseName, objectStoreName, objectStoreIndexName, keyPath, unique, multiEntry, callback)
+{
+    InspectorTest.evaluateWithCallback(frameId, "createObjectStoreIndex", [databaseName, objectStoreName, objectStoreIndexName, keyPath, unique, multiEntry], callback)
+};
+
+InspectorTest.deleteObjectStoreIndex = function(frameId, databaseName, objectStoreName, objectStoreIndexName, callback)
+{
+    InspectorTest.evaluateWithCallback(frameId, "deleteObjectStoreIndex", [databaseName, objectStoreName, objectStoreIndexName], callback)
+};
+
+};
+
+var indexedDB = window.indexeddb || window.webkitIndexedDB;
+
+function dispatchCallback(callbackId)
+{
+    console.log(callbackId);
+}
+
+function onIndexedDBError(e)
+{
+    console.log(e);
+}
+
+function doWithDatabase(databaseName, callback)
+{
+    function innerCallback()
+    {
+        var db = request.result;
+        callback(db);
+    }
+
+    var request = indexedDB.open(databaseName);
+    request.onblocked = onIndexedDBError;
+    request.onerror = onIndexedDBError;
+    request.onsuccess = innerCallback;
+}
+
+function doWithVersionTransaction(databaseName, callback, commitCallback)
+{
+    doWithDatabase(databaseName, step2);
+
+    function step2(db)
+    {
+        var request = db.setVersion(Number(db.version) + 1);
+        request.onblocked = onIndexedDBError;
+        request.onerror = onIndexedDBError;
+        request.onsuccess = step3;
+
+        function step3()
+        {
+            callback(db, request.result);
+            db.close();
+            commitCallback();
+        }
+    }
+}
+
+function createDatabase(callbackId, databaseName)
+{
+    var request = indexedDB.open(databaseName, 0);
+    request.onerror = onIndexedDBError;
+    request.onsuccess = closeDatabase;
+
+    function closeDatabase()
+    {
+        request.result.close();
+        dispatchCallback(callbackId);
+    }
+}
+
+function deleteDatabase(callbackId, databaseName)
+{
+    var request = indexedDB.deleteDatabase(databaseName);
+    request.onerror = onIndexedDBError;
+    request.onsuccess = dispatchCallback.bind(this, callbackId);
+}
+
+function createObjectStore(callbackId, databaseName, objectStoreName, keyPath, autoIncrement)
+{
+    doWithVersionTransaction(databaseName, withTransactionCallback, dispatchCallback.bind(this, callbackId));
+
+    function withTransactionCallback(db, transaction)
+    {
+        var store = db.createObjectStore(objectStoreName, { keyPath: keyPath, autoIncrement: autoIncrement });
+    }
+}
+
+function deleteObjectStore(callbackId, databaseName, objectStoreName)
+{
+    doWithVersionTransaction(databaseName, withTransactionCallback, dispatchCallback.bind(this, callbackId));
+
+    function withTransactionCallback(db, transaction)
+    {
+        var store = db.deleteObjectStore(objectStoreName);
+    }
+}
+
+function createObjectStoreIndex(callbackId, databaseName, objectStoreName, objectStoreIndexName, keyPath, unique, multiEntry)
+{
+    doWithVersionTransaction(databaseName, withTransactionCallback, dispatchCallback.bind(this, callbackId));
+
+    function withTransactionCallback(db, transaction)
+    {
+        var objectStore = transaction.objectStore(objectStoreName);
+        objectStore.createIndex(objectStoreIndexName, keyPath, { unique: unique, multiEntry: multiEntry });
+    }
+}
+
+function deleteObjectStoreIndex(callbackId, databaseName, objectStoreName, objectStoreIndexName)
+{
+    doWithVersionTransaction(databaseName, withTransactionCallback, dispatchCallback.bind(this, callbackId));
+
+    function withTransactionCallback(db, transaction)
+    {
+        var objectStore = transaction.objectStore(objectStoreName);
+        objectStore.deleteIndex(objectStoreIndexName);
+    }
+}
+
index 6e874e9..feb7527 100644 (file)
@@ -232,6 +232,7 @@ fast/events/touch
 
 # IndexedDB is not yet enabled.
 storage/indexeddb
+http/tests/inspector/indexeddb
 
 # StorageTracker is not enabled.
 storage/domstorage/localstorage/storagetracker
index 629b3dc..52b0b92 100644 (file)
@@ -80,6 +80,7 @@ http/tests/media/video-play-stall-seek.html
 
 # IndexedDB is not yet enabled.
 storage/indexeddb
+http/tests/inspector/indexeddb
 
 # Disable the tests until the mesa renderer is integrated.
 # https://bugs.webkit.org/show_bug.cgi?id=41545
index 2092087..f4c44c6 100644 (file)
@@ -130,6 +130,7 @@ fast/repaint/fixed-move-after-keyboard-scroll.html
 
 # IndexedDB is not yet enabled.
 storage/indexeddb
+http/tests/inspector/indexeddb
 
 # Philip's canvas tests that fail on SnowLeopard only
 canvas/philip/tests/2d.gradient.interpolate.overlap.html
index 46811a7..7a93695 100644 (file)
@@ -169,6 +169,7 @@ canvas/philip/tests/2d.drawImage.outsidesource.html
 
 # IndexedDB is not yet enabled.
 storage/indexeddb
+http/tests/inspector/indexeddb
 
 # This port doesn't support DeviceMotion or DeviceOrientation.
 fast/dom/DeviceMotion
index 63892d3..a67b73b 100644 (file)
@@ -97,6 +97,7 @@ fast/forms/file/input-file-directory-upload.html
 
 # ENABLE(INDEXED_DATABASE) is disabled.
 storage/indexeddb
+http/tests/inspector/indexeddb
 
 inspector/timeline/timeline-animation-frame.html
 
index acc2243..3e03de9 100644 (file)
@@ -1051,6 +1051,7 @@ editing/spelling/spellcheck-paste.html
 
 # IndexedDB is not yet enabled.
 storage/indexeddb
+http/tests/inspector/indexeddb
 
 # StorageTracker is not enabled.
 storage/domstorage/localstorage/storagetracker
index 2270b37..8139b6c 100644 (file)
@@ -1,3 +1,16 @@
+2012-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
+
+        Web Inspector: [InspectorIndexedDB] Add tests for database names and database structure requests.
+        https://bugs.webkit.org/show_bug.cgi?id=77439
+
+        Reviewed by Pavel Feldman.
+
+        Tests: http/tests/inspector/indexeddb/database-names.html
+               http/tests/inspector/indexeddb/database-structure.html
+
+        * inspector/front-end/IndexedDBModel.js:
+        (WebInspector.IndexedDBModel.prototype.refreshDatabase):
+
 2012-01-31  Vsevolod Vlasov  <vsevik@chromium.org>
 
         Web Inspector: Scripts navigator becomes empty after "show folders" settings change.
index 4bfe96b..75716d2 100644 (file)
@@ -53,6 +53,11 @@ WebInspector.IndexedDBModel.prototype = {
         this._framesNavigatedRecursively(WebInspector.resourceTreeModel.mainFrame);
     },
     
+    refreshDatabase: function(frameId, databaseName)
+    {
+        this._loadDatabase(frameId, databaseName);
+    },
+    
     /**
      * @param {WebInspector.ResourceTreeFrame} resourceTreeFrame
      */