Commit Graph

652043 Commits

Author SHA1 Message Date
Gurzau Raul
c8aba9a691 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-05-20 16:47:30 +03:00
Gurzau Raul
ce435076fa Merge autoland to mozilla-central. a=merge 2019-05-20 16:42:23 +03:00
ffxbld
866936d99a Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2019-05-20 13:22:45 +00:00
Jonas Allmann
0d25b2aa37 Bug 1550473 - Remove ajv-4.1.1.js from eval()-whitelist. r=ckerschb
Allow eval() by flipping pref in all affected test files.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 13:20:16 +00:00
ffxbld
d7501dfd9d No bug - Tagging mozilla-central 97dae745c1b3ef2292127ba1c4e90b1345c8f576 with FIREFOX_NIGHTLY_68_END a=release DONTBUILD CLOSED TREE 2019-05-20 13:18:38 +00:00
Nicolas B. Pierron
d9f43206ff Bug 1550751 - Skip rounding the dividend of non-truncated integer division, as already handled by a bailout. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D30672

--HG--
extra : moz-landing-system : lando
2019-05-20 13:02:43 +00:00
ffxbld
132d447ea6 No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D31781

--HG--
extra : moz-landing-system : lando
2019-05-20 12:42:12 +00:00
Bogdan Tara
6150afdc54 Backed out 2 changesets (bug 1359240) for gfxSVGGlyphs.cpp bustages CLOSED TREE
Backed out changeset 02eea6ec83db (bug 1359240)
Backed out changeset a31ec848a1ef (bug 1359240)
2019-05-20 15:21:39 +03:00
Mihai Alexandru Michis
a887c90ea9 Merge inbound to mozilla-central. a=merge 2019-05-20 12:53:43 +03:00
violet
94b46be68b Bug 1520020 - Accept empty argument for some filters r=emilio
Filters blur(), invert(), etc. can omit argument.

Computed/specified style serialization is a little tricky w.r.t the shortest
serialization principle. Ideally we should serialize `invert(1)` to `invert()`,
but that will be a breaking change, so we always serialize them with an
argument.

Note, Blink/WetKit treat specified (but not computed) style serialization
differently when the specified one is originally without argument. Our
current behavior is the same as pre-Chromium Edge.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 07:01:29 +00:00
Brian Hackett
0a101d1747 Bug 1546736 Part 4 - Only capture web socket stacks for net monitor when the docshell/worker is being watched by the devtools, r=bzbarsky.
--HG--
extra : histedit_source : c2973ae931d85c927e234562d0eb89ff49bbae99
2019-05-19 12:53:45 -10:00
Brian Hackett
796677489b Bug 1392411 Part 3 - Add test for capturing websocket stacks in net monitor, r=ochameau.
--HG--
extra : histedit_source : 64cffb37c23e2d2a87dddc7b4fd52bababb817ac
2019-05-19 12:45:19 -10:00
Brian Hackett
ebb59a5eec Bug 1392411 Part 2 - Report stacks for websocket construction in net monitor, r=ochameau.
--HG--
extra : histedit_source : 05865e0d0447d9f075a747c3b707176f892c6083
2019-05-19 12:44:55 -10:00
Brian Hackett
9e70cb8a66 Bug 1392411 Part 1 - Report stacks to net monitor when creating web sockets, r=bzbarsky.
--HG--
extra : histedit_source : 19a30fceb5c8073551265398287aaa8fb226a228
2019-05-19 12:44:37 -10:00
Henrik Skupin
abb7207942 Bug 1548845 - [raptor] Enable Youtube Playback benchmark tests in CI. #perftest r=perftest-reviewers,stephendonner,rwood
Differential Revision: https://phabricator.services.mozilla.com/D30484

--HG--
extra : moz-landing-system : lando
2019-05-17 20:47:59 +00:00
Henrik Skupin
c69340b591 Bug 1548845 - [raptor] Integrate Youtube video playback performance suite as benchmark test. r=perftest-reviewers,rwood
Differential Revision: https://phabricator.services.mozilla.com/D30483

--HG--
extra : moz-landing-system : lando
2019-05-17 20:16:12 +00:00
Ed Lee
3221e13d38 Bug 1552538 - Check for gBrowser before checking for pinned tabs r=r1cky
Differential Revision: https://phabricator.services.mozilla.com/D31735

--HG--
extra : moz-landing-system : lando
2019-05-19 11:04:16 +00:00
Gijs Kruitbosch
1722aa9085 Bug 1552425 - re-disable e10s when generating PGO profile data to fix speedometer perf regression r=froydnj
Bug 1548941 restricted under which circumstances we allow the
browser.tabs.remote.autostart pref to turn off e10s. The PGO profileserver.py
script relied on the unittest-required user.js prefs collection to turn off
e10s (see also bug 1196094) via this pref. For PGO builds, we do not set the
MOZ_DISABLE_NONLOCAL_CONNECTIONS env var, which meant that we stopped
honouring the pref to turn off e10s. Unfortunately, this meant that
e10s was inadvertently now switched on for the pgo profiling, which
negatively impacted speedometer on PGO builds (and possibly other tests).

All this change does is re-disable e10s for PGO profiling. We should
investigate how to turn e10s on "properly" for PGO, but we can do that in
bug 1196094, without taking this temporary regression, especially as 68
branches.

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

--HG--
extra : moz-landing-system : lando
2019-05-19 13:26:13 +00:00
Geoff Brown
c0efa6c34c Bug 1552334 - Ignore case when searching for android bogomips; r=jmaher
Older Android reported "BogoMIPS"; newer Android reports "bogomips".

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

--HG--
extra : moz-landing-system : lando
2019-05-19 08:38:48 +00:00
Emilio Cobos Álvarez
f4c39907e0 Bug 1552628 - Remove some more dead nsCSSValue code. r=xidorn
Most of it is not used at this point, this leaves the parts that are used by
MathML, which are minimal.

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

--HG--
extra : moz-landing-system : lando
2019-05-19 00:47:18 +00:00
Hiroyuki Ikezoe
ba8e59a283 Bug 1552089 - Don't tweak snapport position even in the case of RTL scroll containers. r=botond
In RTL scroll containers, the right most x-axis scroll position is 0 and
leftward scroll positions are negative values.  And also
nsLayoutUtils::TransformFrameRectToAncestor, which is used to tell whether the
snap target element is inside the destination snapport or not [1], returns
negative x-axis positions for elements in RTL scroll containers if the element
is positioned at places where the elements are outside of the initial scroll
position (0, 0).  So we don't need to tweak snapport postion even in the case
of RTL scroll containers.

Instead, what we needed in the first place is that we choose a proper x-axis
scroll position that the targe element appears inside the snapport.

[1] https://searchfox.org/mozilla-central/rev/11cfa0462a6b5d8c5e2111b8cfddcf78098f0141/layout/generic/nsGfxScrollFrame.cpp#6604-6605,6616-6617

Depends on D31409

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

--HG--
extra : moz-landing-system : lando
2019-05-17 20:36:57 +00:00
Hiroyuki Ikezoe
f2920c13d8 Bug 1551806 - Don't try to snap if there is no valid snap positions for the scroll-snap v1 implementation. r=botond
From the spec [1];
  If a valid snap position exists then the scroll container must snap at the
  termination of a scroll (if none exist then no snapping occurs).


Both of test cases in this commit fail without this change.

[1] https://drafts.csswg.org/css-scroll-snap-1/#valdef-scroll-snap-type-mandatory

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

--HG--
extra : moz-landing-system : lando
2019-05-17 20:50:24 +00:00
Hiroyuki Ikezoe
4a8729bdf1 Bug 1552134 - Add width=device-width,initial-scale=1 to avoid auto shrink the contents to intersection-observer tests. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D31580

--HG--
extra : moz-landing-system : lando
2019-05-18 23:43:54 +00:00
Bastien Orivel
8a3f3e785c Bug 1550903 - Part 2: Revendor dependencies. r=emilio,kats,froydnj
It was unhappy about the new LICENSE (fuchsia-cprng) but it's the same
as the other fuschia crates. Since I don't think this is used at build
time but has the same license as the other fuschia crates, I put it in
the RUNTIME_LICENSE_PACKAGE_WHITELIST list. I also removed sha1 from
that list as it's not used anymore

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

--HG--
rename : third_party/rust/httparse/Cargo.toml => third_party/rust/autocfg/Cargo.toml
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/autocfg/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/autocfg/LICENSE-MIT
rename : third_party/rust/httparse/Cargo.toml => third_party/rust/cloudabi/Cargo.toml
rename : third_party/rust/httparse/Cargo.toml => third_party/rust/fuchsia-cprng/Cargo.toml
rename : third_party/rust/sha1/LICENSE => third_party/rust/fuchsia-cprng/LICENSE
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/mio-extras/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/mio-extras/LICENSE-MIT
rename : third_party/rust/rand/.cargo-checksum.json => third_party/rust/rand-0.4.3/.cargo-checksum.json
rename : third_party/rust/rand/CHANGELOG.md => third_party/rust/rand-0.4.3/CHANGELOG.md
rename : third_party/rust/rand/Cargo.toml => third_party/rust/rand-0.4.3/Cargo.toml
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/rand-0.4.3/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/rand-0.4.3/LICENSE-MIT
rename : third_party/rust/rand/README.md => third_party/rust/rand-0.4.3/README.md
rename : third_party/rust/rand/appveyor.yml => third_party/rust/rand-0.4.3/appveyor.yml
rename : third_party/rust/rand/benches/bench.rs => third_party/rust/rand-0.4.3/benches/bench.rs
rename : third_party/rust/rand/benches/distributions/exponential.rs => third_party/rust/rand-0.4.3/benches/distributions/exponential.rs
rename : third_party/rust/rand/benches/distributions/gamma.rs => third_party/rust/rand-0.4.3/benches/distributions/gamma.rs
rename : third_party/rust/rand/benches/distributions/mod.rs => third_party/rust/rand-0.4.3/benches/distributions/mod.rs
rename : third_party/rust/rand/benches/distributions/normal.rs => third_party/rust/rand-0.4.3/benches/distributions/normal.rs
rename : third_party/rust/rand/benches/generators.rs => third_party/rust/rand-0.4.3/benches/generators.rs
rename : third_party/rust/rand/benches/misc.rs => third_party/rust/rand-0.4.3/benches/misc.rs
rename : third_party/rust/rand/src/distributions/exponential.rs => third_party/rust/rand-0.4.3/src/distributions/exponential.rs
rename : third_party/rust/rand/src/distributions/gamma.rs => third_party/rust/rand-0.4.3/src/distributions/gamma.rs
rename : third_party/rust/rand/src/distributions/mod.rs => third_party/rust/rand-0.4.3/src/distributions/mod.rs
rename : third_party/rust/rand/src/distributions/normal.rs => third_party/rust/rand-0.4.3/src/distributions/normal.rs
rename : third_party/rust/rand/src/distributions/range.rs => third_party/rust/rand-0.4.3/src/distributions/range.rs
rename : third_party/rust/rand/src/distributions/ziggurat_tables.rs => third_party/rust/rand-0.4.3/src/distributions/ziggurat_tables.rs
rename : third_party/rust/rand/src/jitter.rs => third_party/rust/rand-0.4.3/src/jitter.rs
rename : third_party/rust/rand/src/lib.rs => third_party/rust/rand-0.4.3/src/lib.rs
rename : third_party/rust/rand/src/os.rs => third_party/rust/rand-0.4.3/src/os.rs
rename : third_party/rust/rand/src/prng/chacha.rs => third_party/rust/rand-0.4.3/src/prng/chacha.rs
rename : third_party/rust/rand/src/prng/isaac.rs => third_party/rust/rand-0.4.3/src/prng/isaac.rs
rename : third_party/rust/rand/src/prng/isaac64.rs => third_party/rust/rand-0.4.3/src/prng/isaac64.rs
rename : third_party/rust/rand/src/prng/mod.rs => third_party/rust/rand-0.4.3/src/prng/mod.rs
rename : third_party/rust/rand/src/prng/xorshift.rs => third_party/rust/rand-0.4.3/src/prng/xorshift.rs
rename : third_party/rust/rand/src/rand_impls.rs => third_party/rust/rand-0.4.3/src/rand_impls.rs
rename : third_party/rust/rand/src/read.rs => third_party/rust/rand-0.4.3/src/read.rs
rename : third_party/rust/rand/src/reseeding.rs => third_party/rust/rand-0.4.3/src/reseeding.rs
rename : third_party/rust/rand/src/seq.rs => third_party/rust/rand-0.4.3/src/seq.rs
rename : third_party/rust/rand/utils/ziggurat_tables.py => third_party/rust/rand-0.4.3/utils/ziggurat_tables.py
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/rand_chacha/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/rand_chacha/LICENSE-MIT
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/rand_core-0.3.1/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/rand_core-0.3.1/LICENSE-MIT
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/rand_core/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/rand_core/LICENSE-MIT
rename : third_party/rust/httparse/Cargo.toml => third_party/rust/rand_hc/Cargo.toml
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/rand_hc/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/rand_hc/LICENSE-MIT
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/rand_isaac/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/rand_isaac/LICENSE-MIT
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/rand_jitter/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/rand_jitter/LICENSE-MIT
rename : third_party/rust/rand/src/jitter.rs => third_party/rust/rand_jitter/src/lib.rs
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/rand_os/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/rand_os/LICENSE-MIT
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/rand_pcg/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/rand_pcg/LICENSE-MIT
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/rand_xorshift/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/rand_xorshift/LICENSE-MIT
rename : third_party/rust/httparse/Cargo.toml => third_party/rust/rdrand/Cargo.toml
rename : third_party/rust/rand/LICENSE-APACHE => third_party/rust/sha-1/LICENSE-APACHE
rename : third_party/rust/rand/LICENSE-MIT => third_party/rust/sha-1/LICENSE-MIT
extra : moz-landing-system : lando
2019-05-18 13:39:31 +00:00
Bastien Orivel
cf92185937 Bug 1550903 - Part 1: Update ws to 0.8. r=emilio
This is part of the effort to get all the other versions of rand out.
Unfortunately the diff is kinda bug because this is the first crate
requiring rand 0.6 which has been split into multiple crates.

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

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

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

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

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

--HG--
extra : moz-landing-system : lando
2019-05-18 20:11:11 +00:00
Gabriele Svelto
6b8e7aca2f Bug 1547698 - Reorganize the code used to write the annotations upon a main process crash r=froydnj
Annotation on main process crashes are written to both the .extra file
(for crash submission) and to the event file so that the browser can
detect the crash when restarting even if the crash report files have
been deleted.

This patch factorizes all the code that writes to both files, cutting
down all the duplicate calls, and fixes an issue with the
BreakpadReserveAddress and BreakpadReserveSize annotations which were
not written to the event file.

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

--HG--
extra : moz-landing-system : lando
2019-05-18 16:19:57 +00:00
Gabriele Svelto
9f9c7c8211 Bug 1547698 - Refactor the code that writes the .extra file for a content process crash or hang r=froydnj
Upon a content process crash or hang crash annotations were incrementally
written into the .extra file starting with the exception handler callback and
then in a number of different places before the file was ready for submission.
This had a number of downsides: since the annotations were directly added to
the file it was impossible to tell which ones were already written at a
certain point in time, additionally some were written twice or even thrice.
The code doing the writing would also behave differently depending on the
contents of the file, the parameters passed to it and the contents of global
variables.

This change overhauls the whole process by keeping the annotations into a
temporary per-crash annotation table which is filled with all the required
annotations before being written out in a single pass when they are ready.

The annotations are gathered from the main process annotation table, the
per-process one (held by the CrashReporterHost) and exception-time specific
ones.

The resulting annotations are slightly different than before the patch: first
of all there are no more duplicate entries in the .extra file and secondly all
content/plugin process hangs annotations are properly filtered, before
annotations that were main process-only would leak into them.

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

--HG--
extra : moz-landing-system : lando
2019-05-18 16:19:55 +00:00
Razvan Caliman
36731b4fb2 Bug 1550794 - Add telemetry probe to count number of node selections. r=gl
Adds a new permanent telemetry probe (scalar) to count the number of times a node selection is made in the Inspector. This count will be correlated with other existing probes (open count, duration open) to establish a more accurate baseline for Inspector usage and correct for accidental usage.

When opening the Inspector via the context menu ("Inspect Element"), the selection is counted twice: once when automatically selecting the `<body>` to build the dom tree and once more for selecting the actual target node. This side-effect does not pollute our data. We assign a higher weight to the behavior of "Inspect Element" as being intentional usage of the Inspector so the higher node selection count works in our favor.

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

--HG--
extra : moz-landing-system : lando
2019-05-17 16:42:48 +00:00
ffxbld
8830549129 No Bug, taskcluster/docker/funsize-update-generator pipfile-update. r=sfraser
Differential Revision: https://phabricator.services.mozilla.com/D31760

--HG--
extra : moz-landing-system : lando
2019-05-20 10:13:21 +00:00
Brian Birtles
1254291373 Bug 1253476 - Make whitespace in Web Animations WebIDL definitions more consistent; r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D30611

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:44 +00:00
Brian Birtles
1acaba034d Bug 1253476 - Turn on auto-removing behavior by default in Nightly; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D30328

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:42 +00:00
Brian Birtles
2f6180dd9e Bug 1253476 - Use update() to update declarations from Servo_DeclarationBlock_SetPropertyToAnimationValue; r=emilio
This method is used when updating the SMIL override style and from Web
Animations' Animation.commitStyles method. By using update we accurately return
false when no change is made to a declaration block.

For SMIL this simply acts as an optimization, meaning we can avoid updating the
SMIL override style ub some cases.

For Animation.commitStyles, however, this allows us to avoid generating
a mutation record. Normally making a redundant change to an attribute *does*
generate a mutation record but the style attribute is different. All browsers
avoid generating a mutation record for a redundant change to inline style.
This is specified in the behavior for setProperty[1] which does not update the
style attribute if updated is false.

[1] https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty

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

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:39 +00:00
Brian Birtles
65f06d35fe Bug 1253476 - Implement Animation.commitStyles; r=boris,emilio,bzbarsky,smaug
Differential Revision: https://phabricator.services.mozilla.com/D30327

--HG--
extra : moz-landing-system : lando
2019-05-20 06:04:23 +00:00
Brian Birtles
7980decbd6 Bug 1253476 - Move IsRendered to Element; r=emilio
And update the GitHub issue link at the same time since #3947 was duped to
#1837.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:27 +00:00
Brian Birtles
cb3c791020 Bug 1253476 - Implement Animation::Persist; r=boris,bzbarsky
https://drafts.csswg.org/web-animations-1/#dom-animation-persist

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

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:22 +00:00
Brian Birtles
050372ea8e Bug 1253476 - Don't composite removed animations; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D30324

--HG--
extra : moz-landing-system : lando
2019-05-20 05:55:52 +00:00
Brian Birtles
8ceb39cc5f Bug 1253476 - Add tests that removing is triggered at the right time; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D30323

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:16 +00:00
Brian Birtles
5b145a6de4 Bug 1253476 - Add remove events; r=boris,bzbarsky
This patch introduces the machinery for dispatching remove events but does not
actually cause removing to do anything to the output of the animation beyond
updating its replaceState member.

The expected behavior is defined in:

  https://drafts.csswg.org/web-animations-1/#removing-replaced-animations

And the corresponding IDL members are defined in:

  https://drafts.csswg.org/web-animations-1/#animation
  https://drafts.csswg.org/web-animations-1/#enumdef-animationreplacestate

Tests for these events are added in the next patch in this series.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 05:48:29 +00:00
Brian Birtles
aa1c523b1b Bug 1253476 - Add KeyframeEffect::GetPropertySet; r=boris
Differential Revision: https://phabricator.services.mozilla.com/D30321

--HG--
extra : moz-landing-system : lando
2019-05-20 05:48:31 +00:00
Brian Birtles
c7c4f6d875 Bug 1253476 - Add DefaultHasher implementation for OwningAnimationTarget; r=njn
Later in this patch series we will add a HashSet<OwningAnimationTarget> member
to EffectCompositor. This patch provides the necessary definitions to support
that.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:07 +00:00
Brian Birtles
25c05a66db Bug 1253476 - Run microtask checkpoint for updating timing after updating all timelines; r=hiro
According to the procedure to update animations and send events[1] the UA should
update all timelines first and _then_ run a microtask checkpoint.

As a result, when we run callbacks for the finished promise on an Animation they
should see the fully up-to-date state of all animations, regardless of which
timeline they are attached to.

However, that is currently not the case since we run a microtask checkpoint
after updating each individual timeline.

This difference will become more significant later in this patch series when we
introduce another step--removing replaced animations--that _also_ should happen
before we run the microtask checkpoint (so that the promise callbacks always see
a fully-up-to-date state).

This patch makes our handling a little more in line with the spec. It's not
quite the same because it's possible there may be other refresh driver observers
that trigger a microtask checkpoint in between ticking the different timelines
but that case is expected to be rare and fixing it would require maintaining
a separate queue for timeline observers that we run after all other observers--
so it is probably not necessary to fix that case at this stage.

The test added in this patch fails without the code changes in this patch.

[1] https://drafts.csswg.org/web-animations-1/#update-animations-and-send-events

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

--HG--
extra : moz-landing-system : lando
2019-05-20 05:22:03 +00:00
Brian Birtles
af5c2027d2 Bug 1253476 - Make Animation::Tick do finish actions synchronously; r=hiro
Animation::UpdateTiming takes a SyncNotifyFlag parameter. This is passed to
UpdateFinishedState where it determines how we handle finish actions.

If it is async we queue a microtask where we re-evaluate if the animation is
finished or not before queuing events / resolving promises.

That allows code like the following to _not_ trigger finish events:

```
const animation = elem.animate({...}, 1000);
animation.currentTime += 1000;
animation.effect.updateTiming({ duration: 2000 });
```

(Since the check that the animation is finished will run in a microtask _after_
the call to updateTiming.)

When the flag is "sync" we still don't _actually_ run the finish actions
entirely synchronously: the finished promise is resolved synchronously, but
resolving a promise actually queues a microtask for each callback. Likewise, the
finish event is queued synchronously, but not dispatched.

Since there should be no opportunity for script to run between when we call
Animation::Tick and when we run the next microtask checkpoint (currently at the
end of DocumentTimeline::WillRefresh but that will change slightly in the next
patch in this series) there is no need to introduce the extra "async" microtask
for re-evaluating an animation's finished state. Instead it should be possible
to use the "sync" finishing behavior. Such a change should be unobservable to
Web content but will reduce indirection somewhat.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 05:20:17 +00:00
Brian Birtles
5fe06d1f3c Bug 1253476 - Use in-class member initializers in Animation.h; r=hiro
The in-class initializers are easier to maintain since you don't have to try and
match them up with the constructor initializer list (including matching the
order).

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

--HG--
extra : moz-landing-system : lando
2019-05-20 05:20:07 +00:00
Edgar Chen
94950fffc0 Bug 1549351 - Add tests for UA rejected promise; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D31733

--HG--
extra : moz-landing-system : lando
2019-05-20 09:28:23 +00:00
Edgar Chen
e336502f67 Bug 1549351 - Promise rejection event should not be sent for cross-origin scripts; r=smaug,till
Differential Revision: https://phabricator.services.mozilla.com/D31565

--HG--
extra : moz-landing-system : lando
2019-05-19 01:18:04 +00:00
Julien Cristau
1c6fe6b8d4 Bug 1536465 - remove expiring FX_TAB_REMOTE_NAVIGATION_DELAY_MS telemetry probe. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D27328

--HG--
extra : rebase_source : 2f8c9ad952dfe9f5772709723a4fdfe0411083ee
2019-05-20 11:57:42 +02:00