Index: Source/bindings/templates/interface.cpp |
diff --git a/Source/bindings/templates/interface.cpp b/Source/bindings/templates/interface.cpp |
index 5f7a781f2315cd2e2cc060284316aa0a6c85cb7b..c6ec072babb5f2ac6e47fb5cb10771e89b0c1e38 100644 |
--- a/Source/bindings/templates/interface.cpp |
+++ b/Source/bindings/templates/interface.cpp |
@@ -561,11 +561,11 @@ static void {{cpp_class}}OriginSafeMethodSetterCallback(v8::Local<v8::String> na |
const WrapperTypeInfo {{v8_class}}Constructor::wrapperTypeInfo = { gin::kEmbedderBlink, {{v8_class}}Constructor::domTemplate, {{v8_class}}::derefObject, {{to_active_dom_object}}, {{to_event_target}}, 0, {{v8_class}}::installPerContextEnabledMethods, 0, WrapperTypeObjectPrototype, false }; |
{{named_constructor_callback(named_constructor)}} |
-v8::Handle<v8::FunctionTemplate> {{v8_class}}Constructor::domTemplate(v8::Isolate* isolate, WrapperWorldType currentWorldType) |
+v8::Handle<v8::FunctionTemplate> {{v8_class}}Constructor::domTemplate(v8::Isolate* isolate) |
{ |
static int domTemplateKey; // This address is used for a key to look up the dom template. |
V8PerIsolateData* data = V8PerIsolateData::from(isolate); |
- v8::Local<v8::FunctionTemplate> result = data->existingDOMTemplate(currentWorldType, &domTemplateKey); |
+ v8::Local<v8::FunctionTemplate> result = data->existingDOMTemplate(&domTemplateKey); |
if (!result.IsEmpty()) |
return result; |
@@ -576,9 +576,8 @@ v8::Handle<v8::FunctionTemplate> {{v8_class}}Constructor::domTemplate(v8::Isolat |
v8::Local<v8::ObjectTemplate> instanceTemplate = result->InstanceTemplate(); |
instanceTemplate->SetInternalFieldCount({{v8_class}}::internalFieldCount); |
result->SetClassName(v8AtomicString(isolate, "{{cpp_class}}")); |
- result->Inherit({{v8_class}}::domTemplate(isolate, currentWorldType)); |
- data->setDOMTemplate(currentWorldType, &domTemplateKey, result); |
- |
+ result->Inherit({{v8_class}}::domTemplate(isolate)); |
+ data->setDOMTemplate(&domTemplateKey, result); |
return scope.Escape(result); |
} |
@@ -843,9 +842,9 @@ void {{v8_class}}::constructorCallback(const v8::FunctionCallbackInfo<v8::Value> |
{##############################################################################} |
{% block configure_shadow_object_template %} |
{% if interface_name == 'Window' %} |
-static void configureShadowObjectTemplate(v8::Handle<v8::ObjectTemplate> templ, v8::Isolate* isolate, WrapperWorldType currentWorldType) |
+static void configureShadowObjectTemplate(v8::Handle<v8::ObjectTemplate> templ, v8::Isolate* isolate) |
{ |
- V8DOMConfiguration::installAttributes(templ, v8::Handle<v8::ObjectTemplate>(), shadowAttributes, WTF_ARRAY_LENGTH(shadowAttributes), isolate, currentWorldType); |
+ V8DOMConfiguration::installAttributes(templ, v8::Handle<v8::ObjectTemplate>(), shadowAttributes, WTF_ARRAY_LENGTH(shadowAttributes), isolate); |
// Install a security handler with V8. |
templ->SetAccessCheckCallbacks(V8Window::namedSecurityCheckCustom, V8Window::indexedSecurityCheckCustom, v8::External::New(isolate, const_cast<WrapperTypeInfo*>(&V8Window::wrapperTypeInfo))); |
@@ -859,17 +858,17 @@ static void configureShadowObjectTemplate(v8::Handle<v8::ObjectTemplate> templ, |
{##############################################################################} |
{% block configure_class_template %} |
{# FIXME: rename to install_dom_template and Install{{v8_class}}DOMTemplate #} |
-static void configure{{v8_class}}Template(v8::Handle<v8::FunctionTemplate> functionTemplate, v8::Isolate* isolate, WrapperWorldType currentWorldType) |
+static void configure{{v8_class}}Template(v8::Handle<v8::FunctionTemplate> functionTemplate, v8::Isolate* isolate) |
{ |
functionTemplate->ReadOnlyPrototype(); |
v8::Local<v8::Signature> defaultSignature; |
{% set parent_template = |
- 'V8%s::domTemplate(isolate, currentWorldType)' % parent_interface |
+ 'V8%s::domTemplate(isolate)' % parent_interface |
if parent_interface else 'v8::Local<v8::FunctionTemplate>()' %} |
{% if runtime_enabled_function %} |
if (!{{runtime_enabled_function}}()) |
- defaultSignature = V8DOMConfiguration::installDOMClassTemplate(functionTemplate, "", {{parent_template}}, {{v8_class}}::internalFieldCount, 0, 0, 0, 0, 0, 0, isolate, currentWorldType); |
+ defaultSignature = V8DOMConfiguration::installDOMClassTemplate(functionTemplate, "", {{parent_template}}, {{v8_class}}::internalFieldCount, 0, 0, 0, 0, 0, 0, isolate); |
else |
{% endif %} |
{% set runtime_enabled_indent = 4 if runtime_enabled_function else 0 %} |
@@ -891,7 +890,7 @@ static void configure{{v8_class}}Template(v8::Handle<v8::FunctionTemplate> funct |
{{attributes_name}}, {{attributes_length}}, |
{{accessors_name}}, {{accessors_length}}, |
{{methods_name}}, {{methods_length}}, |
- isolate, currentWorldType); |
+ isolate); |
{% endfilter %} |
{% if constructors or has_custom_constructor or has_event_constructor %} |
@@ -911,7 +910,7 @@ static void configure{{v8_class}}Template(v8::Handle<v8::FunctionTemplate> funct |
if ({{attribute.runtime_enabled_function}}()) { |
static const V8DOMConfiguration::AttributeConfiguration attributeConfiguration =\ |
{{attribute_configuration(attribute)}}; |
- V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate, attributeConfiguration, isolate, currentWorldType); |
+ V8DOMConfiguration::installAttribute(instanceTemplate, prototypeTemplate, attributeConfiguration, isolate); |
} |
{% endfilter %} |
{% endfor %} |
@@ -975,7 +974,7 @@ static void configure{{v8_class}}Template(v8::Handle<v8::FunctionTemplate> funct |
{% filter conditional(method.conditional_string) %} |
{% if method.is_do_not_check_security %} |
{% if method.is_per_world_bindings %} |
- if (currentWorldType == MainWorld) { |
+ if (DOMWrapperWorld::current(isolate)->isMainWorld()) { |
{{install_do_not_check_security_signature(method, 'ForMainWorld')}} |
} else { |
{{install_do_not_check_security_signature(method)}} |
@@ -985,7 +984,7 @@ static void configure{{v8_class}}Template(v8::Handle<v8::FunctionTemplate> funct |
{% endif %} |
{% else %}{# is_do_not_check_security #} |
{% if method.is_per_world_bindings %} |
- if (currentWorldType == MainWorld) { |
+ if (DOMWrapperWorld::current(isolate)->isMainWorld()) { |
{% filter runtime_enabled(method.runtime_enabled_function) %} |
{{install_custom_signature(method, 'ForMainWorld')}} |
{% endfilter %} |
@@ -1094,17 +1093,17 @@ COMPILE_ASSERT({{constant.value}} == {{constant_cpp_class}}::{{constant.reflecte |
{##############################################################################} |
{% block get_template %} |
{# FIXME: rename to get_dom_template and GetDOMTemplate #} |
-v8::Handle<v8::FunctionTemplate> {{v8_class}}::domTemplate(v8::Isolate* isolate, WrapperWorldType currentWorldType) |
+v8::Handle<v8::FunctionTemplate> {{v8_class}}::domTemplate(v8::Isolate* isolate) |
{ |
V8PerIsolateData* data = V8PerIsolateData::from(isolate); |
- V8PerIsolateData::TemplateMap::iterator result = data->templateMap(currentWorldType).find(&wrapperTypeInfo); |
- if (result != data->templateMap(currentWorldType).end()) |
+ V8PerIsolateData::TemplateMap::iterator result = data->templateMap().find(&wrapperTypeInfo); |
+ if (result != data->templateMap().end()) |
return result->value.newLocal(isolate); |
TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); |
v8::Local<v8::FunctionTemplate> templ = v8::FunctionTemplate::New(isolate, V8ObjectConstructor::isValidConstructorMode); |
- configure{{v8_class}}Template(templ, isolate, currentWorldType); |
- data->templateMap(currentWorldType).add(&wrapperTypeInfo, UnsafePersistent<v8::FunctionTemplate>(isolate, templ)); |
+ configure{{v8_class}}Template(templ, isolate); |
+ data->templateMap().add(&wrapperTypeInfo, UnsafePersistent<v8::FunctionTemplate>(isolate, templ)); |
return templ; |
} |
@@ -1161,7 +1160,7 @@ void {{v8_class}}::installPerContextEnabledProperties(v8::Handle<v8::Object> ins |
void {{v8_class}}::installPerContextEnabledMethods(v8::Handle<v8::Object> prototypeTemplate, v8::Isolate* isolate) |
{ |
{# Define per-context enabled operations #} |
- v8::Local<v8::Signature> defaultSignature = v8::Signature::New(isolate, domTemplate(isolate, worldType(isolate))); |
+ v8::Local<v8::Signature> defaultSignature = v8::Signature::New(isolate, domTemplate(isolate)); |
ExecutionContext* context = toExecutionContext(prototypeTemplate->CreationContext()); |
{% for method in methods if method.per_context_enabled_function %} |
@@ -1201,14 +1200,14 @@ EventTarget* {{v8_class}}::toEventTarget(v8::Handle<v8::Object> object) |
{##############################################################################} |
{% block get_shadow_object_template %} |
{% if interface_name == 'Window' %} |
-v8::Handle<v8::ObjectTemplate> V8Window::getShadowObjectTemplate(v8::Isolate* isolate, WrapperWorldType currentWorldType) |
+v8::Handle<v8::ObjectTemplate> V8Window::getShadowObjectTemplate(v8::Isolate* isolate) |
{ |
- if (currentWorldType == MainWorld) { |
+ if (DOMWrapperWorld::current(isolate)->isMainWorld()) { |
DEFINE_STATIC_LOCAL(v8::Persistent<v8::ObjectTemplate>, V8WindowShadowObjectCacheForMainWorld, ()); |
if (V8WindowShadowObjectCacheForMainWorld.IsEmpty()) { |
TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); |
v8::Handle<v8::ObjectTemplate> templ = v8::ObjectTemplate::New(isolate); |
- configureShadowObjectTemplate(templ, isolate, currentWorldType); |
+ configureShadowObjectTemplate(templ, isolate); |
V8WindowShadowObjectCacheForMainWorld.Reset(isolate, templ); |
return templ; |
} |
@@ -1218,7 +1217,7 @@ v8::Handle<v8::ObjectTemplate> V8Window::getShadowObjectTemplate(v8::Isolate* is |
if (V8WindowShadowObjectCacheForNonMainWorld.IsEmpty()) { |
TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); |
v8::Handle<v8::ObjectTemplate> templ = v8::ObjectTemplate::New(isolate); |
- configureShadowObjectTemplate(templ, isolate, currentWorldType); |
+ configureShadowObjectTemplate(templ, isolate); |
V8WindowShadowObjectCacheForNonMainWorld.Reset(isolate, templ); |
return templ; |
} |