Commit Graph

1691 Commits

Author SHA1 Message Date
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
Nazım Can Altınova
ed3240c681 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-02 20:26:48 +00:00
Margareta Eliza Balazs
df311518fe Backed out 3 changesets (bug 1417976) for bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/GeckoProfiler.h CLOSED TREE
Backed out changeset 908f30faf4b6 (bug 1417976)
Backed out changeset 44ae0b8569b2 (bug 1417976)
Backed out changeset 801cdde1f597 (bug 1417976)
2018-11-02 18:42:21 +02:00
Nazım Can Altınova
8432e48060 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-02 16:17:54 +00:00
Ryan Hunt
2226bcc8a3 Bug 1504220 - Move ScrollableLayerGuid, ViewID, ZoomConstraints from FrameMetrics.h r=botond
This commit attempts to lower the pain of modifying FrameMetrics.h.

It looks like most includes really only want ViewID or
ScrollableLayerGuid, so this commit factors them out into a separate
header. In the process FrameMetrics::ViewID is changed to
ScrollableLayerGuid::ViewID, which personally seems like a better
place for it now that we have RepaintRequest. Unfortunately that
requires a lot of places to be updated.

After this commit there are still a couple of major places that
FrameMetrics is included.
 * nsDisplayList.h
 * nsIScrollableFrame.h
 * Layers.h

Those are going to be more tricky or impossible to fix so they're
not in this commit.

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

--HG--
rename : gfx/layers/FrameMetrics.h => gfx/layers/ScrollableLayerGuid.h
rename : gfx/layers/FrameMetrics.h => gfx/layers/ZoomConstraints.h
extra : rebase_source : 29ac79f91460a181bf7437af5c371207e22858e2
extra : source : c2e70e531075493fc6e374dcec862827f0bc6e77
2018-11-01 15:15:46 -05:00
Miko Mynttinen
2945b5216f Bug 1503046 - Part 3: Generalize FrameLayerBuilder hit test info handling r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D10132

--HG--
extra : moz-landing-system : lando
2018-11-02 02:20:01 +00:00
Miko Mynttinen
5a4357d7c9 Bug 1503046 - Part 2: Introduce HitTestInfo and nsDisplayHitTestInfoItem, and make container items and nsDisplayCompositorHitTestInfo use them r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D10131

--HG--
extra : moz-landing-system : lando
2018-11-02 02:19:03 +00:00
Kartikaya Gupta
1523c9bf61 Bug 1490393 - Accumulate the deferred transform down the StackingContextHelper chain if the ASR matches. r=mstange
The implementation of deferred transforms did not handle the case where
we ended up deferring multiple transform items before encountering the
APZ-relevant display item. In this case we need to somehow accumulate
all the deferred transforms. This patch accomplishes that, and includes
a mochitest that exercises the relevant behaviour.

Depends on D8109

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

--HG--
extra : moz-landing-system : lando
2018-11-01 21:14:31 +00:00
Kartikaya Gupta
c277149ab9 Bug 1501062 - Set the visible region on scrollthumb WebRenderLayerScrollData items. r=botond
This field is used by APZ to implement the feature where the scrollbar snaps
back to the starting position if the mouse gets too far away.
2018-10-29 15:40:09 -04:00
Boris Chiou
04b273259e Bug 1496619 - part 6: Generate StyleTimingFunction and drop ns_timing_function.rs r=emilio,birtles
First, we generate StyleComputedTimingFunction by cbindgen from Rust, and use
it in nsTimingFunction, so we could copy it directly without handling
the different memory layout. However, we have to rewrite the
nsTimingFunction and mozilla::ComputedTimingFunction for this.

Second, the rust-bindgen seems cannot generate the correct generic members
from complex C++ templates, especially for the nested template struct,
(https://github.com/rust-lang-nursery/rust-bindgen/issues/1429)
So we have to hide StyleTimingFunction to avoid the compilation errors.

Depends on D9312

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

--HG--
extra : moz-landing-system : lando
2018-10-26 18:03:35 +00:00
Boris Chiou
adff31eff9 Bug 1496619 - Part 1: Drop frames() timing function r=birtles
frames() timing function was removed from the spec, so we drop it.
Besides, some devtool tests are removed because they use frame(). I will
add them back by using new step function later.

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

--HG--
extra : moz-landing-system : lando
2018-10-26 18:03:24 +00:00
Ryan Hunt
1601a8bb80 Bug 1453425 - Add relative scroll offset updates using nsGkAtoms::relative. r=botond
This commit adds a scroll origin, nsGkAtoms::relative, which can be used to
mark main thread scrolling that can be combined with a concurrent APZ scroll.

The behavior of this is controlled by a pref, apz.relative-update. This pref
is initially activated and is intended as an aid to narrowing down causes
of regressions for users in bug reports.

Relative scroll updates work by tracking the last sent or accepted APZ
scroll offset. This is sent along with every FrameMetrics. Additionally,
a flag is added to FrameMetrics, mIsRelative, indicating whether the
scroll offset can be combined with a potential APZ scroll. When this
flag is set, AsyncPanZoomController will apply the delta between the sent
base scroll offset, and sent new scroll offset.

This flag is controlled by the last scroll origin on nsGfxScrollFrame. The
new origin, `relative`, is marked as being able to clobber APZ updates,
but can only be set if all scrolls since the last repaint request or
layers transaction have been relative.

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

--HG--
extra : rebase_source : 51351a84c9cda228a0975e22eda3fd3bd8d261c4
extra : histedit_source : 4b564c19b16fe2bd26adc671b62b7cb6106e8163
2018-10-09 23:24:28 -05:00
Botond Ballo
dc9473c8e5 Bug 1493976 - Define OutOfFlowDisplayData::ComputeVisibleRectForFrame() out of line. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D9442

--HG--
extra : moz-landing-system : lando
2018-10-24 19:19:06 +00:00
Emilio Cobos Álvarez
8e5db71984 Bug 1501125 - Use WR clips instead of a mask as well for circle() and ellipse() shapes. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D9463
2018-10-24 00:43:26 +02:00
Emilio Cobos Álvarez
6c70244466 Bug 1501122 - Handle opacity with WebRender instead of generating a mask if we have a simple clip. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D9458
2018-10-24 00:38:33 +02:00
Lee Salzman
bf39f6a3ba Bug 1520176 - use HasAnimationOfTransform() to detect if WR stacking context is animated. r=mattwoodrow 2019-01-30 15:49:13 -05:00
Kartikaya Gupta
1c01a94201 Bug 1469403 - Set a flag on the DL builder to indicate if the docshell is active. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D9141

--HG--
extra : moz-landing-system : lando
2018-10-22 23:41:47 +00:00
Emilio Cobos Álvarez
d62a793992 Bug 1500575 - Map inset clip paths to WR complex clip regions. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D9412

--HG--
extra : moz-landing-system : lando
2018-10-23 00:10:00 +00:00
Kartikaya Gupta
a971a37e5f Bug 1485834 - Allow recomputing the cumulative resolution in ComputeScrollMetadata. r=botond
We need to correctly populate the cumulative resolution field in the
ScrollMetadata in order to support zooming. Without this, the cumulative
resolution doesn't include the presShell resolution, and that results in
APZ getting into an inconsistent state.

Currently, the cumulative resolution is populated from the
ContainerLayerParameters object's scale, but in the case of WebRender,
we call ComputeScrollMetadata with an empty ContainerLayerParameters
since don't actually do layer building or rasterization in Gecko.
This patch makes this more explicit by changing the argument to a
Maybe<ContainerLayerParameters> and passing Nothing() from the WebRender
call sites.

In this scenario, we just use the cumulative presShell resolution as
the cumulative resolution, which should be correct for WebRender as
we won't have an "extra" CSS-derived resolution applied on the Gecko
side.

Depends on D9120

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

--HG--
extra : moz-landing-system : lando
2018-10-19 14:24:50 +00:00
Miko Mynttinen
7363138acc Bug 1482403 - Always create nsDisplayOpacity for filters and masks when there is visual opacity r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D7183

--HG--
extra : moz-landing-system : lando
2018-10-14 19:27:15 +00:00
Jamie Nicol
3015b7e742 Bug 1490789 - Apply shift when calculating old area of invalidated frame r=miko
When calculating which regions of a layer to invalidate we usually
apply a shift to the area to account for changes in scroll offset. For
items within flattened transforms we do not do this, because the
transform itself includes the scroll offset. However, when calculating
the old area of an invalidated frame, we use the old transform. This
includes the previous scroll offset rather than the current, so we
must therefore still apply the shift.

Not doing so was causing the incorrect region to be invalidated, and
content to be rendered at the wrong location.

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

--HG--
extra : moz-landing-system : lando
2018-10-09 12:47:45 +00:00
Miko Mynttinen
0212f3fee3 Bug 1494124 - Allow only one rect per frame in WeakFrameRegion r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D7303

--HG--
extra : moz-landing-system : lando
2018-10-02 11:40:16 +00:00
Jonathan Watt
163d5851d1 Bug 1495330. Hide SVGObserverUtils implementation details from nsImageRenderer. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7257

--HG--
extra : rebase_source : 040f99a33f43de3a92591bc47def2b129d0da3f6
2018-09-20 13:50:23 +01:00
Jonathan Watt
6d7998277a Bug 1495215. Separate out the SVGObserverUtils mask handling from EffectProperties. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7242

--HG--
extra : rebase_source : 00c2c87e8fc6fc3ae874139b9a9b8b6b1cb4d877
2018-09-19 15:54:27 +01:00
Jonathan Watt
85d30e0f2c Bug 1495034. Separate out the SVGObserverUtils clip path handling from EffectProperties. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7194

--HG--
extra : rebase_source : d8137eb0f1b91fe926d04bfb3d7197c11d6402e7
extra : amend_source : c0faf32401c08471c6acb52b5eb36571ceaeb951
2018-09-05 18:12:44 +01:00
Jonathan Watt
7b3a3b2d10 Bug 1494953 p1. Rename lots of SVGObserverUtils functions. r=longsonr
The lack of clarity over which functions initiate observing and which don't
is a headache since it makes it hard to reason about what's going on. This
rename makes it explicit in the function names.

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

--HG--
extra : rebase_source : 1f2f86423a9bee7843533c09b3ea78416b233bcd
extra : amend_source : a89125d6a3b7b75a4056c4d600de74a5386ac4ff
2018-09-04 10:04:07 +01:00
Jonathan Watt
5c1dd39583 Bug 1494285 p3. Rename nsDisplayFilter to nsDisplayFilters. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D7008

--HG--
extra : rebase_source : 89a1bd3e34666a09bd9d9d26329f183ebc28a1c3
extra : amend_source : 71c0eacf545383c23533ae05c46561159567d667
extra : histedit_source : a1047949377d690bba5cfcf86b16cb2be0610af0
2018-08-30 13:15:47 +01:00
Jonathan Watt
0133d476ce Bug 1494285 p2. Rename nsDisplayMask to nsDisplayMasksAndClipPaths. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D7007

--HG--
extra : rebase_source : de16f2d9fe5a0610af12b64603757f4fd8d6eee6
extra : amend_source : 1c932942463586d1dfe09bbf31569adc51efa220
extra : histedit_source : 5a6591e23a84382f1add26b9e81f06b8a2f3205a
2018-08-30 10:51:24 +01:00
Jonathan Watt
61cd895194 Bug 1494285 p1. Rename nsDisplaySVGEffects to nsDisplayEffectsBase. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D7002

--HG--
extra : rebase_source : f0b19827de42cbbab9d802bfd566fbb9fc8103e9
extra : amend_source : 37638ca71c6ce5d1cb4f697b362137bc93cfffa4
extra : histedit_source : c7f2b666e3666921804563d51e3de35af9294930
2018-08-30 09:36:09 +01:00
Jonathan Watt
0d889dc646 Bug 1494355. Separate out the SVGObserverUtils filter handling from EffectProperties. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D6930

--HG--
extra : rebase_source : cb3c301ae0fee233ae881c384499340c678e1874
2018-08-29 19:11:43 +01:00
Daniel Zielas
21d87f2b40 Bug 1420996 - Replace CompositorHitTestInfo with an EnumSet. r=botond
--HG--
extra : rebase_source : b62faecd4eb7a988e62a1f41eca6481f90e57c02
extra : histedit_source : 417426b84d2a269d84980df972073e67c2643cd3
2018-09-25 20:47:55 +02:00
Emilio Cobos Álvarez
0cf08372ac Bug 1382896 - Align Gecko and WebRender code for 3d border colors. r=mstange
See the discussion in https://github.com/servo/webrender/issues/1280. I think we
should do this sooner rather than later.

Need to update a couple reftests to hardcode the new colors, waiting on try for
that but should be trivial.

This makes a few more tests pass which are just marked as failure in bug 1487407,
because I implementing the border-collapsing reusing a bunch of Gecko code,
including the table 3d border stuff.

Differential Revision: https://phabricator.services.mozilla.com/D6565
2018-09-26 15:28:01 +02:00
Emilio Cobos Álvarez
2afc706839 Bug 1487407 - Properly support beveling bc borders in WR. r=Gankro
The previous border-collapse beveling implementation assumed that there would
only be one beveled border per side in the whole table, which is... not true at all.

So a bunch of borders ended up clobbering other values in mBevelBorders and
never getting painted.

I'm actually somewhat scarily surprised that only this reftest seems to fail
without this patch...

Here we reuse most of the existing one-off beveling / border rendering support
in nsCSSRendering, and convert the Gecko bevels into a WebRender display list
using rects and borders. This is only remotely possible thanks to Gecko not
supporting dotted / dashed beveled borders :)

This would slightly easier and presumably also more efficient with a triangle
display item in WR instead of (ab)using the border display item to render the
bevel, but this is probably relatively edge-casey so maybe not worth it... In
any case I've left a TODO comment there, that can be a nice followup if we deem
it worth it.

Anyway, I'm _so_ sorry for the border trick, I was this (||) close to go and
rewrite our border collapsing code, but after a few tries I realized it'd take
me a whole lot of time (instead of the day that this has taken me).

Differential Revision: https://phabricator.services.mozilla.com/D4793
2018-09-26 15:27:59 +02:00
Jeff Muizelaar
8d0131224b Bug 1490033. Use IsStyleMaybeAnimated to set up snapping surface transform. r=mstange
This catches all animations instead of those that only run on the compositor.

Differential Revision: https://phabricator.services.mozilla.com/D6543
2018-09-21 23:28:34 -04:00
Jeff Muizelaar
90fbfc8d8a Bug 1447880. Paint nsDisplayMasks directly instead of using a BasicLayerManager. r=mstange
This allows us to invalidate individual items inside of the mask instead of
treating the mask and it's children as a single item.

Differential Revision: https://phabricator.services.mozilla.com/D6224
2018-09-21 18:50:23 -04:00
Jeff Muizelaar
805679d7c9 Bug 1447880. Add nsDisplayMask::IsValidMask. r=mstange
This pulls out a nsDisplayMask::IsValidMask that can be used by
blob invalidation to ensure that the mask is drawable.

Differential Revision: https://phabricator.services.mozilla.com/D6502
2018-09-21 18:50:15 -04:00
Matt Woodrow
a03f5b443d Bug 1492250 - Create a WebRender stacking context for nsDisplayStickyPosition to ensure that all descendants get the same positioning. r=mstange
MozReview-Commit-ID: 5JZo0z3LC7t

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

--HG--
extra : moz-landing-system : lando
2018-09-21 00:53:19 +00:00
Gurzau Raul
2a3847037c Backed out changeset 471ccb1a377e (bug 1492250) for failing at /reftests/async-scrolling/reftest.list line 36 on a CLOSED TREE 2018-09-21 03:31:24 +03:00
Matt Woodrow
610b7fd423 Bug 1492250 - Create a WebRender stacking context for nsDisplayStickyPosition to ensure that all descendants get the same positioning. r=mstange
MozReview-Commit-ID: 5JZo0z3LC7t

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

--HG--
extra : moz-landing-system : lando
2018-09-20 23:18:07 +00:00
Andreea Pavel
f5f6c0b588 Merge mozilla-inbound to mozilla-central. a=merge 2018-09-21 00:54:47 +03:00
Miko Mynttinen
43389f7825 Bug 1490518 - Scale areas after clipping to unscaled clip r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D6031

--HG--
extra : moz-landing-system : lando
2018-09-20 18:31:00 +00:00
Emilio Cobos Álvarez
8f058ab54c Bug 1491864 - Fix preserve-3d in presence of anon boxes. r=mattwoodrow
In the button case we have a ::-moz-button-content pseudo-element, but this is
also an issue for tables and such.

These are supposed to be implementation details, so avoid looking at them for
preserve-3d.

I don't know how I didn't think of this on the regressing bug.

Differential Revision: https://phabricator.services.mozilla.com/D6131
2018-09-20 20:24:25 +02:00
Nathan Froyd
e7b3b3140d Bug 1415980 - make hash keys movable and not copyable; r=erahm
Everything that goes in a PLDHashtable (and its derivatives, like
nsTHashtable) needs to inherit from PLDHashEntryHdr. But through a lack
of enforcement, copy constructors for these derived classes didn't
explicitly invoke the copy constructor for PLDHashEntryHdr (and the
compiler didn't invoke the copy constructor for us). Instead,
PLDHashTable explicitly copied around the bits that the copy constructor
would have.

The current setup has two problems:

1) Derived classes should be using move construction, not copy
   construction, since anything that's shuffling hash table keys/entries
   around will be using move construction.

2) Derived classes should take responsibility for transferring bits of
   superclass state around, and not rely on something else to handle that.

The second point is not a huge problem for PLDHashTable (PLDHashTable
only has to copy PLDHashEntryHdr's bits in a single place), but future
hash table implementations that might move entries around more
aggressively would have to insert compensation code all over the
place. Additionally, if moving entries is implemented via memcpy (which
is quite common), PLDHashTable copying around bits *again* is
inefficient.

Let's fix all these problems in one go, by:

1) Explicitly declaring the set of constructors that PLDHashEntryHdr
   implements (and does not implement). In particular, the copy
   constructor is deleted, so any derived classes that attempt to make
   themselves copyable will be detected at compile time: the compiler
   will complain that the superclass type is not copyable.

This change on its own will result in many compiler errors, so...

2) Change any derived classes to implement move constructors instead of
   copy constructors. Note that some of these move constructors are,
   strictly speaking, unnecessary, since the relevant classes are moved
   via memcpy in nsTHashtable and its derivatives.
2018-09-20 11:20:36 -04:00
Coroiu Cristina
2971320d79 Backed out changeset 236d827dc1c5 (bug 1491864) for crashing at builds/worker/workspace/build/src/layout/generic/nsIFrameInlines.h on a CLOSED TREE 2018-09-20 18:25:05 +03:00
Emilio Cobos Álvarez
bdc4bccdd8 Bug 1491864 - Fix preserve-3d in presence of anon boxes. r=mattwoodrow
In the button case we have a ::-moz-button-content pseudo-element, but this is
also an issue for tables and such.

These are supposed to be implementation details, so avoid looking at them for
preserve-3d.

I don't know how I didn't think of this on the regressing bug.

Differential Revision: https://phabricator.services.mozilla.com/D6131
2018-09-20 16:28:11 +02:00
Coroiu Cristina
fc2422e4c1 Backed out changeset a0179bdde496 (bug 1492250) for reftest failures at tests/layout/reftests/async-scrolling/sticky-pos-scrollable-7.html on a CLOSED TREE 2018-09-20 13:21:44 +03:00
Matt Woodrow
6ee20ff77d Bug 1492250 - Create a WebRender stacking context for nsDisplayStickyPosition to ensure that all descendants get the same positioning. r=mstange
MozReview-Commit-ID: 5JZo0z3LC7t

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

--HG--
extra : moz-landing-system : lando
2018-09-20 03:40:11 +00:00
Csoregi Natalia
2c72511a34 Backed out 2 changesets (bug 1491864) for test_pointerPreserves3DPerspective.html failures. CLOSED TREE
Backed out changeset 8a4b3376e5c4 (bug 1491864)
Backed out changeset 43fdb0259352 (bug 1491864)
2018-09-20 02:18:03 +03:00
Bogdan Tara
9f17cab93a Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-09-20 01:03:35 +03:00
Ciure Andrei
bd4f30e2a0 Backed out 4 changesets (bug 1418816) for reftest perma failure bugs/289480.html a=backout
Backed out changeset d722f5a4a8af (bug 1418816)
Backed out changeset 75d9a625be06 (bug 1418816)
Backed out changeset 807f0f510c25 (bug 1418816)
Backed out changeset 3c4cec04f28d (bug 1418816)
2018-09-19 22:33:24 +03:00
Miko Mynttinen
5107e2da27 Bug 1488599 - Part 2: Fix will-change budget r=mattwoodrow
Depends on D5245

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

--HG--
extra : moz-landing-system : lando
2018-09-19 10:19:30 +00:00
Miko Mynttinen
03d03110a6 Bug 1488599 - Part 1: Add RetainedDisplayListData that will store frame invalidation information r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D5245

--HG--
extra : moz-landing-system : lando
2018-09-19 10:21:27 +00:00
Emilio Cobos Álvarez
4aab8cafdd Bug 1491864 - Ignore anon boxes for preserve-3d. r=mattwoodrow
In the button case we have a ::-moz-button-content pseudo-element, but this is
also an issue for tables and such.

These are supposed to be implementation details, so avoid looking at them for
preserve-3d.

I don't know how I didn't think of this on the regressing bug.

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

--HG--
extra : moz-landing-system : lando
2018-09-19 21:21:18 +00:00
Matt Woodrow
bb38061683 Bug 1489337 - Don't set preserve-3d to true when creating WebRender commands for nsDisplayPerspective since it's not needed. r=jrmuizel
MozReview-Commit-ID: GiRda3WyTEu

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

--HG--
extra : moz-landing-system : lando
2018-09-19 19:55:17 +00:00
Jamie Nicol
a39f93b45b Bug 1418816 - Part 4: Allow image layers to be created for repeated backgrounds. r=mattwoodrow
Depends on D6026

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

--HG--
extra : moz-landing-system : lando
2018-09-19 04:44:57 +00:00
Ciure Andrei
e7e6a10f94 Backed out 2 changesets (bug 1488599) for causing crashes a=backout
Backed out changeset b08b9f2693cd (bug 1488599)
Backed out changeset bba3a8028837 (bug 1488599)
2018-09-18 10:39:23 +03:00
Miko Mynttinen
898c800846 Bug 1488599 - Part 2: Fix will-change budget r=mattwoodrow
Depends on D5245

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

--HG--
extra : moz-landing-system : lando
2018-09-17 14:43:07 +00:00
Miko Mynttinen
f0b6dd8c41 Bug 1488599 - Part 1: Add RetainedDisplayListData that will store frame invalidation information r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D5245

--HG--
extra : moz-landing-system : lando
2018-09-17 14:41:08 +00:00
Gurzau Raul
da0121c598 Backed out 2 changesets (bug 1488599) for bustages at /layout/painting/nsDisplayList.cpp on a CLOSED TREE
Backed out changeset ed780c8fd413 (bug 1488599)
Backed out changeset 0f40b48ed3b4 (bug 1488599)
2018-09-17 16:57:58 +03:00
Miko Mynttinen
8383187890 Bug 1488599 - Part 2: Fix will-change budget r=mattwoodrow
Depends on D5245

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

--HG--
extra : moz-landing-system : lando
2018-09-17 12:39:09 +00:00
Miko Mynttinen
e646042ce1 Bug 1488599 - Part 1: Add RetainedDisplayListData that will store frame invalidation information r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D5245

--HG--
extra : moz-landing-system : lando
2018-09-17 12:38:19 +00:00
Thomas Nguyen
fca5bf4852 Bug 1330487 - Part 6: Passing referrer information to svg style system r=heycam
We create new object URLExtraRefferINfo and pass it to svg system instead of
nsIURI. The object brings referrer and referrer policy so we can send correct
Referer headers.

MozReview-Commit-ID: 2gLnQPEE9t5

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

--HG--
extra : moz-landing-system : lando
2018-09-17 05:37:01 +00:00
Cosmin Sabou
64adcb7cf0 Backed out changeset 368cda88b85f (bug 1489337) for reftest failures on transform-3d/1035611-1.html 2018-09-14 07:20:07 +03:00
Noemi Erli
5b96b841b5 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-09-14 06:45:21 +03:00
Matt Woodrow
a2426fa778 Bug 1489337 - Don't set preserve-3d to true when creating WebRender commands for nsDisplayPerspective since it's not needed. r=jrmuizel
MozReview-Commit-ID: GiRda3WyTEu

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

--HG--
extra : moz-landing-system : lando
2018-09-14 02:20:46 +00:00
Andrew Osmond
29af4ed6a2 Bug 1446309 - Part 3. Properly handle ImgDrawResult for WebRender display list generation. r=tnikkel
When generating display lists for WebRender, we were not caching the
draw result via nsDisplayItemGenericImageGeometry::UpdateDrawResult (or
similar) after completing CreateWebRenderCommands. This is important
because reftests use this to force sync decoding for images; it may be a
reason for image-related intermittent failures on *-qr builds.

Additionally, we may have been requesting fallback in cases where fallback
could not do anything more than WebRender could. For example, if we can't
get an image container yet, there is no point in requesting fallback
because it might just be we haven't started decoding yet. We should just
return the actual draw result in such cases.
2018-09-13 19:48:27 -04:00
Andrew Osmond
e9f7db43b8 Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel
In addition to the image container, the draw result can also be useful
for callers to know whether or not the surface(s) in the container are
fully decoded or not. This is used in subsequent parts to avoid
flickering in some cases.
2018-09-13 19:48:21 -04:00
Jonathan Watt
9b010a0e34 Bug 1488700 p9. Rename nsSVGFilterProperty to SVGFilterObserverListForCSSProp. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D5622

--HG--
extra : rebase_source : 1018e7125d0d5477701a448a52507d29b924b068
2018-08-13 12:49:21 +02:00
Doug Thayer
bf43d69d72 Bug 1489702 - Move mClipChainsToDestroy inline r=mattwoodrow
Fairly straightforward - went with extra indirection in the
FreeClipChains method to avoid all the extra variables and
code paths.

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

--HG--
extra : moz-landing-system : lando
2018-09-11 18:03:18 +00:00
Cosmin Sabou
de7676288a Merge mozilla-inbound to mozilla-central. a=merge 2018-09-11 13:06:37 +03:00
Gerald Squelart
b51e0fd0cc Bug 1489944 - Fixed some std::move warnings - r=froydnj
> dom/media/gmp/CDMStorageIdProvider.cpp(63,10):  warning:
> local variable 'storageId' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/DisplayItemClip.cpp(581,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/DisplayItemClipChain.cpp(88,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/nsDisplayList.cpp(179,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> gfx/thebes/gfxWindowsPlatform.cpp(454,10):  warning:
> moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
Will remove std::move().

> gfx/thebes/gfxFontEntry.cpp(245,20):  warning:
> local variable 'name' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> netwerk/cookie/nsCookieService.cpp(4460,10):  warning:
> local variable 'path' will be copied despite being returned by name [-Wreturn-std-move]
GetPathFromURI() result is stored in an nsAutoCString, so it might as well return that type.

> toolkit/components/extensions/WebExtensionPolicy.cpp(462,12):  warning:
> local variable 'result' will be copied despite being returned by name [-Wreturn-std-move]
> toolkit/components/extensions/WebExtensionPolicy.cpp(475,10):  warning:
> local variable 'result' will be copied despite being returned by name [-Wreturn-std-move]
`result` may be empty or may be arbitrarily long, so I'll use nsCString inside the function.

> toolkit/xre/CmdLineAndEnvUtils.h(349,10):  warning:
> moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
Returning an UniquePtr, will remove std::move().
Also will `return s` instead of `return nullptr` when `(!s)`, to avoid extra construction which could also prevent elision (not entirely sure, but it's at least not worse!); and it's clearer that the two `return`s return the same already-constructed on-stack object.

> tools/profiler/core/shared-libraries-win32.cc(111,10):  warning:
> local variable 'version' will be copied despite being returned by name [-Wreturn-std-move]
nsPrintfCString -> nsCString, will add std::move().

> xpcom/glue/FileUtils.cpp(179,10):  warning:
> local variable 'fullName' will be copied despite being returned by name [-Wreturn-std-move]
> xpcom/glue/FileUtils.cpp(209,10):  warning:
> local variable 'path' will be copied despite being returned by name [-Wreturn-std-move]
nsAuto{,C}String -> ns{,C}String, will add std::move().

This allowed removals of 'AllowCompilerWarnings' from layout/painting,
netwerk/cookie, and toolkit/components/extensions.

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

--HG--
extra : moz-landing-system : lando
2018-09-10 15:51:48 +00:00
Daniel Varga
1539df295b Merge mozilla-inbound to mozilla-central a=merge 2018-09-08 06:53:43 +03:00
Emilio Cobos Álvarez
c9c6290890 Bug 1489453 - EnumSet shouldn't take 32 bits if not needed. r=froydnj
This is the only reason I haven't used it before for things like
StyleSheet::State.

Change the underlying type to be the underlying enum representation by default,
but allow to override it if wanted.

Assertions should catch misuses.

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

--HG--
extra : moz-landing-system : lando
2018-09-07 14:40:02 +00:00
Jeff Muizelaar
c4219b4843 Bug 1486377. Avoid repeat sampling when not wanted. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5279
2018-09-07 18:12:21 -04:00
Henrik Winnemöller
be01b218cc Bug 1488555 - Use ImageRendering property to provide proper filtering support for AsyncImage. r=nical
Introduce an ImageRendering argument for CreateImageKey which is then used at the CreateAsyncImageWebRenderCommands call to provide the proper filtering instead of using always Auto filtering. Update all calls to CreateImageKey to use the new interface.
2018-09-07 22:28:41 +02:00
Jeff Muizelaar
07e9250f5d Bug 1449634. Handle foreignobject better with blob invalidation. r=mstange
Turn off grouping and switch to regular WebRender building when
we encounter a foreignobject.

MozReview-Commit-ID: 6fHc4Ioi22N
2018-09-06 16:10:51 -04:00
Doug Thayer
ebc62f01e4 Bug 1489588 - Disallow nsDisplayList copies and implement moves r=mattwoodrow
Summary:
nsDisplayLists are currently a little bit error prone, since the
empty state of an nsDisplayList requires mTop == &mSentinel.
since &mSentinel will change when copied, while mTop won't,
this naturally creates an invalid state. Additionally, copies
don't quite make sense, since there is a requirement in the
destructor that destructed nsDisplayLists are empty - in which
case we would have to empty both the copied and the original
nsDisplayList - something which is unlikely to happen naturally.
Moves however are a natural operation - we just need to implement
the correct move behavior accounting for this mTop == &mSentinel
requirement.

Reviewers: mattwoodrow

Reviewed By: mattwoodrow

Bug #: 1489588

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

--HG--
extra : rebase_source : e8889903c6cd03a8ec0ff90f189dbdcc79201eb3
extra : histedit_source : 9e0e18702e6e4b4feb5bea0548dc42250905f897
2018-09-11 04:29:38 +03:00
Miko Mynttinen
50215c6a21 Bug 1488889 - Pass nsSubDocumentFrame to nsDisplaySubDocument constructor r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D5091

--HG--
extra : moz-landing-system : lando
2018-09-05 23:16:17 +00:00
Sebastian Hengst
bcdcf7554b Bug 1487190 - Update bugzilla metadata in moz.build files to reflect Layout components reorganization in bug 1484408. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D4642

--HG--
extra : moz-landing-system : lando
2018-09-05 11:16:02 +00:00
Sebastian Hengst
0003a3ce96 Backed out changeset 834a75789c0a (bug 1487190) for bustage due to unused file pattern 2018-09-05 14:11:04 +03:00
Sebastian Hengst
38d937a7c0 Bug 1487190 - Update bugzilla metadata in moz.build files to reflect Layout components reorganization in bug 1484408. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D4642

--HG--
extra : moz-landing-system : lando
2018-09-05 10:54:03 +00:00
Dorel Luca
b9abf01ee1 Backed out changeset 9e0481c2413d (bug 1487190) for breaking Gecko Decision Task. CLOSED TREE 2018-09-05 13:43:09 +03:00
Sebastian Hengst
447d464a1a Bug 1487190 - Update bugzilla metadata in moz.build files to reflect Layout components reorganization in bug 1484408. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D4642

--HG--
extra : moz-landing-system : lando
2018-09-05 10:00:39 +00:00
Miko Mynttinen
b7eaedb6ea Bug 1484966 - Part 3: Clang format layout/painting/ r=mattwoodrow
Depends on D3870

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

--HG--
extra : moz-landing-system : lando
2018-09-04 20:46:21 +00:00
Miko Mynttinen
a5d71a93f1 Bug 1484966 - Part 2: Fix virtual/override specifiers and whitespace r=mattwoodrow
Depends on D3869

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

--HG--
extra : moz-landing-system : lando
2018-09-04 20:45:55 +00:00
Csoregi Natalia
5984db0879 Backed out 2 changesets (bug 1484966) for bustage on RefPtr.h:42. CLOSED TREE
Backed out changeset 7b246c8f9de8 (bug 1484966)
Backed out changeset 399158a0a9b3 (bug 1484966)
2018-09-04 23:42:36 +03:00
Miko Mynttinen
bb2d78e17e Bug 1484966 - Part 3: Clang format layout/painting/ r=mattwoodrow
Depends on D3870

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

--HG--
extra : moz-landing-system : lando
2018-09-04 17:21:36 +00:00
Miko Mynttinen
1e1dc727b9 Bug 1484966 - Part 2: Fix virtual/override specifiers and whitespace r=mattwoodrow
Depends on D3869

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

--HG--
extra : moz-landing-system : lando
2018-09-04 17:20:40 +00:00
Miko Mynttinen
2f3ec8cc90 Bug 1484966 - Part 1: Fix most clang-tidy warnings for layout/painting/ r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D3869

--HG--
extra : moz-landing-system : lando
2018-09-04 17:19:36 +00:00
Andrew Osmond
c4053ead28 Bug 1486962 - Ensure frame is associated with background images with WebRender. r=mstange
The frame for a background image should be associated with the image
request. This was done on the non-WebRender path in
nsCSSRendering::PaintStyleImageLayerWithSC but otherwise missing for the
WebRender path. This is important because the association is what allows
the FRAME_UPDATE from imagelib to cause a repaint. Without it, it will
manifest as incomplete or missing background images, in particular after
the background image SourceSurface has been released to save memory.
2018-08-30 18:19:59 -04:00
Miko Mynttinen
1548622d86 Bug 1472733 - Improve IntRect overflow handling when calculating layer invalidation area and visible region r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D4627

--HG--
extra : moz-landing-system : lando
2018-08-30 00:59:28 +00:00
Emilio Cobos Álvarez
f105c67c35 Bug 1471583. Add a new ImgDrawResult variant to distinguish INCOMPLETE and 'fully drew an image which wasn't really complete'. r=tnikkel 2018-08-29 00:53:08 -05:00
Timothy Nikkel
9d4fbc85b4 Bug 1471583. Don't record a successful image draw if the image isn't marked complete. r=mattwoodrow
The image can be decoded but we haven't notified such (and hence the image state doesn't indicate such). We are able to draw the image at this point because painting has special access to the image that bypasses the image state (this happens via nsStyleImage::StartDecoding -> imgIRequest::StartDecodingWithResult).

In this state if we record a successful draw then any parts of the image that we newly drew but weren't invalidated for some other reason won't get updated. When the async decode notification gets processed it will invalidate the image and that will result in it getting updated. But if we get a paint that asks for sync decoding of images before this it will see that we sucessfully drew the image and not invalidate its area and the sync decode paint won't update the image.

So we still draw the image but we don't record a successful draw unless the image state is complete and hence the decode notification has been processed (image state and notifications are always in sync).

Note that we still have to draw the image in this state because if we get a normal paint after a sync decode paint we have to draw the image because if we don't we effectively erase the image.
2018-08-29 00:53:06 -05:00
Emilio Cobos Álvarez
59258ba1a7 Bug 1459065 - Clip filter effects at the stacking context level. r=mstange
Much like mask images. This is the easy fix, for now.

We need to override the ASR clips with Nothing() because we don't really want
children of this display item to get the parent filter applied. It's not only
redundant, but also may be incorrect if the mask image is not opaque for example
(maybe WR should prevent that?).

This was caught by layout/reftests/w3c-css/submitted/masking/mask-opacity-1a.html

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

--HG--
extra : moz-landing-system : lando
2018-08-28 15:42:14 +00:00
Csoregi Natalia
403b2ebd26 Backed out changeset f4739ab0ece1 (bug 1459065) for /svg/filters/ failures. CLOSED TREE 2018-08-28 18:25:24 +03:00
Emilio Cobos Álvarez
5a5b1a138e Bug 1459065 - Clip filter effects at the stacking context level. r=mstange
Much like mask images. This is the easy fix, for now.

We need to override the ASR clips with Nothing() because we don't really want
children of this display item to get the parent filter applied. It's not only
redundant, but also may be incorrect if the mask image is not opaque for example
(maybe WR should prevent that?).

This was caught by layout/reftests/w3c-css/submitted/masking/mask-opacity-1a.html

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

--HG--
extra : moz-landing-system : lando
2018-08-27 19:23:34 +00:00
Cosmin Sabou
2cbfcdeacb Backed out changeset be4fd8ee7afd (bug 1483985) for causing build bustages on LookupCache. CLOSED TREE 2018-08-27 18:26:41 +03:00
Alex Gaynor
cb45cd7b82 Bug 1483985 - use std::move to avoid a copy in a few places that clang recommends; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D3543

--HG--
extra : moz-landing-system : lando
2018-08-27 15:06:58 +00:00
Markus Stange
f99517b75e Bug 1435045 - Don't make CSS filters on the <svg> element use fallback. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D4018

--HG--
extra : moz-landing-system : lando
2018-08-22 22:06:24 +00:00
Boris Chiou
cc2e8fb329 Bug 1429298 - Part 6: Apply motion path transform matrix. r=nical
We implement the layout part of offset-path. Now we don't have
offset-distance, so use the default value, 0%, for it.

Note: rename mCombinedTransform as mIndividualTransform, which only
stores the combined individual transforms. We apply the individual
transforms, motion path transform, and specified transform in
ReadTransforms. (We have to follow the order, so we don't combine the
specified transform in FinishStyle.)

Differential Revision: https://phabricator.services.mozilla.com/D2968
2018-08-21 22:41:44 -07:00
Kevin Chen
c459743ed4 Bug 1345388. Factor out CreateWebRenderCommandsForBorderWithStyleBorder so we can pass an nsStyleBorder of our choice. r=aosmond 2018-12-11 20:48:31 -06:00
Miko Mynttinen
37fcc5ff3b Bug 1483649 - Do not skip display items for flattened effects in ContainerState::FindOpaqueBackgroundColorInLayer r=mattwoodrow
The area covered by flattened effects and their children should be considered in the background color selection to avoid defaulting to canvas background color.

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

--HG--
extra : moz-landing-system : lando
2018-08-20 20:29:09 +00:00
Xidorn Quan
ee8b85324b Bug 1469741 part 1 - Apply scrollbar colors to background of some scrollbar parts when theme doesn't support them. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D3578

--HG--
extra : moz-landing-system : lando
2018-08-20 01:33:54 +00:00
Kashav Madan
e3060a3711 Bug 1465616 - Use the larger viewport to layout and size fixed position elements. r=mstange
Since fixed position elements are now scrollable, we need to ensure that
they're drawn into the viewport that they're attached to.

MozReview-Commit-ID: ADQXkLjwIzR

--HG--
extra : rebase_source : 2a2ec4983e2ec7f69a3c18389661e00e47ac5277
2018-07-04 16:10:04 -04:00
Daniel Holbert
0878eb4d7e Bug 1483394: Remove unneeded #includes of nsContentUtils.h in /layout. r=TYLin
For each file touched in this patch, the file had an #include for nsContentUtils.h, but no other mentions of the string "nsContentUtils", nor any mention of its "ScriptBlocker"-related types. So these files likely don't need their nsContentUtils.h include anymore, and we can remove it to get a marginal win on build time/complexity.

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

--HG--
extra : moz-landing-system : lando
2018-08-15 07:04:43 +00:00
Margareta Eliza Balazs
9575863d77 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-14 12:35:25 +03:00
Xidorn Quan
33b8a6dacd Bug 1483090 - Rename StyleUserInterface to StyleUI. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3276

--HG--
extra : moz-landing-system : lando
2018-08-14 08:37:37 +00:00
Ting-Yu Lin
48d02834a5 Bug 1482665 Part 2 - Remove nsPresContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3155
2018-08-13 14:29:28 -07:00
Matt Woodrow
0ea228cfd7 Bug 1480695 - Add telemetry to record how frequently we encounter a cross-origin <iframe> within a filter. r=mstange,Nika 2018-08-09 16:30:39 +12:00
Coroiu Cristina
aca41ab710 Backed out changeset a18c257cf35d (bug 1480695) for build bustage at build/src/obj-firefox/dist/include/nsDisplayList.h 2018-08-09 07:49:46 +03:00
Matt Woodrow
6e927e7e6d Bug 1480695 - Add telemetry to record how frequently we encounter a cross-origin <iframe> within a filter. r=mstange,Nika 2018-08-09 16:30:39 +12:00
Jeremy Lempereur
96d35f35bd Bug 1471708 - Rename the "scroll-position clamping scroll port size" to "visual viewport size". r=botond
MozReview-Commit-ID: IWPzXSF5jfR

--HG--
extra : rebase_source : f67d64ef18a643077d5019048399e68acc722337
2018-07-22 21:49:38 +02:00
Masatoshi Kimura
3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Cosmin Sabou
7cf1ac297e Backed out changeset 542243f5f600 (bug 1471708) for failling reftest on gfx/layers/apz/test/reftest/async-scrollbar-1. 2018-08-05 07:57:50 +03:00
Jeremy Lempereur
e591a6945a Bug 1471708 - Rename the "scroll-position clamping scroll port size" to "visual viewport size". r=botond
MozReview-Commit-ID: IWPzXSF5jfR

--HG--
extra : rebase_source : 9d13a680ebf76a5f86c9040a5a16981514435dc8
2018-07-22 21:49:38 +02:00
Matt Woodrow
b558f51c84 Bug 1479914 - Always use the new caret display item when available as these can change without an invalidation. r=miko
MozReview-Commit-ID: 8Le6xRfv5RL

--HG--
extra : rebase_source : 5703b21f786b51ae3bbb8ea6ce1e2d456b14b579
2018-08-03 22:15:55 +12:00
Miko Mynttinen
82395c69d1 Bug 1477693 - Part 3: Refactor FrameLayerBuilder invalidation functions to better handle different coordinate spaces r=mattwoodrow
MozReview-Commit-ID: 1NDcg88a1Ge

--HG--
extra : rebase_source : 97208a584e907473793fd9f4a528bc6166683ebf
2018-07-26 00:22:33 +02:00
Miko Mynttinen
222e57e271 Bug 1477693 - Part 2: Do not allow implicit cast between rect and region with InvalidatePostTransformRegion() r=mattwoodrow
MozReview-Commit-ID: LjIhBb2JjQ

--HG--
extra : rebase_source : 790d92333e2486b243afbde09875c3c9ceccf15f
2018-07-25 22:41:03 +02:00
Miko Mynttinen
ca9f5b45f8 Bug 1477693 - Part 1: Move TransformClipNode and TransformWithNode functions to TransformClipNode.h r=mattwoodrow
MozReview-Commit-ID: 13uSenWdNXJ

--HG--
extra : rebase_source : cd1c6cb203bba00ece5dcae833c0c38e1f1ef322
2018-07-25 21:58:22 +02:00
Coroiu Cristina
09c6bcc2ca Merge mozilla-central to autoland a=merge 2018-07-31 05:05:39 +03:00
Coroiu Cristina
6ba5f27325 Backed out 4 changesets (bug 1477693) for perma-failing reftests at tests/layout/reftests/svg/smil/transform/scale-1-ref.svg a=backout
Backed out changeset 069ad25949f3 (bug 1477693)
Backed out changeset 34f12e5543aa (bug 1477693)
Backed out changeset 864e12713e98 (bug 1477693)
Backed out changeset fa4d0ff6f779 (bug 1477693)
2018-07-31 05:02:33 +03:00
Miko Mynttinen
f0923000a3 Bug 1479092 - Fix comments and whitespace. r=me
--HG--
extra : rebase_source : 2c76ad061319e886659b645efdac7601907050a2
2018-07-30 16:33:07 +02:00
Coroiu Cristina
70216eda0a Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-07-31 01:02:15 +03:00
Matt Woodrow
1c14c56cce Bug 1475971 - Copy the building rect into old items when we decide we can reuse them. r=miko
MozReview-Commit-ID: JXHZ17iFaei

--HG--
extra : rebase_source : 42fc06465a644de597f78e46878037b653da046e
2018-07-30 16:03:32 +12:00
Miko Mynttinen
caf9b6a162 Bug 1479092 - Reuse clips for consecutive effects during painting, if possible r=mattwoodrow
MozReview-Commit-ID: 8bpWDa3JTMu

--HG--
extra : rebase_source : 02c3c57c54298dae38fed74432e408d590c2da67
2018-07-27 21:44:10 +02:00
Miko Mynttinen
605b909841 Bug 1479091: Add fast-path for items inside effects r=mattwoodrow
MozReview-Commit-ID: GNMxePW4R9e

--HG--
extra : rebase_source : 74683799fcb5182db2e376d2e9af13eaa6b3832a
2018-07-27 22:17:59 +02:00
Miko Mynttinen
536d27c7f5 Bug 1477693 - Part 3: Refactor FrameLayerBuilder invalidation functions to better handle different coordinate spaces r=mattwoodrow
MozReview-Commit-ID: 1NDcg88a1Ge

--HG--
extra : rebase_source : a4e5c424570239604b285e19bb57fc7a97a63381
2018-07-26 00:22:33 +02:00
Miko Mynttinen
e38b4b8fbd Bug 1477693 - Part 2: Do not allow implicit cast between rect and region with InvalidatePostTransformRegion() r=mattwoodrow
MozReview-Commit-ID: LjIhBb2JjQ

--HG--
extra : rebase_source : bb7273882b4c3db3ef339f2862144f0e8531e625
2018-07-25 22:41:03 +02:00
Miko Mynttinen
83730e5618 Bug 1477693 - Part 1: Move TransformClipNode and TransformWithNode functions to TransformClipNode.h r=mattwoodrow
MozReview-Commit-ID: 13uSenWdNXJ

--HG--
extra : rebase_source : 6847b970fecc141e6968134afcec6aebafdfc3c0
2018-07-25 21:58:22 +02:00
Miko Mynttinen
1f7081c0aa Bug 1477831 - Merge items in FLBDisplayItemIterator r=mattwoodrow
MozReview-Commit-ID: AWxVue3tjN1

--HG--
extra : rebase_source : 94a3a2bbc70b2259c7ad0caeaec62fc10770b872
2018-07-24 16:31:04 +02:00
Emilio Cobos Álvarez
517256e365 Bug 1478391: Autogenerate StyleAppearance. r=jwatt
This builds on bug 1428676 and introduces StyleAppearance, which replaces the
NS_THEME_* constants.

Really sorry for the size of the patch.

There's a non-trivial change in the gtk theme, which I submitted separately as
bug 1478385.

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

MozReview-Commit-ID: DiSmMWK7Krp
2018-07-26 17:06:17 +02:00
Cosmin Sabou
0d3874d7d6 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-21 00:42:01 +03:00
Ryan VanderMeulen
7c56172d60 Backed out 5 changesets (bug 1465616) for causing Fennec scrolling regressions.
Backed out changeset 403ba3d9539a (bug 1465616)
Backed out changeset ea79ddd406f4 (bug 1465616)
Backed out changeset 559c8997eb53 (bug 1465616)
Backed out changeset 3f5ca59998bf (bug 1465616)
Backed out changeset 9e48a27950be (bug 1465616)

--HG--
extra : amend_source : 8cc378d26e9fea0ed6277b69f227191e849001d8
2018-07-20 14:40:51 -04:00
Miko Mynttinen
21ec2cdf13 Bug 1462672 - Move #ifdef/#endif to right place r=me
--HG--
extra : rebase_source : 8a0e9051b22357af45c57e3ea4163bea0f5192ad
2018-07-20 19:55:28 +02:00
Miko Mynttinen
411fe6b5c6 Bug 1462672 - Part 8: Flatten inactive nsDisplayTransform items r=mattwoodrow
MozReview-Commit-ID: 5ushAgOec9U

--HG--
extra : rebase_source : 17d866e038f594f8f544ce4786d1581995824915
2018-07-17 02:14:28 +02:00
Miko Mynttinen
03a67e4d61 Bug 1462672 - Part 7: Add FLBDisplayItemIterator support for flattening inactive transforms r=mattwoodrow
MozReview-Commit-ID: 8cv6qh1s4qy

--HG--
extra : rebase_source : 4c4a6e87bd2701c0ff047d8e41eee88830edadab
2018-07-17 01:34:15 +02:00
Miko Mynttinen
ed0fd2fe79 Bug 1462672 - Part 6: Add MatrixStack and TransformClipNode r=mattwoodrow
MozReview-Commit-ID: JzQwfUmFTxT

--HG--
extra : rebase_source : 6cfd11e51533f1ddac29b739b5383dd4042cf9ea
2018-07-16 21:22:43 +02:00
Miko Mynttinen
0c42827471 Bug 1462672 - Part 5: Add a pref flag to allow flattening inactive nsDisplayTransform items r=mattwoodrow
MozReview-Commit-ID: BQGzaAMzReF

--HG--
extra : rebase_source : 42678409280a795fe891e10eceb86fa269d1d2de
2018-07-16 21:27:08 +02:00
Miko Mynttinen
99cc376922 Bug 1462672 - Part 4: Add nsDisplayTransformGeometry r=mattwoodrow
MozReview-Commit-ID: 47lrPomXs2N

--HG--
extra : rebase_source : 2bde5b4d659e2945514bab74727f3ceb4246189a
2018-07-16 21:25:43 +02:00
Miko Mynttinen
c626df5251 Bug 1462672 - Part 3: Extract transform matrix selection into a separate function nsDisplayTransform::ShouldSkipTransform r=mattwoodrow
MozReview-Commit-ID: 4ZE0vvCucfz

--HG--
extra : rebase_source : c5e141dcef26cf7b01030825b79080cc939611bf
2018-07-16 21:24:13 +02:00
Miko Mynttinen
509284a26b Bug 1462672 - Part 2: Make nsDisplayTransform::GetTransformForRendering and DisplayItemClip::ApplyTo const r=mattwoodrow
MozReview-Commit-ID: B9zpHCDeUq3

--HG--
extra : rebase_source : d73737d6d593dbd498e7c958092ce6e7bf1dd97e
2018-07-16 21:20:21 +02:00
Miko Mynttinen
d2fbe47a2e Bug 1462672 - Part 1: Remove unused parameter aUseClipBounds r=mattwoodrow
MozReview-Commit-ID: IwqEzMKfxZ4

--HG--
extra : rebase_source : ecc2675f3a525957eae60db6e00558a9c1c8fc7d
2018-07-16 21:18:59 +02:00
Cosmin Sabou
099320d8ad Merge mozilla-central to autoland. a=merge 2018-07-18 20:21:59 +03:00
Kashav Madan
0c865cee42 Bug 1465616 - Use layout viewport size to compute visible rect for fixed position elements. r=mstange
Since fixed position elements are now scrollable, we need to ensure that they're
drawn using the layout viewport size instead of only the SPC-SPS, since
otherwise they'd be inaccurately clipped when scrolled.

MozReview-Commit-ID: 4p3pWnwluvz

--HG--
extra : rebase_source : f5bc1eae9bf2c8f4b9f78675e9da071de012160e
2018-07-04 16:10:04 -04:00
Bas Schouten
2ffa4da191 Bug 1476506: Move RoundedRect into Moz2D and convert all callers. r=mattwoodrow 2018-07-18 08:55:43 +02:00
Doug Thayer
29c0e06cd6 Bug 1471381 - Don't give up on rounded rects in DisplayItemClip r=mattwoodrow
Effectively we compute the diff by lopping off the rounded part
of each rect where appropriate. This gets a bit weird to think
about with very mismatched radii, but I think it works out(?)

MozReview-Commit-ID: 472gx7Hw1Br

--HG--
extra : rebase_source : 817a84d78c98ac99797ab73b89f8c667189767d1
2018-07-13 09:11:28 -07:00
Miko Mynttinen
dc2028f5bb Bug 1472465 - Update flattened nsDisplayOpacity geometry despite empty invalidation region r=mattwoodrow
MozReview-Commit-ID: 7mrTuQ6gEoA

--HG--
extra : rebase_source : eba482b61fe298734a0a727dc29453054131f746
2018-07-16 01:09:23 +02:00
Matt Woodrow
aaaba0f931 Bug 1474466 - Convert rounded rect clips into paint geometry if the display item type support it. r=bas,jnicol
MozReview-Commit-ID: EkqgSSLufnp

--HG--
extra : rebase_source : 3c308cd46934107f734b311ea2e2b26251c15bf5
2018-07-15 20:26:46 +12:00
Matt Woodrow
4f18c0f4a2 Bug 1475413 - Prefer using old items for uninvalidated frames during display list merging. r=miko
MozReview-Commit-ID: 14gc2IBJT1o

--HG--
extra : rebase_source : 6de86aec8ef1039b3adf8006cea456efadbed73b
2018-07-13 12:26:36 +12:00
Emilio Cobos Álvarez
1494e3f878 Bug 1474903: Minor static_cast cleanup in nsDisplayList. r=miko
MozReview-Commit-ID: 30vwluk0r39
2018-07-13 17:17:03 +02:00
Coroiu Cristina
681774eb08 Backed out changeset 9851707b13cb (bug 1471583) for Wr4 failures in multiple files e.g. css/CSS2/backgrounds/background-root-010.xht on a CLOSED TREE 2018-07-12 18:07:57 +03:00
Emilio Cobos Álvarez
b00499528d Bug 1471583: Don't record a successful draw result if the image is not complete yet. r=tnikkel
I've tried to unsuccessfully reproduce the same kind of failures locally under
rr with this patch applied, so that's a good sign.

This should fix the case where we don't invalidate from AttemptPartialUpdate
while trying to sync-decode.

This is a clear part of the problem, though not sure yet if it'll fix all the
issues we see in these tests. In any case I want to investigate those
separately.

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

MozReview-Commit-ID: H7OEvbQUues
2018-07-12 14:13:49 +02:00
Kartikaya Gupta
11b43679d8 Bug 1421825 - Fix crash and re-enable crashtest. r=jrmuizel
In some cases we get a gecko display list that looks like this:

WrapList with asr(<A>, <B>)
  Item with asr (<B>) and clipchain(<something> [A])

In this case, we would initialize the WebRenderLayerScrollData for the
nested item using a stop-at ancestor of A (because that was the leafmost
ASR from the containing WrapList) but the item itself has an ASR of B,
which is an ancestor of A. So when walking up from B we'd never hit the
stop-at ancestor, and so we'd end up duplicating metrics from the
containing WRLSD onto the nested WRLSD. This generated an assertion
failure in the APZ code.

This patch detects this scenario and skips adding metrics on the nested
WRLSD. This produces an APZ tree equivalent to what the non-WebRender
path would produce.

MozReview-Commit-ID: 8eo6pzXXKBd

--HG--
extra : rebase_source : 0581c54c4d9fa6ca08249e42b306c7155022bec7
2018-07-10 09:37:40 -04:00
Jamie Nicol
ab2277aaa8 Bug 1462584 - Avoid dereferencing DisplayItemData in GetOldLayerForFrame. r=mattwoodrow
It's causing cache misses which are showing up in profiles of the displaylist
mutate test case.

To avoid checking Disconnected(), we can destroy the DisplayItemData
and unset the item's pointer to it, rather than calling Disconnect()
in the first place.

To avoid fetching the LayerManager (to compare with mRetainingManager)
we can store this value on the display item along with the
DisplayItemData.

This change ensures that if a nsDisplayItem holds a pointer to a
DisplayItemData then that DisplayItemData holds a pointer back, and
vice-versa.

MozReview-Commit-ID: AAVAs8c0CQY

--HG--
extra : rebase_source : e60c378877618592f311e690219099b1cfc4c9d4
2018-05-10 16:53:34 +01:00
Matt Woodrow
6520bffb3a Bug 1421885 - Part 1: Don't let mNoActionRegion get complex when we've already added it to mDispatchToContentRegion. r=kats
MozReview-Commit-ID: 8oBbyseQsCV

--HG--
extra : rebase_source : 2327df91c4bd9f72a1f2a51d522b46f76608b611
2018-07-10 15:19:43 +12:00
Ciure Andrei
c01c70ada6 Backed out 2 changesets (bug 1421885) for test_group_touchevents-3.html failures CLOSED TREE
Backed out changeset faab566585a2 (bug 1421885)
Backed out changeset cac0b0aa948e (bug 1421885)
2018-07-10 02:59:05 +03:00
Matt Woodrow
c1d6c26906 Bug 1466638 - Implement support for ContainerLayerParameters::mOffset in nsDisplayImageContainer. r=mstange
This gets set to a non-zero value when we have an inactive ContainerLayer ancestor (filter in this case).
The current code assumes we'd never call BuildLayer on an image when that happen, but we force the pseudo-active
state here because background-position is animated (all properties have a transition).

MozReview-Commit-ID: 6pL8EJTNgWy

--HG--
extra : rebase_source : 6370fc79d5f47f0b5c4bbe86c0b605b90256b653
2018-07-09 16:11:08 +12:00
Matt Woodrow
3def26fd12 Bug 1421885 - Part 1: Don't let mNoActionRegion get complex when we've already added it to mDispatchToContentRegion. r=kats
MozReview-Commit-ID: 5DwLyJ7qeN0

--HG--
extra : rebase_source : 34740ca99fe1bec2f594c58967e39964026c1014
2018-07-10 10:50:10 +12:00
Ciure Andrei
a3f8fecfd2 Backed out 2 changesets (bug 1421885) for helper_touch_action_complex.html failures CLOSED TREE
Backed out changeset 42f32a0e7508 (bug 1421885)
Backed out changeset 9f106d66d06e (bug 1421885)
2018-07-10 00:35:21 +03:00
Matt Woodrow
3988cf0afa Bug 1421885 - Part 1: Don't let mNoActionRegion get complex when we've already added it to mDispatchToContentRegion. r=kats
MozReview-Commit-ID: 11gi2u4bAdJ

--HG--
extra : rebase_source : b3dc98930fb623244689fa15ff6a5275bc212312
2018-07-09 16:12:54 +12:00
Kartikaya Gupta
78dba184db Bug 1461313 - Handle invalid clip-path URIs with WebRender. r=mstange
In the case of an invalid clip-path, the browser is supposed to discard the
mask entirely. In the non-webrender codepath this would happen
implicitly because the computed MaskUsage would have no flags set, and
so no actions would be taken on the gfxContext which contained the
display items rasterized so far. In the WebRender codepath, though, we
invoke the code on a A8 drawtarget that's zero-filled, so if PaintMask
fails to rasterize anything into it, it gets treated as a "mask everything
out" mask. Instead, this patch makes it so that we detect the scenario
where the computed MaskUsage is a no-op, and ensure that we don't apply
the mask in that case.

An alternative approach considered was to initialize the A8 drawtarget to
white instead of black but in cases where there is an actual mask, the
rest of the code assumes it is zero-filled and so that doesn't work.

MozReview-Commit-ID: Hw7nCiUXVJl

--HG--
extra : rebase_source : 241d550fa0ed1b3bd088c73d9565b166acbcece8
2018-07-05 08:05:34 -04:00
Matt Woodrow
f06b4bd62c Bug 1458121 - Don't try to layerize when we have a clip-path mask as well as rounded rect clipping. r=mstange
MozReview-Commit-ID: GhOay2a6z9t

--HG--
extra : rebase_source : 2c3dcf4fe05046da1790a46fb96d7acdf7caf86c
2018-06-21 12:43:22 +12:00
Matt Woodrow
6f70c89500 Bug 1473908 - Add new telemetry measurement for recording time spent in FrameLayerBuilder. r=bas,francois
MozReview-Commit-ID: 9oilZL1lPGp

--HG--
extra : rebase_source : 6682218e660b9345e020027aa6f445125d070bf2
2018-07-06 19:10:56 -07:00
Jamie Nicol
7d9ee61570 Bug 1473379 - Change PaintedLayerData::mAssignedDisplayItems to a std::vector. r=mattwoodrow
This allows us to call emplace_back, saving us a move.

MozReview-Commit-ID: 4wRiAxl7LSN

--HG--
extra : rebase_source : 0ea07c896c2807a65ad7493a22b8e2b61e68aa01
2018-07-03 22:39:04 -04:00
Andreea Pavel
be6dd58462 Backed out changeset 5c9b8478d69d (bug 1473379) for bustages at builds/worker/workspace/build/src/obj-firefox/dist/include/nsTArray.h:693 on a CLOSED TREE 2018-07-05 16:45:05 +03:00
Jamie Nicol
d113489b72 Bug 1473379 - Change PaintedLayerData::mAssignedDisplayItems to a std::vector. r=mattwoodrow
This allows us to call emplace_back, saving us a move.

MozReview-Commit-ID: 4wRiAxl7LSN

--HG--
extra : rebase_source : 48a0eee8f61f568e0910476dbf672cb43827187e
2018-07-03 22:39:04 -04:00
Hiroyuki Ikezoe
8015da3cef Bug 1472654 - Drop SchedulePaint call in AddAnimationsForProperty. r=birtles
This call was added in bug 929362, but the key factor to fix the bug was just
setting a flag representing that the target frame doesn't allow the animation
running on the compositor and checking the flag in the function whether the
animation can be run on the compositor or not in later ticks.  So the call
wasn't necessary in the first place.

The test case here fails without this fix.  The test case actually doesn't
observe animation restyle count at all, so it might look a bit awkward in
file_restyles.html, if we add other test cases checking SchedulePaint calls
in future, we will move the tests in a different file.
(The reason there is no animation restyles in this case is that we properly
 throttle the animation in this case.)

MozReview-Commit-ID: AyHciRJHM0s

--HG--
extra : rebase_source : f3963336ea9165b0a9c1a662bdac5c645b209219
2018-07-05 07:18:45 +09:00
Ryan Hunt
0412e688a8 Bug 1473301 - Remove BorderLayer. r=mattwoodrow
MozReview-Commit-ID: KGXW2lYBZ3c

--HG--
extra : rebase_source : a782ec3fb1c87d1d034219cbd7fd1b8d9d751559
extra : amend_source : ec7c8f7b4080c53a851117cfb1c7611c3606c562
2018-07-03 16:15:58 -05:00
Gurzau Raul
03062dd04b Merge inbound to mozilla-central. a=merge 2018-07-04 12:58:33 +03:00
Jamie Nicol
a1d1e03224 Bug 1470758 - Ensure we don't merge items with the same frame. r=mattwoodrow 2018-07-03 21:31:26 -04:00
Bas Schouten
a95db7c11a Bug 1473136: Cache mNeedsActiveLayer once for nsDisplayOpacity. r=mattwoodrow 2018-07-03 23:07:44 +00:00
Bas Schouten
7f6794045e Bug 1472830: Reuse the work from ApplyOpacityToChildren when possible. r=mattwoodrow 2018-07-03 20:26:40 +00:00
Olli Pettay
50136cf862 Bug 1472650 - nsCSSRendering::ShouldPaintBoxShadowInner should use GetComposedDoc, r=emilio
--HG--
extra : rebase_source : 2d484667820757943eae22543770409df27f0027
2018-07-03 17:57:11 +03:00
Matt Woodrow
70d97b231e Bug 1473137 - Convert mOpacityIndices into a stack-based vector with preallocated storage to avoid allocations. r=jnicol
MozReview-Commit-ID: Gi5z3YaH7kY

--HG--
extra : rebase_source : 9213eea1f5886e23977935b8efdad58e2195cfbc
2018-07-03 18:58:35 -04:00
Jamie Nicol
3b0fe9b3a8 Bug 1468738 - Create new DisplayItemDatas if required for unmerged display items r=mattwoodrow 2018-07-02 10:37:19 +01:00
Martin Robinson
34359c5dd9 Bug 1470125 - Update WR bindings for changes in WR PR 2848. r=Gankro
MozReview-Commit-ID: D2hLIqlnfU6

--HG--
extra : rebase_source : 6a0ef8c6d61ab937695c42224eb3acb0a5e531f7
2018-06-13 15:40:13 -07:00
shindli
c83eb1f34f Backed out 3 changesets (bug 1470125) for force-cargo-library-build bustages on a CLOSED TREE
Backed out changeset c6ef35a760ae (bug 1470125)
Backed out changeset cb8bed4a7691 (bug 1470125)
Backed out changeset 82527f62f249 (bug 1470125)
2018-06-28 21:25:33 +03:00
Martin Robinson
be65a0bdb1 Bug 1470125 - Update WR bindings for changes in WR PR 2848. r=Gankro
MozReview-Commit-ID: D2hLIqlnfU6

--HG--
extra : rebase_source : 328d76c6c9f428b55c8116fc447f9e3d6a76371a
2018-06-13 15:40:13 -07:00
Bas Schouten
43ddb842d7 Bug 1471437 - Part 2: Reset mPaintRect only when the new building rect is different, and update mPaintRectValid when it is. r=mattwoodrow
MozReview-Commit-ID: 5djSr7eNk8W
2018-06-27 16:47:55 +02:00
Bas Schouten
40d7ba26d3 Bug 1471437 - Part 1: Store the previous paint rect before occlusion culling. r=mattwoodrow
MozReview-Commit-ID: 8Bw9hsPcipZ
2018-06-27 16:47:54 +02:00
Chris Peterson
2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Chris Peterson
74dea2596b Bug 1469769 - Part 3: css: Replace failing NS_NOTREACHED with NS_ERROR. r=heycam
I'm replacing non-failing calls to NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE, but this SelectionManager assertion fails when running the Linux debug Web platform tests with e10s test-linux32/debug-web-platform-tests-reftests-e10s-6 W-e10s(Wr6). This assertion failure is bug 1221888.

Marionette  INFO    Testing http://web-platform.test:8000/css/CSS2/ui/outline-applies-to-005.xht == http://web-platform.test:8000/css/CSS2/reference/no-red-on-blank-page-ref.xht
###!!! ASSERTION: we should have saved a frame property: 'Error', file /builds/worker/workspace/build/src/layout/painting/nsCSSRendering.cpp, line 1038

This patch DOES NOT fix the cause of the assertion failure (a missing HyperTextAccessible). It just replaces this failing NS_NOTREACHED with NS_ERROR because I can't replace with a fatal MOZ_ASSERT_UNREACHABLE.

MozReview-Commit-ID: L26bu4agM6y

--HG--
extra : rebase_source : 9a4188719fe5069cfbec47ae5fae0632ae1d5ee8
extra : intermediate-source : 0a3f719dce16fa80d6ae1bb20a41570050847731
extra : source : aadc67658e679893808256f60c480efeed426bc1
2018-06-04 01:41:20 -07:00
Dan Glastonbury
334258d77f Bug 1467621 - P1: nsCSSShadowItem - Change nscolor to StyleComplexColor. r=xidorn
MozReview-Commit-ID: moE2CI7fT8

--HG--
extra : rebase_source : 7b64beccbd4c499d93567d62b913257dfa53c9fe
2018-06-19 14:18:33 +10:00
Tyson Smith
f806457a58 Bug 1469472 - Add crashtest. 2018-06-22 12:20:37 -04:00
Ryan Hunt
27b4840273 Bug 1466146 - Add FlushRasterization as a metric for CONTENT_PAINT_PHASE_WEIGHT. r=mattwoodrow, data-review=francois
--HG--
extra : rebase_source : dcbf77adc7891b5f9ca49627370ce71f64ab3b87
2018-06-05 12:30:42 -05:00
Botond Ballo
02891402c8 Bug 1459696 - Respect nested inactive layer clips when combining a layer's event regions into its ancestors'. r=mstange
MozReview-Commit-ID: GkGSOeDvkvS

--HG--
extra : rebase_source : adb52d7d513789306340b743083b5560bf114ae2
2018-05-25 23:33:41 -04:00
Cosmin Sabou
4c18cd4036 Merge inbound to central. a=merge
--HG--
rename : servo/components/style/properties/longhand/box.mako.rs => servo/components/style/properties/longhands/box.mako.rs
2018-06-21 04:16:40 +03:00
Jamie Nicol
f2b10c6146 Bug 1469472 - Ensure we don't merge multiple display items with the same frame. r=mattwoodrow 2018-06-20 23:00:48 +01:00
Hiroyuki Ikezoe
ca097c91ca Bug 1468124 - Don't calculate overflow area if there is any frames in preserve-3d context. r=mattwoodrow
MozReview-Commit-ID: 2Ts3MzdouB7

--HG--
extra : rebase_source : f4cbff214d410012dae862670a82361e9a322f23
2018-06-19 14:49:47 +09:00
Matt Woodrow
668b361a1d Bug 1466024 - Cleanup nsDisplaySubDocument display items when we swap the subdoc into a different outer document. r=miko
MozReview-Commit-ID: E4NKiIdXZsY

--HG--
extra : rebase_source : afdce58ba43dbf9bd93d971bd8b57240461c9954
2018-06-01 17:23:55 +12:00
Jamie Nicol
4c1bd94715 Bug 1468426 - Change LayerManagerData::mDisplayItems to a vector instead of hashtable. r=mattwoodrow
This should improve cache locality and help speed up layer building.

MozReview-Commit-ID: 9IvU23alnaa

--HG--
extra : rebase_source : 0ef20b8b758102876c3e60a4cfd8ffec977590a9
2018-06-14 10:04:02 -07:00
Hiroyuki Ikezoe
afa2fcd95a Bug 1469220 - Backed out changeset 7fc66c715a0f and 39cb4d5f6602. r=mattwoodrow
Those changesets which are related to animations introduced in bug 1462497
seems to cause new crashes.  I think the first two changesets for the bug fixed
the original crash cases but the last two (i.e. these changesets) introduced
other crashes unfortunately.

MozReview-Commit-ID: 9LD2hIIXA2y

--HG--
extra : rebase_source : 102c5532128039dcf8274c214e17d58d9a1aa483
2018-06-18 06:16:07 +09:00
Andi-Bogdan Postelnicu
163724eccf Bug 1453795 - Layout/Painting - Initialize member fields in classes/ structures. r=stange
--HG--
extra : amend_source : 11dc03533fdbc3924f0145481733d46293d528e2
2018-06-15 19:13:05 +03:00
Matt Woodrow
cfbee4345b Bug 1461267 - Add some more assertions to verify the length of the DAG. r=mstange
MozReview-Commit-ID: DFy6Kb2KSwf

--HG--
extra : rebase_source : 5db508486e4d266b6cb80df83eda8c8b01253486
2018-06-19 15:14:14 +12:00
Doug Thayer
b4366200d0 Bug 1468401 - Restrict ACTIVITY_TRIGGERED_REPAINT heuristic r=mattwoodrow
See comment for explanation. This seemed like the most conservative
way to solve the motionmark regression from bug 1468401.

MozReview-Commit-ID: GoD636xRynF

--HG--
extra : rebase_source : 841c1339cc1875e5c958802260fffd68e71b70e1
2018-06-14 09:24:34 -07:00
Dan Glastonbury
7a5cb13bc2 Bug 1467379 - P1: nsStyleGradientStop - Change nscolor to StyleComplexColor. r=xidorn
MozReview-Commit-ID: D9KQcv9uQ4S

--HG--
extra : rebase_source : 5a9bc69455c9c752a2be6a9579185400cce149df
2018-06-07 15:55:26 +10:00