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)
{