Commit Graph
7 Commits
Author SHA1 Message Date
Emilio Cobos Álvarez 09eaf2464a Bug 1824957 - Remove a bunch of now completely dead XUL layout code. r=layout-reviewers,desktop-theme-reviewers,devtools-reviewers,dao,TYLin
And some related tests.

A bunch of -moz-box* properties are web exposed, so I'll file a
follow-up for hiding them.

Differential Revision: https://phabricator.services.mozilla.com/D173819
2023-03-29 21:23:55 +00:00
Emilio Cobos Álvarez 8c5c625f18 Bug 1820634 - Fix assert that triggers in 380217-1.xhtml.
MANUAL PUSH: Trivial orange fix CLOSED TREE
2023-03-07 13:44:57 +01:00
Emilio Cobos Álvarez eacd154284 Bug 1411372 - Remove bogus XUL box sorting. r=TYLin
Instead, sort stuff using CSSOrderAwareFrameIterator. The current
sorting is broken in presence of dynamic insertions, consider the
following <Child(order)> combination in the DOM:

  <A(1000)> <B(0)>

That'd look like:

  <B(0)> <A(1000)>

On the frame tree. However when appending a child before B so that the
DOM looks like:

  <A(1000)> <C(0)> <B(0)>

The frame constructor will properly insert after A, and the reordering,
which is stable, will end up with:

  <B(0)> <C(0)> <A(1000)>

Which is the wrong frame tree order.

We only use -moz-box-ordinal-group in regular sprocket layout, so just
handle it there rather than everywhere. Similarly, we only rely on it
for in-flow stuff, so remove the test for that added in bug 877890 (flex
changed behavior afterwards, interestingly enough).

Differential Revision: https://phabricator.services.mozilla.com/D94790
2020-10-28 19:10:00 +00:00
Ting-Yu Lin 4b5a977a98 Bug 1650245 Part 2 - Use nsTArray::StableSort() in CSSOrderAwareFrameIteratorT. r=dholbert,sg
nsTArray::StableSort() requires the Comparator to be a class/struct with
Equals() and LessThan() members, or a tri-state function like strcmp.
This patch adapts the original comparators to tri-state functions to
fulfill this contract.

Using StableSort() can also avoid the array bound checking in the array
iterator as described in bug 1147091 comment 8.

Change the include to <limits> because std::stable_sort is removed but
we still use std::numeric_limits.

Differential Revision: https://phabricator.services.mozilla.com/D82118
2020-07-06 17:11:24 +00:00
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Daniel Holbert a0337b5640 Bug 812687 part 4: Add an optional parameter which can make CSSOrderAwareFrameIterator use the legacy "box-ordinal-group" property. r=mats
This patch just adds an optional codepath that isn't taken yet, so it shouldn't
affect our behavior. (The next patch in the series will make use of this new
codepath.)

Note: the large code-comment that this patch adds is taken mostly-verbatim from
some nsFlexContainerFrame.cpp code. (The original copy will be removed by the
next patch in this series, when we switch to take advantage of this new
mechanism.)

MozReview-Commit-ID: 9pkJ346rrXg
2017-04-05 19:31:47 -07:00
Daniel Holbert 45a55cfce2 Bug 812687 part 3: Move CSSOrderAwareFrameIterator code to its own .h/.cpp file. r=mats
This patch just moves code, so it should not affect our behavior at all.

MozReview-Commit-ID: 4yxSR5rWUV1
2017-04-05 19:31:47 -07:00