On 8/21/13 2:23 AM, Nicholas Nethercote wrote:
It tells me that BindingUtils.h is responsible for 824 inclusions of jswrapper.h during a build. And jswrapper.h includes jsapi.h.
It needs jswrapper.h for js::IsWrapper and js::CheckedUnwrap. And the part of it that needs those is used by every single binding file...
Here are the headers that include BindingUtils.h, and how often they are included during a build: dom/workers/FileReaderSync.h: 2 dom/workers/XMLHttpRequest.h: 6
I would expect that these don't need it.
dom/bindings/test/TestBindingHeader.h: 6
Definitely doesn't need it; just tested that locally.
dom/bindings/PrimitiveConversions.h: 436
This is only included from bindings files, which include BindingUtils.h anyway, and from XPCConvert.cpp. All this uses from BindingUtils is ThrowErrorMessage, which we could move somewhere else, perhaps.
dom/indexedDB/IDBFactory.h: 12 dom/encoding/TextEncoderBase.h: 0 dom/encoding/TextDecoderBase.h: 0 dom/base/nsHistory.h: 3
I would expect that none of these need it.
js/xpconnect/src/XPCQuickStubs.h: 445
This is using UnwrapDOMObject from BindingUtils.... We should just work on killing this code. That said, the vast majority of the files including this are binding implementation files.
layout/style/nsICSSDeclaration.h: 470
Yikes. Should totally not include BindingUtils.h! That said, the vast majority of those includes are, again, binding impl files, via nsDOMQS.h.
content/media/webspeech/recognition/SpeechGrammarList.h: 7 content/canvas/src/WebGLContextUtils.h: 3 content/canvas/src/WebGLContext.h: 42 content/base/src/nsXMLHttpRequest.h: 14 content/base/src/WebSocket.h: 4
I expect that none of these need to include BindingUtils.h -Boris _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform