Diff
Modified: trunk/Source/WebCore/ChangeLog (148259 => 148260)
--- trunk/Source/WebCore/ChangeLog 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/ChangeLog 2013-04-12 04:21:45 UTC (rev 148260)
@@ -1,3 +1,46 @@
+2013-04-11 Oliver Hunt <[email protected]>
+
+ Fix windows build and land new binding test results
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation):
+ * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestEventTarget.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestException.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestInterface.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+ (WebCore):
+ (WebCore::toJS):
+ * bindings/scripts/test/JS/JSTestTypedefs.cpp:
+ (WebCore):
+ (WebCore::toJS):
+
2013-04-11 Shezan Baig <[email protected]>
Selection gaps don't repaint correctly with transforms
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2013-04-12 04:21:45 UTC (rev 148260)
@@ -2706,7 +2706,7 @@
push(@implContent, <<END) if $vtableNameGnu;
#if ENABLE(BINDING_INTEGRITY)
-#if defined(OS_WIN)
+#if PLATFORM(WIN)
#pragma warning(disable: 4483)
extern "C" { extern void (*const ${vtableRefWin}[])(); }
#else
@@ -2730,7 +2730,7 @@
#if ENABLE(BINDING_INTEGRITY)
void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
-#if defined(OS_WIN)
+#if PLATFORM(WIN)
void* expectedVTablePointer = reinterpret_cast<void*>(${vtableRefWin});
#else
void* expectedVTablePointer = ${vtableRefGnu};
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -235,9 +235,33 @@
jsTestActiveDOMObject->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestActiveDOMObject@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore19TestActiveDOMObjectE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestActiveDOMObject* impl)
{
- return wrap<JSTestActiveDOMObject>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestActiveDOMObject>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestActiveDOMObject@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore19TestActiveDOMObjectE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestActiveDOMObject), TestActiveDOMObject_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestActiveDOMObject>(exec, globalObject, impl);
}
TestActiveDOMObject* toTestActiveDOMObject(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -219,9 +219,33 @@
jsTestCustomNamedGetter->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestCustomNamedGetter@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore21TestCustomNamedGetterE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestCustomNamedGetter* impl)
{
- return wrap<JSTestCustomNamedGetter>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestCustomNamedGetter>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestCustomNamedGetter@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore21TestCustomNamedGetterE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestCustomNamedGetter), TestCustomNamedGetter_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestCustomNamedGetter>(exec, globalObject, impl);
}
TestCustomNamedGetter* toTestCustomNamedGetter(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -234,9 +234,33 @@
jsTestEventConstructor->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestEventConstructor@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore20TestEventConstructorE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestEventConstructor* impl)
{
- return wrap<JSTestEventConstructor>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestEventConstructor>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestEventConstructor@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore20TestEventConstructorE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestEventConstructor), TestEventConstructor_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestEventConstructor>(exec, globalObject, impl);
}
TestEventConstructor* toTestEventConstructor(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -340,9 +340,33 @@
jsTestEventTarget->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestEventTarget@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore15TestEventTargetE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestEventTarget* impl)
{
- return wrap<JSTestEventTarget>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestEventTarget>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestEventTarget@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore15TestEventTargetE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestEventTarget), TestEventTarget_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestEventTarget>(exec, globalObject, impl);
}
TestEventTarget* toTestEventTarget(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -176,9 +176,33 @@
jsTestException->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestException@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore13TestExceptionE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestException* impl)
{
- return wrap<JSTestException>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestException>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestException@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore13TestExceptionE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestException), TestException_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestException>(exec, globalObject, impl);
}
TestException* toTestException(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -499,9 +499,33 @@
jsTestInterface->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestInterface@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore13TestInterfaceE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestInterface* impl)
{
- return wrap<JSTestInterface>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestInterface>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestInterface@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore13TestInterfaceE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestInterface), TestInterface_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestInterface>(exec, globalObject, impl);
}
TestInterface* toTestInterface(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -197,9 +197,33 @@
jsTestMediaQueryListListener->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestMediaQueryListListener@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore26TestMediaQueryListListenerE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestMediaQueryListListener* impl)
{
- return wrap<JSTestMediaQueryListListener>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestMediaQueryListListener>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestMediaQueryListListener@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore26TestMediaQueryListListenerE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestMediaQueryListListener), TestMediaQueryListListener_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestMediaQueryListListener>(exec, globalObject, impl);
}
TestMediaQueryListListener* toTestMediaQueryListListener(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -211,9 +211,33 @@
jsTestNamedConstructor->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestNamedConstructor@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore20TestNamedConstructorE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestNamedConstructor* impl)
{
- return wrap<JSTestNamedConstructor>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestNamedConstructor>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestNamedConstructor@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore20TestNamedConstructorE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestNamedConstructor), TestNamedConstructor_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestNamedConstructor>(exec, globalObject, impl);
}
TestNamedConstructor* toTestNamedConstructor(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -3081,9 +3081,33 @@
jsTestObj->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestObj@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore7TestObjE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestObj* impl)
{
- return wrap<JSTestObj>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestObj>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestObj@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore7TestObjE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestObj), TestObj_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestObj>(exec, globalObject, impl);
}
TestObj* toTestObj(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -241,9 +241,33 @@
jsTestOverloadedConstructors->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestOverloadedConstructors@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore26TestOverloadedConstructorsE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestOverloadedConstructors* impl)
{
- return wrap<JSTestOverloadedConstructors>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestOverloadedConstructors>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestOverloadedConstructors@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore26TestOverloadedConstructorsE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestOverloadedConstructors), TestOverloadedConstructors_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestOverloadedConstructors>(exec, globalObject, impl);
}
TestOverloadedConstructors* toTestOverloadedConstructors(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -389,9 +389,33 @@
jsTestSerializedScriptValueInterface->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestSerializedScriptValueInterface@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore34TestSerializedScriptValueInterfaceE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestSerializedScriptValueInterface* impl)
{
- return wrap<JSTestSerializedScriptValueInterface>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestSerializedScriptValueInterface>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestSerializedScriptValueInterface@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore34TestSerializedScriptValueInterfaceE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestSerializedScriptValueInterface), TestSerializedScriptValueInterface_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestSerializedScriptValueInterface>(exec, globalObject, impl);
}
TestSerializedScriptValueInterface* toTestSerializedScriptValueInterface(JSC::JSValue value)
Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (148259 => 148260)
--- trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp 2013-04-12 03:42:46 UTC (rev 148259)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp 2013-04-12 04:21:45 UTC (rev 148260)
@@ -627,9 +627,33 @@
jsTestTypedefs->releaseImpl();
}
+#if ENABLE(BINDING_INTEGRITY)
+#if PLATFORM(WIN)
+#pragma warning(disable: 4483)
+extern "C" { extern void (*const __identifier("??_7TestTypedefs@WebCore@@6B@")[])(); }
+#else
+extern "C" { extern void* _ZTVN7WebCore12TestTypedefsE[]; }
+#endif
+#endif
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, TestTypedefs* impl)
{
- return wrap<JSTestTypedefs>(exec, globalObject, impl);
+ if (!impl)
+ return jsNull();
+ if (JSValue result = getExistingWrapper<JSTestTypedefs>(exec, impl)) return result;
+
+#if ENABLE(BINDING_INTEGRITY)
+ void* actualVTablePointer = *(reinterpret_cast<void**>(impl));
+#if PLATFORM(WIN)
+ void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestTypedefs@WebCore@@6B@"));
+#else
+ void* expectedVTablePointer = &_ZTVN7WebCore12TestTypedefsE[2];
+#if COMPILER(CLANG)
+ COMPILE_ASSERT(__is_polymorphic(TestTypedefs), TestTypedefs_is_not_polymorphic);
+#endif
+#endif
+ RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
+#endif
+ return createNewWrapper<JSTestTypedefs>(exec, globalObject, impl);
}
TestTypedefs* toTestTypedefs(JSC::JSValue value)