Commit Graph

150 Commits

Author SHA1 Message Date
Daniel Holbert
6898253a2e Bug 1490890: Make flex item cached-measurement invalidation more targeted. r=emilio
Right now, when a flex item's intrinsic size is invalidated, we clear cached
flex measurements on all of its sibling flex items (indirectly, by virtue of
invalidating the flex container's intrinsic sizes, which does the dirty work of
clearing the measurements).

This is excessive. We do need to clear the measurements on any flex item
whose intrinsic sizes are invalidated, but we don't need to clear them on other
flex items whose intrinsic sizes are still valid.  So: this patch changes our
implementation accordingly.

This patch isn't expected to change behavior - it should just be an
optimization.

Differential Revision: https://phabricator.services.mozilla.com/D5917

--HG--
extra : moz-landing-system : lando
2018-09-15 16:09:00 +00:00
Daniel Holbert
62d8ae4bdd Bug 1483685 part 1: Move flexbox-align-content-horizrev-001.xhtml (and its vertrev variant) to w3c-css directory, and add "start/end" cases inside it. r=mihir
--HG--
rename : layout/reftests/flexbox/flexbox-align-content-horizrev-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-horiz-002-ref.xhtml
rename : layout/reftests/flexbox/flexbox-align-content-horizrev-001.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-horiz-002.xhtml
rename : layout/reftests/flexbox/flexbox-align-content-vertrev-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-vert-002-ref.xhtml
rename : layout/reftests/flexbox/flexbox-align-content-vertrev-001.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-vert-002.xhtml
extra : rebase_source : 144267aada6bc58694fcb668dadeec9c623810a3
extra : histedit_source : 3c147ec16e4e06e0fa2b76cae53c99313a804416
2018-08-15 14:48:45 -07:00
Daniel Holbert
2a95dd3cca Bug 1472843 followup: Remove flexbox-justify-content-horizrev & vertrev reftest files, as they now have duplicates in another directory. (no review, test-tweak only)
These testcases now have virtually-identical copies called...
 flexbox-justify-content-horiz-006.xhtml
 flexbox-justify-content-vert-006.xhtml
...in our w3c-css/submitted/flexbox reftest directory. So these ones don't need
to exist anymore.

--HG--
extra : rebase_source : 4cc4601987d6678efd87966f94322446c7d00e98
extra : amend_source : 55186587084d49fdf786cd47bb01e2ff4ec0fb6f
2018-08-15 13:25:52 -07:00
Mihir Iyer
299e679ae7 Bug 1472843 - Implement justify-content:left/right/start/end, align-content:start/end, align-self:self-start/self-end for flexbox. r=dholbert
This commit also removes some cases & warnings about unsupported values that
have now been removed from the css alignment spec.
Specifically: "justify-content:[last] baseline" and
"align-self/align-content: left/right".

--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-vert-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-wmvert-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-horiz-001a.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-wmvert-001.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-002-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-rtl-005-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-002.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-rtl-005.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-005-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-006-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-005.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-006.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-006-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001a.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-006.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-wmvert-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001a.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-wmvert-001.xhtml
extra : amend_source : 93cd04450f573fcfa11f3400ffd0ecb4cb3e6d90
2018-08-03 07:56:32 -07:00
L. David Baron
1e88f0f003 Bug 1369941: Replace single integers N in fuzzy() and fuzzy-if() with 0-N ranges. r=dholbert
This patch was written entirely by the following script:

  #!/bin/bash

  if [ ! -d "./.hg" ]
  then
    echo "Not in a source tree." 1>&2
    exit 1
  fi

  find . -regex '.*\(ref\|crash\)test.*\.list' | while read FILENAME
  do
    echo "Processing ${FILENAME}."
    # The following has four substitutions:
    # * The first one replaces the *first* argument to fuzzy() when it doesn't
    #   have a - in it, by replacing it with an explicit 0-N range.
    # * The second one does the same for the *second* argument to fuzzy().
    # * The third does the same for the *second* argument to fuzzy-if().
    # * The fourth does the same for the *third* argument to fuzzy-if().
    #
    # Note that this is using perl rather than sed because perl doesn't
    # support non-greedy matching, which is needed for the first argument to
    # fuzzy-if.
    perl -pi -e 's/(fuzzy\()([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy\([^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,)([^ ,()-]*)(,[^ ,()]*\))/${1}0-${2}${3}/g;s/(fuzzy-if\([^ ]*?,[^ ,()]*,)([^ ,()-]*)(\))/${1}0-${2}${3}/g' "${FILENAME}"
  done

Differential Revision: https://phabricator.services.mozilla.com/D2974

--HG--
extra : moz-landing-system : lando
2018-08-09 20:10:21 +00:00
Daniel Holbert
732182f0c9 Bug 1461446: Make flex layout explicitly handle integer overflow when summing up flex item hypothetical sizes. r=mats
This patch accomodates for the unfortunate fact that elements with
"table-layout:fixed" have a max-content size of nscoord_MAX (infinity,
effectively), which turns out to be an easy source of integer overflow during
flex layout.

Before this patch, a flex container with "table-layout:fixed" in several flex
items could end up triggering integer-overflow & making the wrong judgement on
its arithmetic to determine...
 - whether a given flex item will fit on an existing flex line.
 - whether we've got positive free space and need to grow our items, or have
   negative free space and need to shrink our items.

This patch makes two changes to fix this issue.

(1) This patch makes us use CheckedInt when summing up flex item hypothetical
    sizes, which prevents integer overflow from flipping the sign of our line's
    total length.

(2) This patch makes us *directly* track the space reserved for flex item
    margin/border/padding within a flex line.  Previously, we tracked this
    implicitly as the difference between two other quantities that we stored;
    but with the other changes in this patch, those two other quantities can
    *both* trigger overflow and get clamped, which would make us lose track of
    how much space to reserve for margin/border/padding.  So now we simply
    track that space-to-reserve directly.

MozReview-Commit-ID: 9izhOnlS4F1

--HG--
extra : rebase_source : 185f2409dcb2f9c5bd0a2466a8e2233d7db3250a
2018-05-25 19:46:29 -07:00
Daniel Holbert
d5c3e8dbab Bug 1455976: Give table wrapper boxes a special case during flex base size resolution, so that percent main-sizes can be respected. r=mats
MozReview-Commit-ID: GB3SCaj9cv1

--HG--
extra : rebase_source : 565a8fc3879d6b9dcc0f3f6a67e5b577a2dc50b9
2018-04-23 12:05:40 -07:00
Daniel Holbert
479a00ac23 Bug 1441348: Add Win10 fuzzy annotation to reftest flexbox-resizeviewport-1.xhtml.
MozReview-Commit-ID: LdSjKPWBAR0
2018-04-04 10:20:47 -07:00
Daniel Holbert
9c3ad8ef78 Bug 1174003 part 5: [css-flexbox] Remove is-{main,cross}-axis-horizontal checks from ReflowFlexItem. r=mats
This patch mostly[1] doesn't affect behavior.  It just changes some ReflowInput
width/height-setting logic to use ISize/BSize setters instead of width/height
setters.

To help with this, I'm also adding some more getters to answer the question "is
this flex item's {inline,block} axis the same as the flex container's
{main,cross} axis", for convenience/readability at callsites. (All of these
getters are simply giving a different view of the same underlying single bit of
information.)

[1] One way this patch *kind of* affects behavior: it generalizes the
conditions under which we set the NS_FRAME_CONTAINS_RELATIVE_BSIZE flag on a
flex item.  But that doesn't actually have any user-visible effects right now,
because that flag's only purpose is to determine whether we should reflow, and
currently we always reflow all flex items. If/when that changes, though
(i.e. when we start reflowing flex items more selectively), this patch is
adding a reftest that may test this generalized behavior. (The reftest actually
trivially passes right now, due to unrelated bug 1441348.)

MozReview-Commit-ID: 4NEKLBAjowh

--HG--
rename : layout/reftests/flexbox/flexbox-resizeviewport-1-helper.html => layout/reftests/flexbox/flexbox-resizeviewport-2-helper.html
rename : layout/reftests/flexbox/flexbox-resizeviewport-1-ref.xhtml => layout/reftests/flexbox/flexbox-resizeviewport-2-ref.xhtml
rename : layout/reftests/flexbox/flexbox-resizeviewport-1.xhtml => layout/reftests/flexbox/flexbox-resizeviewport-2.xhtml
extra : rebase_source : c6535e1cdcb1757a16cd02e0d485638827344c23
2018-02-27 15:40:18 -08:00
Daniel Holbert
dca25b1820 Bug 1433339: Apply single-item fallback behavior for 'space-between' more directly, in flexbox code. r=mats
MozReview-Commit-ID: BRx4xGaJS6y

--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-horiz-001-ref.xhtml => layout/reftests/flexbox/flexbox-align-content-horizrev-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-horiz-001a.xhtml => layout/reftests/flexbox/flexbox-align-content-horizrev-001.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-vert-001-ref.xhtml => layout/reftests/flexbox/flexbox-align-content-vertrev-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-vert-001a.xhtml => layout/reftests/flexbox/flexbox-align-content-vertrev-001.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-001-ref.xhtml => layout/reftests/flexbox/flexbox-justify-content-horizrev-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-001a.xhtml => layout/reftests/flexbox/flexbox-justify-content-horizrev-001.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001-ref.xhtml => layout/reftests/flexbox/flexbox-justify-content-vertrev-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001a.xhtml => layout/reftests/flexbox/flexbox-justify-content-vertrev-001.xhtml
extra : rebase_source : 61fbefa6758677dd90872b02deb636a3d6c6887b
2018-02-17 16:59:01 -08:00
Daniel Holbert
ddbd3a3ec5 Bug 1431856: Replace incorrect/obsolete reftest flexbox-paint-ordering-3.html with a version that has up-to-date expectations. r=mats
MozReview-Commit-ID: JmELzrvoljF

--HG--
extra : rebase_source : 1382f344e61aa3566eb2cf613b8dac3dfb851e20
2018-01-19 15:16:29 -08:00
Mats Palmgren
2265d4509e Bug 1405319 part 2 - Reftests.
MozReview-Commit-ID: 49ntwW5qoFr
2017-11-09 03:00:47 +01:00
Chris Peterson
ce7edc4de1 Bug 1394603 - Replace fails-if(!styloVsGecko) to fails. r=jryans
Skip tests that are expected to fail in both Stylo and Gecko modes. They would unexpectedly "pass" in styloVsGecko mode when comparing the two failures, which is not a useful result.

MozReview-Commit-ID: 3mOpjU225Q1

--HG--
extra : rebase_source : 22bb5d4e3c5138ef832995eaf5716824f4707ffe
extra : source : d40fb20c9a49d0797c0eeae613a04912b12a28f7
2017-09-01 20:39:44 -07:00
Phil Ringnalda
75f9cdbd7e Backed out 3 changesets (bug 1394603) for reftest syntax error
CLOSED TREE

Backed out changeset 44117208f321 (bug 1394603)
Backed out changeset 31088c59d895 (bug 1394603)
Backed out changeset 20551d68f602 (bug 1394603)

MozReview-Commit-ID: 4F4jSQ8GyfG
2017-09-06 22:48:55 -07:00
Chris Peterson
2d629378b2 Bug 1394603 - Replace fails-if(!styloVsGecko) to fails. r=jryans
Skip tests that are expected to fail in both Stylo and Gecko modes. They would unexpectedly "pass" in styloVsGecko mode when comparing the two failures, which is not a useful result.

MozReview-Commit-ID: 3mOpjU225Q1

--HG--
extra : rebase_source : 0c307639c3626af3b6b43e05d3ee73d08b3f47ce
2017-09-01 20:39:44 -07:00
Tooru Fujisawa
5399586a08 Bug 1356114 - Part 3: Update border dashed testcase. r=jwatt 2017-08-06 00:26:58 +09:00
J. Ryan Stinnett
c79cb3fbb1 Bug 1380053 - Stylo reftest annotations for all OSes. r=manishearth
MozReview-Commit-ID: JNsNUOZfd2e

--HG--
extra : rebase_source : 05a71f9a0fe484c93931fb230cf0752a3b1b8b00
2017-07-20 22:02:00 -05:00
Cameron McCormack
23145723c6 Bug 1375374 - Test expectation adjustments. r=manishearth
MozReview-Commit-ID: 5MFi0mBQIiH

--HG--
extra : rebase_source : 7b45d53053f3d4b42ebb675fe68ebdcc0d6102b6
2017-06-29 14:13:05 -07:00
Shing Lyu
5d8a5a598c Bug 1361645 - Change reftest condition stylo to styloVsGecko r=dbaron
MozReview-Commit-ID: 3ekoU1zg8xA

--HG--
extra : rebase_source : f62c84516f5ac0d4b4d0c876514b72fa786ec542
2017-05-25 11:26:12 +08:00
Mats Palmgren
297b9d70e1 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz
MozReview-Commit-ID: IbwWM0FL6HF

--HG--
extra : source : bbb688fe1ba3f5201a190c6e25b693ef7272ea2d
2017-05-21 17:15:00 +08:00
Carsten "Tomcat" Book
1bdc87018b Merge mozilla-central to autoland
--HG--
extra : rebase_source : 4e9c2047973e5a540496b19e456a2e7bd14715ad
2017-05-22 15:48:11 +02:00
Carsten "Tomcat" Book
00d4ea331d Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
Mats Palmgren
e706869580 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
Carsten "Tomcat" Book
2a6d28c4ab Merge mozilla-central to autoland 2017-05-22 13:08:46 +02:00
Hiroyuki Ikezoe
fd65caccea Bug 1355402 - Update test expectations for -moz-{min,max,fit}-content,available}. r=manishearth
MozReview-Commit-ID: HxjE9ArYuys
2017-05-20 12:14:32 +09:00
Matt Brubeck
0c70ae6c1d Bug 1349651 - stylo: Implement HasAuthorSpecifiedRules. r=bholley
MozReview-Commit-ID: 8ta5KqKzncZ

--HG--
extra : rebase_source : 3ec29f283dc6bfec4d2a1676ab3f78296893d94b
2017-05-10 13:11:36 -07:00
Hiroyuki Ikezoe
751ec1a2f7 Bug 1361632 - Adjust reftest expectation for -moz-appearance. r=bholley
MozReview-Commit-ID: 6sqyA5TCHjk

--HG--
extra : rebase_source : 4957d93a55717850594dabc2650cecf060022f75
2017-05-04 06:39:30 +09:00
Shing Lyu
c46f5d5baf Bug 1351548 - Remove reftest-stylo.lists. r=bholley
MozReview-Commit-ID: 8LoQ9xNnDnj
2017-04-28 11:15:58 +08:00
Shing Lyu
435db45b79 Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley
MozReview-Commit-ID: GOUGBsd05cn
2017-04-28 11:15:50 +08:00
Sebastian Hengst
ceff3b0678 Backed out changeset 1f9d0f8e65b9 (bug 1351548) 2017-04-26 13:13:05 +02:00
Sebastian Hengst
f46ebb0d94 Backed out changeset aebb0ceeb20a (bug 1351548) 2017-04-26 13:12:53 +02:00
Shing Lyu
96b400c04a Bug 1351548 - Remove reftest-stylo.lists. r=bholley
MozReview-Commit-ID: Gn0fbS4PZ7i
2017-04-26 18:21:52 +08:00
Shing Lyu
dae014d9d5 Bug 1351548 - Add stylo-vs-gecko expectations to reftest.lists. r=bholley
MozReview-Commit-ID: GOUGBsd05cn
2017-04-26 18:21:43 +08:00
Mike Conley
e29ff0c701 Bug 1357169 - Remove parts of flexbox-align-self-baseline-horiz-3 reftest that are broken by the backout of bug 418833. r=mats
MozReview-Commit-ID: H0tmuypTMbg

--HG--
extra : rebase_source : 392c11c63d1400cbffc535e8f80a9eb88d14461e
extra : source : c8a0dd29b2bb48f68c04090639f99888c187c027
2017-04-03 14:17:40 -04:00
Hiroyuki Ikezoe
af249c90ab Bug 1352771 - modify flexbox reftest expectations. r=bholley
MozReview-Commit-ID: 8QCs5TPFKP

--HG--
extra : rebase_source : d443d80f0d4642bca5825379ad020307769a7cae
2017-04-03 07:26:41 +09:00
Manish Goregaokar
8cced1c51f Bug 1352775 - Revert "Bug 1352771 - modify flexbox reftest expectations. r=manishearth"
This reverts commit 13e78ea10b414ac4bd062037d4436ce1689ba865.

MozReview-Commit-ID: CZxOSUfT02b
2017-04-01 19:59:12 -07:00
Hiroyuki Ikezoe
f80b34a9d5 Bug 1352771 - modify flexbox reftest expectations. r=bholley
MozReview-Commit-ID: 8QCs5TPFKP

--HG--
extra : rebase_source : 722be5247566b83c113fbdfb53d8da517ab38060
2017-04-02 11:06:23 +09:00
Xidorn Quan
6e6684128a Bug 1345696 part 8 - Update test expectations. r=heycam
MozReview-Commit-ID: 5zQjzFUKdR8

--HG--
extra : rebase_source : 18d7a9cc76a21ab2d90e75eb4194f61fcd9797de
2017-03-28 16:28:36 +11:00
Mats Palmgren
2feec4025d Bug 1333482 part 5 - [css-ui] Enable '-moz-appearance' support for some tests. r=dholbert
* * *
[mq]: sssssssss

MozReview-Commit-ID: 4wgnjld1rDt
2017-03-23 22:11:23 -07:00
Ting-Yu Lin
9d5f980afa Bug 1334403 followup - Correct the path of the reftest test page. rs=dholbert
MozReview-Commit-ID: 6pw27iNUCUO
2017-03-23 20:08:07 +08:00
Xidorn Quan
eb74600c49 Bug 1346102 - Fix several expectation changes from #15896. 2017-03-10 16:11:05 +11:00
Cameron McCormack
460ee0bd75 Bug 1341651 - stylo: reftest expectation adjustments. r=me 2017-02-23 17:47:12 +08:00
Boris Zbarsky
a11bfd53bd Bug 1341988. Reenable a bunch of stylo reftests that were disabled for reasons that are not relevant anymore. r=bz
MozReview-Commit-ID: CLqLHexhBX3

--HG--
extra : rebase_source : 07dfb89d0651240362395494fdd7ee94363430b6
2017-02-23 02:09:57 -05:00
Boris Zbarsky
96054e12cc Bug 1324661 part 1. When recreating style contexts for elements in stylo, use the right frame (not the primary frame!) for tables. r=bholley,emilio
For a table, the primary frame is the table wrapper anonymous box.  That
anonymous box inherits style from its _child_ table frame, which is the frame that
has the actual style for the element.  So we want to use the stylo-computed
style for the table frame, and then compute an updated style for the table
wrapper too, because some things (like absolute positioning) are done for the
table wrapper anonymous box, not the table frame.
2017-02-17 14:52:39 -05:00
Cameron McCormack
2aff35af0b Bug 1340500 - stylo: reftest-stylo test expectation adjustments. r=heycam
MozReview-Commit-ID: BQiaDdIdOYE

--HG--
extra : rebase_source : 0b634f96e89ed5505a869762c2d14b867cf8cc40
2017-02-17 19:12:28 +08:00
Cameron McCormack
058a689aa1 Bug 1338872 - stylo: Test expectation adjustments. r=bholley
MozReview-Commit-ID: 4q7NJJrpX7q

--HG--
extra : rebase_source : 98279628439e6d432794e726955605d6f1358b10
2017-02-12 17:23:14 +08:00
Cameron McCormack
90e83367ae Bug 1334768 - stylo: Test expectation adjustments for for 2017-02-09 merge. r=me
MozReview-Commit-ID: AhvCAu3NYrb
2017-02-09 21:11:09 +08:00
Cameron McCormack
9c4ea5685f Bug 1334768 - stylo: Back out 800030115d2e and 404506488cfb for being completely wrong due to bug 1334938.
MozReview-Commit-ID: 8CGTqmtlguT
2017-01-30 16:49:54 +08:00
Cameron McCormack
7805d4716e Bug 1334768 - stylo: Test expectation adjustments for 2017-01-29 merge.
MozReview-Commit-ID: FFmvs6SHIwW
2017-01-29 15:31:56 +08:00
Mats Palmgren
c44a2704e5 Bug 1334403 - Some <caption> size tests for table flex items. 2017-01-29 04:02:59 +01:00