Title: [202305] trunk/Source/WebCore
Revision
202305
Author
[email protected]
Date
2016-06-21 16:47:55 -0700 (Tue, 21 Jun 2016)

Log Message

Unreviewed, attempt to fix the build after r202303.

* bindings/js/JSDOMIterator.h:
(WebCore::toJS):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (202304 => 202305)


--- trunk/Source/WebCore/ChangeLog	2016-06-21 23:32:34 UTC (rev 202304)
+++ trunk/Source/WebCore/ChangeLog	2016-06-21 23:47:55 UTC (rev 202305)
@@ -1,3 +1,10 @@
+2016-06-21  Chris Dumez  <[email protected]>
+
+        Unreviewed, attempt to fix the build after r202303.
+
+        * bindings/js/JSDOMIterator.h:
+        (WebCore::toJS):
+
 2016-06-21  Jiewen Tan  <[email protected]>
 
         Unreviewed, rolling out r200619.

Modified: trunk/Source/WebCore/bindings/js/JSDOMIterator.h (202304 => 202305)


--- trunk/Source/WebCore/bindings/js/JSDOMIterator.h	2016-06-21 23:32:34 UTC (rev 202304)
+++ trunk/Source/WebCore/bindings/js/JSDOMIterator.h	2016-06-21 23:47:55 UTC (rev 202305)
@@ -114,6 +114,28 @@
     return JSC::JSValue::encode(JSDOMIterator<JSWrapper>::create(globalObject.vm(), getDOMStructure<JSDOMIterator<JSWrapper>>(globalObject.vm(), globalObject), *wrapper, kind));
 }
 
+template<typename IteratorValue> typename std::enable_if<IteratorInspector<IteratorValue>::isMap, JSC::JSValue>::type
+toJS(JSC::ExecState& state, JSDOMGlobalObject* globalObject, IteratorValue& value, IterationKind kind)
+{
+    ASSERT(value);
+    if (kind != IterationKind::KeyValue)
+        return toJS(&state, globalObject, (kind == IterationKind::Key) ? value->key : value->value);
+
+    return jsPair(state, globalObject, value->key, value->value);
+}
+
+template<typename IteratorValue> typename std::enable_if<IteratorInspector<IteratorValue>::isSet, JSC::JSValue>::type
+toJS(JSC::ExecState& state, JSDOMGlobalObject* globalObject, IteratorValue& value, IterationKind kind)
+{
+    ASSERT(value);
+    JSC::JSValue result = toJS(&state, globalObject, *value);
+    if (kind != IterationKind::KeyValue)
+        return result;
+
+    // FIXME: first pair value should be the index of result.
+    return jsPair(state, globalObject, result, result);
+}
+
 template<typename JSWrapper>
 JSC::EncodedJSValue keyValueIteratorForEach(JSC::ExecState& state, const char* propertyName)
 {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to