Bug 780469 - Reduce unnecessary includes in some content/ header files; r=bz

This commit is contained in:
Aryeh Gregor 2012-08-06 15:02:08 +03:00
parent 29ade218a0
commit 2fbc523d8e
40 changed files with 157 additions and 153 deletions

View File

@ -7,13 +7,15 @@
#ifndef mozilla_dom_Element_h__
#define mozilla_dom_Element_h__
#include "mozilla/dom/FragmentOrElement.h"
#include "nsEventStates.h"
#include "mozilla/dom/FragmentOrElement.h" // for base class
#include "nsChangeHint.h" // for enum
#include "nsEventStates.h" // for member
class nsEventStateManager;
class nsGlobalWindow;
class nsFocusManager;
class nsGlobalWindow;
class nsICSSDeclaration;
class nsISMILAttr;
// Element-specific flags
enum {

View File

@ -5,33 +5,22 @@
#ifndef nsIContent_h___
#define nsIContent_h___
#include "nsCOMPtr.h" // for already_AddRefed
#include "nsStringGlue.h"
#include "nsCaseTreatment.h"
#include "nsChangeHint.h"
#include "nsINode.h"
#include "nsIDocument.h" // for IsInHTMLDocument
#include "nsCSSProperty.h"
#include "nsCaseTreatment.h" // for enum, cannot be forward-declared
#include "nsCOMPtr.h" // for already_AddRefed in constructor
#include "nsIDocument.h" // for use in inline function (IsInHTMLDocument)
#include "nsINode.h" // for base class
// Forward declarations
class nsAString;
class nsIAtom;
class nsIDOMEvent;
class nsIContent;
class nsEventListenerManager;
class nsIURI;
class nsRuleWalker;
class nsAttrValue;
class nsAttrName;
class nsTextFragment;
class nsIDocShell;
class nsIFrame;
class nsISMILAttr;
class nsIDOMCSSStyleDeclaration;
namespace mozilla {
namespace css {
class StyleRule;
} // namespace css
namespace widget {
struct IMEState;
} // namespace widget

View File

@ -5,80 +5,65 @@
#ifndef nsIDocument_h___
#define nsIDocument_h___
#include "nsINode.h"
#include "nsStringGlue.h"
#include "nsIDocumentObserver.h" // for nsUpdateType
#include "nsCOMPtr.h"
#include "nsCOMArray.h"
#include "nsIURI.h"
#include "nsILoadGroup.h"
#include "nsCRT.h"
#include "mozFlushType.h"
#include "nsIAtom.h"
#include "nsCompatibility.h"
#include "nsTObserverArray.h"
#include "nsTHashtable.h"
#include "nsHashKeys.h"
#include "nsIVariant.h"
#include "nsIObserver.h"
#include "nsGkAtoms.h"
#include "nsAutoPtr.h"
#include "nsPIDOMWindow.h"
#include "nsSMILAnimationController.h"
#include "nsIScriptGlobalObject.h"
#include "nsIDocumentEncoder.h"
#include "nsIFrameRequestCallback.h"
#include "nsEventStates.h"
#include "nsIStructuredCloneContainer.h"
#include "nsILoadContext.h"
#include "mozFlushType.h" // for enum
#include "nsAutoPtr.h" // for member
#include "nsCOMArray.h" // for member
#include "nsCRT.h" // for NS_DECL_AND_IMPL_ZEROING_OPERATOR_NEW
#include "nsCompatibility.h" // for member
#include "nsCOMPtr.h" // for member
#include "nsGkAtoms.h" // for static class members
#include "nsIDocumentEncoder.h" // for member (in nsCOMPtr)
#include "nsIDocumentObserver.h" // for typedef (nsUpdateType)
#include "nsIFrameRequestCallback.h" // for member (in nsCOMPtr)
#include "nsILoadContext.h" // for member (in nsCOMPtr)
#include "nsILoadGroup.h" // for member (in nsCOMPtr)
#include "nsINode.h" // for base class
#include "nsIScriptGlobalObject.h" // for member (in nsCOMPtr)
#include "nsIStructuredCloneContainer.h" // for member (in nsCOMPtr)
#include "nsPIDOMWindow.h" // for use in inline functions
#include "nsPropertyTable.h" // for member
#include "nsTHashtable.h" // for member
class nsIRequest;
class nsPIDOMWindow;
class nsIStreamListener;
class nsIBFCacheEntry;
class nsIContent;
class nsPresContext;
class nsIPresShell;
class nsIDocShell;
class nsStyleSet;
class nsIStyleSheet;
class nsIStyleRule;
class nsCSSStyleSheet;
class nsIViewManager;
class nsIDOMEvent;
class nsIDOMEventTarget;
class nsDeviceContext;
class nsIParser;
class nsIDOMNode;
class nsIDOMElement;
class nsIDOMDocumentFragment;
class nsILineBreaker;
class nsIWordBreaker;
class nsISelection;
class nsIChannel;
class nsIPrincipal;
class nsIDOMDocument;
class nsIDOMDocumentType;
class nsScriptLoader;
class nsIContentSink;
class nsHTMLStyleSheet;
class nsHTMLCSSStyleSheet;
class nsILayoutHistoryState;
class nsIVariant;
class nsIDOMUserDataHandler;
template<class E> class nsCOMArray;
class nsIDocumentObserver;
class nsBindingManager;
class nsIDOMNodeList;
class mozAutoSubtreeModified;
struct JSObject;
class nsFrameLoader;
class nsIBoxObject;
class imgIRequest;
class nsISHEntry;
class nsAString;
class nsBindingManager;
class nsCSSStyleSheet;
class nsDOMNavigationTiming;
class nsWindowSizes;
class nsEventStates;
class nsFrameLoader;
class nsHTMLCSSStyleSheet;
class nsHTMLStyleSheet;
class nsIAtom;
class nsIBFCacheEntry;
class nsIBoxObject;
class nsIChannel;
class nsIContent;
class nsIContentSink;
class nsIDocShell;
class nsIDocumentObserver;
class nsIDOMDocument;
class nsIDOMDocumentFragment;
class nsIDOMDocumentType;
class nsIDOMElement;
class nsIDOMEventTarget;
class nsIDOMNodeList;
class nsILayoutHistoryState;
class nsIObjectLoadingContent;
class nsIObserver;
class nsIPresShell;
class nsIPrincipal;
class nsIRequest;
class nsIStreamListener;
class nsIStyleRule;
class nsIStyleSheet;
class nsIURI;
class nsIVariant;
class nsIViewManager;
class nsPresContext;
class nsScriptLoader;
class nsSMILAnimationController;
class nsStyleSet;
class nsWindowSizes;
namespace mozilla {
namespace css {

View File

@ -6,20 +6,16 @@
#ifndef nsINode_h___
#define nsINode_h___
#include "nsIDOMEventTarget.h"
#include "nsEvent.h"
#include "nsPropertyTable.h"
#include "nsTObserverArray.h"
#include "nsINodeInfo.h"
#include "nsCOMPtr.h"
#include "nsWrapperCache.h"
#include "nsIProgrammingLanguage.h" // for ::JAVASCRIPT
#include "nsDOMError.h"
#include "nsDOMString.h"
#include "jspubtd.h"
#include "nsWindowMemoryReporter.h"
#include "nsIVariant.h"
#include "nsGkAtoms.h"
#include "nsCOMPtr.h" // for member, local
#include "nsGkAtoms.h" // for nsGkAtoms::baseURIProperty
#include "nsIDOMEventTarget.h" // for base class
#include "nsINodeInfo.h" // member (in nsCOMPtr)
#include "nsIVariant.h" // for use in GetUserData()
#include "nsNodeInfoManager.h" // for use in NodePrincipal()
#include "nsPropertyTable.h" // for typedefs
#include "nsTObserverArray.h" // for member
#include "nsWindowMemoryReporter.h" // for NS_DECL_SIZEOF_EXCLUDING_THIS
#include "nsWrapperCache.h" // for base class
// Including 'windows.h' will #define GetClassInfo to something else.
#ifdef XP_WIN
@ -28,26 +24,23 @@
#endif
#endif
class nsAttrAndChildArray;
class nsChildContentList;
class nsIContent;
class nsIDocument;
class nsIDOMEvent;
class nsIDOMNode;
class nsIDOMElement;
class nsIDOMNode;
class nsIDOMNodeList;
class nsIDOMUserDataHandler;
class nsIEditor;
class nsIFrame;
class nsIMutationObserver;
class nsINodeList;
class nsIPresShell;
class nsEventChainVisitor;
class nsEventChainPreVisitor;
class nsEventChainPostVisitor;
class nsEventListenerManager;
class nsIPrincipal;
class nsIMutationObserver;
class nsChildContentList;
class nsNodeWeakReference;
class nsIURI;
class nsNodeSupportsWeakRefTearoff;
class nsIEditor;
class nsIDOMUserDataHandler;
class nsAttrAndChildArray;
class nsNodeWeakReference;
class nsXPCClassInfo;
namespace mozilla {
@ -56,6 +49,12 @@ class Element;
} // namespace dom
} // namespace mozilla
namespace JS {
class Value;
}
inline void SetDOMStringToNull(nsAString& aString);
enum {
// This bit will be set if the node has a listener manager.
NODE_HAS_LISTENERMANAGER = 0x00000001U,
@ -150,19 +149,6 @@ enum {
NODE_TYPE_SPECIFIC_BITS_OFFSET = 20
};
// Useful inline function for getting a node given an nsIContent and an
// nsIDocument. Returns the first argument cast to nsINode if it is non-null,
// otherwise returns the second (which may be null). We use type variables
// instead of nsIContent* and nsIDocument* because the actual types must be
// known for the cast to work.
template<class C, class D>
inline nsINode* NODE_FROM(C& aContent, D& aDocument)
{
if (aContent)
return static_cast<nsINode*>(aContent);
return static_cast<nsINode*>(aDocument);
}
/**
* Class used to detect unexpected mutations. To use the class create an
* nsMutationGuard on the stack before unexpected mutations could occur.
@ -1559,6 +1545,19 @@ protected:
nsSlots* mSlots;
};
// Useful inline function for getting a node given an nsIContent and an
// nsIDocument. Returns the first argument cast to nsINode if it is non-null,
// otherwise returns the second (which may be null). We use type variables
// instead of nsIContent* and nsIDocument* because the actual types must be
// known for the cast to work.
template<class C, class D>
inline nsINode* NODE_FROM(C& aContent, D& aDocument)
{
if (aContent)
return static_cast<nsINode*>(aContent);
return static_cast<nsINode*>(aDocument);
}
extern const nsIID kThisPtrOffsetsSID;

View File

@ -23,20 +23,19 @@
#ifndef nsINodeInfo_h___
#define nsINodeInfo_h___
#include "nsISupports.h"
#include "nsIAtom.h"
#include "nsINameSpaceManager.h"
#include "nsNodeInfoManager.h"
#include "nsCOMPtr.h"
#include "nsCOMPtr.h" // for member
#include "nsIAtom.h" // for member (in nsCOMPtr)
#include "nsINameSpaceManager.h" // for kNameSpaceID_*
#include "nsISupports.h" // for base class
#ifdef MOZILLA_INTERNAL_API
#include "nsDOMString.h"
#endif
// Forward declarations
class nsIDocument;
class nsIURI;
class nsIPrincipal;
class nsNodeInfoManager;
// IID for the nsINodeInfo interface
#define NS_INODEINFO_IID \

View File

@ -6,6 +6,7 @@
#include "nsDOMMutationObserver.h"
#include "nsDOMClassInfoID.h"
#include "nsDOMError.h"
#include "nsIClassInfo.h"
#include "nsIXPCScriptable.h"
#include "nsIScriptGlobalObject.h"

View File

@ -33,6 +33,7 @@
#include "nsDOMEventTargetHelper.h"
#include "mozilla/Attributes.h"
#include "nsDOMClassInfoID.h"
#include "nsDOMError.h"
using namespace mozilla;

View File

@ -10,6 +10,7 @@
#include "ContentChild.h"
#include "ContentParent.h"
#include "nsContentUtils.h"
#include "nsDOMError.h"
#include "nsIXPConnect.h"
#include "jsapi.h"
#include "nsJSUtils.h"
@ -1205,4 +1206,4 @@ nsFrameMessageManager::MarkForCC()
xpc_TryUnmarkWrappedGrayObject(mListeners[i].mListener);
}
return true;
}
}

View File

@ -48,6 +48,7 @@ class nsIDOMCSSStyleDeclaration;
class nsIURI;
class nsINodeInfo;
class nsIControllers;
class nsEventChainVisitor;
class nsEventListenerManager;
class nsIScrollableFrame;
class nsAttrValueOrString;

View File

@ -12,7 +12,7 @@
#ifndef nsGkAtoms_h___
#define nsGkAtoms_h___
#include "nsIAtom.h"
class nsIAtom;
class nsGkAtoms {
public:

View File

@ -10,24 +10,22 @@
#ifndef nsNodeInfoManager_h___
#define nsNodeInfoManager_h___
#include "nsCOMPtr.h" // for already_AddRefed
#include "plhash.h"
#include "nsCycleCollectionParticipant.h"
#include "mozilla/Attributes.h"
#include "mozilla/Attributes.h" // for MOZ_FINAL
#include "nsCOMPtr.h" // for member
#include "nsCycleCollectionParticipant.h" // for NS_DECL_CYCLE_*
#include "plhash.h" // for typedef PLHashNumber
class nsAString;
class nsBindingManager;
class nsIAtom;
class nsIDocument;
class nsINodeInfo;
class nsNodeInfo;
class nsIPrincipal;
class nsIURI;
class nsDocument;
class nsIDOMDocumentType;
class nsIDOMDocument;
class nsAString;
class nsIDOMNamedNodeMap;
class nsXULPrototypeDocument;
class nsBindingManager;
class nsINodeInfo;
class nsIPrincipal;
class nsNodeInfo;
struct PLHashEntry;
struct PLHashTable;
template<class T> struct already_AddRefed;
class nsNodeInfoManager MOZ_FINAL : public nsISupports
{

View File

@ -6,8 +6,8 @@
#ifndef nsNodeUtils_h___
#define nsNodeUtils_h___
#include "nsINode.h"
#include "nsIContent.h"
#include "nsIContent.h" // for use in inline function (ParentChainChanged)
#include "nsIMutationObserver.h" // for use in inline function (ParentChainChanged)
struct CharacterDataChangeInfo;
struct JSContext;

View File

@ -10,6 +10,7 @@
#include "IPC/IPCMessageUtils.h"
#include "nsCOMPtr.h"
#include "nsDOMError.h"
#include "nsDOMEvent.h"
#include "nsEventStateManager.h"
#include "nsIFrame.h"

View File

@ -4,6 +4,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDOMError.h"
#include "nsDOMNotifyAudioAvailableEvent.h"
#include "nsDOMClassInfoID.h" // DOMCI_DATA, NS_DOM_INTERFACE_MAP_ENTRY_CLASSINFO
#include "nsContentUtils.h" // NS_DROP_JS_OBJECTS

View File

@ -4,6 +4,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDOMError.h"
#include "nsDOMStringMap.h"
#include "nsDOMClassInfoID.h"

View File

@ -3,6 +3,7 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDOMError.h"
#include "nsIDOMHTMLAudioElement.h"
#include "nsHTMLAudioElement.h"
#include "nsGenericHTMLElement.h"

View File

@ -11,6 +11,7 @@
#include "nsEventDispatcher.h"
#include "nsHTMLMenuItemElement.h"
#include "nsContentUtils.h"
#include "nsDOMError.h"
enum MenuType
{

View File

@ -6,6 +6,7 @@
#ifndef NS_SMILTIMEDELEMENT_H_
#define NS_SMILTIMEDELEMENT_H_
#include "nsISMILAnimationElement.h"
#include "nsSMILInterval.h"
#include "nsSMILInstanceTime.h"
#include "nsSMILMilestone.h"
@ -18,7 +19,6 @@
#include "nsAutoPtr.h"
#include "nsAttrValue.h"
class nsISMILAnimationElement;
class nsSMILAnimationFunction;
class nsSMILTimeContainer;
class nsSMILTimeValue;

View File

@ -10,6 +10,7 @@
#include "nsSVGElement.h"
#include "nsContentUtils.h"
#include "dombindings.h"
#include "nsDOMError.h"
// local helper functions
namespace {

View File

@ -6,6 +6,7 @@
#include "SVGAnimatedTransformList.h"
#include "DOMSVGAnimatedTransformList.h"
#include "nsISMILAnimationElement.h"
#include "nsSMILValue.h"
#include "SVGTransform.h"
#include "SVGTransformListSMILType.h"

View File

@ -4,6 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "SVGMotionSMILAnimationFunction.h"
#include "nsISMILAnimationElement.h"
#include "nsSMILParserUtils.h"
#include "nsSVGAngle.h"
#include "SVGMotionSMILType.h"

View File

@ -4,6 +4,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDOMError.h"
#include "SVGTransform.h"
#include "nsContentUtils.h"
#include "nsTextFormatter.h"

View File

@ -3,6 +3,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDOMError.h"
#include "nsSVGBoolean.h"
#include "nsSMILValue.h"
#include "SMILBoolType.h"

View File

@ -56,6 +56,7 @@
#include "nsSMILMappedAttribute.h"
#include "SVGMotionSMILAttr.h"
#include "nsAttrValueOrString.h"
#include "nsSMILAnimationController.h"
using namespace mozilla;

View File

@ -3,6 +3,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDOMError.h"
#include "nsSVGEnum.h"
#include "nsIAtom.h"
#include "nsSVGElement.h"

View File

@ -3,6 +3,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDOMError.h"
#include "nsSVGInteger.h"
#include "nsSMILValue.h"
#include "SMILIntegerType.h"

View File

@ -3,6 +3,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDOMError.h"
#include "nsSVGNumber2.h"
#include "nsSVGUtils.h"
#include "nsTextFormatter.h"

View File

@ -4,6 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nscore.h"
#include "nsDOMError.h"
#include "nsIContent.h"
#include "nsINodeInfo.h"
#include "nsIDOMElement.h"

View File

@ -23,6 +23,7 @@
#include "nsXPIDLString.h"
#include "nsReadableUtils.h"
#include "nsDOMClassInfoID.h"
#include "nsDOMError.h"
#include "nsContentUtils.h"
#include "nsISHistoryInternal.h"
#include "mozilla/Preferences.h"

View File

@ -4,6 +4,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDOMError.h"
#include "nsJSEnvironment.h"
#include "nsIScriptGlobalObject.h"
#include "nsIScriptObjectPrincipal.h"

View File

@ -10,6 +10,7 @@
#include "nsContentUtils.h"
#include "nsEventDispatcher.h"
#include "nsDOMError.h"
#include "nsDOMProgressEvent.h"
#include "nsDOMClassInfoID.h"
#include "FileHelper.h"

View File

@ -13,6 +13,7 @@
#include "nsIPrincipal.h"
#include "nsPIDOMWindow.h"
#include "nsServiceManagerUtils.h"
#include "nsDOMError.h"
DOMCI_DATA(MozPowerManager, mozilla::dom::power::PowerManager)

View File

@ -35,6 +35,8 @@
#include "WorkerFeature.h"
#include "WorkerPrivate.h"
#include "nsDOMError.h"
#define MAX_CONCURRENT_SCRIPTS 1000
USING_WORKERS_NAMESPACE

View File

@ -31,6 +31,7 @@
#include "js/MemoryMetrics.h"
#include "nsAlgorithm.h"
#include "nsContentUtils.h"
#include "nsDOMError.h"
#include "nsDOMJSUtils.h"
#include "nsGUIEvent.h"
#include "nsJSEnvironment.h"

View File

@ -23,6 +23,7 @@
#include "nsIXMLContentSink.h"
#include "nsNetCID.h"
#include "nsComponentManagerUtils.h"
#include "nsSMILAnimationController.h"
#include "nsServiceManagerUtils.h"
#include "nsSize.h"
#include "gfxRect.h"

View File

@ -110,6 +110,7 @@ def print_header_file(fd, conf):
"#define _gen_mozilla_idl_dictionary_helpers_h_\n\n")
fd.write("#include \"jsapi.h\"\n"
"#include \"nsDOMError.h\"\n"
"#include \"nsString.h\"\n"
"#include \"nsCOMPtr.h\"\n\n")

View File

@ -54,6 +54,7 @@
#include "nsSVGOuterSVGFrame.h"
#include "mozilla/Attributes.h"
#include "ScrollbarActivity.h"
#include "nsRefreshDriver.h"
using namespace mozilla;
using namespace mozilla::dom;

View File

@ -13,6 +13,7 @@
#include "nsFontFaceLoader.h"
#include "nsDOMError.h"
#include "nsError.h"
#include "nsIFile.h"
#include "nsIStreamListener.h"

View File

@ -10,6 +10,7 @@
#include "nsTreeContentView.h"
#include "nsChildIterator.h"
#include "nsDOMClassInfoID.h"
#include "nsDOMError.h"
#include "nsEventStates.h"
#include "nsINodeInfo.h"
#include "nsIXULSortService.h"

View File

@ -4,6 +4,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsDOMError.h"
#include "nsHtml5TreeOpExecutor.h"
#include "nsScriptLoader.h"
#include "nsIMarkupDocumentViewer.h"