Commit Graph

1986 Commits

Author SHA1 Message Date
Brindusan Cristian
c298fe167e Backed out changeset 1ea4b3582033 (bug 760345) for build bustages at ia2AccessibleComponent.cpp. 2019-04-05 07:49:09 +03:00
Emilio Cobos Álvarez
993731e44b Bug 760345 - Remove the last usage of lossy currentcolor. r=heycam
We don't have lossy currentcolor in the style system anymore, except for a
single property -moz-font-smoothing-background-color.

I could've converted it into a proper StyleColor and thread down all the
necessary information to the font metrics code.

But it doesn't really seem worth it given it's not exposed to the web, so I just
did the simplest thing, which is making currentcolor compute to transparent to
that specific property.

This patch also removes the stores_complex_colors_lossily code and related,
since now we always can cache computed colors.

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

--HG--
extra : moz-landing-system : lando
2019-04-04 22:06:03 +00:00
Narcis Beleuzu
24dbe577a5 Backed out changeset 389b6bbd76db (bug 1519636) for bustages on MarkupMap.h . CLOSED TREE 2019-04-05 00:27:56 +03:00
Sylvestre Ledru
399dbd28fe Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-04 20:12:23 +00:00
Emilio Cobos Álvarez
e63fdb7c97 Bug 1541913 - Use rust lengths for outline-offset. r=boris
Depends on D26155

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

--HG--
extra : moz-landing-system : lando
2019-04-04 18:32:09 +00:00
Miko Mynttinen
5463d7f522 Bug 1536423 - Remove SVGCharClipDisplayItem r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D26191

--HG--
extra : moz-landing-system : lando
2019-04-04 18:04:49 +00:00
Miko Mynttinen
eafdaefb2c Bug 1541426 - Part 2: Remove unused display item constructor parameter aAnonymous r=mattwoodrow
Depends on D25953

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

--HG--
extra : moz-landing-system : lando
2019-04-04 17:36:53 +00:00
Miko Mynttinen
ac07a61899 Bug 1541426 - Part 1: Remove nsDisplayWrapList from nsDisplayPerspective r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D25953

--HG--
extra : moz-landing-system : lando
2019-04-04 17:36:51 +00:00
Emilio Cobos Álvarez
68aa7a9c80 Bug 1541546 - Use only the new name for StyleColor. r=heycam
That is, change all uses of StyleComplexColor to just StyleColor.

Differential Revision: https://phabricator.services.mozilla.com/D25977
2019-04-04 14:53:47 +02:00
Emilio Cobos Álvarez
3a1e1a41c4 Bug 1541546 - Use the rust color representation. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D25976
2019-04-04 14:53:44 +02:00
Cosmin Sabou
8731816b89 Backed out 3 changesets (bug 1541546) for causing build bustages. CLOSED TREE
Backed out changeset 895863144707 (bug 1541546)
Backed out changeset 4da6fb98e8f9 (bug 1541546)
Backed out changeset ba71816514eb (bug 1541546)

--HG--
rename : layout/style/StyleColor.cpp => layout/style/StyleComplexColor.cpp
rename : layout/style/StyleColorInlines.h => layout/style/StyleComplexColor.h
2019-04-04 15:04:25 +03:00
Emilio Cobos Álvarez
271376a85f Bug 1541546 - Use only the new name for StyleColor. r=heycam
That is, change all uses of StyleComplexColor to just StyleColor.

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

--HG--
rename : layout/style/StyleComplexColor.cpp => layout/style/StyleColor.cpp
rename : layout/style/StyleComplexColor.h => layout/style/StyleColorInlines.h
extra : moz-landing-system : lando
2019-04-04 11:35:33 +00:00
Emilio Cobos Álvarez
bc41ea853c Bug 1541546 - Use the rust color representation. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D25976

--HG--
extra : moz-landing-system : lando
2019-04-04 11:35:16 +00:00
Masayuki Nakano
9165a150a1 Bug 1540930 - Make nsPresContext use mozilla::PresShell directly rather than via nsIPresShell r=emilio
`nsPresContext` should use `mozilla::PresShell` directly instead of
`nsIPresShell`.  This patch makes it.

Unfortunately, `nsPresContext` and `nsIFrame` have `PresShell()`.  Therefore,
we cannot use `PresShell*` in its methods so that this patch uses `mozilla::`
namespace prefix.

It might be better to rename them as `PresShellPtr()` in another bug.

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

--HG--
extra : moz-landing-system : lando
2019-04-03 12:40:26 +00:00
Matt Woodrow
b7d051a4cb Bug 1539673 - Make sure we build layers for empty items, since they might contain hit test information. r=miko
Depends on D25169

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

--HG--
extra : moz-landing-system : lando
2019-04-01 16:54:51 +00:00
Matt Woodrow
fed842fadd Bug 1539673 - Remove old code for handling opacity:0 within the consumers. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D25169

--HG--
extra : moz-landing-system : lando
2019-04-01 16:54:07 +00:00
Matt Woodrow
52f583d371 Bug 1539673 - Don't build normal items when within opacity:0. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D25168

--HG--
extra : moz-landing-system : lando
2019-04-01 16:53:34 +00:00
Matt Woodrow
d99a15fae2 Bug 1539673 - Support fallible display item construction. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D25167

--HG--
extra : moz-landing-system : lando
2019-04-01 16:53:11 +00:00
Matt Woodrow
2497edd2ee Bug 1535585 - Make sure empty app unit rectangles get converted to empty pixel rectangles. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D24800

--HG--
extra : moz-landing-system : lando
2019-03-29 14:44:55 +00:00
Alex Gaynor
44989b091f Bug 1540190 - replace the AnimationData IPDL union with native Maybe syntax; r=kats
Differential Revision: https://phabricator.services.mozilla.com/D25425

--HG--
extra : moz-landing-system : lando
2019-03-29 19:54:14 +00:00
Masayuki Nakano
de2d589e58 Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 15:12:47 +00:00
Dorel Luca
5a0fa68b78 Backed out 3 changesets (bug 1540015) for build bustage. CLOSED TREE
Backed out changeset 7b71c9da0214 (bug 1540015)
Backed out changeset 5723ddbc5c44 (bug 1540015)
Backed out changeset 9561d2c36fa5 (bug 1540015)
2019-03-29 16:14:26 +02:00
Masayuki Nakano
9273f25ce2 Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

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

--HG--
extra : moz-landing-system : lando
2019-03-29 13:09:26 +00:00
Cameron McCormack
126b79c729 Bug 1534240 - Boost loading priority of CSS images similarly to how we do for HTML images. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D24814

--HG--
extra : moz-landing-system : lando
2019-03-28 02:54:16 +00:00
Matt Woodrow
6dc498e40b Bug 1535507 - Don't force display item rebuilding for ActiveLayerTracker expiry, since we should only need to update the Layer tree. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D23608

--HG--
extra : moz-landing-system : lando
2019-03-26 02:14:13 +00:00
Alex Gaynor
46926da383 Bug 1538796 - Part 3 - convert IPDL OptionalOpacity union to use native Maybe syntax; r=kats
Depends on D24748

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

--HG--
extra : moz-landing-system : lando
2019-03-25 19:29:46 +00:00
Hiroyuki Ikezoe
01e23b1896 Bug 1518802 - Treat background-color animation as non-opaque even if the alpha channel is 1.0 at the moment. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D24656

--HG--
extra : moz-landing-system : lando
2019-03-24 22:41:02 +00:00
Dan Glastonbury
bf3ac981c9 Bug 1429605 - Use single-param version of rect.Inflate when x == y. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D24467

--HG--
extra : moz-landing-system : lando
2019-03-22 15:52:07 +00:00
Doug Thayer
b172543596 Bug 1441308 - Core renderroot splitting changes r=kats,sotaro
This is a large patch that contains all of the core changes for
renderroot splitting.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 18:28:42 +00:00
Ciure Andrei
3de853018a Backed out 7 changesets (bug 1441308)for causing webrender build bustages CLOSED TREE
Backed out changeset 1764701d11d1 (bug 1441308)
Backed out changeset 32f7793dfd1a (bug 1441308)
Backed out changeset d8b4d6ec9b40 (bug 1441308)
Backed out changeset e2f83e4816dd (bug 1441308)
Backed out changeset baee8ada680f (bug 1441308)
Backed out changeset c09a51622e98 (bug 1441308)
Backed out changeset 737807563dd5 (bug 1441308)
2019-03-22 10:52:44 +02:00
Doug Thayer
5b3a0454a4 Bug 1441308 - Core renderroot splitting changes r=kats,sotaro
This is a large patch that contains all of the core changes for
renderroot splitting.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 03:15:14 +00:00
Boris Chiou
87c575a7ac Bug 1533594 - Set performance warning by a property set. r=hiro
We want to set the performance warning by a property set, so update it.
Besides, add more tests for individual transforms (translate, rotate,
scale).

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

--HG--
extra : moz-landing-system : lando
2019-03-21 17:40:11 +00:00
Miko Mynttinen
b9ba790058 Bug 1534805 - Unify FrameLayerBuilder and WR display list iterators r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D23230

--HG--
extra : moz-landing-system : lando
2019-03-21 03:15:16 +00:00
Boris Chiou
7333f55253 Bug 1425837 - Drop the redundant animation debug log. r=me 2019-03-19 17:04:49 -07:00
Boris Chiou
92fcc151e4 Bug 1425837 - Part 4: Implement compositor animations on translate/rotate/scale. r=hiro,birtles
On the sender side of transactions, we have to convert the individual transforms
to the proper types in layers::Animations, and this includes SetAnimatable and
the definition in LayersMessages.

On the compositor side (i.e. received side of transactions). Basically, we
convert the list of layers::Animation into a list of `PropertyAnimationGroup`,
which is an intermediate value. And then use this list to do interpolation for
each property in `SampleAnimationForEachNode`, which will return a list of
`RefPtr<RawServoAnimationValue>`.

Depends on D23062

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

--HG--
extra : moz-landing-system : lando
2019-03-18 18:04:50 +00:00
Emilio Cobos Álvarez
5bf307c2a8 Bug 1535165 - Make the will-change bitfield use cbindgen. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D23414

--HG--
extra : moz-landing-system : lando
2019-03-18 18:08:08 +00:00
Emilio Cobos Álvarez
e66fb8488c Bug 1535165 - Use cbindgen for text-decoration-line. r=dholbert,boris
Differential Revision: https://phabricator.services.mozilla.com/D23412

--HG--
extra : moz-landing-system : lando
2019-03-18 17:58:16 +00:00
Bogdan Tara
df46c029a4 Backed out 3 changesets (bug 1535507) for webvtt/rendering/cues-with-video/processing-model/selectors/cue* failures CLOSED TREE
Backed out changeset f7a60828b0ad (bug 1535507)
Backed out changeset a9c6e9e27b17 (bug 1535507)
Backed out changeset f2061889974a (bug 1535507)
2019-03-19 02:49:55 +02:00
Matt Woodrow
756b5124bc Bug 1525372 - Add background-clip:text rendering observer so that we get notified of changes to the clipped contents. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D20110

--HG--
extra : moz-landing-system : lando
2019-03-18 16:24:20 +00:00
Matt Woodrow
665134f322 Bug 1535507 - Don't force display item rebuilding for ActiveLayerTracker expiry, since we should only need to update the Layer tree. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D23608

--HG--
extra : moz-landing-system : lando
2019-03-18 21:10:46 +00:00
Brad Werth
c2c75edc72 Bug 1501665 Part 5: Change UpdateShouldBuildAsyncZoomContainer to check if document is zoomable. r=botond
Also update ScrollFrameHelper::LayoutScrollbars() to correctly handle
overlay scrollbars when zoomed in in RDM.

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

--HG--
extra : source : 6a84e97d0e62839c3028a3c3ac89cd944f8e39e5
2019-03-18 14:57:20 +00:00
shindli
b7de66af4f Backed out 13 changesets (bug 1501665) for failing a11y tests in accessible/tests/mochitest/relations/test_tabbrowser.xul CLOSED TREE
Backed out changeset 2fa518cb0dfc (bug 1501665)
Backed out changeset afaf26d7df42 (bug 1501665)
Backed out changeset 5bdf0ad9dc66 (bug 1501665)
Backed out changeset 520dd24a73fc (bug 1501665)
Backed out changeset 3542bf2b89dd (bug 1501665)
Backed out changeset 088dc24eabc7 (bug 1501665)
Backed out changeset 178210eb72ba (bug 1501665)
Backed out changeset 9eebe767ef20 (bug 1501665)
Backed out changeset 6a84e97d0e62 (bug 1501665)
Backed out changeset cf42ea4e8443 (bug 1501665)
Backed out changeset 731d7ee06d86 (bug 1501665)
Backed out changeset 8e0afe4a041a (bug 1501665)
Backed out changeset be1026de486b (bug 1501665)
2019-03-18 18:08:58 +02:00
Brad Werth
6c983e6a60 Bug 1501665 Part 5: Change UpdateShouldBuildAsyncZoomContainer to check if document is zoomable. r=botond
Also update ScrollFrameHelper::LayoutScrollbars() to correctly handle
overlay scrollbars when zoomed in in RDM.

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

--HG--
extra : moz-landing-system : lando
2019-03-18 14:57:20 +00:00
Brian Birtles
15d4d3276b Bug 1518816 - Rework AnimationUtils::EffectSetContainsAnimatedScale to handle looking up the effect set correctly; r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D23284

--HG--
extra : moz-landing-system : lando
2019-03-18 04:12:10 +00:00
Brian Birtles
04e79479f6 Bug 1518816 - Add EffectSet::GetEffectSetForFrame and use it in FindAnimationsForCompositor; r=hiro
There are many bugs regarding our use of EffectSet::GetEffectSet(nsIFrame*)
because the intention of the caller is not clear. If it is called for the
primary frame of display:table content do we expect it to get the EffectSet
associated with the style frame or not? Generally it depends on if we are
looking for transform animations or not.

Rather than inspecting each call site and making it choose the appropriate frame
to use, this patch introduces a new method to EffectSet to get the appropriate
EffectSet based on the properties the caller is interested in.

This patch also uses this function in FindAnimationsForCompositor which in turns
fixes the glitching observed on Tumblr that arose since a number of places in
our display list code were passing the style frame to
EffectCompositor::HasAnimationsForCompositor.

Over the remainder of this patch series we will convert more callers of
EffectSet::GetEffectSet(nsIFrame*) to this new method before renaming
EffectSet::GetEffectSet to GetEffectSetForStyleFrame to make clear how the
method is intended to work.

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

--HG--
extra : moz-landing-system : lando
2019-03-18 04:10:30 +00:00
Brian Birtles
8e3d3cbf03 Bug 1518816 - Clarify when and why KeyframeEffect::HasEffectiveAnimationOfPropertySet might return false even when there are effective animations in a property set; r=boris
It took me a long time to understand why
KeyframeEffect::HasEffectiveAnimationOfPropertySet behaved so differently to
KeyframeEffect::HasAnimationOfPropertySet. This patch attempts to clarify that
while making KeyframeEffect::HasEffectiveAnimationOnPropertySet a little more
generally useful. This will allow us to tidy up the various animation checks in
nsLayoutUtils later in this patch series.

Ultimately, however, we should make this check part of the regular compositor
animation vetting machinery in bug 1534884. That should remove a number of
inconsistencies such that we don't need the extended comments added in this
patch.

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

--HG--
extra : moz-landing-system : lando
2019-03-18 04:10:10 +00:00
Brian Birtles
738f8c74d1 Bug 1518816 - Look up the will-change style on the _style_ frame for will-change: transform; r=mattwoodrow
I was unable to create a failing reftest for this since this method is not
used when determining whether or not to create a stacking context.
However, I verified that for content with animated transforms and
will-change:transform on display:table content this change does cause us to
return true from the will-change check in this method when previously it would
not.

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

--HG--
extra : moz-landing-system : lando
2019-03-18 04:09:35 +00:00
Sylvestre Ledru
4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
Andrew Osmond
bc278165ae Bug 1534188 - Use high quality downscaling for raster images embedded in SVGs. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D23374
2019-03-14 07:16:29 -04:00
David Major
e5773183d6 Bug 1528074 - Remove MSVC warning flags that clang-cl doesn't understand r=chmanchester
Per the previous patch, clang-cl only understands five MSVC-style warning flags: 7219c7e9af/clang/include/clang/Driver/CLCompatOptions.td (L188-L197)

This patch removes the flags that clang-cl doesn't understand.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 20:19:08 +00:00
Miko Mynttinen
33522c484e Bug 1510286 - Cache nsIFrame::BackfaceIsHidden() and nsIFrame::Combines3DTransformWithAncestors() in display items r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D13077

--HG--
extra : moz-landing-system : lando
2019-03-13 16:52:18 +00:00
Doug Thayer
cb0fa9cf3b Bug 1441308 - Remove unnecessary StackingContextHelper params from clips r=kats
These aren't used, so I'm just getting rid of them as cleanup.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 16:44:05 +00:00
Miko Mynttinen
a44f50e1ed Bug 1534821 - Add early exit from CollectItemsWithOpacity() for large nsDisplayOpacities r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D23237

--HG--
extra : moz-landing-system : lando
2019-03-13 16:17:19 +00:00
Jeff Muizelaar
a00f951356 Bug 1534250. Always paint the entire mask. r=mattwoodrow
Previously we would only paint the building area but we
would not do anything to check that the building area had
changed. Since, we're already allocating a surface for the entire
item it's better to just paint it and not worry about doing extra
invalidations.

Originally, we used mVisibleRect here. That was changed to GetPaintRect()
in part 1 of 1460491 and then to GetBuildingRect in part 2. However,
I think the original code was always wrong and we should've been using
mBounds the whole time.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 15:43:56 +00:00
Miko Mynttinen
cbfb3b6b0b Bug 1534450 - Remove nsDisplayBackgroundColor::mBackgroundStyle r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D23055

--HG--
extra : moz-landing-system : lando
2019-03-11 23:03:09 +00:00
Matt Woodrow
c9e19a7db0 Bug 1529458 - Only create new hit test info for positioned frame if they might be sorted into a different location. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D22649

--HG--
extra : moz-landing-system : lando
2019-03-11 18:36:42 +00:00
Matt Woodrow
6ae273bc63 Bug 1518524 - Don't try to restore the previous FrameLayerBuilder after a transaction since it should always be nullptr anyway. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D21879

--HG--
extra : moz-landing-system : lando
2019-03-06 15:56:55 +00:00
Matt Woodrow
d9bacb3214 Bug 1533317 - Only invalidate items from the current frame, not descendants when we start needing a wrap list during a partial display list build. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D22636

--HG--
extra : moz-landing-system : lando
2019-03-11 02:35:32 +00:00
shindli
1c03485629 Backed out changeset 200ab1e8d571 (bug 1533317) for multiple reftest failures 2019-03-11 02:26:27 +02:00
Matt Woodrow
fd0b75b269 Bug 1533317 - Only invalidate items from the current frame, not descendants when we start needing a wrap list during a partial display list build. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D22636

--HG--
extra : moz-landing-system : lando
2019-03-10 22:16:11 +00:00
Miko Mynttinen
8625692016 Bug 1526941 - Part 5: Rewrite nsDisplayTransform bounds calculations r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D22333

--HG--
extra : moz-landing-system : lando
2019-03-07 17:13:45 +00:00
Miko Mynttinen
2ab05c6458 Bug 1526941 - Part 4: Remove mStoredList from nsDisplayTransform r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21187

--HG--
extra : moz-landing-system : lando
2019-03-07 17:13:17 +00:00
Miko Mynttinen
dd22737962 Bug 1526941 - Part 3: Use mozilla::UniquePtr for mTransformPreserves3D r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21186

--HG--
extra : moz-landing-system : lando
2019-03-07 17:12:59 +00:00
Miko Mynttinen
11e49ee34d Bug 1526941 - Part 2: Refactor nsDisplayWrapList::GetComponentAlphaBounds() and nsDisplayWrapList::GetOpaqueRegion() and move some of the logic to nsDisplayList r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21185

--HG--
extra : moz-landing-system : lando
2019-03-07 17:12:44 +00:00
Miko Mynttinen
d546ab5155 Bug 1526941 - Part 1: Simplify nsDisplayTransform constructors r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D21184

--HG--
extra : moz-landing-system : lando
2019-03-07 17:12:21 +00:00
Brian Birtles
b956fdbf9f Bug 1532568 - Don't pass the display item types to FrameLayerBuilder::EnumerateGenerationForDedicatedLayers; r=hiro
We always pass the same set of types so it seems simpler to just look it up
within the function itself.

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

--HG--
extra : moz-landing-system : lando
2019-03-07 05:40:24 +00:00
Brian Birtles
46f45a965b Bug 1532568 - Look up the animation generation on the primary frame for transform display items; r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D22443

--HG--
extra : moz-landing-system : lando
2019-03-07 05:40:51 +00:00
Emilio Cobos Álvarez
cb19991fd7 Bug 1533142 - Use more cbindgen features. r=kats
We can get back the fancy flag syntax as soon as we get C++17 inline variables,
which I sent an email to dev-platform@ about, with no reply.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 23:01:11 +00:00
Csoregi Natalia
fbb251448f Merge inbound to mozilla-central. a=merge 2019-03-06 11:56:17 +02:00
Matt Woodrow
f1c492571e Bug 1529831 - Don't create wrap lists for positioned frames that are leaves. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D20773

--HG--
extra : moz-landing-system : lando
2019-03-05 20:45:40 +00:00
Ciure Andrei
698d0759ec Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-03-05 06:24:16 +02:00
Jeff Muizelaar
4febae72fc Bug 1495170. Use CreateClippedDrawTarget more. r=mstange
This lets us restrict the size of the mask surface that we allocate
to the destination tile size. This gives a large performance
improvement.

It also includes some miscelanous fixes to the CreateClippedDrawTarget
code path.

Differential Revision: https://phabricator.services.mozilla.com/D21750
2019-03-04 22:30:09 -05:00
Dan Glastonbury
ff5c70a292 Bug 1530584 - Correct placeholder overflow calculation. r=miko,mattwoodrow
The calculation of aOverflow rect for a placeholder contained in a transformed
stacking context didn't take the transform into account, leading to an incorrect
rect which artificially inflated the calculated rebuild region.

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

--HG--
extra : moz-landing-system : lando
2019-03-04 12:26:49 +00:00
Kartikaya Gupta
fecd1d365c Bug 1511740 - Use nsDisplayAsyncZoom items to insert zooming animations in WR. r=jrmuizel,botond
The way we control APZ zooming in WebRender is by inserting an animation
property placeholder on a WR stacking context, and then having APZ
update the animation transform value with the proper matrix at composite
time.

Previously, the stacking context being used was the rootmost
stacking context in the content process. However this doesn't work for
zoomable content in the UI process (e.g. about:support), and after
recent changes, also wraps display items that should not be affected by
zoom (e.g. scrollbars or the background color item).

This patch moves the animation property placeholder so that it
corresponds to the newly added nsDisplayAsyncZoom display item, which
corrects both of the above problems and is conceptually in line with the
desired behaviour.

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

--HG--
extra : moz-landing-system : lando
2019-03-04 20:55:46 +00:00
Chris Peterson
9b04fe7446 Bug 1532128 - layout: Make some global functions static. r=dholbert
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

layout/painting/FrameLayerBuilder.cpp:2593:6 [-Wmissing-prototypes] no previous prototype for function 'ReleaseLayerUserData'
layout/painting/RetainedDisplayListBuilder.cpp:1084:6 [-Wmissing-prototypes] no previous prototype for function 'FindContainingBlocks'
layout/style/FontFaceSet.cpp:423:6 [-Wmissing-prototypes] no previous prototype for function 'IsPdfJs'
layout/svg/SVGObserverUtils.cpp:969:6 [-Wmissing-prototypes] no previous prototype for function 'DestroyFilterProperty'

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

--HG--
extra : rebase_source : 7b876a976087eef710ff70ca0ae42abb3c505e49
extra : histedit_source : 4254fd49e36bef38bbb6197861a4a22e040d17e0
2019-02-22 20:33:01 -08:00
Miko Mynttinen
c0ca483df6 Bug 1526958 - Cache dom::TouchEvent::PrefEnabled in nsDisplayListBuilder r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D20326

--HG--
extra : moz-landing-system : lando
2019-03-04 13:22:05 +00:00
Hiroyuki Ikezoe
f0fc35f1b8 Bug 1531470 - Use nsLayoutUtils::GetNearestScrollableFrame with SAME_DOC and INCLUDE_HIDDEN flags to get position:sticky target scrollable frame. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D21835

--HG--
extra : moz-landing-system : lando
2019-03-03 00:33:55 +00:00
Jeff Muizelaar
70f8b5c221 Bug 1532088. Use ImageMask directly instead of duplicating it as WrImageMask. r=kats
WrImageMask is a relic from before we had good bindings generation.

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

--HG--
extra : moz-landing-system : lando
2019-03-02 21:48:06 +00:00
Boris Chiou
192a13d12f Bug 1526850 - Part 4: Add nsCSSPropertyIDSet::IsSubsetOf() for checking the restrictions of some arguments. r=hiro
We restrict the argument (i.e. `nsCSSPropertyIDSet`) of some functions is
the subset of other property set (e.g. transform-like properties), so
add this function for better readability.

Depends on D19629

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

--HG--
extra : moz-landing-system : lando
2019-03-01 21:13:07 +00:00
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
Andrew Osmond
b04c5a5091 Bug 1501195 - Fix snapping issues caused by translation only transforms. r=jrmuizel
In nsDisplayTransform::CreateWebRenderCommands we should be rounding the
translation from the reference frame if there is no other transformation
to better match non-WebRender which performs similar rounding in
ChooseScaleAndSetTransform.

Differential Revision: https://phabricator.services.mozilla.com/D14265
2019-01-23 12:15:41 -05:00
Geoff Brown
eed275df56 Bug 1424166 - Disable crashtest 1418177-1.html on android for frequent intermittent failures; r=me,a=test-only
--HG--
extra : rebase_source : c7de0a4fb9da0b8a8a9b1db4cb64cd3b35c8d7ed
2019-01-22 15:05:16 -07:00
Cosmin Sabou
67cc836522 Merge mozilla-central to mozilla-inbound. a=merge 2019-02-06 01:11:33 +02:00
Lee Salzman
9e135c5cd1 Bug 1524509 - track whether a WR stacking context is animated separately from whether it should rasterize locally. r=jrmuizel 2019-02-05 16:29:11 -05:00
Emilio Cobos Álvarez
a0eb07ee30 Bug 1505222 - Pass TransformStyle::Preserve3d to WebRender more often for perspective display items. r=mattwoodrow
See the comment.

Differential Revision: https://phabricator.services.mozilla.com/D16768
2019-01-22 00:58:52 +01:00
Miko Mynttinen
f534fe0743 Bug 1514653 - Use the reference frame of the first flattened effect when recycling the layer r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D17079

--HG--
extra : moz-landing-system : lando
2019-01-21 22:03:10 +00:00
Botond Ballo
11b304b442 Bug 1521618 - Remove non-ASCII characters from comments in RetainedDisplayListBuilder.cpp (DONTBUILD for comment change). r=mattwoodrow.
Differential Revision: https://phabricator.services.mozilla.com/D17162

--HG--
extra : moz-landing-system : lando
2019-01-21 21:53:26 +00:00
Matt Woodrow
b6afde59b9 Bug 1477366 - Only support SVG filters with a single input with WebRender. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D17088

--HG--
extra : moz-landing-system : lando
2019-01-21 20:00:57 +00:00
Matt Woodrow
371c7f7819 Bug 1477366 - Always make SVG/CSS filters active within blobs when possible. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D16146

--HG--
extra : moz-landing-system : lando
2019-01-21 20:05:20 +00:00
Sylvestre Ledru
755a1a7c2f Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-01-21 14:49:22 +00:00
Cosmin Sabou
12149d8542 Merge mozilla-central to autoland. a=merge 2019-01-19 12:10:17 +02:00
Cosmin Sabou
7ccc9d8b0b Merge mozilla-inbound to mozilla-central. a=merge 2019-01-19 11:57:49 +02:00
Matt Woodrow
a79e573d49 Bug 1520652 - Clip SVG filters to the PrimitiveSubregion when using WebRender. r=mstange
This patch changes a few things:
* Restores clipping to the computed clip, but just for SVG filters.
* Computes the clip just from the primitive subregion, not the bounds of the filtered content.
* Unconditionally clips all SVG filters using the primitive subregion
* Allows clips to be combined, if they will be sharing a coordinate space
* Fixes coordinate space of the clip region.

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

--HG--
extra : moz-landing-system : lando
2019-01-19 06:35:16 +00:00
Andreea Pavel
bdea6eafb0 Backed out 2 changesets (bug 1520652) for build bustages on a CLOSED TREE
Backed out changeset b9ca6790fee1 (bug 1520652)
Backed out changeset ebdc9e3d72c4 (bug 1520652)
2019-01-19 05:36:54 +02:00
Matt Woodrow
20b4793c83 Bug 1520652 - Clip SVG filters to the PrimitiveSubregion when using WebRender. r=mstange
This patch changes a few things:
* Restores clipping to the computed clip, but just for SVG filters.
* Computes the clip just from the primitive subregion, not the bounds of the filtered content.
* Unconditionally clips all SVG filters using the primitive subregion
* Allows clips to be combined, if they will be sharing a coordinate space
* Fixes coordinate space of the clip region.

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

--HG--
extra : moz-landing-system : lando
2019-01-19 03:21:53 +00:00
Emilio Cobos Álvarez
7c5414f507 Bug 1521066 - Fix double border rendering of border-collapsed tables. r=jrmuizel
Gotta love C++... I missed the `break;` for that branch so we were always
falling back to the solid border rendering path (which we use if the border is
too small).

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

--HG--
extra : moz-landing-system : lando
2019-01-18 16:49:04 +00:00
Greg Tatum
7042c8f1c3 Bug 1520526 - Add categories to all profiler markers; r=mstange
This commit adds categories to all markers. This way the profiler's
marker categories and frame label categories agree. There are a few
duplicate category properties on some of the marker payloads, but
this could be cleaned up in a follow-up if needed.

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

--HG--
extra : moz-landing-system : lando
2019-01-18 15:40:15 +00:00
sotaro
c7b3c3a546 Bug 1508522 - Relax aysnc animation size restriction with WebRender r=mattwoodrow
Performance of sync animation with large images is worse with WebRender than non-WebRender case. We want to use async animation as much as possible and relax aysnc animation size restriction. With WebRender, memory usage increase for async animation is limited compared to non-WebRender case.  Image does not needs additional TextureClient allocation for async animation and majority of frames are comverted to WebRenderCommands. Then we could relax aysnc animation size restriction with WebRender.

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

--HG--
extra : moz-landing-system : lando
2019-01-17 23:59:44 +00:00
Emilio Cobos Álvarez
4a8ff157a5 Bug 1520664 - Cleanup ReferenceFrame so that each of them has a single matrix. r=kvark
The only thing using both was perspective, but that's not really needed with the current setup.

This more closely matches Gecko, too.

Differential Revision: https://phabricator.services.mozilla.com/D16764
2019-01-17 21:13:07 +01:00
Brindusan Cristian
ac9bb930c9 Backed out changeset bbc57e229df6 (bug 1520664) for webrender bustages. CLOSED TREE 2019-01-17 19:20:00 +02:00
Emilio Cobos Álvarez
3fe4fef309 Bug 1520664 - Bug 1498639 - Cleanup ReferenceFrame so that each of them has a single matrix. r=kvark
The only thing using both was perspective, but that's not really needed with the current setup.

This more closely matches Gecko, too.

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

--HG--
extra : moz-landing-system : lando
2019-01-17 16:08:35 +00:00
Daniel Varga
55006aaaec Merge mozilla-inbound to mozilla-central. a=merge 2019-01-16 06:49:11 +02:00
Jeff Muizelaar
3d57a7f6a8 Bug 1519654. Implement CONTENT_FRAME_TIME_WITH_SVG for non-WebRender contains svg. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D16585

--HG--
extra : moz-landing-system : lando
2019-01-15 19:16:48 +00:00
Hiroyuki Ikezoe
496dff9a8b Bug 1423013 - Expand the layout viewport to the minimum scale size for overflow:hidden pages. r=botond,tnikkel
Depends on D15345

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

--HG--
extra : moz-landing-system : lando
2019-01-15 09:48:18 +00:00
Oana Pop Rus
e6a470fee9 Backed out 3 changesets (bug 1423013) for failing at reftests/transform/compound-1a.html on a CLOSED TREE
Backed out changeset 91624c065046 (bug 1423013)
Backed out changeset 050a2ef2393d (bug 1423013)
Backed out changeset db57901030e9 (bug 1423013)
2019-01-15 09:35:57 +02:00
Hiroyuki Ikezoe
4faf5e4991 Bug 1423013 - Expand the layout viewport to the minimum scale size for overflow:hidden pages. r=botond,tnikkel
Depends on D15345

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

--HG--
extra : moz-landing-system : lando
2019-01-15 03:28:10 +00:00
Emilio Cobos Álvarez
ad094d75c5 Bug 1519934 - Remove useless nsDisplayTransform::mNoExtendContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D16487

--HG--
extra : moz-landing-system : lando
2019-01-14 20:39:13 +00:00
Narcis Beleuzu
7d7aca6a93 Merge inbound to mozilla-central. a=merge 2019-01-12 11:40:44 +02:00
Jeff Muizelaar
22baed2b58 Bug 1519444. Don't enforce a minimum size for blobs. r=mstange
WebRender can handle small image without much overhead. Allowing
small images will give us more predictable behaviour because
we don't end up merging things unneccessarily.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 19:43:32 +00:00
Emilio Cobos Álvarez
b7102def68 Bug 1514384 - Pass the current clip chain id instead of clipping to the filter bounds. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D16206
2019-01-11 22:19:19 +01:00
Jeff Muizelaar
17b5ec3dd2 Bug 1509182. Switch from using WrFilterOp to using FilterOp directly. r=nical
This avoids code duplication and simplifies push_stacking_context

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

--HG--
extra : moz-landing-system : lando
2019-01-10 19:41:08 +00:00
Cosmin Sabou
88993e172c Backed out changeset 10dedfde1015 (bug 1509182) for causing build bustages.
--HG--
extra : rebase_source : 4389819cbb88af16724480f571b0abcd027015ba
2019-01-10 20:52:49 +02:00
Jeff Muizelaar
ef9bb810f0 Bug 1509182. Switch from using WrFilterOp to using FilterOp directly. r=nical
This avoids code duplication and simplifies push_stacking_context

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

--HG--
extra : moz-landing-system : lando
2019-01-10 18:40:56 +00:00
Csoregi Natalia
ae6fde5883 Backed out changeset 8e078c86db82 (bug 1509182) for bustage on WebRenderTypes.h:789. CLOSED TREE 2019-01-10 18:15:42 +02:00
Jeff Muizelaar
a0468b94c6 Bug 1509182. Switch from using WrFilterOp to using FilterOp directly. r=nical
This avoids code duplication and simplifies push_stacking_context

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

--HG--
extra : moz-landing-system : lando
2019-01-10 14:20:21 +00:00
Margareta Eliza Balazs
9dda825205 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-18 12:31:59 +02:00
Bas Schouten
14ddde5ae1 Bug 1520877 - Part 4: Make nsDisplayBackgroundColor use FillRoundedRect and mark some tests fuzzier. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D16895

--HG--
extra : rebase_source : 344e67739a4f79e74f2e6afc7eed4234e8484475
2019-01-17 20:41:00 +01:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Ehsan Akhgari
06c3d29113 Bug 1521000 - Part 1: Reformat the tree to ensure everything is formatted correctly with clang-format r=sylvestre
Summary: # ignore-this-changeset

Reviewers: sylvestre

Reviewed By: sylvestre

Subscribers: reviewbot, emilio, jandem, bbouvier, karlt, jya

Bug #: 1521000

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

--HG--
extra : histedit_source : 4add583bfa729ccc1aef934629ed45ff095189b0
2019-01-18 10:12:56 +01:00
Andrew Osmond
6d9401a9e6 Bug 1453747 - Use rounded dest rect in simplified image decode size calculations for WebRender. r=mstange
We are using the unrounded dest rect to calculate the image decode size
in ComputeImageContainerDrawingParameters, while passing the rounded
dest rect to WebRender. This mismatch causes images to be decoded to one
size and display at another, cause some visual distortions. Using the
correct rect seems to allow us to remove the extra snapping logic added
to work around this.

At this time, how we snap is different between WebRender and
non-WebRender in general. This patch will likely morph again once we
bring the two models closer together.

Differential Revision: https://phabricator.services.mozilla.com/D15739
2019-01-15 16:36:42 -05:00
Dzmitry Malyshau
cddd33e700 Bug 1518605 - New WebRender ClipId/SpatialId API. r=kats
Port to separate SpatialId from ClipId in Webrender API (WR PR #3251).
Patch was originally written and reviewed on bug 1503447.

Depends on D16005

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

--HG--
extra : moz-landing-system : lando
2019-01-09 03:27:07 +00:00
Oana Pop Rus
aec8de62bb Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-08 12:37:02 +02:00
Doug Thayer
a848222b53 Bug 1441308 - Split out document pieces of WebRenderLayerManager r=jrmuizel
Per our discussion, this patch splits out the state management bits of
WebRenderLayerManager, allowing for them to be maintained per-document.

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

--HG--
extra : moz-landing-system : lando
2019-01-07 21:33:10 +00:00
longsonr
f2d488cf32 Bug 1517715 - Move nsSMILCSSProperty, nsSMILKeySpline and nsSMILParserUtils to the mozilla namespace r=bbirtles
--HG--
rename : dom/smil/nsSMILCSSProperty.cpp => dom/smil/SMILCSSProperty.cpp
rename : dom/smil/nsSMILCSSProperty.h => dom/smil/SMILCSSProperty.h
rename : dom/smil/nsSMILKeySpline.cpp => dom/smil/SMILKeySpline.cpp
rename : dom/smil/nsSMILKeySpline.h => dom/smil/SMILKeySpline.h
rename : dom/smil/nsSMILParserUtils.cpp => dom/smil/SMILParserUtils.cpp
rename : dom/smil/nsSMILParserUtils.h => dom/smil/SMILParserUtils.h
2019-01-08 07:55:14 +00:00
Miko Mynttinen
b77e6dc486 Bug 1512244 - Part 1: Cleanup DescendIntoChild r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D13830

--HG--
extra : moz-landing-system : lando
2019-01-04 18:30:27 +00:00
Emilio Cobos Álvarez
97bdc97293 Bug 1517521 - Handle calc() on border-image-width correctly. r=dholbert
Right now it asserts, no bueno.

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

--HG--
extra : moz-landing-system : lando
2019-01-04 00:41:09 +00:00
Emilio Cobos Álvarez
d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
sharath
ba62a9414a Bug 1516221 - changes to implement enum class for #define NS_STYLE_COLOR_ADJUST. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D15284

--HG--
extra : moz-landing-system : lando
2018-12-24 15:28:11 +00:00
Timothy Nikkel
b5a536d9ae Bug 1415987. Use ChooseScale to choose a scale in WebRender. r=jrmuizel 2018-12-21 16:07:21 -06:00
Jeff Muizelaar
a2d5d62f9c Bug 1415987. Factor out ChooseScale from ChooseScaleAndSetTransform in FrameLayerBuilder. r=tnikkel 2018-12-21 16:07:18 -06:00
longsonr
3d04ba9c9e Bug 1515187 - Part 4 Rename nsSVGElement to SVGElement and put it in the mozilla:dom namespace r=dholbert
--HG--
rename : dom/svg/nsSVGElement.cpp => dom/svg/SVGElement.cpp
rename : dom/svg/nsSVGElement.h => dom/svg/SVGElement.h
2018-12-21 08:58:14 +00:00
Andreea Pavel
61fb758142 Backed out changeset 538c59c855db (bug 1515392) for chrome failures at about_preferences_basic on a CLOSED TREE 2018-12-20 02:01:50 +02:00
Markus Stange
487f1c0c07 Bug 1515392 - Ignore the viewport background color for the purposes of detecting non-blank paints. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D14995

--HG--
extra : moz-landing-system : lando
2018-12-19 19:06:19 +00:00
Hiroyuki Ikezoe
948c96ad86 Bug 1514962 - Use nsDisplayItem::GetPaddingRect(). r=mattwoodrow
Depends on D14833

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

--HG--
extra : moz-landing-system : lando
2018-12-18 07:06:12 +00:00
Hiroyuki Ikezoe
4c7d7e3d0d Bug 1514962 - Use GetPaddingRectRelativeToSelf() instead of GetPaddingRect() - GetPosition(). r=botond
Differential Revision: https://phabricator.services.mozilla.com/D14833

--HG--
extra : moz-landing-system : lando
2018-12-19 17:14:45 +00:00
Matt Woodrow
f278a7e08c Bug 1500864 - Cull items within opacity:0 containers when merging with retained display lists. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D14304

--HG--
extra : moz-landing-system : lando
2018-12-16 23:35:42 +00:00
Matt Woodrow
f0ee7a9279 Bug 1500864 - Don't record a display list mutation based on the partial build rect, rely on comparisons during merging. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D14303

--HG--
extra : moz-landing-system : lando
2018-12-16 23:34:20 +00:00
Ryan VanderMeulen
c105f9ddd8 Backed out changesets b232989d707c and 551e3cbe82ba (bug 1500864) for causing topcrash bug 1514528. 2018-12-16 13:11:32 -05:00
Matt Woodrow
a3aee981a7 Bug 1500864 - Cull items within opacity:0 containers when merging with retained display lists. r=mstange
Depends on D14303

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

--HG--
extra : moz-landing-system : lando
2018-12-14 19:46:51 +00:00
Matt Woodrow
850a52b360 Bug 1500864 - Don't record a display list mutation based on the partial build rect, rely on comparisons during merging. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D14303

--HG--
extra : moz-landing-system : lando
2018-12-14 19:31:59 +00:00
Miko Mynttinen
f0a3cadf4b Bug 1512213 - Use larger ArenaAllocator chunk size for display list building r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D13827

--HG--
extra : moz-landing-system : lando
2018-12-12 19:09:14 +00:00
Matt Woodrow
2482792e98 Bug 1501382 - Cull items within an opacity:0 container when using WebRender. r=kats
Depends on D14230

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

--HG--
extra : moz-landing-system : lando
2018-12-12 17:02:13 +00:00
Razvan Maries
d177dac620 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-12-12 18:35:39 +02:00
Daniel Holbert
64353ce750 Bug 1513393 part 5: Add a utility function to set or update nsRect-pointer-valued frame properties. r=mattwoodrow
Depends on D14224

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

--HG--
extra : moz-landing-system : lando
2018-12-12 01:45:52 +00:00
Hiroyuki Ikezoe
adcc169dcf Bug 1512754 - Don't apply opacity to background color display items if the background-color is going to be animated on the compositor. r=birtles
We need to do the same thing what we did for opacity display items in bug 1395151.

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

--HG--
extra : moz-landing-system : lando
2018-12-11 06:55:02 +00:00
Botond Ballo
4e2bbb39df Bug 1512267 - If you set a pres shell resolution, you must scale to it. r=kats,JanH
Differential Revision: https://phabricator.services.mozilla.com/D13928

--HG--
extra : moz-landing-system : lando
2018-12-10 19:32:59 +00:00
Razvan Maries
ff46b36ac2 Merge mozilla-inbound to mozilla-central a=merge 2018-12-07 11:29:48 +02:00
Timothy Nikkel
426a7b9984 Bug 1512524. Make all in-tree IsImageFrame checks also check for IsImageControlFrame because that is what they actually want. r=dholbert 2018-12-06 23:24:22 -05:00
Brian Birtles
928d88aabb Bug 1433705 - Rename GetCurrentTime to GetCurrentTimeAsDuration; r=hiro
To avoid having to always work around conflicts with winbase.h.

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

--HG--
extra : moz-landing-system : lando
2018-12-06 22:16:48 +00:00
Miko Mynttinen
aafa85ee9d Bug 1512251 - Remove unused render only selection code r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D13829

--HG--
extra : moz-landing-system : lando
2018-12-06 19:40:50 +00:00
Daniel Holbert
7c3b31a25d Bug 1512112: Remove redundant includes from source files in layout. r=TYLin
All of the removed includes are redundant (i.e. they're #included elsewhere in
the same file).

In most cases, I'm removing the second (redundant) copy of the
#include, except when that copy makes more sense (i.e. if it's in better sorted
order, or if it's paired alongside a closely-associated header while the
earlier copy is not).

Here's the script that I used to generate candidates here -- I ran this in
every subdirectory of layout, on my linux machine (warning, this writes two
files to your /tmp directory):

for FILE in *.h *.cpp; do
  nonunique=$(grep \#include $FILE | grep -v List\.h | cut -f2 -d'"'  | cut -f2- -d'/'| cut -f2- -d'/' | sort | wc -l)
  unique=$(   grep \#include $FILE | grep -v List\.h | cut -f2 -d'"'  | cut -f2- -d'/'| cut -f2- -d'/' | sort | uniq | wc -l)
  if [[ "$unique" != "$nonunique" ]]; then
    echo "$FILE: $nonunique / $unique"
    grep \#include $FILE | cut -f2 -d'"'  | grep -v List\.h | cut -f2- -d'/'| cut -f2- -d'/' | sort  > /tmp/nonunique.txt
    grep \#include $FILE | cut -f2 -d'"'  | grep -v List\.h | cut -f2- -d'/'| cut -f2- -d'/' | sort | uniq  > /tmp/unique.txt
    diff /tmp/nonunique.txt /tmp/unique.txt
    echo
  fi
done

Depends on D13773

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

--HG--
extra : moz-landing-system : lando
2018-12-05 18:55:59 +00:00
Cameron McCormack
1ea7c3efc9 Bug 1511854 - Part 2: Fix some more formatting oddities in layout/ after the clang-format. r=TYLin
Depends on D13686

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

--HG--
extra : moz-landing-system : lando
2018-12-05 18:44:05 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Emilio Cobos Álvarez
b54948124d Bug 1509717 - Use cbindgen for border-style and outline-style. r=heycam
I'm pretty sure the FIXME I left in the outline-style code is a bug,
but I want to clean this up further and I didn't want to fix it without adding
a test.

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

--HG--
extra : moz-landing-system : lando
2018-11-30 05:27:28 +00:00
Razvan Maries
77d87d9972 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-11-30 05:13:14 +02:00
Botond Ballo
5aba9815a4 Bug 1501342 - In ProcessDisplayItems(), handle the case where scrollMetadataASR and mContainerScrollMetadataASR are in different branches of the ASR tree. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D13346

--HG--
extra : moz-landing-system : lando
2018-11-30 02:02:48 +00:00
Kartikaya Gupta
cd40821489 Bug 1511042 - Back out some commits from bug 1503447 for introducing correctness and perf regressions. r=backout
This backs out hg commits 1e214baf8fc1, 7d4adeee5236, and f5ffebdcc014.
2018-11-29 14:24:25 -05:00
Coroiu Cristina
da4da94439 Merge mozilla-central to inbound a=merge 2018-11-29 06:39:53 +02:00
Mats Palmgren
7cdfa1649e Bug 1509903 part 1 - Make nsTextFrame::IsFrameSelected() 'final' and inline nsIFrame::IsSelected() to de-virtualize the IsFrameSelected() call in some cases. r=emilio
In particular, in nsCharClipDisplayItem::IsSelected() we know that
the frame must be a nsTextFrame (or nsContinuingTextFrame) which
means nsTextFrame::IsFrameSelected() can be called directly now.
2018-11-29 00:17:25 +01:00
Emilio Cobos Álvarez
448cf93a79 Bug 1498639 - Force the creation of APZ scroll data for the frames with perspective property, not just their children. r=kats
This fixes the assertion, though not the test-case, but now I can debug the
test-case and also land it as failing for now.

What was happening is that we had two ASRs (for the canvas and for the <body>),
and we were creating scroll data for the CompositorHitTestInfo of the <body>
(which obviously didn't have any ancestor transform) and for the
nsDisplayTransform in the backface for which HasPerspective returns true for,
but which already had an ancestor transform for the frame for which
ChildrenHavePerspective returns true.

It may be less risky to force it for both, but this doesn't make anything fail.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 15:56:58 +00:00
Dzmitry Malyshau
54ba2010c1 Bug 1503447 - Always use zero origin for WR reference frames and stacking contexts r=kats
Previously, WebRender was getting a rectangle for reference frames
and stacking contexts, and it had to carefully treat the origin of this rectange:
  - by offseting all the items in a stacking context
  - by negatively compensating the sticky frame scroll port according to the
parent reference frame origin

With this change, we stop providing any non-zero origins. Instead we accomplish
the same behavior using existing API primitives, such as reference frames:
  1. when a stacking context has an origin, we push another reference frame for it
  2. when computing the sticky frame scroll port, we take this origin into account

This slightly simplifies Gecko-WR API, but more importantly it would allow WR to
get rid of this logic (of handling origins), which in turn would allow to switch
the reference frames from push()/pop() model to just define(), like we do for
scroll/sticky frames already.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 15:32:41 +00:00
Hiroyuki Ikezoe
22056382c0 Bug 1504065 - Run background-color animations on the compositor. r=birtles
Changes for nsIDOMWindowUtils.getOMTAValue is in the next commit with come test
cases.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 00:58:46 +00:00
Jonathan Watt
4c1b207664 Bug 1510116. Fix some unified build issues in layout code. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D13039

--HG--
extra : rebase_source : f0b6516484ed97ed52b92e04617f89e4ee8189ff
2018-11-12 22:20:52 +00:00
Coroiu Cristina
a2f107533b Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-11-27 01:03:16 +02:00
Coroiu Cristina
9f7204e754 Merge inbound to mozilla-central a=merge 2018-11-27 00:34:45 +02:00
Miko Mynttinen
7fcf912c40 Bug 1504233 - Part 1: Update container item ASR properly when hit test information is present r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D12612

--HG--
extra : moz-landing-system : lando
2018-11-26 20:14:09 +00:00
Miko Mynttinen
da20c7650e Bug 1504924 - Avoid nsIFrame::IsSelected() call in nsDisplayText::CanApplyOpacity() r=mats
Differential Revision: https://phabricator.services.mozilla.com/D12750

--HG--
extra : moz-landing-system : lando
2018-11-26 16:06:00 +00:00
Matt Woodrow
d7464df528 Bug 1509227 - Cache selection state with RDL. r=miko
MozReview-Commit-ID: CmMDBlYzHyN

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

--HG--
extra : moz-landing-system : lando
2018-11-25 22:58:14 +00:00
Kartikaya Gupta
bc812d01bd Bug 1508811 - Guard against trying to create an oversized DrawTargetRecording with WebRender. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D12677

--HG--
extra : moz-landing-system : lando
2018-11-23 16:43:48 +00:00
Matt Woodrow
86298e2149 Bug 1458993 - Use correct bounds for WR solid color. r=miko
MozReview-Commit-ID: Gp5C4v8qJXI

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

--HG--
extra : moz-landing-system : lando
2018-11-22 22:15:34 +00:00
Margareta Eliza Balazs
876022232b Merge inbound to mozilla-central. a=merge 2018-11-22 11:21:21 +02:00
Hiroyuki Ikezoe
f0cd943dd9 Bug 1508843 - Factor out common processes to send animations to the compositor for WebRender. r=birtles
Depends on D12483

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

--HG--
extra : moz-landing-system : lando
2018-11-22 03:57:21 +00:00
Hiroyuki Ikezoe
377e2fc797 Bug 1508843 - Make boolean arguments for AddAnimationsForProperty enums. r=birtles
Differential Revision: https://phabricator.services.mozilla.com/D12483

--HG--
extra : moz-landing-system : lando
2018-11-22 03:57:19 +00:00
Jeff Muizelaar
eb4806b6a3 Bug 1507021. Add a SnappedClip function to gfxContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11839
2018-11-20 08:56:35 -05:00
Jeff Muizelaar
5624b1e36e Bug 1507021. Use SnappedRectangle in more places. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11840

--HG--
extra : moz-landing-system : lando
2018-11-19 23:03:32 +00:00
Nicolas Silva
eef47a1b87 Bug 1507140 - Gecko changes for WebRender PR #3291. r=kats
Move wr::DeviceUint* to wr::DeviceInt*.

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

--HG--
extra : moz-landing-system : lando
2018-11-16 17:13:26 +00:00
Kristen Wright
f22175b197 Bug 1460439 - Conversion from NS_STYLE_BORDER_STYLE_* macro to StyleBorderStyle::* enum class r=emilio
Converted NS_STYLE_BORDER_STYLE_* consts to enum class. Updated corresponding values to enum class. reduced BCCornerInfo struct values to fit StyleBorderStyle values inside struct. Added defaults to switches that do not fully cover all instances of StyleBorderStyle.
2018-11-07 11:56:17 -08:00
Jonathan Watt
f31705c291 Bug 1505374. Remove dead hasClip code from FrameLayerBuilder::AddPaintedDisplayItem. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11168

--HG--
extra : rebase_source : c2637d8eea66e5e454c1de976083e3410e6c3569
2018-11-05 13:00:33 +00:00
Miko Mynttinen
929f8a7027 Bug 1509579 - Part 1: Do not mark frames modified after the rebuild limit has been reached r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D13279

--HG--
extra : moz-landing-system : lando
2018-11-29 05:19:36 +00:00
Randell Jesup
3a05a3fb0f Bug 1298381: Implement TimeToFirstContentfulPaint behind a pref r=mattwoodrow,smaug 2018-10-18 16:16:45 -04:00
Randell Jesup
5c1319a45d Bug 1507315: don't pass an invalid list to LeavePresShell on partial updates r=mattwoodrow 2018-11-14 20:55:39 -05:00
Dzmitry Malyshau
aa76de2aae Bug 1503447 - Remove Nothing() semantic from ASR overrides r=kats
Previously, the ASR overrides contained Maybe<ClipId>, where Nothing() corresponded to taking the top of the clip/scroll stack instead of overriding. This change removes the associated complexity by ensuring that we always provide the ClipId.

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

--HG--
extra : moz-landing-system : lando
2018-11-14 14:15:16 +00:00
Kartikaya Gupta
76cb4247d3 Bug 1466613 - Prevent creation of DynamicImage instances that are excessively large. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D11528

--HG--
extra : moz-landing-system : lando
2018-11-13 10:39:27 +00:00
Hiroyuki Ikezoe
e0aa8f4fcb Bug 1504929 - Break RestyleManager::GetAnimationGenerationForFrame into EffectSet::GetEffect and EffectSet::GetAnimationGeneration in AddAnimationsForProperty. r=birtles,sotaro
Since we use the EffectSet later in the same function.

Depends on D11599

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

--HG--
extra : moz-landing-system : lando
2018-11-13 10:18:23 +00:00
Hiroyuki Ikezoe
163ee505df Bug 1504929 - Avoid hashmap lookups in nsLayoutUtils::HasEffectiveAnimation and EffectCompositor::FindAnimationsForCompositor. r=birtles
Depends on D11427

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

--HG--
extra : moz-landing-system : lando
2018-11-13 10:17:44 +00:00
Hiroyuki Ikezoe
c592937db4 Bug 1504929 - Further optimizations for RestyleManager::AddLayerChangesForAnimations.. r=birtles,sotaro
This change eliminates
 - nsLayoutUtils::LastContinuationOrIBSplitSibling calls for each CSS
   properties on WebRender
 - iterating over each display item for each compositor runnable CSS properties
 - a bunch of stuff in the case where the layer manager has not yet created,
   i.e. the compositor thread is not ready to receive animations

Depends on D11425

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

--HG--
extra : moz-landing-system : lando
2018-11-13 10:23:20 +00:00
Miko Mynttinen
69825a35fa Bug 1503463 - Part 3: Move component alpha handling to SetupComponentAlpha(), and make it work with items inside flattened transforms. r=mattwoodrow
Depends on D11252

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

--HG--
extra : moz-landing-system : lando
2018-11-12 18:41:56 +00:00
Miko Mynttinen
520e147b9c Bug 1503463 - Part 2: Remove obsolete layer flattening code r=mattwoodrow
Depends on D11251

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

--HG--
extra : moz-landing-system : lando
2018-11-08 18:53:41 +00:00
Miko Mynttinen
fa7b4ca2f6 Bug 1503463 - Part 1: Make TransformClipNode::TransformRect() methods const r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11251

--HG--
extra : moz-landing-system : lando
2018-11-08 18:52:08 +00:00
Miko Mynttinen
e2e8b3d221 Bug 1504233 - Clip hit test info items properly r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11038

--HG--
extra : moz-landing-system : lando
2018-11-12 01:36:59 +00:00
Bogdan Tara
388d7c8b5a Merge inbound to mozilla-central. a=merge 2018-11-08 20:48:31 +02:00
Emilio Cobos Álvarez
f247168544 Bug 1505645 - Remove unused outparam from nsStyleTransformMatrix. r=boris
dummy bool is dummy.

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

--HG--
extra : moz-landing-system : lando
2018-11-08 02:25:28 +00:00
Emilio Cobos Álvarez
b3a5d43536 Bug 1505645 - Remove other now useless old style system code. r=hiro
We'd better not be hitting those code paths already :-)

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

--HG--
extra : moz-landing-system : lando
2018-11-08 02:10:58 +00:00
Botond Ballo
074e717745 Bug 1477847 - Do not layerize mask items if we are inside a BasicLayerManager already. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D10414

--HG--
extra : moz-landing-system : lando
2018-11-07 18:51:00 +00:00
Nicolas Silva
1b186dddd4 Bug 1485512 - Try to express SVG filters as CSS filters when possible. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D8085

--HG--
extra : source : 28104a88b5855f21395f60192ab3f86325931915
extra : intermediate-source : 4a9ee25e545696b17ba09e2b7c9f702ab3d0efc1
2018-11-02 19:01:14 +01:00
Emilio Cobos Álvarez
4cf97e23c7 Bug 1504033 - Ensure we don't start walking past our subtree. r=mattwoodrow
In this case aAncestor is an SVGOuterSVGFrame, and aItem is a transform item for
its AnonChildFrame.

I'm not sure if it's quite expected to have such a frame generating a
transform...

Let me know if not and I can try to dig more, but this looks intentional given
the comment in nsSVGOuterSVGAnonChildFrame.

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

--HG--
extra : moz-landing-system : lando
2018-11-07 01:37:19 +00:00
Nazım Can Altınova
f967885c60 Bug 1417976 - Part 2: Include DocShell IDs to marker payloads r=mstange
MozReview-Commit-ID: AML1ESUnFlu

Depends on D4914

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

--HG--
extra : moz-landing-system : lando
2018-11-06 21:45:50 +00:00
Sebastian Hengst
2707fcbd6c Bug 1504521 - rename in-tree mentions of bugzilla metadata for product and component "Core :: Layout: Web Painting" to "Core :: Web Painting" r=kats
Differential Revision: https://phabricator.services.mozilla.com/D10832

--HG--
extra : moz-landing-system : lando
2018-11-04 12:57:04 +00:00
shindli
7c0a5e2aef Merge inbound to mozilla-central. a=merge 2018-11-03 11:40:50 +02:00
Noemi Erli
e8db1dcf1f Backed out 3 changesets (bug 1417976) for causing devtools failures in builds/worker/workspace/build/src/tools/profiler/core/platform.cpp
Backed out changeset e70a24d50f20 (bug 1417976)
Backed out changeset 01ca16ef0b25 (bug 1417976)
Backed out changeset ede2fbe20d14 (bug 1417976)
2018-11-03 01:40:27 +02:00
Emilio Cobos Álvarez
c52a218234 Bug 1504078 - Use references in the shapes code. r=bradwerth,TYLin
It doesn't make much sense to return const UniquePtr<Foo>& for something that
can't be null, it's just confusing.

Also make more stuff actually const.

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

--HG--
extra : moz-landing-system : lando
2018-11-02 18:19:06 +00:00