Bug 1267369 - Only generate typelib data for scriptable interfaces; r=khuey

We are currently generating typelib data for all interfaces. Apparently
typelib data is only needed for scriptable interfaces. So let's stop
generating typelib data for interfaces that aren't scriptable.

The impact of this is that some typelibs are dropped from
interfaces.xpt, resulting in ~10kb smaller interfaces.xpt:

* nsIDOMCSSValue
* nsIDOMDOMImplementation
* nsIDOMDOMCursor
* nsIProfilerStartParams
* nsIStreamingProtocolMetaData
* nsIDOMCharacterData
* nsIPrintSession
* nsIDOMDocumentFragment
* nsIDOMProcessingInstruction
* nsIDOMElement
* nsIDOMText
* nsIDOMXULElement
* nsIDOMAttr
* nsIDOMGeoPositionError
* nsIXMLHttpRequestEventTarget
* nsIDOMCSSStyleDeclaration
* nsIDOMCSSStyleSheet
* nsIDOMDocument
* nsIDOMClientRect
* nsIDOMMozNamedAttrMap
* nsIDOMNode
* nsIThreadObserver
* nsIDOMDocumentType
* nsIXMLHttpRequestUpload
* nsISelection
* nsIDOMCDATASection
* nsIDOMDOMRequest
* nsIDOMComment
* nsIDOMEvent

MozReview-Commit-ID: 3LYdNYs7Tum

--HG--
extra : rebase_source : 4ed0e6ef761b165108b8581077f2bf7eddd02274
This commit is contained in:
Gregory Szorc 2016-04-25 12:32:10 -07:00
Родитель 5672bb749c
Коммит 886671f70c
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -242,10 +242,10 @@ def build_interface(iface, ifaces):
def write_typelib(idl, fd, filename):
""" Generate the typelib. """
# We only care about interfaces
# We only care about interfaces that are scriptable.
ifaces = []
for p in idl.productions:
if p.kind == 'interface':
if p.kind == 'interface' and p.attributes.scriptable:
ifaces.append(build_interface(p, ifaces))
typelib = xpt.Typelib(interfaces=ifaces)