From 3181988f2ec64b27f08f134cb8de01dced7bc83c Mon Sep 17 00:00:00 2001 From: Xidorn Quan Date: Thu, 29 Mar 2018 22:15:46 +1100 Subject: [PATCH] Bug 1449400 part 2 - Remove some dependencies from ServoStyleSet.h and add some random stuff to fix breakage. r=emilio Some of the definitions are needed for the headers removal in following patches. MozReview-Commit-ID: BCj7U7RgBLj --HG-- extra : rebase_source : e8e437f76c4db6ec930ea0481b6c1a38129a5477 extra : source : a1c42220e5070fa4beea438859ab0daec3f3fe7b --- accessible/base/StyleInfo.h | 3 +++ layout/style/ComputedStyle.h | 17 +++++++++++++---- layout/style/ServoStyleSet.h | 12 ++++++++---- layout/style/StreamLoader.h | 1 + modules/libpref/Preferences.cpp | 1 + 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/accessible/base/StyleInfo.h b/accessible/base/StyleInfo.h index 96028e6fb48e..d1cf900e6d02 100644 --- a/accessible/base/StyleInfo.h +++ b/accessible/base/StyleInfo.h @@ -11,6 +11,9 @@ #include "mozilla/ComputedStyle.h" namespace mozilla { +namespace dom { +class Element; +} // namespace dom namespace a11y { class StyleInfo diff --git a/layout/style/ComputedStyle.h b/layout/style/ComputedStyle.h index 0b340ae467f9..40842040e205 100644 --- a/layout/style/ComputedStyle.h +++ b/layout/style/ComputedStyle.h @@ -11,13 +11,16 @@ #include "nsIMemoryReporter.h" #include +#include "mozilla/ArenaObjectID.h" #include "mozilla/Assertions.h" #include "mozilla/RestyleLogging.h" #include "mozilla/ServoStyleSet.h" +#include "mozilla/ServoTypes.h" #include "mozilla/ServoUtils.h" #include "mozilla/StyleComplexColor.h" #include "mozilla/CachedInheritingStyles.h" #include "nsCSSAnonBoxes.h" +#include "nsCSSPseudoElements.h" // Includes nsStyleStructID. #include "nsStyleStructFwd.h" @@ -66,13 +69,14 @@ #define NS_STYLE_CONTEXT_TYPE_SHIFT 37 class nsAtom; +enum nsChangeHint : uint32_t; +class nsIPresShell; class nsPresContext; class nsWindowSizes; -namespace mozilla { - -enum class CSSPseudoElementType : uint8_t; -class ComputedStyle; +#define STYLE_STRUCT(name_) struct nsStyle##name_; +#include "nsStyleStructList.h" +#undef STYLE_STRUCT extern "C" { void Servo_ComputedStyle_AddRef(const mozilla::ComputedStyle* aStyle); @@ -80,6 +84,11 @@ extern "C" { void Gecko_ComputedStyle_Destroy(mozilla::ComputedStyle*); } +namespace mozilla { + +enum class CSSPseudoElementType : uint8_t; +class ComputedStyle; + /** * A ComputedStyle represents the computed style data for an element. The * computed style data are stored in a set of structs (see nsStyleStruct.h) that diff --git a/layout/style/ServoStyleSet.h b/layout/style/ServoStyleSet.h index b74840b394fc..71193fddee59 100644 --- a/layout/style/ServoStyleSet.h +++ b/layout/style/ServoStyleSet.h @@ -8,13 +8,11 @@ #define mozilla_ServoStyleSet_h #include "mozilla/AtomArray.h" -#include "mozilla/EffectCompositor.h" #include "mozilla/EnumeratedArray.h" #include "mozilla/EventStates.h" #include "mozilla/MediaFeatureChange.h" #include "mozilla/PostTraversalTask.h" #include "mozilla/ServoBindingTypes.h" -#include "mozilla/ServoElementSnapshot.h" #include "mozilla/ServoBindings.h" #include "mozilla/ServoUtils.h" #include "mozilla/StyleSheetInlines.h" @@ -24,22 +22,28 @@ #include "nsCSSPseudoElements.h" #include "nsCSSAnonBoxes.h" #include "nsChangeHint.h" +#include "nsCoord.h" #include "nsAtom.h" #include "nsIMemoryReporter.h" #include "nsTArray.h" namespace mozilla { +namespace css { +class Rule; +} // namespace css namespace dom { class Element; +class ShadowRoot; } // namespace dom -class CSSStyleSheet; class ServoRestyleManager; class ServoStyleSheet; struct Keyframe; class ServoElementSnapshotTable; class ComputedStyle; class ServoStyleRuleMap; +class StyleSheet; } // namespace mozilla +class gfxFontFeatureValueSet; class nsCSSCounterStyleRule; class nsIContent; class nsIDocument; @@ -471,7 +475,7 @@ public: ComputedStyle* aNewParent, ComputedStyle* aNewParentIgnoringFirstLine, ComputedStyle* aNewLayoutParent, - Element* aElement); + dom::Element* aElement); private: friend class AutoSetInServoTraversal; diff --git a/layout/style/StreamLoader.h b/layout/style/StreamLoader.h index 825106c1291a..924685d3732f 100644 --- a/layout/style/StreamLoader.h +++ b/layout/style/StreamLoader.h @@ -7,6 +7,7 @@ #ifndef mozilla_css_StreamLoader_h #define mozilla_css_StreamLoader_h +#include "nsIStreamListener.h" #include "nsString.h" #include "mozilla/css/SheetLoadData.h" diff --git a/modules/libpref/Preferences.cpp b/modules/libpref/Preferences.cpp index fc80a3e4950d..47a6a79790df 100644 --- a/modules/libpref/Preferences.cpp +++ b/modules/libpref/Preferences.cpp @@ -29,6 +29,7 @@ #include "mozilla/ServoStyleSet.h" #include "mozilla/StaticPrefs.h" #include "mozilla/SyncRunnable.h" +#include "mozilla/SystemGroup.h" #include "mozilla/Telemetry.h" #include "mozilla/UniquePtrExtensions.h" #include "mozilla/URLPreloader.h"