Граф коммитов

50 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez d98aff87e0 Bug 1781140 - Remove nsTimingFunction and ComputedTimingFunction. r=dshin
They're simple wrappers of StyleComputedTimingFunction so we can remove
them.

Differential Revision: https://phabricator.services.mozilla.com/D152700
2022-07-26 14:49:02 +00:00
Boris Chiou 74f6246cda Bug 1775327 - Part 3: Do normalization for NormalizedTiming(). r=firefox-animation-reviewers,birtles
This implements the normalization of the specified time, defined in
[web-animations-2]:
https://drafts.csswg.org/web-animations-2/#normalize-specified-timing.
However, it is possible to update this, based on the spec issue:
https://github.com/w3c/csswg-drafts/issues/4862.

For now, we just do normalization for delay, end delay, and
iteration duration based on the end time. And make sure the end time is
equal to the timeline duration.

Differential Revision: https://phabricator.services.mozilla.com/D149685
2022-07-07 18:33:42 +00:00
Boris Chiou db1b58d707 Bug 1775327 - Part 2: Fix playing finished scroll animation on reversing scrolling. r=firefox-animation-reviewers,birtles
We have to make sure the scroll animations is still responsive at
boundaries even if it's playstate is finished.

This patch includes the update of UpdateFinishedState() to match the
spec, and make sure we still tick scroll animations at finished play state.

Getting a finished state might be strange for scroll animations, and this
might be a spec issue. However, for consistency with JS-generated animations,
we'd like to align the behaviors with other browsers, and make sure we are
still match the definition of finished state in the spec.

Besides, we have to use EndTime() on the compositor so
animation-iteration-count works properly.

Tests are in the last patch.

Differential Revision: https://phabricator.services.mozilla.com/D149940
2022-07-07 18:33:41 +00:00
Boris Chiou ee025d7686 Bug 1775327 - Part 1: Make sure the scroll animation is still in active phase at boundaries. r=firefox-animation-reviewers,birtles
We have to introduce "at progress timeline boundary" which is defined in
web-animations-2 [1]. We need this to make sure the scroll animations
do not go into before phase or after phase.

The test of fill-mode should be together with delay, so I'd like to add the
tests in the last patch.

[1] https://drafts.csswg.org/web-animations-2/#at-progress-timeline-boundary

Differential Revision: https://phabricator.services.mozilla.com/D149684
2022-07-07 18:33:41 +00:00
Boris Chiou 6c723e6e0a Bug 1744850 - Drop ScrollTimeline:sTiming and introduce a normalized timing. r=birtles
`sTiming` is a hack and I believe animation-delay,
animation-iteration-count, animation-direction, and animation-fill-mode
should be meaningful for scroll-linked animations. (I will add the
tentative wpt in Bug 1775327.)

So we need to introduce a normalized timing when resolving the specified
timing.

Also, this patch makes the bug of printing scroll animations detectable.

No behavior is changed and I'd like to remove the magic values and do
normalization in Bug 1775327.

Note: Based on https://github.com/w3c/csswg-drafts/issues/4862 and
web-animations-2, we will introudce CSSNumberish for duration, current
time, and delay. That is, we will accept percentage for
animation-duration, animation-delay. However, Gecko doesn't support
CSSNumberish for those values, so we'd like to normalize these time values
in Bug 1775327. This patch is the 1st step: split the normalized
timing from the specified timing, and use it when resolving the
timing, for progress-based timeline.

Differential Revision: https://phabricator.services.mozilla.com/D149683
2022-06-22 21:19:30 +00:00
Emilio Cobos Álvarez 039592f4d8 Bug 1682003 - Avoid UTF-8 -> UTF-16 conversion during CSSOM serialization. r=heycam
This lifts a bunch of string conversions higher up the stack, but allows
us to make the servo code use utf-8 unconditionally, and seemed faster
in my benchmarking (see comment 0).

It should also make a bunch of attribute setters faster too (like
setting .cssText), now that we use UTF8String for them (we couldn't
because we couldn't specify different string types for the getter and
setters).

Differential Revision: https://phabricator.services.mozilla.com/D99590
2020-12-17 14:04:35 +00:00
Hiroyuki Ikezoe fc509369c5 Bug 1676062 - Use a dummy URL data in Servo_ParseEasing and drop Document* and URLExtraData* arguments from relevant functions. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D96791
2020-11-12 20:34:01 +00:00
Boris Zbarsky 00cd5d4380 Bug 1619112 part 5. Stop accepting nsAString in ErrorResult error-throwing. r=smaug
Callers should pass in UTF-8, since that's what the JS engine ends up with in the end anyway.

The various URL changes are because NS_NewURI converts incoming nsAString to
UTF-8 anyway.  So we might as well do that up-front and then use the UTF-8
string for both the NS_NewURI call and the error-reporting if it fails.

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

--HG--
extra : moz-landing-system : lando
2020-03-06 21:08:02 +00:00
Boris Zbarsky 1852a29c3b Use %g, not %f, for our error reporting so unnecessary trailing zeros are not output. No bug. r=birtles
Differential Revision: https://phabricator.services.mozilla.com/D62062

--HG--
extra : moz-landing-system : lando
2020-02-10 01:35:00 +00:00
Boris Zbarsky ceac9fe278 Bug 1609858. Stop using NS_ERROR_DOM_TYPE_ERR in TimingParams. r=smaug
It's causing us to throw weird DOMExceptions instead of actual TypeErrors.

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

--HG--
extra : moz-landing-system : lando
2020-01-17 09:55:27 +00:00
Ryan Hunt 00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06: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
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
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
Brian Birtles f8118acf9a Bug 1456394 - Make TimingParameters::operator== compare end delay values; r=hiro
MozReview-Commit-ID: 5frk5APUTDd

--HG--
extra : rebase_source : 4d9d88963e3590ac14d8a243c4494c71e723a6f1
2018-05-07 12:42:24 +09:00
Brian Birtles 8dc6ef2391 Bug 1456394 - Add AnimationEffect.updateTiming(); r=bz,hiro
https://drafts.csswg.org/web-animations-1/#dom-animationeffect-updatetiming

MozReview-Commit-ID: ISgksSpH8yH

--HG--
extra : rebase_source : 0b9c03adba9c9068fa3ec1ff06541d587576a29f
2018-05-07 12:37:11 +09:00
Brian Birtles 4ab18a6435 Bug 1456394 - Factor out TimingParams::FromEffectTiming; r=hiro
Factoring out this method makes the code a little easier to read, particularly
when in the next patch in this series we add
a TimingParams::MergeOptionalEffectTiming method.

MozReview-Commit-ID: 5AU6IfN2grZ

--HG--
extra : rebase_source : f90614c7dd03413b4ce05d62d3ac73f0ba0e7dc3
2018-05-07 12:34:47 +09:00
Brian Birtles 516b224d43 Bug 1456394 - Rename animation timing dictionaries; r=bz
As per the changes in:

  d4519d9bba (diff-4c9f5c055fb219a7fcad23a9a7a80b64R4206)

MozReview-Commit-ID: Iwvbp0H6jlg

--HG--
extra : rebase_source : 2c8bbab7aee617b65e5a7647ed146abdb0dde2d6
2018-05-07 12:09:54 +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
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 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 d02e54b79b Bug 1430014 - Part 5: Stop building old style system classes when MOZ_OLD_STYLE is not defined. r=xidorn
MozReview-Commit-ID: CIHyPdF7Exl

--HG--
extra : source : 78a2fc781eead47af3923efcde58569c5d882ab1
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
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
Hiroyuki Ikezoe d3f51b0d7b Bug 1374882 - Precompute active duration and end time. r=birtles
MozReview-Commit-ID: ClFHaXkpGXX

--HG--
extra : rebase_source : a50cd9a5767b4795b04c84fde7c296684c06541e
2017-06-22 12:12:43 +09:00
Hiroyuki Ikezoe 1b7fbc4368 Bug 1374882 - Make TimingParamsFromOptionsUnion member function. r=birtles
MozReview-Commit-ID: 7AQKrHPdzeD

--HG--
extra : rebase_source : b37ca2bb66b49ceb0a7bfd641d930fd686da1ac5
2017-06-22 12:12:42 +09:00
Xidorn Quan 2df49dbac2 Bug 1343964 part 1 - Move URLExtraData into its own header. r=heycam
This patch does the following in addition to a simple move:
* change the type of the pointers from RefPtr to nsCOMPtr
* move it from mozilla::css namespace to mozilla

MozReview-Commit-ID: 72MYq6kWm4s

--HG--
extra : rebase_source : 400fe0d7cc422f22592c302cfd4e457830b77e3e
2017-04-04 10:04:13 +10:00
Xidorn Quan 2da48b454d Bug 1352025 part 2 - Stop passing in url as string for parsing. r=manishearth
MozReview-Commit-ID: CRgOO7NyYd9

--HG--
extra : rebase_source : 6b04d1c001082740abfc344fdb2a7f0351c3d7d9
2017-04-01 16:17:55 +11:00
Xidorn Quan e3e4554871 Bug 1351957 - Create URLExtraData for holding base uri, referrer, and principal. r=heycam
MozReview-Commit-ID: 1wqTb3kvvWh

--HG--
extra : rebase_source : cae3dba21c916ab0f52056bd9db215249b650cd3
2017-03-30 18:54:48 +11:00
Boris Chiou 384142c233 Bug 1343153 - Part 2: Use Servo css-parser for ParseEasing. r=birtles,emilio
We use Servo css-parser to parse keyframe property-value pairs, so we
should also use it to parse easing for Web Animations.

MozReview-Commit-ID: FsfHQaNT2xO

--HG--
extra : rebase_source : 8eb6489f257839f2c0de943b63cc1c04b44ff7a5
2017-03-21 14:27:46 +08:00
Boris Chiou 5daf1f2b75 Bug 1343153 - Part 1: Add some useful constructors for ComputedTimingFunction. r=birtles
In order to avoid creating a temporary nsTimingFunction in some cases and
calling Init(), add some useful constructors to reduce the redundant code.

MozReview-Commit-ID: I8zmWeKl9aw

--HG--
extra : rebase_source : 50a9adc90c26c16fd1dcd7b70c519794b8d406fd
2017-03-17 16:37:49 +08:00
Sebastian Hengst 08eaa88de2 Backed out changeset c5da825e8bd9 (bug 1343153) for timing out in dom/animation/test/crashtests/1278485-1.html, at least on Stylo. r=backout 2017-03-21 11:06:07 +01:00
Sebastian Hengst 1ba83457d7 Backed out changeset 9de875f31238 (bug 1343153) 2017-03-21 11:03:19 +01:00
Boris Chiou bc0746fe3d Bug 1343153 - Part 2: Use Servo css-parser for ParseEasing. r=birtles,emilio
We use Servo css-parser to parse keyframe property-value pairs, so we
should also use it to parse easing for Web Animations.

MozReview-Commit-ID: FsfHQaNT2xO

--HG--
extra : rebase_source : f0426f90e4698363b0ce0271943b31418458301d
2017-03-21 14:27:46 +08:00
Boris Chiou e846f398cc Bug 1343153 - Part 1: Add some useful constructors for ComputedTimingFunction. r=birtles
In order to avoid creating a temporary nsTimingFunction in some cases and
calling Init(), add some useful constructors to reduce the redundant code.

MozReview-Commit-ID: I8zmWeKl9aw

--HG--
extra : rebase_source : ef3b73e9e8798b2953f7db6ea5bb43ee12403649
2017-03-17 16:37:49 +08:00
Boris Chiou af4598f9ae Bug 1248340 - Part 4: Implement Frames in the style system. r=dholbert
Use eCSSUnit_Function to store the frames timing function. Also, add one more
css keyword: frames.
The following changes are included in this:
1. Parser changes.
2. Serialization.
3. Computation in nsRuleNode.
4. Invalid and other values in property_database.js

MozReview-Commit-ID: 887QcXHQ2pU

--HG--
extra : rebase_source : ca0135380ea432cb69c4f36cf502d404e04999e5
2017-02-24 14:50:08 +08:00
Mike de Boer 3e295e6280 Bug 1290914 - support Element.animate() on AnonymousContent nodes through the AnonymousContent.setAnimationForElement() method. r=bz
MozReview-Commit-ID: 39QPaCea7Dx
2016-09-08 22:38:53 +02:00
Satoshi Kojima 404d9a3eee Bug 1295866 : remove special handling for easing "function (a){return a}" r=birtles
MozReview-Commit-ID: GKUkslGGcDl

--HG--
extra : rebase_source : 3aa1603dbe33bad5678568c59f6e9ae4dfc3e6c6
2016-08-27 12:01:16 +09:00
Brian Birtles 20fffd9955 Bug 1247004 part 2 - Don't throw if easing is the string "function (a){return a}"; r=heycam
MozReview-Commit-ID: CgwsJQKB1qj
2016-04-15 15:26:27 +09:00
Daisuke Akatsuka 7c788ee98a Bug 1260933 - Part 1: For invalid easing values, print the invalid value. r=birtles
MozReview-Commit-ID: HJEjvGyUnCN

--HG--
extra : rebase_source : e640bcf99d1cf05cad9fe937db92ef80794cb6d6
2016-03-31 19:20:42 +09:00
Brian Birtles fa75146d8b Bug 1245748 - Add missing includes to TimingParams.{cpp,h}; r=heycam
Once we tweak moz.build in the next patch, the grouping in the unified build
will change and expose these missing includes so we fix them here, first.

MozReview-Commit-ID: GebEEociwTo

--HG--
extra : rebase_source : 18158fdf8a3c1a1dcf446118371cad1a15fd4daf
2016-03-22 16:20:31 +09:00
Daisuke Akatsuka f479d03a6b Bug 1253470 - Part 4: Produce console warnings for invalid easing. r=birtles 2016-03-18 16:28:22 +09:00
Daisuke Akatsuka 621421f7eb Bug 1253470 - Part 3: Produce console warnings for invalid iterations. r=birtles 2016-03-18 10:14:49 +09:00
Brian Birtles 6846d9e23b Bug 1246320 part 4 - Pass a document to TimingParams; r=hiro
MozReview-Commit-ID: 9Sh8eWHdDD6

--HG--
extra : rebase_source : 2dc0da7076b8acaaca257583f3780266ae62b430
2016-03-11 17:27:34 +09:00
Brian Birtles 3edb5638a1 Bug 1246320 part 2 - Pass document to ParseEasing; r=hiro
MozReview-Commit-ID: KWW53htO0Jj

--HG--
extra : rebase_source : 85aaa0a66cae7623fa06ebf31e0b8481ee05bbde
2016-03-11 17:21:03 +09:00
Daisuke Akatsuka b4e46e7179 Bug 1244638 - Part 2: Throw TypeError if iterationStart is NaN, negative value or Infinity. r=birtles, r=smaug
MozReview-Commit-ID: A8zSm6TgwOP

--HG--
extra : rebase_source : 50e88537430cf6cfc5552350a818128f0ff7756f
2016-03-11 18:04:39 +09:00
Daisuke Akatsuka 2d2c72ccbf Bug 1237173 - Part3: Throw TypeError if duration is NaN, negative value or not 'auto' string. r=birtles, r=smaug 2016-03-09 14:01:45 +09:00
Daisuke Akatsuka cb51780a6e Bug 1237173 - Part2: Change type of duration to Maybe<StickyTimeDuration>. r=birtles 2016-03-09 14:14:20 +09:00
Daisuke Akatsuka 642702e0bb Bug 1237173 - Part1: Move TimingParam struct to a new file. r=birtles 2016-03-07 14:11:11 +09:00