Commit Graph

1980 Commits

Author SHA1 Message Date
Matt Woodrow
f6b0435e84 Bug 1547802 - Compute a single caret frame for the entire display list, and remove the option to invalidate frames during painting. r=miko,smaug
Previously we computed a caret frame each time we started display list building for a pres shell, and tracked a stack of these as we descended through subdocuments.
This meant that we couldn't know if the caret frame had changed before we started building, and we instead had to support invalidations in the middle of building.

Since there should only ever be one focused document, we can instead retrieve this from the focus manager, and find the sole caret frame for all documents we want to paint.

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

--HG--
extra : moz-landing-system : lando
2019-06-11 04:39:00 +00:00
Cosmin Sabou
3d72a8ffe7 Backed out 2 changesets (bug 1547802, bug 1555819) for build bustages on nsDisplayList.
Backed out changeset aea91be6ce82 (bug 1555819)
Backed out changeset 11a69daedddb (bug 1547802)
2019-06-11 06:52:46 +03:00
Matt Woodrow
5dc2d83f7b Bug 1555819 - Remove invalidated display items during PreProcessDisplayLists, since we might not merge their display list. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D33881

--HG--
extra : moz-landing-system : lando
2019-06-11 02:20:21 +00:00
Matt Woodrow
72068e14f5 Bug 1547802 - Compute a single caret frame for the entire display list, and remove the option to invalidate frames during painting. r=miko,smaug
Previously we computed a caret frame each time we started display list building for a pres shell, and tracked a stack of these as we descended through subdocuments.
This meant that we couldn't know if the caret frame had changed before we started building, and we instead had to support invalidations in the middle of building.

Since there should only ever be one focused document, we can instead retrieve this from the focus manager, and find the sole caret frame for all documents we want to paint.

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

--HG--
extra : moz-landing-system : lando
2019-06-11 02:20:09 +00:00
Bas Schouten
88c1c3d944 Bug 1553254 - Part 2: Add some first performance probes to our codebase for some basic, easy to measure things. r=brennie
Differential Revision: https://phabricator.services.mozilla.com/D32877

--HG--
extra : rebase_source : b2d474400a2b09eeb5194845c1c4cd717de00513
2019-05-28 20:58:06 +02:00
Emilio Cobos Álvarez
95bca607dd Bug 1487216 - Measure memory usage of RDL. r=mattwoodrow,miko
For now I added everything to the same bucket, but I wrote this so it should be
easy to add more buckets as needed (either to mArenaSizes, or more specific ones
like the style system has). But this is probably enough for now.

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

--HG--
extra : moz-landing-system : lando
2019-06-09 22:58:24 +00:00
Botond Ballo
1eb526e657 Bug 1553045 - Place the fallback scroll metadata onto the async zoom container layer if there is one. r=kats
This preserves the APZ invariant that if there is an async zoom container,
then the RCD-RSF scroll metadata is on the same layer or descendant layers.

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

--HG--
extra : moz-landing-system : lando
2019-06-08 17:49:38 +00:00
Emilio Cobos Álvarez
67c30d05d2 Bug 1557212 - Use cbindgen for gradients. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D33901

--HG--
extra : moz-landing-system : lando
2019-06-07 14:13:17 +00:00
Noemi Erli
5b41ddf5f2 Backed out 2 changesets (bug 1547802, bug 1555819) mochitest and marionette failures CLOSED TREE
Backed out changeset 10ba83441846 (bug 1555819)
Backed out changeset b9af6aea762d (bug 1547802)
2019-06-07 09:12:09 +03:00
Matt Woodrow
bc3e85dc75 Bug 1555819 - Remove invalidated display items during PreProcessDisplayLists, since we might not merge their display list. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D33881

--HG--
extra : moz-landing-system : lando
2019-06-07 01:55:57 +00:00
Matt Woodrow
d436383750 Bug 1547802 - Compute a single caret frame for the entire display list, and remove the option to invalidate frames during painting. r=miko,smaug
Previously we computed a caret frame each time we started display list building for a pres shell, and tracked a stack of these as we descended through subdocuments.
This meant that we couldn't know if the caret frame had changed before we started building, and we instead had to support invalidations in the middle of building.

Since there should only ever be one focused document, we can instead retrieve this from the focus manager, and find the sole caret frame for all documents we want to paint.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 01:55:43 +00:00
Boris Chiou
d1f4ea261c Bug 1555548 - Send other transform-like properties as non-animating animation into compositor. r=hiro
Not only animating transform-like properties, but also non-animating ones have
to be passed into the compositor, so the final transform matrix could
take them into account (on the compositor).

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

--HG--
extra : moz-landing-system : lando
2019-06-06 18:29:46 +00:00
Miko Mynttinen
6c57050ada Bug 1490404 - Part 2: Add retained display list statistics r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D33680

--HG--
extra : moz-landing-system : lando
2019-06-06 17:54:14 +00:00
Miko Mynttinen
fbfcf25cc9 Bug 1490404 - Part 1: Be more consistent with display list and display list builder pointers and references r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D33679

--HG--
extra : moz-landing-system : lando
2019-06-06 17:54:13 +00:00
shindli
3caa33a7ea Merge inbound to mozilla-central. a=merge 2019-06-06 12:57:52 +03:00
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
Ryan Hunt
4386b68e1c Bug 1556548 - Move nsDisplayRemote to nsSubDocumentFrame.cpp. r=mattwoodrow
nsDisplayRemote no longer has any direct ties to RenderFrame and should
be moved to nsSubDocumentFrame.cpp where it's actually used/created.

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

--HG--
extra : rebase_source : ae2e03108820bd14b5f2771da17cabfd95706f94
extra : source : b301161ab461cd46cea3f91749896686c50e9b9f
extra : histedit_source : 1c80f83d26734e56bd6353f0a50dcbc4bf894b4b
2019-06-02 13:00:16 -04:00
Ryan Hunt
e7da3a1bef Bug 1519546, part 7 - Gather EffectsInfo for remote browsers in a paint and apply them. r=mattwoodrow
WebRender support will be finished in the following commit.

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

--HG--
extra : rebase_source : f40ab9946e946d137aa2522f9fce0aa268e22937
extra : intermediate-source : ea63d3d6b85fd3c4456275638e968e0eed045b37
extra : source : 79be6c27e0f9e262b75723c120786e2256ee4700
2019-05-24 09:28:23 -05:00
Jeff Muizelaar
adeec705d8 Bug 1555827. Disable disabling blob invalidation. r=kvark
Not using blob invalidation is broken. Having this pref accidentally
flipped has wasted multiple people's time.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 19:07:17 +00:00
Emilio Cobos Álvarez
19258bfbb4 Bug 1554716 - Remove nsStyleColor moving the color property to nsStyleText. r=jfkthame
I think this is a good change regardless of other discussion in bug 1552587. If
we decide to move `mColor` to the top-level of the struct that can be done
separately.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 14:48:22 +00:00
Boris Zbarsky
d2959ecb98 Bug 1553018 part 2. Make various gfx preferences bindings use in Pref annotations on interfaces follow the StaticPrefs naming convention for getters. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D32943

--HG--
extra : moz-landing-system : lando
2019-05-30 17:21:57 +00:00
Timothy Nikkel
6c2c3c6e42 Bug 1554373. Handle glass item with retained display lists. r=mattwoodrow
We clear mGlassDisplayItem before a full display list build. We use it so that we only mark the first glass item we encounter with the glass item flag.

For partial builds we use the bool mHasGlassItemDuringPartial to track the same thing, so we only mark one item as glass. Merging handles updating mGlassDisplayItem for partial builds.

So this means that we could have one item marked as a glass item in the old list and one item marked as a glass item in the new list.

If merging doesn't use the existing mGlassDisplayItem then it clears mGlassDisplayItem. If merging uses a new item that is a glass item it calls SetGlassDisplayItem on it, so it will only become the new glass item if there wasn't one there already.

So it is actually possible that both items with the glass flag make it into the final display list. Thus the number of display items in the display list with the glass flag can grow to any number, but it would have to be a very very weird state because the glass item is only allowed to be a themed background item coming from a doc element box frame (one per xul doc near the root).

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

--HG--
extra : moz-landing-system : lando
2019-05-29 22:01:28 +00:00
Emilio Cobos Álvarez
fce57b44fd Bug 1552878 - Use cbindgen for filters. r=jwatt
Had to implement some OwnedSlice bits that the canvas code used.

Differential Revision: https://phabricator.services.mozilla.com/D31799
2019-05-29 21:22:07 +02:00
Connor Brewster
661d98cfba Bug 1554247 - Fix bracing in layout/painting r=miko
Differential Revision: https://phabricator.services.mozilla.com/D32893

--HG--
extra : moz-landing-system : lando
2019-05-29 14:34:34 +00:00
Matt Woodrow
a5c50d9eeb Bug 1539366 - Avoid calling AreOnSameLine once we know we've already changed lines since it can be expensive to compute. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D26650

--HG--
extra : moz-landing-system : lando
2019-05-27 20:38:46 +00:00
Matt Woodrow
65c3bca864 Bug 1539366 - Use a temporary object to compute the mPIStartBorderData coords so that we don't clobber the regular state. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D26649

--HG--
extra : moz-landing-system : lando
2019-05-27 20:38:26 +00:00
Matt Woodrow
6be2cd58d3 Bug 1539366 - Use SetCoord to restore mPIStartBorderData's coord so that it also set mValid. r=mats
Without this the restore doesn't have any effect as the next frame sees that coord has mIsValid=false

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

--HG--
extra : moz-landing-system : lando
2019-05-27 20:38:11 +00:00
Brindusan Cristian
40a5b04ab5 Backed out 3 changesets (bug 1552708, bug 1552878) for build bustages and compiler issues. CLOSED TREE
Backed out changeset 9d4f178bfcbd (bug 1552878)
Backed out changeset 80db9f845237 (bug 1552708)
Backed out changeset 1bdbfbb5b342 (bug 1552708)
2019-05-27 17:00:03 +03:00
Miko Mynttinen
81f2affed9 Bug 1496491 - Check for modified ancestors when updating WeakFrameRegion r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D32487

--HG--
extra : moz-landing-system : lando
2019-05-26 22:25:12 +00:00
Emilio Cobos Álvarez
a6bdf94e22 Bug 1552878 - Use cbindgen for filters. r=jwatt
Had to implement some OwnedSlice bits that the canvas code used.

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

--HG--
extra : moz-landing-system : lando
2019-05-27 12:37:37 +00:00
Matt Woodrow
6a72e9b83c Bug Bug 1547624 - Start inactive Layer building during ProcessDisplayItems so that any contained hit-test info gets propagated to the outer Layer before we add the next item. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D32261

--HG--
extra : moz-landing-system : lando
2019-05-27 04:28:37 +00:00
Matt Woodrow
ded3b88d3a Bug 1547624 - Update mScaledHitRegionBounds when we add hit-test info to a Layer from within an inactive Layer. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D32260

--HG--
extra : moz-landing-system : lando
2019-05-27 04:27:18 +00:00
Jean-Yves Avenard
022c57caf3 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:31:53 +00:00
Jean-Yves Avenard
23436e1811 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-26 14:30:14 +00:00
Jean-Yves Avenard
04a34db033 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-26 14:29:42 +00:00
Sylvestre Ledru
d57d4905f1 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-25 17:46:15 +00:00
Gurzau Raul
967bc2a754 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard
074aea57fe Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-24 11:37:50 +00:00
Jean-Yves Avenard
8d5f292ab5 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-24 11:32:54 +00:00
Jean-Yves Avenard
af5790cf9b Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-25 00:03:32 +00:00
arthur.iakab
af8e458c5f Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Sylvestre Ledru
c82ea97226 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-24 09:59:17 +00:00
Gurzau Raul
74c555539e Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard
d59781ac33 Bug 1550422 - P23. Remove now unused gfxPrefs. r=jrmuizel
And with some tidying some comments and removing stray #include "gfxPrefs.h"

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:46:30 +00:00
Jean-Yves Avenard
2412878bd9 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259

--HG--
extra : moz-landing-system : lando
2019-05-22 22:27:37 +00:00
Jean-Yves Avenard
2c0ce1b3ca Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

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

--HG--
extra : moz-landing-system : lando
2019-05-22 12:43:42 +00:00
Emilio Cobos Álvarez
8f8161be87 Bug 1553245 - Use cbindgen for border-image-width. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D32032

--HG--
extra : moz-landing-system : lando
2019-05-21 21:07:55 +00:00
Matt Woodrow
90ea5fbc78 Bug 1551389 - Compare line pointers directly, since we're ok with it failing if the lines are in different lists. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D31152

--HG--
extra : moz-landing-system : lando
2019-05-19 21:56:21 +00:00
Boris Chiou
718aaf17f9 Bug 1429299 - Part 1: Unpack StyleMotion and use cbindgen for OffsetPath. r=emilio
Unpack StyleMotion and move its members into nsStyleDisplay, use
cbindgen to generate StyleOffsetPath.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 23:42:50 +00:00
Matt Woodrow
17a9052fe9 Bug 1409114 - Part 11: Create an AutoBuildingDisplayList when we create background items for table columns and column groups, so that we initialize the invalidation state correctly. r=kamidphish
Differential Revision: https://phabricator.services.mozilla.com/D31563

--HG--
extra : moz-landing-system : lando
2019-05-20 23:16:59 +00:00
Matt Woodrow
0b73d82714 Bug 1409114 - Part 9: Used cached values instead of calling nsDisplayListBuilder::ToReferenceFrame when possible, since it can be expensive when the requested frame isn't the builder's current frame. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D29281

--HG--
extra : moz-landing-system : lando
2019-05-20 23:16:22 +00:00
Matt Woodrow
1f9adb1ed4 Bug 1409114 - Part 7: Pass rects in display list coordinates to AppendBackgroundItemsToTop. r=miko
This helps for the next patch, since some of the table backgrounds items want to compute this without position:relative taken into account.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 23:15:54 +00:00
Matt Woodrow
8bf47621c6 Bug 1409114 - Part 6: Store column and column group backgrounds separately, and then append then before the rest of the table contents. r=dbaron
This also changes behaviour a bit, previously we interleaved column and column group backgrounds. where we now put all the column group backgrounds behind all columns.
I believe this is the correct ordering as per CSS2.2 Appendix E.

Column backgrounds can overlap when using 'span', and we now render this in a different order, but this matches what other browsers do.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 23:15:39 +00:00
Matt Woodrow
a40b05d67d Bug 1409114 - Part 1: Remove current table item, as it's never set. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D29272

--HG--
extra : moz-landing-system : lando
2019-05-20 23:14:40 +00:00
Miko Mynttinen
049dbbcc2c Bug 1529698 - Part 4: Add nsDisplayContainer r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30840

--HG--
extra : moz-landing-system : lando
2019-05-18 20:11:42 +00:00
Miko Mynttinen
af124f7ea0 Bug 1529698 - Part 3: Move DisplayItemData to nsPaintedDisplayItem r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30839

--HG--
extra : moz-landing-system : lando
2019-05-18 20:11:27 +00:00
Miko Mynttinen
454b6b9b8c Bug 1529698 - Part 2: Move BuildLayer() to nsPaintedDisplayItem r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30838

--HG--
extra : moz-landing-system : lando
2019-05-18 20:11:18 +00:00
Miko Mynttinen
64dfef85ac Bug 1529698 - Part 1: Make LayerState enum class r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30837

--HG--
extra : moz-landing-system : lando
2019-05-18 20:11:11 +00:00
Kartikaya Gupta
e089e9f404 Bug 1550510 - Stop hoisting scrollinfo items inside filters when WR is enabled. r=botond
In bug 1527182 we made it so that APZ can directly drag-scroll scrollframes
that are inside SVG effects, because that's possible with WR on the compositor.
However the code changed in that bug was meant to be kept in sync with
a second piece of code. The second piece of code controls the generation
of ScrollInfo items for scrollframes inside SVG effects - since we can
APZ-scroll them with WR, we don't need the scrollinfo item anymore.
Producing the scrollinfo item was changing the structure of the APZ tree
in terms of where the transform ended up, and was causing badness with
untransforming the drag mouse events.

This patch adds a test that covers the scenario and also corrects the defect
by bringing the two bits of code back in sync.

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

--HG--
extra : moz-landing-system : lando
2019-05-18 00:17:50 +00:00
Timothy Nikkel
d87fc8f78d Bug 1552104. Ensure that nsDisplaySubDocument::Disown calls SetDeletedFrame when it clears mFrame. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D31541

--HG--
extra : moz-landing-system : lando
2019-05-17 04:44:56 +00:00
Emilio Cobos Álvarez
835de4b08d Bug 1529002 - Use cbindgen to back CSS transforms. r=boris
This avoids the expensive conversion, and cleans up a bunch.

Further cleanup is possible, just not done yet to avoid growing the patch even
more.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 23:25:10 +00:00
Emilio Cobos Álvarez
0b89333979 Bug 1550554 - Use OwnedSlice for will-change. r=heycam
We could use ArcSlice if wanted I guess, your call. Though will change is not
supposed to be used very frequently.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 23:23:28 +00:00
Emilio Cobos Álvarez
987519e4da Bug 1550554 - Add bindings for box shadows, and remove nsCSSShadowArray and friends. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D30547

--HG--
extra : moz-landing-system : lando
2019-05-16 23:04:32 +00:00
Miko Mynttinen
752b633888 Bug 1551986 - Do not create unnecessary items inside opacity: 0 containers r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D31311

--HG--
extra : moz-landing-system : lando
2019-05-16 21:13:49 +00:00
Oana Pop Rus
67a95fdadf Backed out changeset 8a9694ac64f1 (bug 1551986) for crashtest failures on nsDisplayList.h CLOSED TREE 2019-05-16 22:06:34 +03:00
Doug Thayer
75bfa13a86 Bug 1547351 - Use offset relative to reference frame for nsDisplayRenderRoot r=mattwoodrow
Please advise if there is a better alternative. After ensuring that
extension popups are wired up to create an nsDisplayRenderRoot, the
bottom bit of the popup's content is cut off. This fixes that issue,
but I'm not certain if it is the most robust option.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 22:43:40 +00:00
Miko Mynttinen
31779d885f Bug 1551986 - Do not create unnecessary items inside opacity: 0 containers r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D31311

--HG--
extra : moz-landing-system : lando
2019-05-16 17:23:45 +00:00
Ciure Andrei
00a73f5055 Backed out 17 changesets (bug 1550554, bug 1549593, bug 1551991, bug 1529002) for failing multiple Android tests and Windows 2012 bustages CLOSED TREE
Backed out changeset 3bb3fafa62e2 (bug 1551991)
Backed out changeset e12a979de502 (bug 1551991)
Backed out changeset d81e4aa6bf0c (bug 1551991)
Backed out changeset c354e61f2a34 (bug 1551991)
Backed out changeset 37fd602bebc2 (bug 1551991)
Backed out changeset 6c1f00cc30ca (bug 1551991)
Backed out changeset 8a7a0329bdc3 (bug 1551991)
Backed out changeset 86159475ddd3 (bug 1551991)
Backed out changeset 35f91a9ea82a (bug 1529002)
Backed out changeset 6798155e71dc (bug 1529002)
Backed out changeset b90c2cf5b8c5 (bug 1550554)
Backed out changeset 882ab9868c95 (bug 1550554)
Backed out changeset b28a48e2ed21 (bug 1550554)
Backed out changeset 2c31fe18eefd (bug 1550554)
Backed out changeset 57f2362aa538 (bug 1550554)
Backed out changeset 45f171b26e95 (bug 1550554)
Backed out changeset 2e4b263c9410 (bug 1549593)
2019-05-16 13:17:10 +03:00
Emilio Cobos Álvarez
5804e8efae Bug 1529002 - Use cbindgen to back CSS transforms. r=boris
This avoids the expensive conversion, and cleans up a bunch.

Further cleanup is possible, just not done yet to avoid growing the patch even
more.

Differential Revision: https://phabricator.services.mozilla.com/D30748
2019-05-16 16:24:38 +02:00
Emilio Cobos Álvarez
6634361c43 Bug 1550554 - Use OwnedSlice for will-change. r=heycam
We could use ArcSlice if wanted I guess, your call. Though will change is not
supposed to be used very frequently.

Differential Revision: https://phabricator.services.mozilla.com/D30548
2019-05-16 16:24:31 +02:00
Emilio Cobos Álvarez
0fe081bb39 Bug 1550554 - Add bindings for box shadows, and remove nsCSSShadowArray and friends. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D30547
2019-05-16 16:24:28 +02:00
Matt Woodrow
3e231add81 Bug 1549909 - Use display list building order for walking parents in AddFramesForContainingBlock. r=kamidphish
Differential Revision: https://phabricator.services.mozilla.com/D30453

--HG--
extra : moz-landing-system : lando
2019-05-15 03:33:26 +00:00
Narcis Beleuzu
94512af92c Backed out changeset 9d6897b968f6 (bug 1551389) for crashtest failures on 1551389-1.html 2019-05-15 06:15:35 +03:00
Matt Woodrow
e470ac5993 Bug 1551389 - Compare line lists as well as lines when deciding if two frames are on the same line. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D31152

--HG--
extra : moz-landing-system : lando
2019-05-14 22:26:17 +00:00
Matt Woodrow
11e9f771db Bug 1551061 - Don't reuse a single DisplayItemData for all items that were previously part of a merged item. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D31004

--HG--
extra : moz-landing-system : lando
2019-05-13 23:40:47 +00: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
Nicolas Silva
92e099dc31 Bug 1536021 - Gecko side changes. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D30618

--HG--
extra : source : d9c8971de6ad11a2f5c4331775c2d17c98a12b7e
extra : intermediate-source : b0fc3130f34b72fe01230ae0b231131111a9a9f1
2019-05-10 22:13:31 +02:00
Csoregi Natalia
6b3623045e Backed out changeset 7c1fce459b7a (bug 1549909) for crashtest failures on 1458028.html. CLOSED TREE 2019-05-10 14:21:07 +03:00
Matt Woodrow
6f7852c76c Bug 1549909 - Use display list building order for walking parents in AddFramesForContainingBlock. r=kamidphish
Differential Revision: https://phabricator.services.mozilla.com/D30453

--HG--
extra : moz-landing-system : lando
2019-05-10 04:58:39 +00:00
Emilio Cobos Álvarez
38065025d9 Bug 1548691 - Use the owned slice type for basic shape polygon coordinates. r=TYLin,heycam
This enables destructors for tagged unions in cbindgen, implemented in:

 * https://github.com/eqrion/cbindgen/pull/333

Which allow us to properly generate a destructor for the cbindgen-generated
StyleBasicShape (which now contains an OwnedSlice).

For now, we still use the glue code to go from Box<BasicShape> to
UniquePtr<BasicShape>. But that will change in the future when we generate even
more stuff and remove all the glue.

I could add support for copy-constructor generation to cbindgen for tagged
enums, but I'm not sure if it'll end up being needed, and copy-constructing
unions in C++ is always very tricky.

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

--HG--
extra : moz-landing-system : lando
2019-05-09 11:24:57 +00:00
Miko Mynttinen
e74a435226 Bug 1549860 - Make display item merging nsDisplayWrapList specific operation r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30283

--HG--
extra : moz-landing-system : lando
2019-05-08 15:51:23 +00:00
Miko Mynttinen
1ad7ab6372 Bug 1549751 - Part 3: Use nsPaintedDisplayItem in WR and FLB r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30226

--HG--
extra : moz-landing-system : lando
2019-05-08 13:50:09 +00:00
Miko Mynttinen
2c5cb1519c Bug 1549751 - Part 2: Add nsPaintedDisplayItem r=mattwoodrow
Move ApplyOpacity(), CanApplyOpacity(), Paint() and PaintWithClip() methods to nsPaintedDisplayItem

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

--HG--
extra : moz-landing-system : lando
2019-05-08 13:49:56 +00:00
Miko Mynttinen
d31f4467e4 Bug 1549751 - Part 1: Add nsDisplayList::Iterator r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30224

--HG--
extra : moz-landing-system : lando
2019-05-08 14:11:40 +00:00
Alexis Beingessner
0feadff33f Bug 1545768 - Re-enable good text bounds for webrender. r=kats
This just reverts commit 580a7e38c60491123f3e7bba82904008ab0262d1.

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

--HG--
extra : moz-landing-system : lando
2019-05-07 11:20:34 +00:00
Miko Mynttinen
4818bf20d6 Bug 1546955 - Part 2: Make all display item constructors take nsDisplayListBuilder and frame as the first two parameters r=mattwoodrow
Depends on D28844

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

--HG--
extra : moz-landing-system : lando
2019-05-05 21:45:31 +00:00
Miko Mynttinen
1d36aadb94 Bug 1546955 - Part 1: Invoke display item copy-constructors through MakeClone() r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D28844

--HG--
extra : moz-landing-system : lando
2019-05-05 21:05:33 +00:00
Matt Woodrow
ca8d64ee34 Bug 1522455 - Position sticky can be handled by the compositor, so should be considered an async AGR. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D29796

--HG--
extra : moz-landing-system : lando
2019-05-03 13:22:27 +00:00
Miko Mynttinen
85748ab45f Bug 1547420 - Handle bounds overflow in FrameLayerBuilder::PaintItems() r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D29754

--HG--
extra : moz-landing-system : lando
2019-05-03 15:15:44 +00:00
Emilio Cobos Álvarez
b3863ed908 Bug 1547792 - AspectRatio should be a single ratio, not a size. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D29244

--HG--
extra : moz-landing-system : lando
2019-05-02 23:28:21 +00:00
Masayuki Nakano
c842b7b133 Bug 253889 - part 4: Finally, get rid of nsIPresShell r=emilio
And also this cleans up some legacy comments of PresShell users.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 02:28:59 +00:00
violet
96e3a70dc5 Bug 608812 - GetTransformForRendering() should have the same rounding behavior r=emilio
The comment in nsDisplayTransform::GetTransformForRendering() clearly
says that |aOutOrigin| should return the same offset as GetTransform().

GetTransform() will pass the offset to GetResultingTransformMatrix()
which will round it in many cases to avoid subpixel blurry rendering.

But GetTransformForRendering() doesn't take this rounding into account,
thus contradicting the intent described by the comment.

This rounding is important to keep subpixel behavior consistent with
or without webrender enabled. Currently, SVG will be rendered blurry
in some cases if it's at a subpixel position. After fixing the problem
in non-webrender case, the strange blur still occurs in webrender case.
It turns out to be caused by this inconsistency.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 15:20:31 +00:00
violet
3c2c9a686e Bug 608812 - Should snap subpixel value for outer svg and anon child r=longsonr
We should  snap subpixel value at nsDisplayTransform::GetResultingTransformMatrix
for outer svg and the anon child. This will solve blurry rendering for subpixel position
when webrender is __not__ enabled.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 17:53:32 +00:00
Matt Woodrow
5e7af24291 Bug 1547986 - Don't early return in PreProcessDisplayList if we need to re-link the display list on exit. r=miko
This early return is just an optimization to prevent the DAG from becoming too complex, and if we're keeping the list linked, then we know it won't be getting more complex on the current paint.
Future paints that actually modify the list will still take this path.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 17:34:45 +00:00
Emilio Cobos Álvarez
0593b77cc0 Bug 1547674 - Use rust types for gradient stops. r=boris
This doesn't clean up all that much, yet, but it's a step in the right
direction.

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

--HG--
extra : moz-landing-system : lando
2019-04-30 20:37:54 +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
Botond Ballo
990ed4ad66 Bug 1529892 - Limit the area of a fixed-position element that's painted to the displayport. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D28775

--HG--
extra : moz-landing-system : lando
2019-04-26 05:12:33 +00:00
Botond Ballo
798222c284 Bug 1529892 - Add a mochitest to check that the rendered area for a fixed-position element matches our expectations. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D28774

--HG--
extra : moz-landing-system : lando
2019-04-26 05:12:28 +00:00
Botond Ballo
f250152f55 Bug 1529892 - Use zooming pref rather than platform ifdef in OutOfFlowDisplayData::ComputeVisibleRectForFrame(). r=kats
Differential Revision: https://phabricator.services.mozilla.com/D28772

--HG--
extra : moz-landing-system : lando
2019-04-26 05:10:34 +00:00
Emilio Cobos Álvarez
11ea945833 Bug 1546697 - Use a consistent style for enum classes in layout. r=dholbert
Per the discussion in:

  https://groups.google.com/d/msg/mozilla.dev.platform/P79pwa9z5m8/iPYPAWPHCAAJ

They should be CamelCase, and that's what most of them already do. This converts
the rest, which are a few.

For the ones that already used `e` or `k` prefixes, I've mostly done:

 for file in $(rg Type::e layout | cut -d : -f 1 | sort | uniq); do sed -i 's#Type::e#Type::#g' $file; done

For the ones that used uppercase, I've removed the prefix if it was already in
the type name, and turn them into CamelCase.

Depends on D28680

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

--HG--
extra : moz-landing-system : lando
2019-04-25 23:03:04 +00:00