Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(226)

Unified Diff: Source/bindings/tests/results/V8TestInterface.cpp

Issue 15004016: Remove VTable-based binding integrity now that ScriptWrappable-based binding integrity is implement… (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase, remove ImplementationLacksVTable attribute from template. Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/bindings/tests/results/V8TestInterface.cpp
diff --git a/Source/bindings/tests/results/V8TestInterface.cpp b/Source/bindings/tests/results/V8TestInterface.cpp
index b200bbefab5b966b5ba62a75c06d346372b1a44d..b18fdbbb12a766e23c50520b6680541b31dd319d 100644
--- a/Source/bindings/tests/results/V8TestInterface.cpp
+++ b/Source/bindings/tests/results/V8TestInterface.cpp
@@ -40,40 +40,8 @@
#include "wtf/RefPtr.h"
#include "wtf/UnusedParam.h"
-#if ENABLE(BINDING_INTEGRITY)
-#if defined(OS_WIN)
-#pragma warning(disable: 4483)
-extern "C" { extern void (*const __identifier("??_7TestInterface@WebCore@@6B@")[])(); }
-#else
-extern "C" { extern void* _ZTVN7WebCore13TestInterfaceE[]; }
-#endif
-#endif // ENABLE(BINDING_INTEGRITY)
-
namespace WebCore {
-#if ENABLE(BINDING_INTEGRITY)
-// This checks if a DOM object that is about to be wrapped is valid.
-// Specifically, it checks that a vtable of the DOM object is equal to
-// a vtable of an expected class.
-// Due to a dangling pointer, the DOM object you are wrapping might be
-// already freed or realloced. If freed, the check will fail because
-// a free list pointer should be stored at the head of the DOM object.
-// If realloced, the check will fail because the vtable of the DOM object
-// differs from the expected vtable (unless the same class of DOM object
-// is realloced on the slot).
-inline void checkTypeOrDieTrying(TestInterface* object)
-{
- void* actualVTablePointer = *(reinterpret_cast<void**>(object));
-#if defined(OS_WIN)
- void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestInterface@WebCore@@6B@"));
-#else
- void* expectedVTablePointer = &_ZTVN7WebCore13TestInterfaceE[2];
-#endif
- if (actualVTablePointer != expectedVTablePointer)
- CRASH();
-}
-#endif // ENABLE(BINDING_INTEGRITY)
-
#if defined(OS_WIN)
// In ScriptWrappable, the use of extern function prototypes inside templated static methods has an issue on windows.
// These prototypes do not pick up the surrounding namespace, so drop out of WebCore as a workaround.
@@ -660,10 +628,6 @@ v8::Handle<v8::Object> V8TestInterface::createWrapper(PassRefPtr<TestInterface>
ASSERT(impl.get());
ASSERT(DOMDataStore::getWrapper(impl.get(), isolate).IsEmpty());
-#if ENABLE(BINDING_INTEGRITY)
- checkTypeOrDieTrying(impl.get());
-#endif
-
v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
« no previous file with comments | « Source/bindings/tests/results/V8TestException.cpp ('k') | Source/bindings/tests/results/V8TestMediaQueryListListener.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698