Title: [144559] trunk
Revision
144559
Author
[email protected]
Date
2013-03-02 23:13:29 -0800 (Sat, 02 Mar 2013)

Log Message

REGRESSION (r144517): IndexedDB layout test failures on GTK
https://bugs.webkit.org/show_bug.cgi?id=111243

Reviewed by Martin Robinson.

Source/WebCore: 

Changes to the custom JSC bindings for IDBAny are required after r144517,
specifically the case of IDBAny object having the KeyPathType type has to be covered.
These changes are analogous to those made to the V8 bindings in the mentioned commit.

No new tests - already covered by existing tests.

* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS): A helper function that wraps an IDBKeyPath into a JSValue.
(WebCore): Shuffle the order inside the switch statement a bit to match the V8 custom bindings.
Cover the case where the IDBAny object has the KeyPathType, calling the new helper method.

LayoutTests: 

* platform/gtk/TestExpectations: Removing failure expectations for IDB tests that again pass.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (144558 => 144559)


--- trunk/LayoutTests/ChangeLog	2013-03-03 06:59:45 UTC (rev 144558)
+++ trunk/LayoutTests/ChangeLog	2013-03-03 07:13:29 UTC (rev 144559)
@@ -1,3 +1,12 @@
+2013-03-02  Zan Dobersek  <[email protected]>
+
+        REGRESSION (r144517): IndexedDB layout test failures on GTK
+        https://bugs.webkit.org/show_bug.cgi?id=111243
+
+        Reviewed by Martin Robinson.
+
+        * platform/gtk/TestExpectations: Removing failure expectations for IDB tests that again pass.
+
 2013-03-02  Benjamin Poulain  <[email protected]>
 
         Move computedStyleIncludingVisitedInfo from TestRunner to Internals

Modified: trunk/LayoutTests/platform/gtk/TestExpectations (144558 => 144559)


--- trunk/LayoutTests/platform/gtk/TestExpectations	2013-03-03 06:59:45 UTC (rev 144558)
+++ trunk/LayoutTests/platform/gtk/TestExpectations	2013-03-03 07:13:29 UTC (rev 144559)
@@ -470,8 +470,8 @@
 webkit.org/b/107377 storage/indexeddb/index-get-key-argument-required.html [ Crash Pass ]
 webkit.org/b/107377 storage/indexeddb/keypath-basics.html [ Crash Pass ]
 webkit.org/b/107377 storage/indexeddb/mozilla/remove-index.html [ Crash Pass ]
-webkit.org/b/107377 storage/indexeddb/mozilla/create-index-unique.html [ Crash Failure ]
-webkit.org/b/107377 storage/indexeddb/objectstore-basics.html [ Crash Failure ]
+webkit.org/b/107377 storage/indexeddb/mozilla/create-index-unique.html [ Crash Pass ]
+webkit.org/b/107377 storage/indexeddb/objectstore-basics.html [ Crash Pass ]
 webkit.org/b/107194 storage/indexeddb/objectstore-basics-workers.html [ Crash Failure ]
 
 webkit.org/b/108682 [ Debug ] media/video-controls-fullscreen-volume.html [ Crash ]
@@ -1401,13 +1401,6 @@
 
 webkit.org/b/111058 plugins/plugin-clip-subframe.html [ Failure ]
 
-webkit.org/b/111243 storage/indexeddb/index-basics.html [ Failure ]
-webkit.org/b/111243 storage/indexeddb/mozilla/create-objectstore-basics.html [ Failure ]
-webkit.org/b/111243 storage/indexeddb/mozilla/global-data.html [ Failure ]
-webkit.org/b/111243 storage/indexeddb/mozilla/indexes.html [ Failure ]
-webkit.org/b/111243 storage/indexeddb/objectstore-autoincrement.html [ Failure ]
-webkit.org/b/111243 storage/indexeddb/readonly.html [ Failure ]
-
 #////////////////////////////////////////////////////////////////////////////////////////
 # End of Tests failing
 #////////////////////////////////////////////////////////////////////////////////////////

Modified: trunk/Source/WebCore/ChangeLog (144558 => 144559)


--- trunk/Source/WebCore/ChangeLog	2013-03-03 06:59:45 UTC (rev 144558)
+++ trunk/Source/WebCore/ChangeLog	2013-03-03 07:13:29 UTC (rev 144559)
@@ -1,3 +1,21 @@
+2013-03-02  Zan Dobersek  <[email protected]>
+
+        REGRESSION (r144517): IndexedDB layout test failures on GTK
+        https://bugs.webkit.org/show_bug.cgi?id=111243
+
+        Reviewed by Martin Robinson.
+
+        Changes to the custom JSC bindings for IDBAny are required after r144517,
+        specifically the case of IDBAny object having the KeyPathType type has to be covered.
+        These changes are analogous to those made to the V8 bindings in the mentioned commit.
+
+        No new tests - already covered by existing tests.
+
+        * bindings/js/JSIDBAnyCustom.cpp:
+        (WebCore::toJS): A helper function that wraps an IDBKeyPath into a JSValue.
+        (WebCore): Shuffle the order inside the switch statement a bit to match the V8 custom bindings.
+        Cover the case where the IDBAny object has the KeyPathType, calling the new helper method.
+
 2013-03-02  Darin Adler  <[email protected]>
 
         Another try at fixing the build.

Modified: trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp (144558 => 144559)


--- trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp	2013-03-03 06:59:45 UTC (rev 144558)
+++ trunk/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp	2013-03-03 07:13:29 UTC (rev 144559)
@@ -52,6 +52,24 @@
 
 namespace WebCore {
 
+JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, const IDBKeyPath& value)
+{
+    switch (value.type()) {
+    case IDBKeyPath::NullType:
+        return jsNull();
+    case IDBKeyPath::StringType:
+        return jsStringWithCache(exec, value.string());
+    case IDBKeyPath::ArrayType:
+        RefPtr<DOMStringList> keyPaths = DOMStringList::create();
+        for (Vector<String>::const_iterator it = value.array().begin(); it != value.array().end(); ++it)
+            keyPaths->append(*it);
+        return toJS(exec, globalObject, keyPaths.release());
+    }
+
+    ASSERT_NOT_REACHED();
+    return jsUndefined();
+}
+
 JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, IDBAny* idbAny)
 {
     if (!idbAny)
@@ -80,10 +98,12 @@
         return toJS(exec, globalObject, idbAny->idbTransaction());
     case IDBAny::ScriptValueType:
         return idbAny->scriptValue().jsValue();
+    case IDBAny::StringType:
+        return jsStringWithCache(exec, idbAny->string());
     case IDBAny::IntegerType:
         return jsNumber(idbAny->integer());
-    case IDBAny::StringType:
-        return jsStringWithCache(exec, idbAny->string());
+    case IDBAny::KeyPathType:
+        return toJS(exec, globalObject, idbAny->keyPath());
     }
 
     ASSERT_NOT_REACHED();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to