Commit Graph

1707 Commits

Author SHA1 Message Date
Boris Chiou
a47dc39197 Bug 1526850 - Part 3: Use DisplayItemType as the input of AddTransitionsAndAnimationsToLayer. r=hiro
Transform display item may have multiple properties, so it's better to
use display item type as the input.

Also, factor some code out of AddAnimationsForProperty, so we can easier
to extend this for multiple properties.

We will pass a list of layers::Animation to the compositor thread. In
this list, the animations belonging to the same property are grouped together,
so we can easily separate the animations by property and sample the animations
for each property on the compositor thread. (Will do this in Bug 1425837.)

Depends on D19628

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

--HG--
extra : moz-landing-system : lando
2019-03-01 21:13:05 +00:00
Boris Chiou
97ae508f2d Bug 1526850 - Part 2: Let FindAnimationsForCompositor take nsCSSPropertyIDSet. r=hiro
We use DisplayItemType as the input of HasAnimationsForCompositor, and
nsCSSPropertyIDSet as the input of GetAnimationsForCompositor.

The caller of HasAnimationsForCompositor just wants to check if there is
any compositor animation for a display item, so we can replace it by the
display item, and get the properties from this display item.

However, the caller of GetAnimationsForCompositor may use a subset of
transform-like properties for getting scale factors, or use all the
transform-like properties for sending all transform animations to the
compositor thread.

Depends on D19630

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

--HG--
extra : moz-landing-system : lando
2019-03-01 21:13:03 +00:00
Boris Chiou
55287b9a0b Bug 1526850 - Part 1: Add a function which sets RunningOnCompositor by DisplayItemType. r=hiro
FrameLayerBuilder needs to clear this flag by DisplayItemType, so we add
a new function for it.

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

--HG--
extra : moz-landing-system : lando
2019-03-01 21:13:01 +00:00
Ryan Hunt
b936c00a65 Bug 1523969 part 14 - Move method definition inline comments to new line in 'layout/'. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D21115

--HG--
extra : rebase_source : 4d65c07d8822f3a54ac881b5d0f55468ce884554
2019-02-25 16:09:24 -06:00
Timothy Nikkel
5e5127fece Bug 1530657. Remove webrender user data properties from frames first, then destory them. r=jrmuizel
If we destroy at the same time as removal, then the destruction can destroy other objects which in turn might remove frame properties and mess up the frame property table.

This should cover all ways the webrender user data can get deleted from a frame property.

The nsIFrame::RemoveDisplayItemDataForDeletion bit doesn't seem necessary to fix the intermittent but I think it is still necessary.
2019-02-28 16:55:25 -06:00
Timothy Nikkel
4a54583c19 Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-26 00:16:36 -06:00
Timothy Nikkel
b2695b4b73 Backed out changeset 2bf33f573505 2019-02-25 22:48:35 -06:00
Timothy Nikkel
b9d0354d8a Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-25 22:45:15 -06:00
Noemi Erli
a50bfca7a3 Backed out 10 changesets (bug 1505871) for wrench bustages CLOSED TREE
Backed out changeset 045ab0ec3613 (bug 1505871)
Backed out changeset 6486435a048d (bug 1505871)
Backed out changeset 9be871042749 (bug 1505871)
Backed out changeset 0007feaf988d (bug 1505871)
Backed out changeset 3cb8fb01e77e (bug 1505871)
Backed out changeset 2fff213d97e3 (bug 1505871)
Backed out changeset 1ad20d485eca (bug 1505871)
Backed out changeset 0fd8742fa662 (bug 1505871)
Backed out changeset 1899600a7985 (bug 1505871)
Backed out changeset f9578d20e54e (bug 1505871)
2019-02-26 03:43:12 +02:00
Timothy Nikkel
17f5b2d751 Bug 1505871. C++ code to get component transfer filter data into webrender. r=jrmuizel
Have to use a pointer/size pair to transfer the value list to rust.

We use a "filter holder" that contains an nsTArray that owns the values.
2019-02-25 19:20:26 -06:00
Boris Chiou
cc43fb306a Bug 1529422 - Part 1: Add all transform-like properties into ActiveLayerTracker. r=hiro,mattwoodrow
Let ActiveLayerTracker track individual transforms. (Will add
motion-path in the future.)

Besides, using a property set for transform and opacity is more efficient,
so let's change it. For background position, we use a different code path,
so we can have more restrictions in IsStyleAnimated.

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

--HG--
extra : moz-landing-system : lando
2019-02-23 00:21:45 +00:00
Emilio Cobos Álvarez
99549860f7 Bug 1529058 - Use Rust types from transform-origin / perspective-origin. r=mattwoodrow
Depends on D20381

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

--HG--
extra : moz-landing-system : lando
2019-02-19 20:28:47 +00:00
Emilio Cobos Álvarez
c4ae51b99d Bug 1529058 - Use Rust types for perspective and z-index. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D20381

--HG--
extra : moz-landing-system : lando
2019-02-19 23:04:45 +00:00
scharing
87df459a63 Bug 1528464 - Convert NS_STYLE_MASK_MODE_* to enum class r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D20063

--HG--
extra : moz-landing-system : lando
2019-02-19 16:54:52 +00:00
Emilio Cobos Álvarez
c9cb04e111 Bug 1527972 - Use Rust types for some misc properties. r=jwatt
-moz-tab-size, border-image-outset and border-image-slice.

This is not a particularly interesting patch, just removes some code. We can
remove way more code when a few related properties are also ported.

Differential Revision: https://phabricator.services.mozilla.com/D19825
2019-02-19 15:22:40 +01:00
Emilio Cobos Álvarez
dad3a20b22 Bug 1525955 - Include anon boxes in CSSPseudoElementType, to remove ComputedStyle::mPseudoTag. r=heycam
This is more consistent with what the Rust bits of the style system do, and
removes a pointer from ComputedStyle which is always nice.

This also aligns the Rust bits with the C++ bits re. not treating xul pseudos as
anonymous boxes. See the comment in nsTreeStyleCache.cpp regarding those.

Can't wait for XUL trees to die.

Depends on D19001

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

--HG--
extra : moz-landing-system : lando
2019-02-19 13:44:33 +00:00
Miko Mynttinen
8c696c6f16 Bug 1526957 - Part 3: Optimize AutoBuildingDisplayList IsTransformed() check r=mattwoodrow
Depends on D19858

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

--HG--
extra : moz-landing-system : lando
2019-02-18 15:33:52 +00:00
Miko Mynttinen
f56f7c63a3 Bug 1526957 - Part 2: Exit IsAnimatedGeometryRoot() early when frame is actively scrolled or transformed r=mattwoodrow
Depends on D19857

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

--HG--
extra : moz-landing-system : lando
2019-02-18 15:32:41 +00:00
Miko Mynttinen
f42dc06545 Bug 1526957 - Part 1: Remove unused mIsAtRootOfPseudoStackingContext from nsDisplayListBuilder and AutoBuildingDisplayList r=mattwoodrow
unused

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

--HG--
extra : moz-landing-system : lando
2019-02-18 15:32:10 +00:00
Markus Stange
ad3f9a53de Bug 1500692 - Add GRAPHICS subcategories. r=njn,mattwoodrow
r?njn only because this is the first example that adds any actual subcategories.

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

--HG--
extra : moz-landing-system : lando
2019-02-16 17:38:23 +00:00
Botond Ballo
3d1382e6b4 Bug 1526486 - Build an async zoom container for event delivery as well. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D19219

--HG--
extra : moz-landing-system : lando
2019-02-16 00:51:40 +00:00
Cosmin Sabou
a4b19fcd61 Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : browser/components/nsBrowserContentHandler.js => browser/components/BrowserContentHandler.jsm
2019-02-15 20:39:45 +02:00
Sylvestre Ledru
41d1d79094 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-15 08:15:57 +00:00
Emilio Cobos Álvarez
9db2ce6d9b Bug 1527542 - Use rust types for background-size. r=jwatt
Hopefully straight-forward.

Differential Revision: https://phabricator.services.mozilla.com/D19625
2019-02-15 04:09:26 +01:00
Emilio Cobos Álvarez
95454d416b Bug 1527438 - Use Rust types for Position. r=jwatt
This one should be much easier to review / much more pleasant to see :-)

Differential Revision: https://phabricator.services.mozilla.com/D19563
2019-02-15 04:05:32 +01:00
Mike Hommey
ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

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

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Hiroyuki Ikezoe
9fe047bfb3 Bug 1516377 - Use the layout viewport for position:fixed elements if the viewport is larger than. r=botond
Both of reftests in this commit are based on an exmaple [1] in the Viewports
Explainer written by David Bokan.

position-fixed-out-of-view.html fails without the fix because the position:fixed
element is rendered at the right edge of the visual viewport so that it's
visible in the first place.

position-fixed-on-minimum-scale-size.html does NOT fail without the fix either
because the position:fixed element sticks at the right edge of the visual
viewport so that it still be there even after the visual viewport offset has
been changed.

[1] https://github.com/bokand/bokand.github.io/blob/master/web_viewports_explainer.md#chrome-2

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

--HG--
extra : moz-landing-system : lando
2019-02-07 05:39:33 +00:00
Oana Pop Rus
e00ea598e5 Merge inbound to mozilla-central. a=merge 2019-02-06 11:53:48 +02:00
Glenn Watson
43dfba16ac Bug 1524385 - Set the current clip chain on the stacking context item. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D18527

--HG--
extra : moz-landing-system : lando
2019-02-06 04:35:37 +00:00
Sylvestre Ledru
14486004b6 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-02-04 19:10:18 +00:00
Emilio Cobos Álvarez
5727b707c0 Bug 1525077 - IsInWillChangeBudget warning is a bit silly. r=miko
It doesn't really need to allocate a lot. Furthermore, it doesn't really need to
create a message and such if we've already warned in this document.

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

--HG--
extra : moz-landing-system : lando
2019-02-04 18:46:15 +00:00
Botond Ballo
9468a30c0e Bug 1521644 - In containerless mode, move handling of pres shell resolution from nsDisplayResolution to nsDisplayAsyncZoom. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D17171

--HG--
extra : moz-landing-system : lando
2019-02-01 18:30:50 +00:00
Botond Ballo
2206990a93 Bug 1521644 - Trigger a full display list rebuild when transition to or from using an async zoom container. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D17168

--HG--
extra : moz-landing-system : lando
2019-02-01 18:30:28 +00:00
Botond Ballo
5a6cf2cbcf Bug 1521644 - Factor out a helper function to serialize a display list collection into a display list. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D17852

--HG--
extra : moz-landing-system : lando
2019-02-01 20:31:10 +00:00
Markus Stange
b97222a5dc Bug 1521644 - Create nsDisplayAsyncZoom which creates a ContainerLayer that is marked as an async zoom container. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D17175

--HG--
extra : moz-landing-system : lando
2019-02-01 20:31:13 +00:00
Kartikaya Gupta
2030952357 Back out two changesets from bug 1523776 for causing multiple regressions. r=backout 2019-01-31 14:44:33 -05:00
Oana Pop Rus
707db23fae Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-01-31 12:00:53 +02:00
Matt Woodrow
681aa6716a Bug 1494408 - Clip groups to the transform clip to avoid bounds changes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D17983

--HG--
extra : moz-landing-system : lando
2019-01-31 07:17:45 +00:00
Kartikaya Gupta
27fb6fa044 Bug 1523776 - Set a clipchain on sticky contents. r=kvark
The API to create a sticky spatial node doesn't allow us to set a clip
chain that will apply to all the contents of the sticky node. This means
that when the ClipManager sets up the clip state for the sticky node,
the clip chain for it is dropped. Everything still works currently
because the contents of the sticky node have their own clip chains whose
parent link will include the sticky node's clip chain. However, in the
next patch we're going to sever that parent link to fix other issues,
and so we will break this mechanism. This patch fixes it up by
explicitly applying the sticky node's clip chain to the stacking context
that contains all the sticky contents. This ensures all those items pick
up the clip chain.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 21:39:34 +00:00
Daniel Varga
26142ed106 Backed out changeset e245d8fe0c6d (bug 1494408) for reftest failure at builds/worker/workspace/build/tests/reftest/tests/layout/reftests/invalidation on a CLOSED TREE
--HG--
extra : amend_source : e40d36a925b0a75570a900dca671f8ff68d273cc
2019-01-31 00:30:33 +02:00
Matt Woodrow
9da66b0f20 Bug 1494408 - Clip groups to the transform clip to avoid bounds changes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D17983

--HG--
extra : moz-landing-system : lando
2019-01-30 19:32:07 +00:00
Brindusan Cristian
e95014d96e Backed out changeset 1885a467de3c (bug 1523500) for mochitest assertion failures at /mochitest/general/test_resizeby.html. 2019-01-30 00:25:00 +02:00
Emilio Cobos Álvarez
15995b8b40 Bug 1523500 - Don't use cross-doc checks for perspective scrolling. r=mattwoodrow
Would be pretty surprising if a perspective transform scrolled stuff in an
iframe for example.

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

--HG--
extra : moz-landing-system : lando
2019-01-29 19:39:50 +00:00
Daniel Varga
325e31df1d Merge mozilla-central to mozilla-inbound. a=merge 2019-01-31 06:30:06 +02:00
Matt Woodrow
1ef7b54002 Bug 1516361 - Remove code for painting text selection behind the background when background-clip:text is set. r=jfkthame,emilio
Differential Revision: https://phabricator.services.mozilla.com/D17320

--HG--
extra : moz-landing-system : lando
2019-01-28 11:07:04 +00:00
Emilio Cobos Álvarez
a2231bd95c Bug 1498639 - Give WR the id of the scroll frame perspective scrolls relative to, and compute the right transform based on that. r=kats,kvark
I think this is as clean as it can get.

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

--HG--
extra : moz-landing-system : lando
2019-01-28 23:41:08 +00:00
Miko Mynttinen
aebd9ae995 Bug 1509272 - Always use new transform display items r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D17425

--HG--
extra : moz-landing-system : lando
2019-01-25 04:03:01 +00:00
Bobby Holley
9d28f0c412 Bug 1522017 - Introduce StackingContextParams to avoid death by a thousand argument. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D17434
2019-01-24 10:44:35 -08:00
Ciure Andrei
763557eef3 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-01-24 05:47:10 +02:00
Matt Woodrow
d4ecd598da Bug 1520682 - Limit the amount of filter ops per stacking context in WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D17415

--HG--
extra : moz-landing-system : lando
2019-01-24 03:02:17 +00:00