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

Reply via email to