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
Jeff Muizelaar
d07c300116
Bug 1388842. Add blob invalidation. r=mstange
...
MozReview-Commit-ID: 5xwqlULUbZe
2018-03-27 17:31:04 -04:00
Jonathan Watt
82ebebe276
Bug 1448714 - Fix up comments referring to 'style context' after the rename of nsStyleContext. r=emilio
2018-03-23 13:49:21 +00: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
0c51f3f066
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
Miko Mynttinen
65c6bee9d6
Bug 1445302 - Replace TArray.RemoveElementAt(TArray.Length() - 1) pattern with TArray.RemoveLastElement() or TArray.PopLastElement() r=froydnj
...
MozReview-Commit-ID: rGjabnP2iz
--HG--
extra : rebase_source : 1ef6c5ce028ac9ebd9f3176d57835c43fe46bada
2018-03-13 14:51:33 +01:00
Matt Woodrow
20a885856b
Back out changeset dd8af18e26d4 (Bug 1439809) for having incorrect merging behaviour and causing crashes. r=backout
2018-03-08 20:00:41 +13:00
Chris Peterson
73675ec9f2
Bug 1443402
- Fix some -Wmissing-prototypes warnings in layout. r=dholbert
...
-Wmissing-prototypes is a new optional warning available in clang ToT. It warns about global functions that have no previous function declaration (e.g. from an #included header file). These functions can probably be made static (allowing the compiler to better optimize them) or they may be unused.
Confusingly, clang's -Wmissing-prototypes is equivalent to gcc's -Wmissing-declarations, not gcc's -Wmissing-prototypes. A function prototype is a function declaration that specifies the function's argument types. C++ requires that all function declarations specify their argument types, but C does not. As such, gcc's -Wmissing-prototypes is a C-only warning about C functions that have no previous function *prototypes* (with argument types), even if a previous function *declaration* (without argument types) was seen.
MozReview-Commit-ID: FGKVLzeQ2oK
--HG--
extra : rebase_source : 81e62163bf41a5d5dd87abf5397e6e8c62ed4096
extra : source : 653a9fc279e2f6a6d066474a94a70d65ac703d6b
2018-02-22 21:03:45 -08: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
Daniel Holbert
df4b3ddfcf
Bug 1437623 part 3: (layout/painting) Add missing includes/namespaces to preemptively fix unified bustage. r=mattwoodrow
...
MozReview-Commit-ID: GvYoCro4HAU
--HG--
extra : rebase_source : ffdabc2c26543784218820bdb6d3a95fc1451152
2018-02-13 09:08:42 -08:00
Matt Woodrow
cfc46fcb12
Bug 1436189 - Part 2: Make sure we descend to the modified frame so that we descend through the containing block and mark out of flow frames for display. r=miko a=mass-reftest-fix CLOSED TREE
...
--HG--
extra : source : 3403b5f669d1395097f26c69c514e52d302a3ec0
extra : amend_source : 2d4c67e9142fd4e2404a772643a845634110ea0e
2018-02-09 11:47:08 +13:00
Matt Woodrow
745b1a42db
Bug 1429932 - Part 7: Restrict dirty regions in ComputeRebuildRegion to the overflow area of the current frame so that we discard invalidations that aren't visible. r=miko
...
MozReview-Commit-ID: BJ5Ud7c9ofk
--HG--
extra : source : 24cf388d5d5b85e17a7cacaa53e2956cda20aff4
2018-01-12 11:51:08 +13:00
Matt Woodrow
83e16d1481
Bug 1429932 - Part 4: Determine when AttemptPartialUpdate made no changes, and return the result to the caller. r=miko
...
MozReview-Commit-ID: 6S8WkzHcxP5
* * *
[mq]: detect-changes-merging
MozReview-Commit-ID: KTy7wdE7dPK
--HG--
extra : source : c91a2b710a654530336760b83c6335bc11e4ed0d
2018-01-12 11:46:23 +13:00
Matt Woodrow
6fe2885534
Bug 1429932 - Part 3: Refactor RetainedDisplayListBuilder::AttemptPartialUpdate to have an early return instead of a nested scope. r=miko
...
MozReview-Commit-ID: L91euwUeJ5x
--HG--
extra : source : 5d146aec735e9bef2b95d3cbdfa5a5d13788e9ad
2018-01-12 11:43:41 +13:00
Sebastian Hengst
51a308a50b
merge mozilla-inbound to mozilla-central. a=merge
2018-02-12 13:36:48 +02:00
arthur.iakab
9c5831300f
Backed out 7 changesets (bug 1429932) for frequently failing layout/reftests/table-background/backgr_layers-opacity.html a=backout
...
Backed out changeset 24cf388d5d5b (bug 1429932)
Backed out changeset 8f7a4df5efcc (bug 1429932)
Backed out changeset c48601351975 (bug 1429932)
Backed out changeset c91a2b710a65 (bug 1429932)
Backed out changeset 5d146aec735e (bug 1429932)
Backed out changeset db244e692584 (bug 1429932)
Backed out changeset 39ffcc432d0c (bug 1429932)
2018-02-12 12:09:21 +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
a48efa458b
Bug 1420480 - Build display items infront and behind a stacking context if the size might have changed. r=miko
2018-02-12 16:05:28 +13:00
Matt Woodrow
9cab76c73d
Bug 1436189 - Part 2: Make sure we descend to the modified frame so that we descend through the containing block and mark out of flow frames for display. r=miko
2018-02-09 11:47:08 +13:00
Matt Woodrow
596d61752a
Bug 1429932 - Part 7: Restrict dirty regions in ComputeRebuildRegion to the overflow area of the current frame so that we discard invalidations that aren't visible. r=miko
...
MozReview-Commit-ID: BJ5Ud7c9ofk
2018-01-12 11:51:08 +13:00
Matt Woodrow
026652fdb6
Bug 1429932 - Part 4: Determine when AttemptPartialUpdate made no changes, and return the result to the caller. r=miko
...
MozReview-Commit-ID: 6S8WkzHcxP5
* * *
[mq]: detect-changes-merging
MozReview-Commit-ID: KTy7wdE7dPK
2018-01-12 11:46:23 +13:00
Matt Woodrow
89fd9a5858
Bug 1429932 - Part 3: Refactor RetainedDisplayListBuilder::AttemptPartialUpdate to have an early return instead of a nested scope. r=miko
...
MozReview-Commit-ID: L91euwUeJ5x
2018-01-12 11:43:41 +13:00
Gerald Squelart
3f1acad94a
Bug 1435175 - RDL checker also outputs list of modified items before merge - r=mattwoodrow
...
MozReview-Commit-ID: 7ElZT9t5zYH
--HG--
extra : rebase_source : 69d7759533badb2d7b9f61f57fcabed5c32e1557
2018-02-02 18:18:59 +11:00
Miko Mynttinen
eeba6c855d
Bug 1431209 - Part 3: Clear mWindowOpaqueRegion before building a display list r=mattwoodrow
...
MozReview-Commit-ID: 2GFsg7WByGr
--HG--
extra : rebase_source : 0c36eaba904a5f5b4457d6e755181f572a04d972
2018-01-25 14:27:45 +01:00
Miko Mynttinen
226e3d7c8c
Bug 1431209 - Part 1: Add WeakFrameRegion and use it for WindowDraggingRegions r=mattwoodrow
...
MozReview-Commit-ID: JxwxemwY20p
--HG--
extra : rebase_source : b0703ea8ba3e411d728e3cf9086cebddb299ed17
2018-01-25 14:26:30 +01:00
Phil Ringnalda
85431794dc
Backed out 7 changesets (bug 1429932) for extremely frequent QuantumRender reftest failures
...
Backed out changeset b0ac71407500 (bug 1429932)
Backed out changeset 469ceaefd7a4 (bug 1429932)
Backed out changeset 2f801e78f798 (bug 1429932)
Backed out changeset 72852fdf476c (bug 1429932)
Backed out changeset 09e5e25d48ee (bug 1429932)
Backed out changeset bb1394cba514 (bug 1429932)
Backed out changeset 65b8996eb50c (bug 1429932)
2018-01-29 23:43:27 -08:00
Matt Woodrow
760ed538b7
Bug 1429932 - Part 7: Restrict dirty regions in ComputeRebuildRegion to the overflow area of the current frame so that we discard invalidations that aren't visible. r=miko
...
MozReview-Commit-ID: BJ5Ud7c9ofk
2018-01-12 11:51:08 +13:00
Matt Woodrow
6a606ff229
Bug 1429932 - Part 4: Determine when AttemptPartialUpdate made no changes, and return the result to the caller. r=miko
...
MozReview-Commit-ID: 6S8WkzHcxP5
2018-01-12 11:46:23 +13:00
Matt Woodrow
b18337f9bd
Bug 1429932 - Part 3: Refactor RetainedDisplayListBuilder::AttemptPartialUpdate to have an early return instead of a nested scope. r=miko
...
MozReview-Commit-ID: L91euwUeJ5x
2018-01-12 11:43:41 +13:00
Matt Woodrow
119e50197f
Bug 1432348 - Null check the inner view when looking for the sub doc for painting. r=miko
...
--HG--
extra : rebase_source : 4e830b7e4a40e8a82dfea53876606867c28e96d1
2018-01-29 17:21:00 -05:00
Timothy Nikkel
f1bc1aa42e
Bug 1417358. Make sure that the override dirty rect that we set when a displayport changes gets cleared even if we don't perform a partial display list update. r=mattwoodrow
...
We do this by tracking them as a property on the root frame the same way we do for modified frames.
We also set the property in ProcessFrame but that is okay because we are guaranteed to finish the partial update at that point.
2018-01-25 23:42:44 -06:00
Miko Mynttinen
19b51b0b4c
Bug 1432553 - Fix OOF frame overflow coordinate space r=mattwoodrow
...
MozReview-Commit-ID: 3VTyAAUM3VR
--HG--
extra : rebase_source : c234a54614796468602019000bd44df54f446655
2018-01-23 20:11:34 +01:00
Gerald Squelart
ef7190dff0
Bug 1430494 - Skip new-list loop and its related operations if list is empty - r=mattwoodrow
...
MozReview-Commit-ID: LkY2lldl7Al
--HG--
extra : rebase_source : 80cb71dff67545e42034676c3ab813b5470cfb42
2018-01-15 10:15:50 +11:00