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

Unified Diff: Source/bindings/tests/results/V8TestException.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/V8TestException.cpp
diff --git a/Source/bindings/tests/results/V8TestException.cpp b/Source/bindings/tests/results/V8TestException.cpp
index 67e703a39bc2dea91f170fbe434cdac75c94caf3..1aed9bc7a25615ec67c5d516ee0e70173cb9e594 100644
--- a/Source/bindings/tests/results/V8TestException.cpp
+++ b/Source/bindings/tests/results/V8TestException.cpp
@@ -31,40 +31,8 @@
#include "core/page/Frame.h"
#include "wtf/UnusedParam.h"
-#if ENABLE(BINDING_INTEGRITY)
-#if defined(OS_WIN)
-#pragma warning(disable: 4483)
-extern "C" { extern void (*const __identifier("??_7TestException@WebCore@@6B@")[])(); }
-#else
-extern "C" { extern void* _ZTVN7WebCore13TestExceptionE[]; }
-#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(TestException* object)
-{
- void* actualVTablePointer = *(reinterpret_cast<void**>(object));
-#if defined(OS_WIN)
- void* expectedVTablePointer = reinterpret_cast<void*>(__identifier("??_7TestException@WebCore@@6B@"));
-#else
- void* expectedVTablePointer = &_ZTVN7WebCore13TestExceptionE[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.
@@ -152,10 +120,6 @@ v8::Handle<v8::Object> V8TestException::createWrapper(PassRefPtr<TestException>
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/V8TestEventTarget.cpp ('k') | Source/bindings/tests/results/V8TestInterface.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698