Bug 1590639 part 4: Fix non-unified build issues in layout/style. r=emilio

This patch:

- Gives layout/generic/AnonymousContentKey.h an include for `<stdint.h>` to
  provide the uint8_t type, and TypedEnumBits.h to provide the
  MOZ_MAKE_ENUM_CLASS_BITWISE_OPERATORS macro. (This is a change in another
  directory, but it's needed in order for layout/style/ServoStyleSet.cpp to
  build successfully.)
- Adds a missing "nsINode" forward-decl to dom/base/IdentifierMapEntry.h,
  because it uses that type in function declarations.  (This change is needed
  in order for layout/style/CachedInheritingStyles.cpp to build successfully.)
- Gives CSSStyleRule.cpp an include for PseudoStyleType.h,
  nsCSSPseudoElements.h, and CSSEnabledState.h because it uses those types.
- Gives GeckoBindings.cpp an include for gfxTextRun.h, to provide the definition
  of type gfxFontGroup (so GeckoBindings can call GetFirstValidFont() on an
  object of that type).
- Gives Loader.h an include for nsIContentInlines.h, to provide the inline
  function IsInUAWidget().
- Gives Rule.cpp an include for HoldDropJSObjects.h, to provide DropJSObjects().
- Gives nsImageLoader.cpp an include for DocumentInlines.h (and Document.h for
  good measure), to provide the inline function GetPresContext().
- Gives nsStyleStruct.cpp an include for DocumentInlines.h, to provide inline
  function Document::GetPresContext().
- Gives nsStyleTransformMatrix.h an include for Units.h (instead of gfxPoint.h,
  which isn't useful) to provide the CSSPoint type.
- Gives nsStyleTransformMatrix.h an include for ServoStyleConsts.h, to provide
  LengthPercentage and the various StyleRotate/StyleScale/StyleTransform/etc
  types. (These can't be easily forward-declared, because some of them are
  legitimate types whereas others are type aliases. We could theoretically
  forward-declare all of the underlying types and then repeat the type aliases,
  but that'd be verbose and unmaintainable.)

Depends on D50165

Differential Revision: https://phabricator.services.mozilla.com/D50166

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Daniel Holbert 2019-10-23 08:14:54 +00:00
parent 5c6525bdd3
commit d55c8c26d0
9 changed files with 16 additions and 2 deletions

View File

@ -24,6 +24,7 @@
#include "nsTHashtable.h"
class nsIContent;
class nsINode;
class nsContentList;
class nsBaseContentList;

View File

@ -9,6 +9,9 @@
#ifndef mozilla_AnonymousContentKey_h
#define mozilla_AnonymousContentKey_h
#include "mozilla/TypedEnumBits.h"
#include <stdint.h>
namespace mozilla {
// clang-format off

View File

@ -6,9 +6,12 @@
#include "mozilla/dom/CSSStyleRule.h"
#include "mozilla/CSSEnabledState.h"
#include "mozilla/DeclarationBlock.h"
#include "mozilla/PseudoStyleType.h"
#include "mozilla/ServoBindings.h"
#include "mozilla/dom/CSSStyleRuleBinding.h"
#include "nsCSSPseudoElements.h"
#include "mozAutoDocUpdate.h"

View File

@ -13,6 +13,7 @@
#include "GeckoProfiler.h"
#include "gfxFontFamilyList.h"
#include "gfxFontFeatures.h"
#include "gfxTextRun.h"
#include "nsAnimationManager.h"
#include "nsAttrValueInlines.h"
#include "nsCSSFrameConstructor.h"

View File

@ -9,6 +9,9 @@
*/
#include "mozilla/css/ImageLoader.h"
#include "mozilla/dom/Document.h"
#include "mozilla/dom/DocumentInlines.h"
#include "nsAutoPtr.h"
#include "nsContentUtils.h"
#include "nsLayoutUtils.h"

View File

@ -25,6 +25,7 @@
#include "nsCOMPtr.h"
#include "nsString.h"
#include "nsIContent.h"
#include "nsIContentInlines.h"
#include "mozilla/dom/Document.h"
#include "nsIURI.h"
#include "nsNetUtil.h"

View File

@ -12,6 +12,7 @@
#include "mozilla/dom/DocumentOrShadowRoot.h"
#include "nsCCUncollectableMarker.h"
#include "mozilla/dom/Document.h"
#include "mozilla/HoldDropJSObjects.h"
#include "nsWrapperCacheInlines.h"
using namespace mozilla;

View File

@ -40,6 +40,7 @@
#include "mozilla/Likely.h"
#include "nsIURI.h"
#include "mozilla/dom/Document.h"
#include "mozilla/dom/DocumentInlines.h"
#include <algorithm>
#include "ImageLoader.h"

View File

@ -11,11 +11,11 @@
#ifndef nsStyleTransformMatrix_h_
#define nsStyleTransformMatrix_h_
#include "gfxPoint.h"
#include "mozilla/gfx/Matrix.h"
#include "mozilla/EnumeratedArray.h"
#include "mozilla/ServoStyleConsts.h"
#include "nsSize.h"
#include "Units.h" // for CSSPoint
#include <limits>
class nsIFrame;