Changeset 117371 in webkit
- Timestamp:
- May 16, 2012 5:46:10 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r117369 r117371 1 2012-05-16 Kentaro Hara <haraken@chromium.org> 2 3 [V8] Pass Isolate to createV8HTMLWrapper() and createV8SVGWrapper() 4 https://bugs.webkit.org/show_bug.cgi?id=86558 5 6 Reviewed by Nate Chapin. 7 8 The objective is to pass Isolate around in V8 bindings. 9 This patch passes Isolate to createV8HTMLWrapper() and createV8SVGWrapper(). 10 11 Basically 'isolate' has been implemented as the last argument 12 but before 'forceNewObject' argument, because 'forceNewObject' is an optional 13 argument and omitted in most cases. Due to the convention, 14 this patch puts 'isolate' before 'forceNewObject'. 15 16 No tests. No change in behavior. 17 18 * bindings/v8/custom/V8HTMLElementCustom.cpp: 19 (WebCore::toV8): 20 * bindings/v8/custom/V8SVGElementCustom.cpp: 21 (WebCore::toV8): 22 * dom/make_names.pl: 23 (printWrapperFunctions): 24 (printWrapperFactoryCppFile): 25 (printWrapperFactoryHeaderFile): 26 1 27 2012-05-16 Ryosuke Niwa <rniwa@webkit.org> 2 28 -
trunk/Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp
r115068 r117371 58 58 if (!impl) 59 59 return v8::Null(); 60 return createV8HTMLWrapper(impl, forceNewObject);60 return createV8HTMLWrapper(impl, isolate, forceNewObject); 61 61 } 62 62 -
trunk/Source/WebCore/bindings/v8/custom/V8SVGElementCustom.cpp
r114907 r117371 42 42 if (!impl) 43 43 return v8::Null(); 44 return createV8SVGWrapper(impl, forceNewObject);44 return createV8SVGWrapper(impl, isolate, forceNewObject); 45 45 } 46 46 -
trunk/Source/WebCore/dom/make_names.pl
r114911 r117371 1036 1036 if ($enabledTags{$tagName}{wrapperOnlyIfMediaIsAvailable}) { 1037 1037 print F <<END 1038 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element )1038 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate) 1039 1039 { 1040 1040 Settings* settings = element->document()->settings(); 1041 1041 if (!MediaPlayer::isAvailable() || (settings && !settings->isMediaEnabled())) 1042 return V8$parameters{namespace}Element::wrap(element );1043 return toV8(static_cast<${JSInterfaceName}*>(element) );1042 return V8$parameters{namespace}Element::wrap(element, isolate); 1043 return toV8(static_cast<${JSInterfaceName}*>(element), isolate); 1044 1044 } 1045 1045 … … 1049 1049 my $runtimeConditional = $enabledTags{$tagName}{runtimeConditional}; 1050 1050 print F <<END 1051 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element )1051 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate) 1052 1052 { 1053 1053 if (!RuntimeEnabledFeatures::${runtimeConditional}Enabled()) 1054 return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element) );1055 return toV8(static_cast<${JSInterfaceName}*>(element) );1054 return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element), isolate); 1055 return toV8(static_cast<${JSInterfaceName}*>(element), isolate); 1056 1056 } 1057 1057 END … … 1059 1059 } elsif (${JSInterfaceName} eq "HTMLElement") { 1060 1060 print F <<END 1061 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element )1062 { 1063 return V8$parameters{namespace}Element::wrap(element );1061 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate) 1062 { 1063 return V8$parameters{namespace}Element::wrap(element, isolate); 1064 1064 } 1065 1065 … … 1068 1068 } else { 1069 1069 print F <<END 1070 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element )1071 { 1072 return toV8(static_cast<${JSInterfaceName}*>(element) );1070 static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate) 1071 { 1072 return toV8(static_cast<${JSInterfaceName}*>(element), isolate); 1073 1073 } 1074 1074 … … 1152 1152 } elsif ($wrapperFactoryType eq "V8") { 1153 1153 print F <<END 1154 typedef v8::Handle<v8::Value> (*Create$parameters{namespace}ElementWrapperFunction)($parameters{namespace}Element* );1154 typedef v8::Handle<v8::Value> (*Create$parameters{namespace}ElementWrapperFunction)($parameters{namespace}Element*, v8::Isolate*); 1155 1155 1156 1156 END … … 1171 1171 } elsif ($wrapperFactoryType eq "V8") { 1172 1172 print F <<END 1173 v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element* element, bool forceNewObject)1173 v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate, bool forceNewObject) 1174 1174 { 1175 1175 typedef HashMap<WTF::AtomicStringImpl*, Create$parameters{namespace}ElementWrapperFunction> FunctionMap; … … 1212 1212 } elsif ($wrapperFactoryType eq "V8") { 1213 1213 print F <<END 1214 return createWrapperFunction(element );1214 return createWrapperFunction(element, isolate); 1215 1215 return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element), 0, forceNewObject); 1216 1216 END … … 1273 1273 class $parameters{namespace}Element; 1274 1274 1275 v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element*, bool);1275 v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element*, v8::Isolate*, bool); 1276 1276 } 1277 1277 END
Note: See TracChangeset
for help on using the changeset viewer.