diff options
author | sagudev <16504129+sagudev@users.noreply.github.com> | 2023-02-20 06:16:13 +0100 |
---|---|---|
committer | sagudev <16504129+sagudev@users.noreply.github.com> | 2023-02-20 06:16:13 +0100 |
commit | ee7c393773797cf1f52d052d2a69d3d4bc71a2aa (patch) | |
tree | fea4ed7527b0d805d0d034cafc0d8d2271ec5b02 /components/script/dom/bindings/codegen | |
parent | 42d8269ac97a231e6a24677af2e2e60197210990 (diff) | |
download | servo-ee7c393773797cf1f52d052d2a69d3d4bc71a2aa.tar.gz servo-ee7c393773797cf1f52d052d2a69d3d4bc71a2aa.zip |
Fix Codegen
Diffstat (limited to 'components/script/dom/bindings/codegen')
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 60 | ||||
-rw-r--r-- | components/script/dom/bindings/codegen/Configuration.py | 14 | ||||
-rw-r--r-- | components/script/dom/bindings/codegen/run.py | 6 |
3 files changed, 40 insertions, 40 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index 1242de82fa1..6f32780a790 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -31,7 +31,7 @@ from WebIDL import ( from Configuration import ( MakeNativeName, - MemberIsUnforgeable, + MemberIsLegacyUnforgeable, getModuleFromObject, getTypesFromCallback, getTypesFromDescriptor, @@ -587,7 +587,7 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None, isEnforceRange = type.hasEnforceRange() isClamp = type.hasClamp() - if type.treatNullAsEmpty: + if type.legacyNullToEmptyString: treatNullAs = "EmptyString" else: treatNullAs = "Default" @@ -1702,7 +1702,7 @@ class MethodDefiner(PropertyDefiner): m.isMethod() and m.isStatic() == static and (bool(m.getExtendedAttribute("CrossOriginCallable")) or not crossorigin) and not m.isIdentifierLess() - and (MemberIsUnforgeable(m, descriptor) == unforgeable or crossorigin)] + and (MemberIsLegacyUnforgeable(m, descriptor) == unforgeable or crossorigin)] else: methods = [] self.regular = [{"name": m.identifier.name, @@ -1787,8 +1787,8 @@ class MethodDefiner(PropertyDefiner): descriptor) }) - isUnforgeableInterface = bool(descriptor.interface.getExtendedAttribute("Unforgeable")) - if not static and unforgeable == isUnforgeableInterface and not crossorigin: + isLegacyUnforgeableInterface = bool(descriptor.interface.getExtendedAttribute("LegacyUnforgeable")) + if not static and unforgeable == isLegacyUnforgeableInterface and not crossorigin: stringifier = descriptor.operations['Stringifier'] if stringifier: self.regular.append({ @@ -1890,7 +1890,7 @@ class AttrDefiner(PropertyDefiner): } for m in descriptor.interface.members if m.isAttr() and m.isStatic() == static - and (MemberIsUnforgeable(m, descriptor) == unforgeable or crossorigin) + and (MemberIsLegacyUnforgeable(m, descriptor) == unforgeable or crossorigin) and (not crossorigin or m.getExtendedAttribute("CrossOriginReadable") or m.getExtendedAttribute("CrossOriginWritable")) @@ -1923,7 +1923,7 @@ class AttrDefiner(PropertyDefiner): accessor = 'get_' + self.descriptor.internalNameFor(attr.identifier.name) jitinfo = "0 as *const JSJitInfo" else: - if attr.hasLenientThis(): + if attr.hasLegacyLenientThis(): accessor = "generic_lenient_getter" else: accessor = "generic_getter" @@ -1946,7 +1946,7 @@ class AttrDefiner(PropertyDefiner): accessor = 'set_' + self.descriptor.internalNameFor(attr.identifier.name) jitinfo = "0 as *const JSJitInfo" else: - if attr.hasLenientThis(): + if attr.hasLegacyLenientThis(): accessor = "generic_lenient_setter" else: accessor = "generic_setter" @@ -2187,7 +2187,7 @@ class CGImports(CGWrapper): if d.interface.isIteratorInterface(): types += [d.interface.iterableInterface] - members = d.interface.members + d.interface.namedConstructors + members = d.interface.members + d.interface.legacyFactoryFunctions constructor = d.interface.ctor() if constructor: members += [constructor] @@ -2436,7 +2436,7 @@ class CGPrototypeJSClass(CGThing): def define(self): name = str_to_const_array(self.descriptor.interface.identifier.name + "Prototype") slotCount = 0 - if self.descriptor.hasUnforgeableMembers: + if self.descriptor.hasLegacyUnforgeableMembers: slotCount += 1 return """\ static PrototypeClass: JSClass = JSClass { @@ -2814,7 +2814,7 @@ class CGConstructorEnabled(CGAbstractMethod): return CGList((CGGeneric(cond) for cond in conditions), " &&\n") -def InitUnforgeablePropertiesOnHolder(descriptor, properties): +def InitLegacyUnforgeablePropertiesOnHolder(descriptor, properties): """ Define the unforgeable properties on the unforgeable holder for the interface represented by descriptor. @@ -2823,12 +2823,12 @@ def InitUnforgeablePropertiesOnHolder(descriptor, properties): """ unforgeables = [] - defineUnforgeableAttrs = "define_guarded_properties(cx, unforgeable_holder.handle(), %s, global);" - defineUnforgeableMethods = "define_guarded_methods(cx, unforgeable_holder.handle(), %s, global);" + defineLegacyUnforgeableAttrs = "define_guarded_properties(cx, unforgeable_holder.handle(), %s, global);" + defineLegacyUnforgeableMethods = "define_guarded_methods(cx, unforgeable_holder.handle(), %s, global);" unforgeableMembers = [ - (defineUnforgeableAttrs, properties.unforgeable_attrs), - (defineUnforgeableMethods, properties.unforgeable_methods), + (defineLegacyUnforgeableAttrs, properties.unforgeable_attrs), + (defineLegacyUnforgeableMethods, properties.unforgeable_methods), ] for template, array in unforgeableMembers: if array.length() > 0: @@ -2836,12 +2836,12 @@ def InitUnforgeablePropertiesOnHolder(descriptor, properties): return CGList(unforgeables, "\n") -def CopyUnforgeablePropertiesToInstance(descriptor): +def CopyLegacyUnforgeablePropertiesToInstance(descriptor): """ Copy the unforgeable properties from the unforgeable holder for this interface to the instance object we have. """ - if not descriptor.hasUnforgeableMembers: + if not descriptor.hasLegacyUnforgeableMembers: return "" copyCode = "" @@ -2890,7 +2890,7 @@ class CGWrapMethod(CGAbstractMethod): pub=True, unsafe=True) def definition_body(self): - unforgeable = CopyUnforgeablePropertiesToInstance(self.descriptor) + unforgeable = CopyLegacyUnforgeablePropertiesToInstance(self.descriptor) if self.descriptor.proxy: if self.descriptor.isMaybeCrossOriginObject(): proto = "ptr::null_mut()" @@ -2958,10 +2958,10 @@ assert!(!proto.is_null()); %(createObject)s let root = raw.reflect_with(obj.get()); -%(copyUnforgeable)s +%(copyLegacyUnforgeable)s DomRoot::from_ref(&*root)\ -""" % {'copyUnforgeable': unforgeable, 'createObject': create}) +""" % {'copyLegacyUnforgeable': unforgeable, 'createObject': create}) class CGWrapGlobalMethod(CGAbstractMethod): @@ -2981,7 +2981,7 @@ class CGWrapGlobalMethod(CGAbstractMethod): def definition_body(self): values = { "concreteType": self.descriptor.concreteType, - "unforgeable": CopyUnforgeablePropertiesToInstance(self.descriptor) + "unforgeable": CopyLegacyUnforgeablePropertiesToInstance(self.descriptor) } pairs = [ @@ -3121,10 +3121,10 @@ class PropertyArrays(): self.static_attrs = AttrDefiner(descriptor, "StaticAttributes", static=True, unforgeable=False) self.methods = MethodDefiner(descriptor, "Methods", static=False, unforgeable=False) - self.unforgeable_methods = MethodDefiner(descriptor, "UnforgeableMethods", + self.unforgeable_methods = MethodDefiner(descriptor, "LegacyUnforgeableMethods", static=False, unforgeable=True) self.attrs = AttrDefiner(descriptor, "Attributes", static=False, unforgeable=False) - self.unforgeable_attrs = AttrDefiner(descriptor, "UnforgeableAttributes", + self.unforgeable_attrs = AttrDefiner(descriptor, "LegacyUnforgeableAttributes", static=False, unforgeable=True) self.consts = ConstDefiner(descriptor, "Constants") pass @@ -3426,7 +3426,7 @@ assert!((*cache)[PrototypeList::Constructor::%(id)s as usize].is_null()); ] + [defineAliasesFor(m) for m in sorted(aliasedMembers)]) code.append(defineAliases) - constructors = self.descriptor.interface.namedConstructors + constructors = self.descriptor.interface.legacyFactoryFunctions if constructors: decl = "let named_constructors: [(ConstructorClassHook, &'static [u8], u32); %d]" % len(constructors) specs = [] @@ -3439,7 +3439,7 @@ assert!((*cache)[PrototypeList::Constructor::%(id)s as usize].is_null()); code.append(CGWrapper(values, pre="%s = [\n" % decl, post="\n];")) code.append(CGGeneric("create_named_constructors(cx, global, &named_constructors, prototype.handle());")) - if self.descriptor.hasUnforgeableMembers: + if self.descriptor.hasLegacyUnforgeableMembers: # We want to use the same JSClass and prototype as the object we'll # end up defining the unforgeable properties on in the end, so that # we can use JS_InitializePropertiesFromCompatibleNativeObject to do @@ -3463,7 +3463,7 @@ unforgeable_holder.handle_mut().set( JS_NewObjectWithoutMetadata(*cx, %(holderClass)s, %(holderProto)s)); assert!(!unforgeable_holder.is_null()); """ % {'holderClass': holderClass, 'holderProto': holderProto})) - code.append(InitUnforgeablePropertiesOnHolder(self.descriptor, self.properties)) + code.append(InitLegacyUnforgeablePropertiesOnHolder(self.descriptor, self.properties)) code.append(CGGeneric("""\ let val = ObjectValue(unforgeable_holder.get()); JS_SetReservedSlot(prototype.get(), DOM_PROTO_UNFORGEABLE_HOLDER_SLOT, &val)""")) @@ -5631,7 +5631,7 @@ class CGDOMJSProxyHandler_defineProperty(CGAbstractExternMethod): namedSetter = self.descriptor.operations['NamedSetter'] if namedSetter: - if self.descriptor.hasUnforgeableMembers: + if self.descriptor.hasLegacyUnforgeableMembers: raise TypeError("Can't handle a named setter on an interface that has " "unforgeables. Figure out how that should work!") set += ("if id.is_string() || id.is_int() {\n" @@ -5675,7 +5675,7 @@ class CGDOMJSProxyHandler_delete(CGAbstractExternMethod): """) if self.descriptor.operations['NamedDeleter']: - if self.descriptor.hasUnforgeableMembers: + if self.descriptor.hasLegacyUnforgeableMembers: raise TypeError("Can't handle a deleter on an interface that has " "unforgeables. Figure out how that should work!") set += CGProxyNamedDeleter(self.descriptor).define() @@ -6731,7 +6731,7 @@ class CGDescriptor(CGThing): if descriptor.interface.hasInterfaceObject(): if descriptor.interface.ctor(): cgThings.append(CGClassConstructHook(descriptor)) - for ctor in descriptor.interface.namedConstructors: + for ctor in descriptor.interface.legacyFactoryFunctions: cgThings.append(CGClassConstructHook(descriptor, ctor)) if not descriptor.interface.isCallback(): cgThings.append(CGInterfaceObjectJSClass(descriptor)) @@ -7943,7 +7943,7 @@ class GlobalGenRoots(): pairs.append((d.name, binding, binding)) for alias in d.interface.legacyWindowAliases: pairs.append((alias, binding, binding)) - for ctor in d.interface.namedConstructors: + for ctor in d.interface.legacyFactoryFunctions: pairs.append((ctor.identifier.name, binding, binding)) pairs.sort(key=operator.itemgetter(0)) mappings = [ diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py index cf6885be265..fb360a020aa 100644 --- a/components/script/dom/bindings/codegen/Configuration.py +++ b/components/script/dom/bindings/codegen/Configuration.py @@ -167,11 +167,11 @@ class DescriptorProvider: return self.config.getDescriptor(interfaceName) -def MemberIsUnforgeable(member, descriptor): +def MemberIsLegacyUnforgeable(member, descriptor): return ((member.isAttr() or member.isMethod()) and not member.isStatic() - and (member.isUnforgeable() - or bool(descriptor.interface.getExtendedAttribute("Unforgeable")))) + and (member.isLegacyUnforgeable() + or bool(descriptor.interface.getExtendedAttribute("LegacyUnforgeable")))) class Descriptor(DescriptorProvider): @@ -244,9 +244,9 @@ class Descriptor(DescriptorProvider): and not self.interface.getExtendedAttribute("Abstract") and not self.interface.getExtendedAttribute("Inline") and not spiderMonkeyInterface) - self.hasUnforgeableMembers = (self.concrete - and any(MemberIsUnforgeable(m, self) for m in - self.interface.members)) + self.hasLegacyUnforgeableMembers = (self.concrete + and any(MemberIsLegacyUnforgeable(m, self) for m in + self.interface.members)) self.operations = { 'IndexedGetter': None, @@ -461,7 +461,7 @@ def getTypesFromDescriptor(descriptor): members = [m for m in descriptor.interface.members] if descriptor.interface.ctor(): members.append(descriptor.interface.ctor()) - members.extend(descriptor.interface.namedConstructors) + members.extend(descriptor.interface.legacyFactoryFunctions) signatures = [s for m in members if m.isMethod() for s in m.signatures()] types = [] for s in signatures: diff --git a/components/script/dom/bindings/codegen/run.py b/components/script/dom/bindings/codegen/run.py index 7f58de15d69..4d8d05f0116 100644 --- a/components/script/dom/bindings/codegen/run.py +++ b/components/script/dom/bindings/codegen/run.py @@ -24,7 +24,7 @@ def main(): webidls = [name for name in os.listdir(webidls_dir) if name.endswith(".webidl")] for webidl in webidls: filename = os.path.join(webidls_dir, webidl) - with open(filename, "rb") as f: + with open(filename, "r", encoding="utf-8") as f: parser.parse(f.read(), filename) add_css_properties_attributes(css_properties_json, parser) @@ -72,7 +72,7 @@ def generate(config, name, filename): def add_css_properties_attributes(css_properties_json, parser): css_properties = json.load(open(css_properties_json, "rb")) idl = "partial interface CSSStyleDeclaration {\n%s\n};\n" % "\n".join( - " [%sCEReactions, SetterThrows] attribute [TreatNullAs=EmptyString] DOMString %s;" % ( + " [%sCEReactions, SetterThrows] attribute [LegacyNullToEmptyString] DOMString %s;" % ( ('Pref="%s", ' % data["pref"] if data["pref"] else ""), attribute_name ) @@ -80,7 +80,7 @@ def add_css_properties_attributes(css_properties_json, parser): for (property_name, data) in sorted(properties_list.items()) for attribute_name in attribute_names(property_name) ) - parser.parse(idl.encode("utf-8"), "CSSStyleDeclaration_generated.webidl") + parser.parse(idl, "CSSStyleDeclaration_generated.webidl") def attribute_names(property_name): |