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

588 Коммитов

Автор SHA1 Сообщение Дата
Bogdan Tara 4ba431cc02 Backed out changeset 928b755ef57b (bug 1539212) for backplate-bg-image-006.html failures 2019-09-20 03:59:03 +03:00
Morgan Reschenberg b20a6706d3 Bug 1539212: Add readability backplate for all elements containing text when HCM or a11y theme is active. r=dholbert,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42979

--HG--
extra : moz-landing-system : lando
2019-09-19 21:25:12 +00:00
Botond Ballo 3b9cddf6d8 Bug 1578777 - Use UsesSVGEffectsNotSupportedInCompositor() in ShouldBuildScrollInfoItemsForHoisting(). r=tnikkel
This required replacing nsDisplayListBuilder::mSVGEffectsBuildingDepth with
a stack of the SVG effects frames that we're currently building inside.

Depends on D46063

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

--HG--
extra : moz-landing-system : lando
2019-09-17 00:06:30 +00:00
Botond Ballo ad9e06d1e5 Bug 1578777 - Remove the builder parameter from nsDisplayFilters::CreateWebRenderCommands(). r=jrmuizel
It was unused.

Depends on D46057

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

--HG--
extra : moz-landing-system : lando
2019-09-16 21:50:16 +00:00
Brindusan Cristian 4a840d4653 Backed out changeset f5b8fba989b4 (bug 1539212) for reftest failures on backplate-bg-image-001.html. CLOSED TREE 2019-09-17 00:01:04 +03:00
Morgan Reschenberg 8c4b2ed8ff Bug 1539212: Add readability backplate for all elements containing text when HCM or a11y theme is active. r=dholbert,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42979

--HG--
extra : moz-landing-system : lando
2019-09-16 18:26:04 +00:00
Botond Ballo 88ed171110 Bug 1577859 - Additional post container scrolling removal cleanup in Layout code. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D45596

--HG--
extra : moz-landing-system : lando
2019-09-15 21:51:41 +00:00
Miko Mynttinen 4b6fb0cabc Bug 1576985 - Use RefPtr for hit test info AGR and ASR r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D43661

--HG--
extra : moz-landing-system : lando
2019-08-27 20:00:26 +00:00
Emilio Cobos Álvarez b8a075dada Bug 1554777 - Use SIZE_AVAILABLE rather than loaded to figure out whether to try to draw a border image. r=tnikkel
The current code needs to handle incomplete draws already due to async decoding,
and this prevents the race condition where we paint between the size-available
and load notifications, as the CSS image loader only invalidates for the first.

Once we try to decode the image at least once, then we'd repaint properly from
ImageLoader::OnFrameComplete.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 19:03:06 +00:00
Connor Brewster 87793c740b Bug 1573871 - Only create backdrop root containers when needed r=miko,mstange
Differential Revision: https://phabricator.services.mozilla.com/D42002

--HG--
extra : moz-landing-system : lando
2019-08-14 20:50:41 +00:00
Nathan Froyd 87c432d06a Bug 1570982 - remove `CPP_THROW_NEW`; r=glandium
We always define it to the same thing, and we're inconsistent in whether
we use `CPP_THROW_NEW` or `throw()`, so we might as well just use the
standard C++ thing and get rid of some baggage.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 01:32:41 +00:00
Connor Brewster ec29ea959d Bug 1178765 - Part 4: Force a display list rebuild when backdrop-filter pref is toggled r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D40665

--HG--
extra : moz-landing-system : lando
2019-08-13 22:03:04 +00:00
Connor Brewster 04d4ece0af Bug 1178765 - Part 3: Add backdrop-filter display items to Gecko r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D39099

--HG--
extra : moz-landing-system : lando
2019-08-13 22:02:57 +00:00
Botond Ballo af4d7feac5 Bug 1564071 - Disable paint skipping for scroll frames that contain a sticky element inside a CSS filter. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D37604

--HG--
extra : moz-landing-system : lando
2019-07-26 23:26:55 +00:00
Miko Mynttinen 28062cdd3c Bug 1568554 - Do not sort display lists that have less than two items r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D39208

--HG--
extra : moz-landing-system : lando
2019-07-24 21:03:40 +00:00
Timothy Nikkel 3bd09021a9 Bug 1562184. Have a regular nsRegion for the window opaque region for non-retained cases. r=mattwoodrow
Not sure if we need this, but the window dragging regions have it, so in case we need to turn off retained display lists we have this and there will be no difference to before the patches in this bug.

Depends on D38589

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

--HG--
extra : moz-landing-system : lando
2019-07-24 21:09:42 +00:00
Timothy Nikkel 9ccc8b65cb Bug 1562184. Convert window opaque region to a WeakFrameRegion. r=mattwoodrow
For retained display lists it needs to be a weak frame region to areas get removed for modified frames and the rest stick around.

Each display item can contribute an opaque region but WeakFrameRegion can only track one rect per frame. It turns out that we only return rects from GetOpaqueRegion except in one hit testing case.

This still means more than one display item per frame could be contributing to the opaque region, we would miss the second and further rects in that case.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 21:09:09 +00:00
Brindusan Cristian 6e6b2f7568 Backed out 2 changesets (bug 1554499) for mochitest failures at test_restyles.html.
Backed out changeset 1a6a6a38c987 (bug 1554499)
Backed out changeset 789e5d3fcf18 (bug 1554499)
2019-07-18 21:36:22 +03:00
Alexis Beingessner bf3ef8ab03 Bug 1554499 - Rename PerFrameKey -> PerFrameIndex for most methods r=mattwoodrow
This distinguishes better between the overloaded aspect of the PerFrameKey and the
actual mixed value.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 20:13:20 +00:00
Alexis Beingessner f6d109ce74 Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow
This static method is assumed to have the same signature as the type's constructor,
and so we must have an implementation of ComputePerFrameKey for each constructor
a display item provides that is called by MakeDisplayItem. Notably this excludes
the MakeClone constructor for a lot of items.

There is a default varargs implementation on nsDisplayItem which everyone
inherits by default, so types which previously didn't overload this method
still don't need to.

Providing an implementation of ComputePerFrameKey on some display item type
shadows the varargs implementation, so one doesn't need to worry about overloading
one constructor but forgetting about another -- if you do, the compiler will only
see the overload and complain that the signature doesn't match.

One slightly annoying result of this is that display items which previously
inherited an overloaded implementation from a superclass now must provide
their own manual implementations. Although as far as I could tell, all of
those cases had a trivial implementation of key=0 (the super class supported
custom keys but the subclasses didn't make use of it).

In those cases I just hardcoded key=0, but it's possible that it would be
better to call into the superclass' implementation to be more robust to changes.

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

--HG--
extra : moz-landing-system : lando
2019-07-17 20:24:30 +00:00
Sylvestre Ledru e77bfc655d Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-16 07:33:44 +00:00
Kartikaya Gupta 35830d3dc7 Bug 1564929 - Stop needless round-trip to fake app units. r=Gankro
Also move the impl to the .cpp file to avoid expensive rebuilds when it
is modified.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 17:24:32 +00:00
Emilio Cobos Álvarez d1a9b44ea6 Bug 1560188 - Fix and improve display list memory reporting. r=mattwoodrow,njn
I missed in bug 1487216 that the pres arena memory reporting assumes that the
entry indices are frame class ids, which means that we're reporting some display
list arena entries as frames, which is obviously wrong.

Cleanup a bit nsPresArena to remove the custom id concept, and report also
individual display item type memory usage.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 02:46:09 +00:00
Sylvestre Ledru 131d0c6a02 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-06 08:18:28 +00:00
Doug Thayer 9e8f08b278 Bug 1549976 - Implement popover render root r=kats,Gijs
If we decide to just go with an overlay that sits fully over the
window (which I don't personally see a perf problem with right now,
but correct me if you can think of one), then this should be all
we need.

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

--HG--
extra : rebase_source : 44a5af47f9c10071b0933931fbf3708978f549e4
2019-06-21 19:15:11 +01:00
Matt Woodrow 8f12c70442 Bug 1558937 - Don't allow duplicate items for printing. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D34775

--HG--
extra : moz-landing-system : lando
2019-06-24 08:00:41 +00:00
Brindusan Cristian 928742d3ea Backed out changeset c872cc627115 (bug 1558937) for reftest failures at 1558937-1.html. 2019-06-24 06:09:11 +03:00
Matt Woodrow e2458a8e7c Bug 1558937 - Don't allow duplicate items for printing. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D34775

--HG--
extra : moz-landing-system : lando
2019-06-24 01:38:37 +00:00
Kartikaya Gupta 1cccbb6069 Bug 1557970 - Put the root metadata on the zoom container if there is one, for the WR codepath. r=botond
Same fix as in bug 1553045, but for the WebRender codepath.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 16:51:22 +00:00
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 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
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
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 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
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
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
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 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
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
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