Bug 1451169 - Reduce indirection for static atom pointers in nsCSSFrameConstructor.h. r=xidorn
MozReview-Commit-ID: Kt3QfZsk0zD
--- a/layout/base/nsCSSFrameConstructor.cpp
+++ b/layout/base/nsCSSFrameConstructor.cpp
@@ -392,17 +392,17 @@ GetFieldSetBlockFrame(nsIFrame* aFieldse
nsIFrame* inner = firstChild && firstChild->GetNextSibling() ? firstChild->GetNextSibling() : firstChild;
return inner ? inner->GetContentInsertionFrame() : nullptr;
}
#define FCDATA_DECL(_flags, _func) \
{ _flags, { (FrameCreationFunc)_func }, nullptr, nullptr }
#define FCDATA_WITH_WRAPPING_BLOCK(_flags, _func, _anon_box) \
{ _flags | FCDATA_CREATE_BLOCK_WRAPPER_FOR_ALL_KIDS, \
- { (FrameCreationFunc)_func }, nullptr, &_anon_box }
+ { (FrameCreationFunc)_func }, nullptr, _anon_box }
#define UNREACHABLE_FCDATA() \
{ 0, { (FrameCreationFunc)nullptr }, nullptr, nullptr }
//----------------------------------------------------------------------
/**
* True if aFrame is an actual inline frame in the sense of non-replaced
* display:inline CSS boxes. In other words, it can be affected by {ib}
@@ -3901,18 +3901,17 @@ nsCSSFrameConstructor::ConstructFrameFro
// If we need to create a block formatting context to wrap our
// kids, do it now.
const nsStyleDisplay* maybeAbsoluteContainingBlockDisplay = display;
nsIFrame* maybeAbsoluteContainingBlockStyleFrame = primaryFrame;
nsIFrame* maybeAbsoluteContainingBlock = newFrame;
nsIFrame* possiblyLeafFrame = newFrame;
if (bits & FCDATA_CREATE_BLOCK_WRAPPER_FOR_ALL_KIDS) {
RefPtr<ComputedStyle> outerSC = mPresShell->StyleSet()->
- ResolveInheritingAnonymousBoxStyle(*data->mAnonBoxPseudo,
- computedStyle);
+ ResolveInheritingAnonymousBoxStyle(data->mAnonBoxPseudo, computedStyle);
#ifdef DEBUG
nsContainerFrame* containerFrame = do_QueryFrame(newFrame);
MOZ_ASSERT(containerFrame);
#endif
nsContainerFrame* container = static_cast<nsContainerFrame*>(newFrame);
nsContainerFrame* outerFrame;
nsContainerFrame* innerFrame;
if (bits & FCDATA_ALLOW_GRID_FLEX_COLUMNSET) {
--- a/layout/base/nsCSSFrameConstructor.h
+++ b/layout/base/nsCSSFrameConstructor.h
@@ -738,27 +738,27 @@ private:
// FrameFullConstructor to see what the functions would do.
union Func {
FrameCreationFunc mCreationFunc;
FrameConstructionDataGetter mDataGetter;
} mFunc;
FrameFullConstructor mFullConstructor;
// For cases when FCDATA_CREATE_BLOCK_WRAPPER_FOR_ALL_KIDS is set, the
// anonymous box type to use for that wrapper.
- nsICSSAnonBoxPseudo * const * const mAnonBoxPseudo;
+ nsICSSAnonBoxPseudo* const mAnonBoxPseudo;
};
/* Structure representing a mapping of an atom to a FrameConstructionData.
This can be used with non-static atoms, assuming that the nsAtom* is
stored somewhere that this struct can point to (that is, a static
nsAtom*) and that it's allocated before the struct is ever used. */
struct FrameConstructionDataByTag {
// Pointer to nsStaticAtom* is used because we want to initialize this
// statically, so before our atom tables are set up.
- const nsStaticAtom * const * const mTag;
+ const nsStaticAtom* const* mTag;
const FrameConstructionData mData;
};
/* Structure representing a mapping of an integer to a
FrameConstructionData. There are no magic integer values here. */
struct FrameConstructionDataByInt {
/* Could be used for display or whatever else */
const int32_t mInt;
@@ -779,17 +779,17 @@ private:
#define FCDATA_FOR_DISPLAY(_display, _fcdata) \
{ _fcdata }
#endif
/* Structure that has a FrameConstructionData and style pseudo-type
for a table pseudo-frame */
struct PseudoParentData {
const FrameConstructionData mFCData;
- nsICSSAnonBoxPseudo * const * const mPseudoType;
+ nsICSSAnonBoxPseudo* const* mPseudoType;
};
/* Array of such structures that we use to properly construct table
pseudo-frames as needed */
static const PseudoParentData sPseudoParentData[eParentTypeCount];
/* A function that takes an integer, content, style, and array of
FrameConstructionDataByInts and finds the appropriate frame construction
data to use and returns it. This can return null if none of the integers