Граф коммитов

128 Коммитов

Автор SHA1 Сообщение Дата
Miko Mynttinen b7eaedb6ea Bug 1484966 - Part 3: Clang format layout/painting/ r=mattwoodrow
Depends on D3870

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

--HG--
extra : moz-landing-system : lando
2018-09-04 20:46:21 +00:00
Csoregi Natalia 5984db0879 Backed out 2 changesets (bug 1484966) for bustage on RefPtr.h:42. CLOSED TREE
Backed out changeset 7b246c8f9de8 (bug 1484966)
Backed out changeset 399158a0a9b3 (bug 1484966)
2018-09-04 23:42:36 +03:00
Miko Mynttinen bb2d78e17e Bug 1484966 - Part 3: Clang format layout/painting/ r=mattwoodrow
Depends on D3870

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

--HG--
extra : moz-landing-system : lando
2018-09-04 17:21:36 +00:00
Miko Mynttinen 2f3ec8cc90 Bug 1484966 - Part 1: Fix most clang-tidy warnings for layout/painting/ r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D3869

--HG--
extra : moz-landing-system : lando
2018-09-04 17:19:36 +00:00
Matt Woodrow b558f51c84 Bug 1479914 - Always use the new caret display item when available as these can change without an invalidation. r=miko
MozReview-Commit-ID: 8Le6xRfv5RL

--HG--
extra : rebase_source : 5703b21f786b51ae3bbb8ea6ce1e2d456b14b579
2018-08-03 22:15:55 +12:00
Matt Woodrow 1c14c56cce Bug 1475971 - Copy the building rect into old items when we decide we can reuse them. r=miko
MozReview-Commit-ID: JXHZ17iFaei

--HG--
extra : rebase_source : 42fc06465a644de597f78e46878037b653da046e
2018-07-30 16:03:32 +12:00
Matt Woodrow 4f18c0f4a2 Bug 1475413 - Prefer using old items for uninvalidated frames during display list merging. r=miko
MozReview-Commit-ID: 14gc2IBJT1o

--HG--
extra : rebase_source : 6de86aec8ef1039b3adf8006cea456efadbed73b
2018-07-13 12:26:36 +12:00
Bas Schouten 7f6794045e Bug 1472830: Reuse the work from ApplyOpacityToChildren when possible. r=mattwoodrow 2018-07-03 20:26:40 +00:00
Matt Woodrow cfbee4345b Bug 1461267 - Add some more assertions to verify the length of the DAG. r=mstange
MozReview-Commit-ID: DFy6Kb2KSwf

--HG--
extra : rebase_source : 5db508486e4d266b6cb80df83eda8c8b01253486
2018-06-19 15:14:14 +12:00
Hiroyuki Ikezoe ca097c91ca Bug 1468124 - Don't calculate overflow area if there is any frames in preserve-3d context. r=mattwoodrow
MozReview-Commit-ID: 2Ts3MzdouB7

--HG--
extra : rebase_source : f4cbff214d410012dae862670a82361e9a322f23
2018-06-19 14:49:47 +09:00
Miko Mynttinen 4c85ef17cc Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 1e7eea4f2d4ec16ec0c559a8afb26976ddbf4d07
2018-06-01 17:59:07 +02:00
arthur.iakab 7e765f798b Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen 8d9dc85cd4 Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 619d0e0ff63a2453c80f0c4d9beb906d43fa9b01
2018-06-01 17:59:07 +02:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02: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
Matt Woodrow fa6ba0bd5b Bug 1462497 - Part 1: Don't crash if we find an item from the wrong list, and keep looking instead r=miko
We will still crash in Nightly/DevEdition builds (so that we can fix the bug), but we'll just accept the possible duplication of items (and maybe minor rendering issues) for releases.

MozReview-Commit-ID: LNzjO8vJjGp

--HG--
extra : rebase_source : 3a755c0929bba42c0f6148e50f8d16567eea87e5
2018-05-23 10:59:11 +12:00
Matt Woodrow 52baaee863 Bug 1462497 - Add assertions to try diagnose which wrapper item went away. r=mstange
MozReview-Commit-ID: BkU5tTlgFum

--HG--
extra : rebase_source : f376fb94a99adfe92ae61f6a06a79d872885a5b3
2018-05-18 20:50:04 +12:00
Matt Woodrow 6d94d6c09f Bug 1459997 - Add much more rigorous assertions for retained-dl assumptions. r=miko
This adds an assertion checking for duplicate items whenever we create an item, and when we merge an item into the final list.

I had to disable tracking for the anonymous inner list for nsDisplayPerspective and nsDisplayTransform (and manually forward RemoveFrame to them), as well as skipping the assertion for multi-page (since we can end up duplicating wrap lists, but isn't a problem, since we don't retain these).

MozReview-Commit-ID: 4n6rx9bQNan

--HG--
extra : source : ff93cd94b7c548ef57fa13b7eaf85992a0a60587
2018-05-01 11:56:40 -04:00
Matt Woodrow b4687fa515 Bug 1460526 - Don't attempt to do a partial rebuild when a sublist DAG gets too complex, always rebuild the whole display list. r=miko
MozReview-Commit-ID: 5u3sBSepgJa

--HG--
extra : rebase_source : f08034d384cac0353017ff6dd6fe4f152d77d48d
extra : source : 21ab7bb3b993f2b2778f9dde10ff16c3c20f320f
2018-05-15 14:21:05 +12:00
Matt Woodrow 5412f4e50b Bug 1461812 - Make sure we fully cleanup any partially constructed display lists when returning a failure from AttemptPartialUpdate. r=miko
MozReview-Commit-ID: DJBG6UFcoyR

--HG--
extra : rebase_source : 38e33ad785556b92b8058f00a85d48c27fb4d2e3
2018-05-16 12:55:08 +12:00
Andreea Pavel 9badaa53d2 Backed out changeset ff93cd94b7c5 (bug 1459997) for assertion failures at builds/worker/workspace/build/src/layout/painting/nsDisplayList.cpp:141 on a CLOSED TREE 2018-05-16 09:48:56 +03:00
Matt Woodrow 0d65266918 Bug 1460491 - Part 1: Split nsDisplayItem::mVisibleRect into two members, one for each stated purpose. Gets rid of the save/restore since we no longer modify the building rect. r=jnicol
MozReview-Commit-ID: 5wcsSoZRN44

--HG--
extra : rebase_source : 1bf7d655b048a972e392514542aee171e20afe82
2018-05-16 15:56:32 +12:00
arthur.iakab 5a50fe880e Backed out changeset 21ab7bb3b993 (bug 1460526) for failing reftest on worker/workspace/build/src/layout/painting/RetainedDisplayListBuilder 2018-05-16 04:51:23 +03:00
Matt Woodrow 840b789b4b Bug 1459997 - Add much more rigorous assertions for retained-dl assumptions. r=miko
This adds an assertion checking for duplicate items whenever we create an item, and when we merge an item into the final list.

I had to disable tracking for the anonymous inner list for nsDisplayPerspective and nsDisplayTransform (and manually forward RemoveFrame to them), as well as skipping the assertion for multi-page (since we can end up duplicating wrap lists, but isn't a problem, since we don't retain these).

MozReview-Commit-ID: 4n6rx9bQNan

--HG--
extra : rebase_source : 49da303965d63258f4c6023a0b09ef0de7553724
2018-05-01 11:56:40 -04:00
Matt Woodrow 4216a1235a Bug 1460526 - Don't attempt to do a partial rebuild when a sublist DAG gets too complex, always rebuild the whole display list. r=miko
MozReview-Commit-ID: 5u3sBSepgJa

--HG--
extra : rebase_source : 860e147fdc463fec8ddb6c6d08cb86f1873a6326
2018-05-15 14:21:05 +12: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 250e99f481 Bug 1453541 - Part 2: Look for Out Of Flow frames with modified ancestors during ProcessFrame instead of during display list building. r=mstange
MozReview-Commit-ID: KsgrFqr2gVN

--HG--
extra : rebase_source : c4c370a48cbc5d3955e4b4d815c1d2b91eeb5601
2018-04-15 16:38:45 +12:00
Matt Woodrow 52c6a96582 Bug 1453541 - Part 1: Move more code into ProcessFrame so that we can call it from multiple places. r=mstange
MozReview-Commit-ID: AOXPgteSgTL

--HG--
extra : rebase_source : 88da959b50c5ca9681482854e40d5d913aeac57d
2018-04-15 16:38:44 +12:00
Matt Woodrow 66ef22faf5 Bug 1439809 - Store the display list index on the display items during PreProcessDisplayList so that we can do lookup without a hashtable. r=miko,mstange
MozReview-Commit-ID: IYGk2KNkeY1

--HG--
extra : rebase_source : 11f9e6b3ff57ee129e339c882b7b53369e21308a
2018-04-24 12:59:11 +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 552eaff7ef Bug 1453942 - Invalidate if any content ancestor of the display item frame is modified, not just frame tree ancestors. r=miko
We already rebuild all display items for out-of-flow descendants of a modified frame, but we don't currently mark them modified.
In this case, a scrollframe becomes active, and causes position:fixed descendants to use nsDisplayFixedPosition instead of nsDisplayWrapList.
Not invalidating means that we end up with both versions, instead of removing the old one.

MozReview-Commit-ID: LXjjsQhzxiB

--HG--
extra : rebase_source : e286bad815f2d799ec641e5b2ef6507eb57d22cd
2018-04-16 10:14:00 +12: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 5f47a3aed8 Bug 1451971 - Rebuild the whole page when we have perspective or preserve-3d. r=miko
MozReview-Commit-ID: 2SkKvpdLWMi

--HG--
extra : rebase_source : 6b19d557a93fb3e0f2a2faf34f238b96c3e0f0bd
2018-04-11 21:49:30 +12:00
Matt Woodrow bbc9200a88 Bug 1451384 - Check IsChanged on the old item during merging, since that's the one that might have a deleted frame. r=mstange
This happens when an nsIFrame* that builds an nsDisplayWrapList is deleted, but then the memory is immediately reused for another frame that builds the same type display item, within the same display list.

PreProcessDisplayLists chooses not to descend into the nsDisplayWrapList for the deleted frame, and so mOldItems remains uninitialized for the old sublist.
When adding the new instance, IsChanged returns false, since the pointers are the same, and we're checking HasDeletedFrame on the new instance (where it's never true), instead of the old. We then recurse into MergeDisplayLists, with an uninitialized mOldItems array, and crash.

I haven't added a test because I haven't yet figured out how to create a minimal testcase, and the test would rely on implementation details of the frame allocator to remain unchanged to be useful.

MozReview-Commit-ID: pHimEvfAND

--HG--
extra : rebase_source : 10baa8cabf1eca8d592f2be0eb7bc7c9461f9785
2018-04-05 12:20:32 +12:00
Matt Woodrow 3cd23bdc29 Bug 1450360 - Reland chunk that got accidentally removed during a branch merge. r=mattwoodrow
MozReview-Commit-ID: 7gVvlsNcJnn

--HG--
extra : rebase_source : 3431ceb7ac784b378c7723b4d4f38a5770ee3f9c
2018-04-04 11:30:35 +12:00
Andreea Pavel 9048f2f6cb Backed out changeset 08c9beb155d5 (bug 1450360) for build bustages at builds/worker/workspace/build/src/layout/painting/RetainedDisplayListBuilder.cpp:1118 on a CLOSED TREE 2018-04-04 02:22:21 +03:00
Matt Woodrow 9a7f6d89b0 Bug 1443027 - Fix the merging algorithm to pass the new tests correctly. r=mstange
MozReview-Commit-ID: JnglCbdhZzE
* * *
[mq]: update-test

--HG--
extra : rebase_source : c9e861bcf811575aedeef5ab9b6fe9d963036740
2018-03-23 16:47:37 +13:00
Matt Woodrow 2d4435d3af Bug 1450360 - Reland chunk that got accidentally removed during a branch merge. r=mattwoodrow
MozReview-Commit-ID: MvE411GaHO

--HG--
extra : rebase_source : a696e0d77c41cd01f8991a76c9762b3f75284499
2018-04-04 10:56:55 +12: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 8e39fcdbe0 Bug 1443027 - Fix the merging algorithm to pass the new tests correctly. r=mstange
MozReview-Commit-ID: JnglCbdhZzE
* * *
[mq]: update-test

--HG--
extra : rebase_source : 1db0cc9843edd9654154d400b578a0432e5d765f
2018-03-23 16:47:37 +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 0ab5810be5 Bug 1443027 - Fix the merging algorithm to pass the new tests correctly. r=mstange
MozReview-Commit-ID: JnglCbdhZzE
* * *
[mq]: update-test

MozReview-Commit-ID: JMIzrnVeSTo

--HG--
extra : rebase_source : 0ea5ff0e79d1eb1a8f13ea4a17e37fe2601d44e7
2018-03-23 16:47:37 +13:00