Also: adjust include paths to be consistent for usages of various SVG headers,
and remove unused SVG includes (mostly for "utils" classes),
and drop stray "ns" from already-renamed SVG classes in various code comments.
Differential Revision: https://phabricator.services.mozilla.com/D83140
This is a straightforward conversion except that
`NS_SUBTREE_DIRTY(this)` can be written terser as `IsSubtreeDirty()`.
Differential Revision: https://phabricator.services.mozilla.com/D82811
Make the following tweak so that they are consistent with others.
* Add a space before the open angle bracket. This is at the end of
`Block(div)(1)@7f10e25de5d0 ... <`
* Tweak nsLineBox format.
`line 7f10e25de808: count=1` becomes `line@7f10e25de808 count=1`.
* Tweak child list format.
`AbsoluteList 0x7f10e3c7e560` becomes `AbsoluteList@7f10e3c7e560`
Differential Revision: https://phabricator.services.mozilla.com/D82603
`ListChildLists` lives in nsContainerFrame because I'm going to use it
to improve nsContainerFrame::List() in a later patch.
Differential Revision: https://phabricator.services.mozilla.com/D82602
This effectively makes ClearFloat() act like it always has
DONT_CLEAR_PUSHED_FLOATS. Thus, the flag is no longer needed.
We need to add an early return condition when the block cannot fit in
ReflowBlockFrame(). Because we now don't return nscoord_MAX when floats
are pushed or split, the `availSpace.BSize(wm)` might equal to zero
rather than negative in this case. It's needed by
testing/web-platform/tests/css/CSS2/floats-clear/floats-clear-multicol-003.html
and layout/reftests/pagination/float-clear-003-print.html
Differential Revision: https://phabricator.services.mozilla.com/D74540
The rules I used when replacing the block-dir coordinates comparison
between the one passing to ClearFloats() and the one returned by
ClearFloats().
- If they are equal, check the ClearFloatsResult is equal to `BCoordNoChange`.
- If they are not equal, check the ClearFloatsResult is not equal to `BCoordNoChange`.
We want to do this conversion because in the next patch, I want to stop
ClearFloats() from returning nscoord_MAX, which is equivalent to
checking `FloatsPushedOrSplit`.
Differential Revision: https://phabricator.services.mozilla.com/D74539
This change doesn't change the behavior yet. It just changes all the
callers by having them catch the ClearFloatsResults.
Some of the callers will be revised in next patch by utilizing the
returned results. Some of the return values are not being used, and may
produce warnings, they will be suppressed in the next patch, too.
Differential Revision: https://phabricator.services.mozilla.com/D74538
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
- Fixed wrong 'line' comparison
- Fixed clang-tidy warning
- Addressed the final review comments.
- Fixed the build failures happening in DEBUG mode. Had to revert the range based for loop usage at one place.
Differential Revision: https://phabricator.services.mozilla.com/D75673
This patch is generated by using my editor's rename functionality.
In the next patch, `nsIFrame::` prefix is going to be removed manually
from all the ChildLists() calls.
Differential Revision: https://phabricator.services.mozilla.com/D75893
- Fixed clang-tidy warning
- Addressed the final review comments.
- Fixed the build failures happening in DEBUG mode. Had to revert the range based for loop usage at one place.
Differential Revision: https://phabricator.services.mozilla.com/D75673
Even with the fix above, we get the caret baseline wrong because the
line is non-empty, but the baseline is all the way to the top.
Maybe an alternative to this would be to move the line-height hack to
the beginning of layout but that sounds a bit more fishy.
Otherwise we should do this more often, I suspect. I added one test that
fails because of nsInlineFrame... Anyhow probably follow-up material?
Depends on D73362
Differential Revision: https://phabricator.services.mozilla.com/D73363
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
ContentBEnd() is equivalent to mBEndEdge except when ContentBSize() is
unconstrained because ContentBEnd() can overflow. However, according to
ContentBEnd()'s documentation, the user shouldn't use ContentBEnd() when
ContentBSize() is constrained, so I add an assertion in ContentBEnd() as
a reminder.
Differential Revision: https://phabricator.services.mozilla.com/D68624
data:text/html,<input type=submit> is white-on-white when depressed with
backplating enabled on the GTK light theme, because even though the computed
background-color is white, the actual button background is themed and the color
is not white instead.
This causes problems with the unthemed appearance anyway (<input type=submit
style="-webkit-appearance: none"> and so on), but this is probably worth it
anyway.
Differential Revision: https://phabricator.services.mozilla.com/D68063
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
This also fixes some backwards logic in nsBlockFrame::ReflowDirtyLines, and adds
some static assertions to nsGenericHTMLElement that almost cause a very subtle
bug.
Depends on D63792
Differential Revision: https://phabricator.services.mozilla.com/D63793