Diff
Modified: trunk/Source/WebCore/ChangeLog (141976 => 141977)
--- trunk/Source/WebCore/ChangeLog 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/ChangeLog 2013-02-06 08:55:20 UTC (rev 141977)
@@ -1,3 +1,53 @@
+2013-02-06 Kentaro Hara <hara...@chromium.org>
+
+ [V8] Pass an Isolate to remaining GetTemplate()s
+ https://bugs.webkit.org/show_bug.cgi?id=109001
+
+ Reviewed by Adam Barth.
+
+ No tests. No change in behavior.
+
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::namedSecurityCheck): Because this method is a callback from V8,
+ we cannot change its signature to receive an Isolate.
+ (WebCore::V8DOMWindow::indexedSecurityCheck): Ditto.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateToV8Converters):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::V8Float64Array::createWrapper):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::createWrapper):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::createWrapper):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::createWrapper):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::V8TestEventTarget::createWrapper):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::createWrapper):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::V8TestInterface::createWrapper):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::createWrapper):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::createWrapper):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::createWrapper):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::V8TestObj::createWrapper):
+ * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
+ (WebCore::V8TestOverloadedConstructors::createWrapper):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::createWrapper):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::createWrapper):
+ * bindings/v8/V8DOMWrapper.h:
+ (V8DOMWrapper):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::V8HTMLDocument::wrapInShadowObject):
+
2013-02-06 Sheriff Bot <webkit.review....@gmail.com>
Unreviewed, rolling out r141961.
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm 2013-02-06 08:55:20 UTC (rev 141977)
@@ -384,7 +384,7 @@
if ($interfaceName eq "HTMLDocument") {
push(@headerContent, <<END);
- static v8::Local<v8::Object> wrapInShadowObject(v8::Local<v8::Object> wrapper, Node* impl);
+ static v8::Local<v8::Object> wrapInShadowObject(v8::Local<v8::Object> wrapper, Node* impl, v8::Isolate*);
static v8::Handle<v8::Value> getNamedProperty(HTMLDocument* htmlDocument, const AtomicString& key, v8::Handle<v8::Object> creationContext, v8::Isolate*);
END
}
@@ -3537,7 +3537,7 @@
push(@implContent, <<END);
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -179,7 +179,7 @@
#endif
ASSERT(static_cast<void*>(static_cast<ArrayBufferView*>(impl.get())) == static_cast<void*>(impl.get()));
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -206,7 +206,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -144,7 +144,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -176,7 +176,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -210,7 +210,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestException.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestException.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestException.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -135,7 +135,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -365,7 +365,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -144,7 +144,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -185,7 +185,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -148,7 +148,7 @@
#endif
ASSERT(static_cast<void*>(static_cast<Node*>(impl.get())) == static_cast<void*>(impl.get()));
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -2290,7 +2290,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -199,7 +199,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -317,7 +317,7 @@
checkTypeOrDieTrying(impl.get());
#endif
- v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get());
+ v8::Handle<v8::Object> wrapper = V8DOMWrapper::createWrapper(creationContext, &info, impl.get(), isolate);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
Modified: trunk/Source/WebCore/bindings/v8/V8DOMWrapper.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/v8/V8DOMWrapper.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/v8/V8DOMWrapper.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -79,7 +79,7 @@
parent->SetHiddenValue(V8HiddenPropertyName::hiddenReferenceName(name, strlen(name)), child);
}
-v8::Local<v8::Object> V8DOMWrapper::createWrapper(v8::Handle<v8::Object> creationContext, WrapperTypeInfo* type, void* impl)
+v8::Local<v8::Object> V8DOMWrapper::createWrapper(v8::Handle<v8::Object> creationContext, WrapperTypeInfo* type, void* impl, v8::Isolate* isolate)
{
V8WrapperInstantiationScope scope(creationContext);
@@ -87,7 +87,7 @@
v8::Local<v8::Object> wrapper = perContextData ? perContextData->createWrapperFromCache(type) : V8ObjectConstructor::newInstance(type->getTemplate()->GetFunction());
if (type == &V8HTMLDocument::info && !wrapper.IsEmpty())
- wrapper = V8HTMLDocument::wrapInShadowObject(wrapper, static_cast<Node*>(impl));
+ wrapper = V8HTMLDocument::wrapInShadowObject(wrapper, static_cast<Node*>(impl), isolate);
return wrapper;
}
Modified: trunk/Source/WebCore/bindings/v8/V8DOMWrapper.h (141976 => 141977)
--- trunk/Source/WebCore/bindings/v8/V8DOMWrapper.h 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/v8/V8DOMWrapper.h 2013-02-06 08:55:20 UTC (rev 141977)
@@ -53,7 +53,7 @@
static bool maybeDOMWrapper(v8::Handle<v8::Value>);
#endif
- static v8::Local<v8::Object> createWrapper(v8::Handle<v8::Object> creationContext, WrapperTypeInfo*, void*);
+ static v8::Local<v8::Object> createWrapper(v8::Handle<v8::Object> creationContext, WrapperTypeInfo*, void*, v8::Isolate*);
template<typename T>
static inline v8::Persistent<v8::Object> associateObjectWithWrapper(PassRefPtr<T>, WrapperTypeInfo*, v8::Handle<v8::Object>, v8::Isolate*);
Modified: trunk/Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -509,7 +509,8 @@
bool V8DOMWindow::namedSecurityCheck(v8::Local<v8::Object> host, v8::Local<v8::Value> key, v8::AccessType type, v8::Local<v8::Value>)
{
- v8::Handle<v8::Object> window = host->FindInstanceInPrototypeChain(V8DOMWindow::GetTemplate());
+ v8::Isolate* isolate = v8::Isolate::GetCurrent();
+ v8::Handle<v8::Object> window = host->FindInstanceInPrototypeChain(V8DOMWindow::GetTemplate(isolate));
if (window.IsEmpty())
return false; // the frame is gone.
@@ -542,7 +543,8 @@
bool V8DOMWindow::indexedSecurityCheck(v8::Local<v8::Object> host, uint32_t index, v8::AccessType type, v8::Local<v8::Value>)
{
- v8::Handle<v8::Object> window = host->FindInstanceInPrototypeChain(V8DOMWindow::GetTemplate());
+ v8::Isolate* isolate = v8::Isolate::GetCurrent();
+ v8::Handle<v8::Object> window = host->FindInstanceInPrototypeChain(V8DOMWindow::GetTemplate(isolate));
if (window.IsEmpty())
return false;
Modified: trunk/Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp (141976 => 141977)
--- trunk/Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp 2013-02-06 08:27:21 UTC (rev 141976)
+++ trunk/Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp 2013-02-06 08:55:20 UTC (rev 141977)
@@ -52,7 +52,7 @@
namespace WebCore {
-v8::Local<v8::Object> V8HTMLDocument::wrapInShadowObject(v8::Local<v8::Object> wrapper, Node* impl)
+v8::Local<v8::Object> V8HTMLDocument::wrapInShadowObject(v8::Local<v8::Object> wrapper, Node* impl, v8::Isolate* isolate)
{
DEFINE_STATIC_LOCAL(v8::Persistent<v8::FunctionTemplate>, shadowTemplate, ());
if (shadowTemplate.IsEmpty()) {
@@ -60,7 +60,7 @@
if (shadowTemplate.IsEmpty())
return v8::Local<v8::Object>();
shadowTemplate->SetClassName(v8::String::NewSymbol("HTMLDocument"));
- shadowTemplate->Inherit(V8HTMLDocument::GetTemplate());
+ shadowTemplate->Inherit(V8HTMLDocument::GetTemplate(isolate));
shadowTemplate->InstanceTemplate()->SetInternalFieldCount(V8HTMLDocument::internalFieldCount);
}