Bug 1471114 part 1 - Move CSSPropFlags prefix generation into GenerateServoCSSPropList.py. r?emilio draft
authorXidorn Quan <me@upsuper.org>
Tue, 26 Jun 2018 15:40:14 +1000
changeset 810741 6e2448ce3f4d9965749298a575795dfab926b9cb
parent 810550 b3ee5422bdd378fab3f54ca52662ea27b457cede
child 810742 cbbd7b37a8c3870c2486f8f3f4d8a37454ed2ba5
child 810762 ba5922ed6647b75c84805f90dbeb294c3209c9f9
child 811127 c228026ab584f46fa8f019fee76c71f3ab016946
child 811141 879a7265c35f51c5954d8a44ccd374a606ecba0e
push id114083
push userxquan@mozilla.com
push dateTue, 26 Jun 2018 11:30:46 +0000
reviewersemilio
bugs1471114
milestone63.0a1
Bug 1471114 part 1 - Move CSSPropFlags prefix generation into GenerateServoCSSPropList.py. r?emilio MozReview-Commit-ID: E5dl9V2B2dq
dom/bindings/GenerateCSS2PropertiesWebIDL.py
layout/style/GenerateCSSPropsGenerated.py
layout/style/GenerateServoCSSPropList.py
layout/style/ServoCSSPropList.mako.py
--- a/dom/bindings/GenerateCSS2PropertiesWebIDL.py
+++ b/dom/bindings/GenerateCSS2PropertiesWebIDL.py
@@ -12,17 +12,17 @@ import runpy
 # extended attributes.
 def generateLine(propName, extendedAttrs):
     return "  [%s] attribute DOMString %s;\n" % (", ".join(extendedAttrs),
                                                  propName)
 def generate(output, idlFilename, dataFile):
     propList = runpy.run_path(dataFile)["data"]
     props = ""
     for p in propList:
-        if "CSSPropFlags::Internal" in p.flags:
+        if "Internal" in p.flags:
             continue
         # Unfortunately, even some of the getters here are fallible
         # (e.g. on nsComputedDOMStyle).
         extendedAttrs = ["CEReactions", "Throws", "TreatNullAs=EmptyString",
                          "SetterNeedsSubjectPrincipal=NonSystem"]
         if p.pref is not "":
             extendedAttrs.append('Pref="%s"' % p.pref)
 
--- a/layout/style/GenerateCSSPropsGenerated.py
+++ b/layout/style/GenerateCSSPropsGenerated.py
@@ -8,17 +8,17 @@ import string
 import argparse
 
 class PropertyWrapper(object):
     __slots__ = ["index", "prop", "idlname"]
 
     def __init__(self, index, prop):
         self.index = index
         self.prop = prop
-        if "CSSPropFlags::Internal" in prop.flags:
+        if "Internal" in prop.flags:
             self.idlname = None
         else:
             idl_name = prop.method
             if not idl_name.startswith("Moz"):
                 idl_name = idl_name[0].lower() + idl_name[1:]
             self.idlname = idl_name
 
     def __getattr__(self, name):
--- a/layout/style/GenerateServoCSSPropList.py
+++ b/layout/style/GenerateServoCSSPropList.py
@@ -64,28 +64,29 @@ def generate_header(output, data):
 """)
 
     MACRO_NAMES = {
         "longhand": "CSS_PROP_LONGHAND",
         "shorthand": "CSS_PROP_SHORTHAND",
         "alias": "CSS_PROP_ALIAS",
     }
     for prop in data:
-        is_internal = "CSSPropFlags::Internal" in prop.flags
+        is_internal = "Internal" in prop.flags
         pref = '"' + prop.pref + '"'
         if prop.type() == "alias":
             params = [prop.name, prop.alias_id, prop.prop_id, prop.method, pref]
         else:
             method = prop.method
             if method == "CssFloat":
                 method = "CSS_PROP_PUBLIC_OR_PRIVATE(CssFloat, Float)"
             elif method.startswith("Moz"):
                 method = "CSS_PROP_DOMPROP_PREFIXED({})".format(method[3:])
             if prop.flags:
-                flags = " | ".join(prop.flags)
+                flags = " | ".join("CSSPropFlags::{}".format(flag)
+                                   for flag in prop.flags)
             else:
                 flags = "CSSPropFlags(0)"
             params = [prop.name, prop.id, method, flags, pref]
 
         if is_internal:
             output.write("#ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL\n")
         output.write("{}({})\n".format(MACRO_NAMES[prop.type()], ", ".join(params)))
         if is_internal:
--- a/layout/style/ServoCSSPropList.mako.py
+++ b/layout/style/ServoCSSPropList.mako.py
@@ -108,17 +108,17 @@ def flags(prop):
     if prop.enabled_in == "":
         result.append("Inaccessible")
     if "GETCS_NEEDS_LAYOUT_FLUSH" in prop.flags:
         result.append("GetCSNeedsLayoutFlush")
     if "CAN_ANIMATE_ON_COMPOSITOR" in prop.flags:
         result.append("CanAnimateOnCompositor")
     if serialized_by_servo(prop):
         result.append("SerializedByServo")
-    return ", ".join('"CSSPropFlags::{}"'.format(flag) for flag in result)
+    return ", ".join('"{}"'.format(flag) for flag in result)
 
 def pref(prop):
     if prop.gecko_pref:
         return '"' + prop.gecko_pref + '"'
     return '""'
 
 def sub_properties(prop):
     return ", ".join('"{}"'.format(p.ident) for p in prop.sub_properties)