Index: third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h |
diff --git a/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h b/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h |
index 490eeac0b0b8c2150beadedeb6d9af5981162f64..5e6ab41b2bf9d81d49eb4e4d6f40dc1fc0e4bc52 100644 |
--- a/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h |
+++ b/third_party/WebKit/Source/bindings/core/v8/WrapperTypeInfo.h |
@@ -39,6 +39,7 @@ |
namespace blink { |
+class ActiveScriptWrappable; |
class EventTarget; |
class ScriptWrappable; |
@@ -54,6 +55,7 @@ typedef v8::Local<v8::FunctionTemplate> (*DomTemplateFunction)(v8::Isolate*); |
typedef void (*RefObjectFunction)(ScriptWrappable*); |
typedef void (*DerefObjectFunction)(ScriptWrappable*); |
typedef void (*TraceFunction)(Visitor*, ScriptWrappable*); |
+typedef ActiveScriptWrappable* (*ToActiveScriptWrappableFunction)(v8::Local<v8::Object>); |
typedef void (*ResolveWrapperReachabilityFunction)(v8::Isolate*, ScriptWrappable*, const v8::Persistent<v8::Object>&); |
typedef void (*PreparePrototypeAndInterfaceObjectFunction)(v8::Local<v8::Context>, v8::Local<v8::Object>, v8::Local<v8::Function>, v8::Local<v8::FunctionTemplate>); |
typedef void (*InstallConditionallyEnabledPropertiesFunction)(v8::Local<v8::Object>, v8::Isolate*); |
@@ -181,6 +183,13 @@ struct WrapperTypeInfo { |
installConditionallyEnabledPropertiesFunction(prototypeObject, isolate); |
} |
+ ActiveScriptWrappable* toActiveScriptWrappable(v8::Local<v8::Object> object) const |
+ { |
+ if (!toActiveScriptWrappableFunction) |
+ return nullptr; |
+ return toActiveScriptWrappableFunction(object); |
+ } |
+ |
EventTarget* toEventTarget(v8::Local<v8::Object>) const; |
void visitDOMWrapper(v8::Isolate* isolate, ScriptWrappable* scriptWrappable, const v8::Persistent<v8::Object>& wrapper) const |
@@ -198,6 +207,7 @@ struct WrapperTypeInfo { |
const RefObjectFunction refObjectFunction; |
const DerefObjectFunction derefObjectFunction; |
const TraceFunction traceFunction; |
+ const ToActiveScriptWrappableFunction toActiveScriptWrappableFunction; |
const ResolveWrapperReachabilityFunction visitDOMWrapperFunction; |
PreparePrototypeAndInterfaceObjectFunction preparePrototypeAndInterfaceObjectFunction; |
const InstallConditionallyEnabledPropertiesFunction installConditionallyEnabledPropertiesFunction; |
@@ -234,6 +244,11 @@ inline ScriptWrappable* toScriptWrappable(v8::Local<v8::Object> wrapper) |
return getInternalField<ScriptWrappable, v8DOMWrapperObjectIndex>(wrapper); |
} |
+inline ActiveScriptWrappable* toActiveScriptWrappable(v8::Local<v8::Object> wrapper) |
+{ |
+ return getInternalField<WrapperTypeInfo, v8DOMWrapperTypeIndex>(wrapper)->toActiveScriptWrappable(wrapper); |
+} |
+ |
inline const WrapperTypeInfo* toWrapperTypeInfo(const v8::PersistentBase<v8::Object>& wrapper) |
{ |
return getInternalField<WrapperTypeInfo, v8DOMWrapperTypeIndex>(wrapper); |