Bug 1398963 part 4: Refactor logic in nsCSSFrameConstructor's IsXULDisplayType() function (idempotent patch). r=mats
This patch does not change behavior. This patch just refactors the logic in
IsXULDisplayType so that -moz-box and -moz-inline-box are handled via a
dedicated early-return. This lets a later patch in this series make a more
understandable targeted tweak to add pref-controlled behavior for these display
values.
MozReview-Commit-ID: 6keGrxJcA5l
--- a/layout/base/nsCSSFrameConstructor.cpp
+++ b/layout/base/nsCSSFrameConstructor.cpp
@@ -4392,32 +4392,34 @@ nsCSSFrameConstructor::GetAnonymousConte
}
return NS_OK;
}
static
bool IsXULDisplayType(const nsStyleDisplay* aDisplay)
{
- return (aDisplay->mDisplay == StyleDisplay::MozInlineBox ||
+ if (aDisplay->mDisplay == StyleDisplay::MozInlineBox ||
+ aDisplay->mDisplay == StyleDisplay::MozBox) {
+ return true;
+ }
+
#ifdef MOZ_XUL
- aDisplay->mDisplay == StyleDisplay::MozInlineGrid ||
+ return (aDisplay->mDisplay == StyleDisplay::MozInlineGrid ||
aDisplay->mDisplay == StyleDisplay::MozInlineStack ||
-#endif
- aDisplay->mDisplay == StyleDisplay::MozBox
-#ifdef MOZ_XUL
- || aDisplay->mDisplay == StyleDisplay::MozGrid ||
+ aDisplay->mDisplay == StyleDisplay::MozGrid ||
aDisplay->mDisplay == StyleDisplay::MozStack ||
aDisplay->mDisplay == StyleDisplay::MozGridGroup ||
aDisplay->mDisplay == StyleDisplay::MozGridLine ||
aDisplay->mDisplay == StyleDisplay::MozDeck ||
aDisplay->mDisplay == StyleDisplay::MozPopup ||
- aDisplay->mDisplay == StyleDisplay::MozGroupbox
+ aDisplay->mDisplay == StyleDisplay::MozGroupbox);
+#else
+ return false;
#endif
- );
}
// XUL frames are not allowed to be out of flow.
#define SIMPLE_XUL_FCDATA(_func) \
FCDATA_DECL(FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_SKIP_ABSPOS_PUSH, \
_func)
#define SCROLLABLE_XUL_FCDATA(_func) \