Commit graph

128 commits

Author SHA1 Message Date
Brian Birtles
4bf4b6e949 Bug 1524480 - Unified build fixes for KeyframeEffect.cpp and KeyframeUtils.cpp; r=hiro
Regarding the missing dom:: specifications, presumably this currently works
because in the unified build this file gets combined with something with "using
namespace mozilla::dom" but this will fail if the chunking of the unified build
changes.

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

--HG--
extra : moz-landing-system : lando
2019-02-15 06:05:06 +00:00
Brian Birtles
d012e4ca2e Bug 1518374 - Fix a bunch of fallout from changes to mozilla::dom::Document; r=hiro
Bug 1517241 renamed nsIDocument to mozilla::dom::Document but unfortunately in
the process it messed up the ordering of includes which, according to the coding
style[1], should be alphabetically sorted.

Also, in TimingParams.cpp it didn't add the dom::* prefix so when the unified
build chunking changes, if the "using namespace mozilla::dom" declaration
disappears from the chunk, it will fail to build.

[1] https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#CC_practices

Depends on D15902

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

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

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

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

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

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Emilio Cobos Álvarez
63814207cb Bug 1516853 - Merge nsIDocument and nsDocument. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D15498

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

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Brian Birtles
043ffca9de Bug 1483404 - Move conversion of CompositeOperation enum types to KeyframeUtils::GetAnimationPropertiesFromKeyframes; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D3457

--HG--
extra : moz-landing-system : lando
2018-08-16 16:24:52 +00:00
Brian Birtles
29e984d336 Bug 1483404 - Use "auto" values for unspecified keyframe-specific composite operations; r=smaug
Summary:
This brings our implementation into line with the following spec change:

  ced6b5aac0

See https://github.com/w3c/csswg-drafts/issues/3000

Reviewers: smaug

Tags: #secure-revision

Bug #: 1483404

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

--HG--
extra : rebase_source : 097d8307cea82b5d1ea0345414153965067b2b5b
extra : amend_source : fe1f4aeef842961600fe3dba760a573ed2fc84df
2018-08-15 09:51:28 +09:00
Brian Birtles
35fffc8314 Bug 1471814 - Ignore the composite member on Keyframe objects when the compositing pref is not set; r=hiro
MozReview-Commit-ID: 9Xn32jLlpq1

--HG--
extra : rebase_source : cbc6d4a972295174e26629845497e22fe1a80aa1
2018-07-14 09:23:03 +09:00
Brian Birtles
fc657410ff Bug 1471814 - Add a preference for implicit keyframes; r=bz,hiro
This preference controls whether authors are allowed to specify animations
without a 0% or 100% keyframe.

We intend to ship this soon but this preference acts as a safeguard in case we
discover we need to disable it.

This feature is very convenient and commonly used so this patch ensures it is
always enabled for system content.

MozReview-Commit-ID: BHTsuS2xO61

--HG--
rename : dom/animation/test/mozilla/file_disable_animations_api_core.html => dom/animation/test/mozilla/file_disable_animations_api_implicit_keyframes.html
rename : dom/animation/test/mozilla/test_disable_animations_api_core.html => dom/animation/test/mozilla/test_disable_animations_api_implicit_keyframes.html
extra : rebase_source : 04fd93dd26a4765c14b0b22febdb0311b650ea59
2018-07-14 09:23:03 +09:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Brian Birtles
9622b88217 Bug 1456394 - Rename KeyframeEffectReadOnly.{h,cpp} to KeyframeEffect.{h,cpp}; r=bz,hiro
MozReview-Commit-ID: 5Q7oQV8vmgS

--HG--
rename : dom/animation/KeyframeEffectReadOnly.cpp => dom/animation/KeyframeEffect.cpp
rename : dom/animation/KeyframeEffectReadOnly.h => dom/animation/KeyframeEffect.h
extra : rebase_source : cdc8448e7d07376691ef9187f7d6f4424800b690
2018-05-07 11:07:06 +09:00
Emilio Cobos Álvarez
f8233b4454 Bug 1456471: Remove nsCSSParser.h. r=xidorn
MozReview-Commit-ID: 4qa7llzCXeR
2018-04-25 10:38:37 +02:00
Xidorn Quan
8b8f269e56 Bug 1454524 - Remove some unused comparator code in KeyframeUtils. r=hiro
MozReview-Commit-ID: 6LZHGoEQcM5

--HG--
extra : rebase_source : 4ea22904c9dfe83f12f56d0de58e49cd8229124d
2018-04-17 10:28:33 +10:00
Hiroyuki Ikezoe
437d6b5387 Bug 1412716 - De-templatize EffectCompositor::UpdateEffectProperties and relevant stuff. r=emilio
MozReview-Commit-ID: K8yb8Kw16Mr

--HG--
extra : rebase_source : b5153f46ecd0352496b6222c847ef5663aff6ab7
2018-04-09 20:15:59 +09:00
Boris Zbarsky
a0b6e32bba Bug 1449631 part 12. Remove the Nullable smuggling from nsIDOMEventTarget. r=smaug
MozReview-Commit-ID: 73qhRSCpr3S
2018-04-05 13:42:42 -04:00
Xidorn Quan
4cf9aed667 Bug 1449400 part 5 - Remove StyleSetHandle. r=emilio
This patch basically does:
* remove StyleSetHandle and its corresponding files
* revisit #includes of related header files and change correspondingly
* change nsIPresShell::mStyleSet to be UniquePtr<ServoStyleSet>
* change the creating path of ServoStyleSet to pass UniquePtr
* change other mentions of StyleSetHandle to ServoStyleSet*
* remove AsServo() calls on ServoStyleSet

Some unfortunate bits:
* some methods of (Servo)StyleSet only accepts ServoStyleSheet while
  many places call into the methods with StyleSheet, so there are many
  ->AsServo() added to sheets

MozReview-Commit-ID: K4zYnuhOurA

--HG--
extra : rebase_source : 459e8efeb171adad089d94272e143e8c244bd279
extra : source : 65ba2f174fcf7dba4e59c00ee8908b1bd0820a48
2018-03-29 22:15:46 +11:00
Xidorn Quan
0401ef821e Bug 1447828 part 1 - Remove StyleBackendType uses from dom/animation. r=emilio
MozReview-Commit-ID: 3INWUuocNPm

--HG--
extra : rebase_source : 1e024084e325b075b3c1b534b544092d7f792e2e
extra : source : 1bcf22436ced3f5b2afd6a7db4250ff5b79f71c0
2018-03-29 02:29:42 +11:00
Emilio Cobos Álvarez
8fcda0e92d Bug 1448690: Remove IsStyledByServo. r=xidorn
MozReview-Commit-ID: I3MDbo2Yu7d
2018-03-26 09:39:26 +02:00
Emilio Cobos Álvarez
e341b20ec4 Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez
5dd797f154 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez
ca5ac79cca Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
arthur.iakab
abcb47d8cc Merge inbound to mozilla-central. a=merge 2018-03-21 21:13:11 +02:00
Miko Mynttinen
65c6bee9d6 Bug 1445302 - Replace TArray.RemoveElementAt(TArray.Length() - 1) pattern with TArray.RemoveLastElement() or TArray.PopLastElement() r=froydnj
MozReview-Commit-ID: rGjabnP2iz

--HG--
extra : rebase_source : 1ef6c5ce028ac9ebd9f3176d57835c43fe46bada
2018-03-13 14:51:33 +01:00
Emilio Cobos Álvarez
f7522ae728 Bug 1447358: Unifdef the old style system code. r=jwatt
Summary:
This has been automatically generated using:

  http://dotat.at/prog/unifdef/

And:

find $OBJDIR -type f -name '*.h' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

find $OBJDIR -type f -name '*.cpp' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

MozReview-Commit-ID: I4NdKqbMXzJ

Reviewers: jwatt

Bug #: 1447358

Differential Revision: https://phabricator.services.mozilla.com/D779
2018-03-21 10:20:34 +01:00
Cameron McCormack
2cea1ba7c1 Bug 1430014 - Part 6: #ifdef out a bit more animation-related code. r=hiro
MozReview-Commit-ID: B9TaVJFak26

--HG--
extra : source : 820eed2682b6a6cda892d091ee037ff1eeacd69f
2018-02-01 15:04:04 +11:00
Cameron McCormack
cc7db5c40c Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN

--HG--
extra : source : de22d220635f8c059834b76f769d5215ab1a8b5b
2018-02-01 15:04:04 +11:00
Hiroyuki Ikezoe
3dc42221b8 Bug 1432104 - KeyframeUtils::GetAnimationPropertiesFromKeyframes needs specializations both for GeckoStyleContext* and const ServoStyleContext*. r=birtles
The implementation of the template function is defined in KeyframeUtils.cpp,
whereas the caller is inside KeyframeEffectReadOnly.cpp.  I guess it's been
compiled accidentally because of unified builds.

MozReview-Commit-ID: 9GeIT7nDpLG

--HG--
extra : rebase_source : ce58ac6a013ff45d402c51994eb4f0bc28a2c671
2018-01-22 19:19:41 +09:00
Brian Birtles
5a753e5e80 Bug 1429671 - Make composite member of Keyframe dictionary objects accept null values; r=bz
This patch reflects the following change to the Web Animations spec:

  abf76745b5

MozReview-Commit-ID: A2GD1igUf5f

--HG--
extra : rebase_source : 8129f6386b144adebc3bf0320ca7d6bfbba7a2e9
2018-01-11 16:20:49 +09:00
Brian Birtles
0fec9ac501 Bug 1425548 - Update references to Web Animations spec in dom/animation; r=hiro
MozReview-Commit-ID: 1f2Mz0VhnBm

--HG--
extra : rebase_source : 30c952ed20ee64810d225e5778650dd01791964d
2017-12-15 14:55:08 -06:00
Boris Chiou
570057e075 Bug 1408303 - Part 3: Move several Servo parsers into ServoCSSParser helper class. r=heycam
We have ServoCSSParser class, and I think it's better to move those
Servo FFI into this class to avoid including ServoBindings.h everywhere.

MozReview-Commit-ID: 6orXtddp9ZU

--HG--
extra : rebase_source : 6da4158c4fec606aaee49fddee3192f94d6c85a3
2017-12-01 17:35:47 +08:00
Brian Birtles
c64d600a96 Bug 1418220 - Drop AnimationUtils::IsCoreAPIEnabled(ForCaller) and use nsContentUtils::AnimationsAPICoreEnabled / nsDocument::IsWebAnimationsEnabled instead; r=hiro
The difference between nsDocument::IsWebAnimationsEnabled and
nsContentUtils::AnimationsAPICoreEnabled is that the former checks the caller
type and treats the preference as set for system callers which is particularly
needed for enabling things like the getProperties() API for DevTools etc.

Generally in API-facing call sites we have a JS context / CallerType and so we
want to distinguish between system callers and non-system callers. However, for
a few internal uses--specifically filling-in missing keyframes--we don't care
about the caller type and always follow the pref setting.

That may or not be quite what we want, but this patch doesn't change that except
for one call site: KeyframeUtils::GetKeyframesFromObject. This patch changes
GetKeyframesFromObject from *not* checking the caller type to checking the
caller type. That seems to be the correct behavior here since this is called
from KeyframeEffectReadOnly::SetKeyframes(JSContext*, JS::Handle<JSObject*>,
ErrorResult&) (i.e. a JS API-facing call site) where we *should* enable the full
API when the caller is chrome code.

MozReview-Commit-ID: FQJBk3zytwd

--HG--
extra : rebase_source : 577bca1e551e39fecfab309f64c993eba110337f
2017-11-20 14:18:43 +09:00
Andrew McCreight
298aa82710 Bug 1412125, part 2 - Fix dom/ mode lines. r=qdot
This was automatically generated by the script modeline.py.

MozReview-Commit-ID: BgulzkGteAL

--HG--
extra : rebase_source : a4b9d16a4c06c4e85d7d85f485221b1e4ebdfede
2017-10-26 15:08:41 -07:00
Brian Birtles
db9b84ee6c Bug 1407898 - Check if presContext is null before dereferencing in GetComputedKeyframeValues; r=hiro
There are no reliable steps to make this happen but it appears to have happened
at least twice during fuzzing. As a result, it doesn't matter too much what the
behavior here is as long as we don't crash.

MozReview-Commit-ID: 4gdiBL2wngU

--HG--
extra : rebase_source : 54afce721f8b59c2ad038e0c2222f64e71a9b917
2017-10-25 15:34:50 +09:00
Brian Birtles
c38308c79b Bug 1398038 - Implement extended property-indexed keyframe syntax; r=bz,hiro
This implements the changes specified in these three spec changesets:

  8efd180bd9
  f43ecdfbe5
  a4f1ad1a60

MozReview-Commit-ID: KFhgZ5ip6BA

--HG--
extra : rebase_source : aa18f8e3fbcd5d96194ff9a5239a3c415622dc2f
2017-10-18 16:12:21 +09:00
Brian Birtles
02f8ed3fe4 Bug 1404774 - Defer throwing errors from parsing keyframe easing until after reading off all properties; r=hiro
As required by the recent spec change:

  d696468777

MozReview-Commit-ID: Ev6kUk1uLAY

--HG--
extra : rebase_source : 70f8ca3143a8b3bb4e03016b9989925d5a328049
2017-10-02 12:35:47 +09:00
Emilio Cobos Álvarez
9a6ef770c1 Bug 1381764: Cleanup the Gecko bits. r=manishearth
MozReview-Commit-ID: dbVDy1u4vp
2017-07-18 16:22:00 -07:00
Manish Goregaokar
f33beecc59 Bug 1367904 - Part 10: stylo: Switch Gecko over to ServoStyleContext; r=bholley
MozReview-Commit-ID: EmopKVjEzlz
2017-07-17 21:00:46 -07:00
Josh Matthews
e0c37f0ed3 Bug 1352669 - Hook up Stylo CSS parser to Gecko error reporter. r=emilio
MozReview-Commit-ID: 3r5Z6KiPgRM
2017-07-10 17:52:00 -04:00
Wes Kocher
a9eb08898f Backed out changeset f220d8060c14 (bug 1352669) for build bustage CLOSED TREE a=bustage
MozReview-Commit-ID: INYGT4WT1pO
2017-07-06 14:56:06 -07:00
Josh Matthews
723b20d420 Bug 1352669 - Hook up Stylo CSS parser to Gecko error reporter.
MozReview-Commit-ID: 3r5Z6KiPgRM
2017-07-06 13:15:08 -07:00
Boris Chiou
ebc59facdc Bug 1339690 - Part 8: Produce an appropriate warning highlighting the invalid property value. r=birtles,flod
MozReview-Commit-ID: 1KoFMxOo78L

--HG--
extra : rebase_source : b37e83358d8ff0c77172246d72ddb11fbcd7954c
2017-06-14 14:18:25 +08:00
Boris Chiou
ccd05b9231 Bug 1339690 - Part 7: Stop storing invalid property value. r=birtles
MozReview-Commit-ID: H3aRcJIk7CV

--HG--
extra : rebase_source : 774c1596364dd8e3eacf8a6bab093e9e1abf6e18
2017-06-14 11:43:47 +08:00
Boris Chiou
855f40d72b Bug 1339690 - Part 6: Move GetComputedKeyframeValues into local static. r=birtles
MozReview-Commit-ID: Ay3i9fDSbVg

--HG--
extra : rebase_source : 9d1de95cf15a0882fd50feb55878758c419d66ae
2017-06-14 12:51:27 +08:00
Boris Chiou
d3495b8861 Bug 1339690 - Part 5: Merge two DistributeRange functions. r=birtles
MozReview-Commit-ID: 3QT09Qmy3Lg

--HG--
extra : rebase_source : 5590d5df20af5c7e0cc63fef97e203cdda202967
2017-06-15 10:54:36 +08:00
Boris Chiou
02bf8062fe Bug 1339690 - Part 4: Rename ApplyDistributeSpacing to DistributeKeyframes. r=birtles
There is no spacing mode any more, so rename this function.

MozReview-Commit-ID: 9DIqKmQnuJo

--HG--
extra : rebase_source : 3600be87a699a1a5fe237f8ed75baf03f0b5ae84
2017-06-15 10:47:32 +08:00
Boris Chiou
f8dbd6bb32 Bug 1339690 - Part 3: Drop spacing mode. r=birtles,smaug
MozReview-Commit-ID: 1c7jpzWQjVP

--HG--
extra : rebase_source : 7850e290abb5fd87684c99710666c881eb777eb4
2017-06-13 15:09:19 +08:00
Brian Birtles
22d0b7d971 Bug 1371518 - Make KeyframeUtils::IsAnimatable consult the Servo backend; r=hiro
When styling with the Servo backend, we should also use the Servo backend to
determine if a property is animatable or not. However, if we do this,
Servo_Property_IsAnimatable will start returning true for the 'display' property
once we mark that as animatable in Servo (for SMIL).

Even if we later fail to actually animate 'display' (due checks added to Servo
in the next patch) we still need to treat 'display' as un-animatable in
KeyframeUtils so that we don't *read* the 'display' property of Keyframe objects
passed to the Animations API, since that is observable.

This patch makes us consult Servo_Property_IsAnimatable when using the Servo
backend and also explicitly treat the 'display' property as not animatable.

MozReview-Commit-ID: 1JllbeJisAS

--HG--
extra : rebase_source : d73b7d9ee0da03bfed68e574b67e10b342c1868d
2017-06-14 15:23:45 +09:00
Hiroyuki Ikezoe
14e0273b91 Bug 1367293 - Don't get parent style for GetComputedKeyframeValuesFor. r=birtles
MozReview-Commit-ID: 7WjsO7P2QGz

--HG--
extra : rebase_source : b9d2d672dd670f54174a5811c7d28efe268c0c4d
2017-06-02 09:38:54 +09:00
Hiroyuki Ikezoe
b80937e1e4 Bug 1367293 - Explicitly cast nsStyleContext* to nullptr. r=birtles
In subsequent patches, the servo version of KeyframeUtils::ApplySpacing()
changes fifth argument to const ServoComputedValues*. If we still use nullptr
for the fifth argument in caller side, compilers can't determine whether
nsStyleContext* or const ServoComputedValues* should be used.

MozReview-Commit-ID: 1bE2cA7gRdi

--HG--
extra : rebase_source : 230b9b94bbfdcacf1b35a6c8eb1186e22b331047
2017-06-02 09:37:55 +09:00
Fernando Jimenez Moreno
e85ff5cb1b Bug 1365674 - stylo: Simulate compute value failure for dom/animation mochitests. r=hiro
MozReview-Commit-ID: 8flMLuW2vZP

--HG--
extra : rebase_source : 572ddece88644de63930468f532c31d37167f017
2017-05-30 10:24:08 +02:00