Commit Graph

68 Commits

Author SHA1 Message Date
Miko Mynttinen
6f5e91c151 Bug 1553828 - Compute intermediate bounds for transform items that do not extend 3D context r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D33724

--HG--
extra : moz-landing-system : lando
2019-06-05 20:04:08 +00:00
Matt Woodrow
cba8f8f353 Bug 1551061 - Enable test for bug 1551053 with retained display lists. r=test-only
--HG--
extra : amend_source : d78814d86150ebe9097a5a18209a749c2561bedd
2019-05-17 14:33:10 +12:00
Miko Mynttinen
4a60cbef9c Bug 1551053 - Check both list end and non-container items separately during display item merging r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30941

--HG--
extra : moz-landing-system : lando
2019-05-13 21:13:01 +00:00
Matt Woodrow
450f1a6f89 Bug 1544948 - Skip merging display lists that we're sure can't have changed. r=miko
ComputeRebuildRegion sets ForceDescendIntoIfVisible on all modified frames and their ancestors,
so we can use this to detect if a display list might have modified children by looking for this
flag on the container item.

We still need to run PreProcessDisplayList on the list, so that we can remove items that belong
to a deleted frame, and build the old items array (including placeholders for the deleted items)
so that it matches our DAG.

If we wanted to skip serialization to the old items array, then we'd need to remove the deleted
item entries from the DAG too, including connecting predecessors of the deleted entry to entries
that have that deleted entry as their predecessor. That's hard to do in-place, so we leave
the empty entries in the old items list to act as placeholders until we next merge this list
properly.

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

--HG--
extra : moz-landing-system : lando
2019-04-29 03:14:49 +00:00
Matt Woodrow
3859e5d739 Bug 1535507 - Assume that we have an empty display list building override rect for frames that support it, even if an explicit one isn't present. r=miko
If the frame supports it (stacking context + containing block for fixed), and a descendant was
modified, we would have created an override dirty region with just the area of that descendant.
In the case where no descendants are modified, we should use an empty rect, rather than
the area inherited from our parent.

This fixes the case where we forcibly build position:fixed frames (since they might async
scroll differently to the rest of the page), but we only need to build the container item,
not the whole frame subtree within it.

Added a test that shows us building the non-intersecting position:fixed, but not items within it.

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

--HG--
extra : moz-landing-system : lando
2019-03-26 02:14:50 +00:00
Andreea Pavel
69f980ffee Backed out 3 changesets (bug 1535507) wr failures e.g. line_1_wrapped_cue_grow_downwards.html on a CLOSED TREE
Backed out changeset 458563d6a69e (bug 1535507)
Backed out changeset 48726c586c4f (bug 1535507)
Backed out changeset 74d9f16af0bf (bug 1535507)
2019-03-20 03:32:51 +02:00
Matt Woodrow
244c79d92a Bug 1535507 - Assume that we have an empty display list building override rect for frames that support it, even if an explicit one isn't present. r=miko
If the frame supports it (stacking context + containing block for fixed), and a descendant was
modified, we would have created an override dirty region with just the area of that descendant.
In the case where no descendants are modified, we should use an empty rect, rather than
the area inherited from our parent.

This fixes the case where we forcibly build position:fixed frames (since they might async
scroll differently to the rest of the page), but we only need to build the container item,
not the whole frame subtree within it.

Added a test that shows us building the non-intersecting position:fixed, but not items within it.

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

--HG--
extra : moz-landing-system : lando
2019-03-19 22:24:36 +00:00
Bogdan Tara
df46c029a4 Backed out 3 changesets (bug 1535507) for webvtt/rendering/cues-with-video/processing-model/selectors/cue* failures CLOSED TREE
Backed out changeset f7a60828b0ad (bug 1535507)
Backed out changeset a9c6e9e27b17 (bug 1535507)
Backed out changeset f2061889974a (bug 1535507)
2019-03-19 02:49:55 +02:00
Matt Woodrow
43b084c81c Bug 1535507 - Assume that we have an empty display list building override rect for frames that support it, even if an explicit one isn't present. r=miko
If the frame supports it (stacking context + containing block for fixed), and a descendant was
modified, we would have created an override dirty region with just the area of that descendant.
In the case where no descendants are modified, we should use an empty rect, rather than
the area inherited from our parent.

This fixes the case where we forcibly build position:fixed frames (since they might async
scroll differently to the rest of the page), but we only need to build the container item,
not the whole frame subtree within it.

Added a test that shows us building the non-intersecting position:fixed, but not items within it.

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

--HG--
extra : moz-landing-system : lando
2019-03-18 21:11:20 +00:00
Matt Woodrow
d9bacb3214 Bug 1533317 - Only invalidate items from the current frame, not descendants when we start needing a wrap list during a partial display list build. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D22636

--HG--
extra : moz-landing-system : lando
2019-03-11 02:35:32 +00:00
shindli
1c03485629 Backed out changeset 200ab1e8d571 (bug 1533317) for multiple reftest failures 2019-03-11 02:26:27 +02:00
Matt Woodrow
fd0b75b269 Bug 1533317 - Only invalidate items from the current frame, not descendants when we start needing a wrap list during a partial display list build. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D22636

--HG--
extra : moz-landing-system : lando
2019-03-10 22:16:11 +00:00
Dan Glastonbury
ff5c70a292 Bug 1530584 - Correct placeholder overflow calculation. r=miko,mattwoodrow
The calculation of aOverflow rect for a placeholder contained in a transformed
stacking context didn't take the transform into account, leading to an incorrect
rect which artificially inflated the calculated rebuild region.

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

--HG--
extra : moz-landing-system : lando
2019-03-04 12:26:49 +00:00
Miko Mynttinen
2b4258fadd Bug 1504233 - Part 2: Add a reftest r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D12613

--HG--
extra : moz-landing-system : lando
2018-11-26 20:14:21 +00:00
Miko Mynttinen
9fccb7d320 Bug 1482403 - Add reftest r=me
--HG--
extra : rebase_source : 7fb6da1a3105e6e91804f375d55287a89b120446
extra : amend_source : 6dbeff65d539d8362f69f11aeff181d51b343e4c
2018-11-06 16:34:45 +01: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
Matt Woodrow
c868a9a37d Bug 1464288 - Make sure PreProcessDisplayLists logic for switching AGRs matches what ComputeRebuildRegion uses. r=miko
MozReview-Commit-ID: F6N0XLCpuEe

--HG--
extra : rebase_source : b706ded33ac5baf6433c99af8cacb62ebcf1e753
2018-05-26 16:55:17 +12:00
Dorel Luca
145f37a74f Backed out changeset 18a7b3b1332d (bug 1464288) for failing reftests at reftest/tests/layout/reftests/display-list/1464288-1.htm a=backout 2018-05-26 07:04:24 +03:00
Matt Woodrow
3006bdf17e Bug 1464288 - Make sure PreProcessDisplayLists logic for switching AGRs matches what ComputeRebuildRegion uses. r=miko
MozReview-Commit-ID: DeKzyGia1Va

--HG--
extra : rebase_source : b66e4056d0aa0cd51d2835e6697893fcd6569258
2018-05-26 09:21:15 +12:00
Coroiu Cristina
6ea42bbe36 Backed out changeset 5033de939b8c (bug 1464288) for failing reftests at reftest/tests/layout/reftests/display-list/1464288-1.htm a=backout 2018-05-25 20:42:33 +03:00
Matt Woodrow
6fdf0741d7 Bug 1464288 - Make sure PreProcessDisplayLists logic for switching AGRs matches what ComputeRebuildRegion uses. r=miko
MozReview-Commit-ID: Ht11ul21PRO

--HG--
extra : rebase_source : 3bb7b0128f3932142b518490cef3ba814245b5d6
2018-05-25 16:21:18 +12:00
Hiroyuki Ikezoe
265c5c817a Bug 1463605 - A reftest that IB sibling frames are correctly marked as 'NeedsDisplayItemRebuild' when there is an animation on the frames. r=mattwoodrow
MozReview-Commit-ID: FG7SQYKOq3r

--HG--
extra : rebase_source : a42ffc7a601b4dc872f4a2dae83d2ea1366b2f86
2018-05-23 18:15:12 +09:00
Matt Woodrow
d7cebc698d Bug 1461231 - Don't omit deleted items when constructing the DAG, since we need to record that we made a modification during MergeDisplayLists. r=miko
We can unconditionally delete the item though, and just put a placeholder entry into the DAG.

MozReview-Commit-ID: 7a2UnaByIZu

--HG--
extra : rebase_source : f9cf83f09c1a6b9b23f469f7d3ab3a67f99f4018
2018-05-15 14:20:59 +12:00
Matt Woodrow
085d0bbe3b Bug 1459441 - Make sure we build the full display list when we have blend containers in order to get the correct sorting for them. r=mstange
MozReview-Commit-ID: ECTU7enMb1r

--HG--
extra : rebase_source : 70f1b6187c152e770c4e19539645174c62198dc0
2018-05-10 11:39:12 +12:00
Matt Woodrow
545bdd8190 Bug 1453541 - Part 3: Add reftests. r=mstange
MozReview-Commit-ID: 95DOq6UBUnq

--HG--
extra : rebase_source : 1807ba3ddcb4426f7a221d59d1f2916824d97cda
2018-04-15 16:38:45 +12:00
Hiroyuki Ikezoe
63306d52b1 Bug 1459533 - A reftest that animation on a pseudo elemnt. r=mattwoodrow
This reftest fails without the fix in this series.

MozReview-Commit-ID: 3C8TEuCoTS3

--HG--
extra : rebase_source : 13278ee2f8f8facd38d050711330164bf9a174dd
2018-05-08 07:02:23 +09:00
Matt Woodrow
00069d57ec Bug 1452805 - Make sure we rebuild contents infront and behind stacking contexts if their size might have changed. r=miko
The test invalidates the z-index element, so that we do a partial build with just that and the DAG no longer knows the relative ordering between it and the other blue elements.
We then expand the size of the 'first' elements stacking context, and ensure that we provide enough intersecting items to know that we're on top of the z-index element.

MozReview-Commit-ID: KP7c3bnwfBd
* * *
[mq]: fix

MozReview-Commit-ID: EuraqvaUS35

--HG--
extra : rebase_source : 9e2e4f2dc661cc552891499a614d489625ea895d
2018-04-15 16:38:45 +12:00
Matt Woodrow
8a8cc8c9a7 Bug 1453668 - Restrict the retained display list stacking context optimization to frames that are also containing blocks for position:fixed. r=miko
MozReview-Commit-ID: GP4uMpR2Lq0

--HG--
extra : rebase_source : 6142080157be59e189dbd0e8cc56a42375afb2f0
2018-04-16 14:23:47 +12:00
shindli
5898cbcbdf Backed out changeset b584ff6f5afa (bug 1453668) for R failures in file:///C:/Users/task_1523893739/build/tests/reftest/tests/layout/reftests/display-list/retained-dl-style-change-stacking-context-1.html on a CLOSED TREE 2018-04-16 20:15:19 +03:00
Matt Woodrow
61b0638917 Bug 1453668 - Restrict the retained display list stacking context optimization to frames that are also containing blockks for position:fixed. r=miko
This makes the optimization rarer, but is significantly simpler, since we should now be guaranteed that all placeholder frames have their out of flow frames in the same stacking context.

MozReview-Commit-ID: 1Nf8Sx1dca7

--HG--
extra : rebase_source : 74856420fdf6108fe749c94418a20bc9faa6fc5e
2018-04-16 14:23:47 +12:00
Andreea Pavel
fc3488c8d7 Backed out changeset ee5f61737378 (bug 1452805) for failing awsy/test_memory_usage.py on a CLOSED TREE 2018-04-16 17:05:13 +03:00
Matt Woodrow
7594997fb9 Bug 1452805 - Make sure we rebuild contents infront and behind stacking contexts if their size might have changed. r=miko
The test invalidates the z-index element, so that we do a partial build with just that and the DAG no longer knows the relative ordering between it and the other blue elements.
We then expand the size of the 'first' elements stacking context, and ensure that we provide enough intersecting items to know that we're on top of the z-index element.

MozReview-Commit-ID: 13aRGm1eucp

--HG--
extra : amend_source : 11d530fbec816b3dbcfa7228625e0ba0e73064d0
2018-04-13 11:09:11 +12:00
Matt Woodrow
886a720461 Bug 1451971 - Add new reftest for changing content within perspective without breaking sorting. r=miko
MozReview-Commit-ID: BaxNJGStRCM

--HG--
extra : rebase_source : a346c9aa3d582fa8bd5052a963fd01b8b7a3ff22
2018-04-11 21:36:51 +12:00
Matt Woodrow
edb36524ee Bug 1443027 - Add two new tests for merging behaviour. r=mstange
MozReview-Commit-ID: G5vgtSCdRZP

--HG--
extra : rebase_source : 2775e9a67e8262144f572d369873eb133dfbc6e5
2018-03-23 12:20:40 +13:00
Sebastian Hengst
a0665934fa Backed out 2 changesets (bug 1443027) for frequent crashes on OS X. a=backout
Backed out changeset 1e3dc6112e76 (bug 1443027)
Backed out changeset d2734042605a (bug 1443027)
2018-04-03 19:51:49 +03:00
Matt Woodrow
7a24890fe5 Bug 1443027 - Add two new tests for merging behaviour. r=mstange
MozReview-Commit-ID: G5vgtSCdRZP

--HG--
extra : rebase_source : e89b192cc6ca0ef48b529d8d38ff665f3327d81d
2018-03-23 12:20:40 +13:00
Noemi Erli
42b34ba196 Backed out 2 changesets (bug 1443027) for breacking Gmail on OSX r=pascalc a=backout
Backed out changeset 5deb310542a9 (bug 1443027)
Backed out changeset e04979dd66be (bug 1443027)
2018-03-30 19:08:30 +03:00
Matt Woodrow
97e5feb9b8 Bug 1443027 - Add two new tests for merging behaviour. r=mstange
MozReview-Commit-ID: G5vgtSCdRZP

--HG--
extra : rebase_source : df104a7df2c199d9e95025c533f62428dc1a1efc
2018-03-23 12:20:40 +13:00
Ryan VanderMeulen
49cc27555d Backed out changesets d9f154931d6d and 90e564873aa1 (bug 1443027) for causing Nightly topcrash bug 1448841. 2018-03-26 09:13:54 -04:00
Matt Woodrow
8851b8d76c Bug 1443027 - Add two new tests for merging behaviour. r=mstange
MozReview-Commit-ID: G5vgtSCdRZP

--HG--
extra : rebase_source : df104a7df2c199d9e95025c533f62428dc1a1efc
2018-03-23 12:20:40 +13:00
Matt Woodrow
809bf8f61f Bug 1439809 - Change the display list merging algorithm to no longer require a hashtable of the old display list items. r=miko,mstange 2018-03-01 16:16:02 +13:00
Matt Woodrow
886dde8dd7 Bug 1437374 - Don't intersect the rebuild rect with the frame's overflow area if we're about to take the displayport into account. r=miko 2018-02-15 19:31:47 +13:00
Ciure Andrei
fbd74d8452 Backed out changeset b8eeddf07480 (bug 1437374) for failing builds/worker/workspace/build/tests/reftest/tests/layout/reftests/display-list/1437374-1.html a=backout on a CLOSED TREE 2018-02-15 11:37:21 +02:00
Matt Woodrow
adf4e4cd1a Bug 1437374 - Don't intersect the rebuild rect with the frame's overflow area if we're about to take the displayport into account. r=miko 2018-02-15 19:31:47 +13:00
Coroiu Cristina
8d8b007f64 Backed out changeset 7953b08f4886 (bug 1437374) for reftest failures at reftest/tests/layout/reftests/display-list/1437374-1.html 2018-02-15 00:31:36 +02:00
Matt Woodrow
b9be133138 Bug 1437374 - Don't intersect the rebuild rect with the frame's overflow area if we're about to take the displayport into account. r=miko
--HG--
extra : rebase_source : d589187ff18ec88f16fb91cbe62802503a5a7cbe
2018-02-14 13:32:46 +13:00
Matt Woodrow
284526cffc Bug 1436189 - Part 1: Add testcase. r=miko
--HG--
extra : source : ee3062043923076fceffbb61f85acc6d10339605
2018-02-09 11:47:08 +13:00
Sebastian Hengst
51a308a50b merge mozilla-inbound to mozilla-central. a=merge 2018-02-12 13:36:48 +02:00
arthur.iakab
3f11c2714c Backed out 2 changesets (bug 1436189) for frequently failing on layout/reftests/table-background/backgr_layers-opacity.html a=backout
Backed out changeset 3403b5f669d1 (bug 1436189)
Backed out changeset ee3062043923 (bug 1436189)
2018-02-12 12:06:58 +02:00
Matt Woodrow
f9ae6c7cf8 Bug 1420480 - Add testcase for modifying the size of a stacking context after a partial build. r=miko 2018-02-12 16:05:20 +13:00