| Index: Source/bindings/scripts/code_generator_v8.pm
|
| diff --git a/Source/bindings/scripts/code_generator_v8.pm b/Source/bindings/scripts/code_generator_v8.pm
|
| index 2d09801c2c10930b94e58acbd7557880392be760..6030b45d5b750c3c22d52a75b8d8ab5994d59718 100644
|
| --- a/Source/bindings/scripts/code_generator_v8.pm
|
| +++ b/Source/bindings/scripts/code_generator_v8.pm
|
| @@ -646,7 +646,7 @@ sub GenerateHeader
|
| class V8${nativeType}Constructor {
|
| public:
|
| static v8::Handle<v8::FunctionTemplate> GetTemplate(v8::Isolate*, WrapperWorldType);
|
| - static WrapperTypeInfo wrapperTypeInfo;
|
| + static const WrapperTypeInfo wrapperTypeInfo;
|
| };
|
| END
|
| }
|
| @@ -663,7 +663,7 @@ END
|
| return fromInternalPointer(object->GetAlignedPointerFromInternalField(v8DOMWrapperObjectIndex));
|
| }
|
| static void derefObject(void*);
|
| - static WrapperTypeInfo wrapperTypeInfo;
|
| + static const WrapperTypeInfo wrapperTypeInfo;
|
| END
|
|
|
| if (NeedsOpaqueRootForGC($interface)) {
|
| @@ -827,7 +827,7 @@ END
|
| template<>
|
| class WrapperTypeTraits<${nativeType} > {
|
| public:
|
| - static WrapperTypeInfo* wrapperTypeInfo() { return &${v8ClassName}::wrapperTypeInfo; }
|
| + static const WrapperTypeInfo* wrapperTypeInfo() { return &${v8ClassName}::wrapperTypeInfo; }
|
| };
|
| END
|
|
|
| @@ -2891,7 +2891,7 @@ sub GenerateNamedConstructor
|
| }
|
|
|
| $implementation{nameSpaceWebCore}->add(<<END);
|
| -WrapperTypeInfo ${v8ClassName}Constructor::wrapperTypeInfo = { ${v8ClassName}Constructor::GetTemplate, ${v8ClassName}::derefObject, $toActiveDOMObject, $toEventTarget, 0, ${v8ClassName}::installPerContextEnabledPrototypeProperties, 0, WrapperTypeObjectPrototype };
|
| +const WrapperTypeInfo ${v8ClassName}Constructor::wrapperTypeInfo = { ${v8ClassName}Constructor::GetTemplate, ${v8ClassName}::derefObject, $toActiveDOMObject, $toEventTarget, 0, ${v8ClassName}::installPerContextEnabledPrototypeProperties, 0, WrapperTypeObjectPrototype };
|
|
|
| END
|
|
|
| @@ -3092,7 +3092,7 @@ sub GenerateAttributeConfigurationParameters
|
| if ($constructorType !~ /Constructor$/ || $attribute->extendedAttributes->{"CustomConstructor"}) {
|
| AddToImplIncludes("V8${constructorType}.h");
|
| }
|
| - $data = "&V8${constructorType}::wrapperTypeInfo";
|
| + $data = "const_cast<WrapperTypeInfo*>(&V8${constructorType}::wrapperTypeInfo)";
|
| $getter = "${implClassName}V8Internal::${implClassName}ConstructorGetter";
|
| $setter = "${implClassName}V8Internal::${implClassName}ReplaceableAttributeSetterCallback";
|
| $getterForMainWorld = "0";
|
| @@ -4045,7 +4045,7 @@ END
|
| $implementation{nameSpaceWebCore}->addHeader($code);
|
| }
|
|
|
| - my $code = "WrapperTypeInfo ${v8ClassName}::wrapperTypeInfo = { ${v8ClassName}::GetTemplate, ${v8ClassName}::derefObject, $toActiveDOMObject, $toEventTarget, ";
|
| + my $code = "const WrapperTypeInfo ${v8ClassName}::wrapperTypeInfo = { ${v8ClassName}::GetTemplate, ${v8ClassName}::derefObject, $toActiveDOMObject, $toEventTarget, ";
|
| $code .= "$rootForGC, ${v8ClassName}::installPerContextEnabledPrototypeProperties, $parentClassInfo, $WrapperTypePrototype };\n";
|
| $implementation{nameSpaceWebCore}->addHeader($code);
|
|
|
| @@ -4271,7 +4271,7 @@ END
|
|
|
| my $access_check = "";
|
| if ($interface->extendedAttributes->{"CheckSecurity"} && $interfaceName ne "Window") {
|
| - $access_check = "instance->SetAccessCheckCallbacks(${implClassName}V8Internal::namedSecurityCheck, ${implClassName}V8Internal::indexedSecurityCheck, v8::External::New(&${v8ClassName}::wrapperTypeInfo));";
|
| + $access_check = "instance->SetAccessCheckCallbacks(${implClassName}V8Internal::namedSecurityCheck, ${implClassName}V8Internal::indexedSecurityCheck, v8::External::New(const_cast<WrapperTypeInfo*>(&${v8ClassName}::wrapperTypeInfo)));";
|
| }
|
|
|
| # For the Window interface, generate the shadow object template
|
| @@ -4283,7 +4283,7 @@ static void ConfigureShadowObjectTemplate(v8::Handle<v8::ObjectTemplate> templ,
|
| V8DOMConfiguration::installAttributes(templ, v8::Handle<v8::ObjectTemplate>(), shadowAttributes, WTF_ARRAY_LENGTH(shadowAttributes), isolate, currentWorldType);
|
|
|
| // Install a security handler with V8.
|
| - templ->SetAccessCheckCallbacks(V8Window::namedSecurityCheckCustom, V8Window::indexedSecurityCheckCustom, v8::External::New(&V8Window::wrapperTypeInfo));
|
| + templ->SetAccessCheckCallbacks(V8Window::namedSecurityCheckCustom, V8Window::indexedSecurityCheckCustom, v8::External::New(const_cast<WrapperTypeInfo*>(&V8Window::wrapperTypeInfo)));
|
| templ->SetInternalFieldCount(V8Window::internalFieldCount);
|
| }
|
| END
|
| @@ -4446,7 +4446,7 @@ END
|
| // Set access check callbacks, but turned off initially.
|
| // When a context is detached from a frame, turn on the access check.
|
| // Turning on checks also invalidates inline caches of the object.
|
| - instance->SetAccessCheckCallbacks(V8Window::namedSecurityCheckCustom, V8Window::indexedSecurityCheckCustom, v8::External::New(&V8Window::wrapperTypeInfo), false);
|
| + instance->SetAccessCheckCallbacks(V8Window::namedSecurityCheckCustom, V8Window::indexedSecurityCheckCustom, v8::External::New(const_cast<WrapperTypeInfo*>(&V8Window::wrapperTypeInfo)), false);
|
| END
|
| }
|
| if ($interfaceName eq "HTMLDocument" or $interfaceName eq "DedicatedWorkerGlobalScope" or $interfaceName eq "SharedWorkerGlobalScope") {
|
|
|