The modifications are all straightforward conversion except the one in
nsMathMLContainerFrame, where it is simplified by calling the equivalent
BuildDisplayListForInline() helper.
Differential Revision: https://phabricator.services.mozilla.com/D78166
These flex / grid's methods are implemented by delegating to
nsContainerFrame's methods. We shouldn't assume they can support more
child list types than the ones supported in nsContainerFrame's methods.
- NoteNewChildren is a helper for flex and grid's AppendFrame and
InsertFrames, and nsContainerFrame::{AppendFrame,InsertFrames} supports
only kPrincipalList and kNoReflowPrincipalList.
- nsContainerFrame::RemoveFrame supports only kPrincipalList and
kNoReflowPrincipalList.
- nsContainerFrame::SetInitialChildList supports only kPrincipalList and
kBackdropList.
Differential Revision: https://phabricator.services.mozilla.com/D77391
This only occurred when a grid with a repeat with multiple values was used.
Also Add crashtests for this case, and update some comments on LineNameMap's
fields while we are here.
Differential Revision: https://phabricator.services.mozilla.com/D71242
I left all the bits that related to grid container, such as setting
aStatus, NS_STATE_GRID_DID_PUSH_ITEMS, and aState.mIter in
nsGridContainerFrame::ReflowRowsInFragmentainer().
Differential Revision: https://phabricator.services.mozilla.com/D68492
We have duplicated ReparentFrame and ReparentFrames define in both
nsBlockFrame and nsGridContainerFrame. We should move them into
nsContainerFrame.
Differential Revision: https://phabricator.services.mozilla.com/D68490
To get the logical content size of a frame, some callers use
GetContentRectRelativeToSelf().Size() and then convert it to
LogicalRect. We really should generalize ContentBSize(), and provide
ContentSize() for such purpose.
Differential Revision: https://phabricator.services.mozilla.com/D68065
Rename fill_idx to fill_start, to indicate it is not a single value but a
range. Also change a numeric_limits<>::max() involving the fill_start to use
decltype() to ensure its type matches that of the auto-generated structure's
field, while we're touching that code.
The test to ensure only a single repeat value is allowed will be removed by a
later commit.
Differential Revision: https://phabricator.services.mozilla.com/D60929
This also means that the result of CalculateRepeatFillCount is specified to be
a number of repetitions of all repeat tracks, not the total number of tracks.
Differential Revision: https://phabricator.services.mozilla.com/D60927
Rename fill_idx to fill_start, to indicate it is not a single value but a
range. Also change a numeric_limits<>::max() involving the fill_start to use
decltype() to ensure its type matches that of the auto-generated structure's
field, while we're touching that code.
The test to ensure only a single repeat value is allowed will be removed by a
later commit.
Differential Revision: https://phabricator.services.mozilla.com/D60929
This also means that the result of CalculateRepeatFillCount is specified to be
a number of repetitions of all repeat tracks, not the total number of tracks.
Differential Revision: https://phabricator.services.mozilla.com/D60927
Both PresShell() and PresContext() are cached in nsIFrame. This
simplifies the setup for the callers to
nsCSSFrameConstructor::CreateContinuingFrame().
Differential Revision: https://phabricator.services.mozilla.com/D66600
Summary of the changes/reasons:
- LayoutTelemetryTools.h directly uses several types whose headers it needs to
include. (These includes were present in its .cpp file; I'm migrating them
from there to the .h file, and I'm adding a new include for "Saturate.h" to
provide the SaturateUint8 type.)
- LayoutTelemetryTools.cpp needs an include for MainThreadUtils.h, to provide
NS_IsMainThread().
- StaticPresData.cpp needs an include for ServoUtils.h, to provide
AssertIsMainThreadOrServoFontMetricsLocked().
- ZoomConstraintsClient.h needs a forward-decl for mozilla::dom::Document since
it uses a pointer of that type in a function-decl.
- ScrollSnap.h needs forward-decls of nsPoint/nsRect for some references to
those types in a method signature.
- nsGridContainerFrame.cpp needs an include for nsBoxLayoutState.h since it
uses that type (it instantiates a nsBoxLayoutState instance).
- nsPlaceholderFrame.cpp needs a "using" decl for the mozilla::dom namespace in
order to use the un-namespace-prefixed "Element" type.
Differential Revision: https://phabricator.services.mozilla.com/D61603