summaryrefslogtreecommitdiff
path: root/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp')
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp25
1 files changed, 12 insertions, 13 deletions
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp
index ce37e002f..d58508910 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp
@@ -21,10 +21,11 @@
#include "config.h"
#include "V8TestNode.h"
+#include "BindingState.h"
#include "ContextFeatures.h"
+#include "Frame.h"
#include "RuntimeEnabledFeatures.h"
#include "V8Binding.h"
-#include "V8BindingState.h"
#include "V8DOMWrapper.h"
#include "V8IsolatedContext.h"
#include "V8Node.h"
@@ -55,8 +56,8 @@ v8::Handle<v8::Value> V8TestNode::constructorCallback(const v8::Arguments& args)
v8::Handle<v8::Object> wrapper = args.Holder();
V8DOMWrapper::setDOMWrapper(wrapper, &info, impl.get());
- V8DOMWrapper::setJSWrapperForDOMNode(impl.release(), v8::Persistent<v8::Object>::New(wrapper), args.GetIsolate());
- return args.Holder();
+ V8DOMWrapper::setJSWrapperForDOMNode(impl.release(), wrapper, args.GetIsolate());
+ return wrapper;
}
static v8::Persistent<v8::FunctionTemplate> ConfigureV8TestNodeTemplate(v8::Persistent<v8::FunctionTemplate> desc)
@@ -64,7 +65,7 @@ static v8::Persistent<v8::FunctionTemplate> ConfigureV8TestNodeTemplate(v8::Pers
desc->ReadOnlyPrototype();
v8::Local<v8::Signature> defaultSignature;
- defaultSignature = configureTemplate(desc, "TestNode", V8Node::GetTemplate(), V8TestNode::internalFieldCount,
+ defaultSignature = V8DOMConfiguration::configureTemplate(desc, "TestNode", V8Node::GetTemplate(), V8TestNode::internalFieldCount,
0, 0,
0, 0);
UNUSED_PARAM(defaultSignature); // In some cases, it will not be used.
@@ -78,8 +79,8 @@ static v8::Persistent<v8::FunctionTemplate> ConfigureV8TestNodeTemplate(v8::Pers
v8::Persistent<v8::FunctionTemplate> V8TestNode::GetRawTemplate()
{
- V8BindingPerIsolateData* data = V8BindingPerIsolateData::current();
- V8BindingPerIsolateData::TemplateMap::iterator result = data->rawTemplateMap().find(&info);
+ V8PerIsolateData* data = V8PerIsolateData::current();
+ V8PerIsolateData::TemplateMap::iterator result = data->rawTemplateMap().find(&info);
if (result != data->rawTemplateMap().end())
return result->second;
@@ -91,8 +92,8 @@ v8::Persistent<v8::FunctionTemplate> V8TestNode::GetRawTemplate()
v8::Persistent<v8::FunctionTemplate> V8TestNode::GetTemplate()
{
- V8BindingPerIsolateData* data = V8BindingPerIsolateData::current();
- V8BindingPerIsolateData::TemplateMap::iterator result = data->templateMap().find(&info);
+ V8PerIsolateData* data = V8PerIsolateData::current();
+ V8PerIsolateData::TemplateMap::iterator result = data->templateMap().find(&info);
if (result != data->templateMap().end())
return result->second;
@@ -112,7 +113,8 @@ bool V8TestNode::HasInstance(v8::Handle<v8::Value> value)
v8::Handle<v8::Object> V8TestNode::wrapSlow(PassRefPtr<TestNode> impl, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- V8Proxy* proxy = V8Proxy::retrieve(impl->document()->frame());
+ ASSERT(static_cast<void*>(static_cast<Node*>(impl.get())) == static_cast<void*>(impl.get()));
+ V8Proxy* proxy = impl->document()->frame() ? impl->document()->frame()->script()->proxy() : 0;
// Enter the node's context and create the wrapper in that context.
v8::Handle<v8::Context> context;
@@ -129,13 +131,10 @@ v8::Handle<v8::Object> V8TestNode::wrapSlow(PassRefPtr<TestNode> impl, v8::Isola
context->Exit();
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
-
- v8::Persistent<v8::Object> wrapperHandle = v8::Persistent<v8::Object>::New(wrapper);
-
+ v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForDOMNode(impl, wrapper, isolate);
if (!hasDependentLifetime)
wrapperHandle.MarkIndependent();
wrapperHandle.SetWrapperClassId(v8DOMSubtreeClassId);
- V8DOMWrapper::setJSWrapperForDOMNode(impl, wrapperHandle, isolate);
return wrapper;
}