From 886671f70c54765590a301006f002a2db8d91c54 Mon Sep 17 00:00:00 2001 From: Gregory Szorc Date: Mon, 25 Apr 2016 12:32:10 -0700 Subject: [PATCH] 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 --- xpcom/idl-parser/xpidl/typelib.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xpcom/idl-parser/xpidl/typelib.py b/xpcom/idl-parser/xpidl/typelib.py index 6420a46d529e..911e3873da04 100644 --- a/xpcom/idl-parser/xpidl/typelib.py +++ b/xpcom/idl-parser/xpidl/typelib.py @@ -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)