Commit Graph

107 Commits

Author SHA1 Message Date
arthur.iakab
6e006c34b4 Merge inbound to mozilla-central. a=merge 2018-03-21 21:13:11 +02:00
Miko Mynttinen
86800aa3f1 Bug 1445302 - Replace TArray.RemoveElementAt(TArray.Length() - 1) pattern with TArray.RemoveLastElement() or TArray.PopLastElement() r=froydnj
MozReview-Commit-ID: rGjabnP2iz
2018-03-13 14:51:33 +01:00
Emilio Cobos Álvarez
b1a35fbef7 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
f2d37b44c3 Bug 1430014 - Part 6: #ifdef out a bit more animation-related code. r=hiro
MozReview-Commit-ID: B9TaVJFak26
2018-02-01 15:04:04 +11:00
Cameron McCormack
02c617875f Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN
2018-02-01 15:04:04 +11:00
Hiroyuki Ikezoe
f912cf1f98 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
2018-01-22 19:19:41 +09:00
Brian Birtles
28b2c902bd 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
2018-01-11 16:20:49 +09:00
Brian Birtles
0c6901d581 Bug 1425548 - Update references to Web Animations spec in dom/animation; r=hiro
MozReview-Commit-ID: 1f2Mz0VhnBm
2017-12-15 14:55:08 -06:00
Boris Chiou
9648c71223 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
2017-12-01 17:35:47 +08:00
Brian Birtles
14ebce261c 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
2017-11-20 14:18:43 +09:00
Andrew McCreight
2c2e9cbbbe Bug 1412125, part 2 - Fix dom/ mode lines. r=qdot
This was automatically generated by the script modeline.py.

MozReview-Commit-ID: BgulzkGteAL
2017-10-26 15:08:41 -07:00
Brian Birtles
a3c67250ef 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
2017-10-25 15:34:50 +09:00
Brian Birtles
fd0a62b4f7 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
2017-10-18 16:12:21 +09:00
Brian Birtles
4f735862a7 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
2017-10-02 12:35:47 +09:00
Emilio Cobos Álvarez
7eedeefd83 Bug 1381764: Cleanup the Gecko bits. r=manishearth
MozReview-Commit-ID: dbVDy1u4vp
2017-07-18 16:22:00 -07:00
Manish Goregaokar
86e90da5c3 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
34594ebaa7 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
8cbe4b5d79 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
6416600b5e 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
0d6285ee62 Bug 1339690 - Part 8: Produce an appropriate warning highlighting the invalid property value. r=birtles,flod
MozReview-Commit-ID: 1KoFMxOo78L
2017-06-14 14:18:25 +08:00
Boris Chiou
ca7a2d3001 Bug 1339690 - Part 7: Stop storing invalid property value. r=birtles
MozReview-Commit-ID: H3aRcJIk7CV
2017-06-14 11:43:47 +08:00
Boris Chiou
110c1e37a2 Bug 1339690 - Part 6: Move GetComputedKeyframeValues into local static. r=birtles
MozReview-Commit-ID: Ay3i9fDSbVg
2017-06-14 12:51:27 +08:00
Boris Chiou
d1c992dbb5 Bug 1339690 - Part 5: Merge two DistributeRange functions. r=birtles
MozReview-Commit-ID: 3QT09Qmy3Lg
2017-06-15 10:54:36 +08:00
Boris Chiou
f95a2a4432 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
2017-06-15 10:47:32 +08:00
Boris Chiou
508c013dbc Bug 1339690 - Part 3: Drop spacing mode. r=birtles,smaug
MozReview-Commit-ID: 1c7jpzWQjVP
2017-06-13 15:09:19 +08:00
Brian Birtles
66b7edb9b6 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
2017-06-14 15:23:45 +09:00
Hiroyuki Ikezoe
11db326869 Bug 1367293 - Don't get parent style for GetComputedKeyframeValuesFor. r=birtles
MozReview-Commit-ID: 7WjsO7P2QGz
2017-06-02 09:38:54 +09:00
Hiroyuki Ikezoe
5eeee09a44 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
2017-06-02 09:37:55 +09:00
Fernando Jimenez Moreno
4f36adcdd4 Bug 1365674 - stylo: Simulate compute value failure for dom/animation mochitests. r=hiro
MozReview-Commit-ID: 8flMLuW2vZP
2017-05-30 10:24:08 +02:00
Nazım Can Altınova
072d3c9b05 Bug 1364746 - stylo: Continue to propagate quirks mode information to Servo r=bholley
I've propagated quirks mode information on some places. But we needed to pass
quirks mode to some other FFI functions to be able to handle that information
properly.

MozReview-Commit-ID: JovQWjN3YJx
2017-05-14 18:11:18 +03:00
Hiroyuki Ikezoe
fcfc8db486 Bug 1357295 - Rename LengthParsingMode to ParsingMode and LengthParsingMode::SVG to PasingMode::AllowUnitlessLength. r=emilio
We need another flag that represents allow-negative-number for SMIL, so
this enum will also comprise the another parsing mode that allows negative number.

MozReview-Commit-ID: IDFNppjGeB
2017-05-13 19:47:38 +09:00
Hiroyuki Ikezoe
9c4f3d4774 Bug 1363574 - Allow unitless length for SMIL values. r=birtles
MozReview-Commit-ID: BkGCHgQVzHD
2017-05-11 08:29:36 +09:00
Boris Chiou
277c16a116 Bug 1346052 - Part 1: Factor out ParseProperty. r=birtles
We can reuse ParseProperty in nsDOMWindowUtils::ComputeAnimationDistance(),
so factor out this function.

MozReview-Commit-ID: FdXGPxOZf84
2017-03-24 17:35:27 +08:00
Brian Birtles
6f31f71d47 Bug 1355348 - Move ServoComputedValuesWithParent to separate file; r=hiro
We will use this type later in this patch series in nsSMILCSSProperty so this
patch moves it to a separate file so it can be re-used.

MozReview-Commit-ID: 4Z7YbsQ9xz4
2017-04-26 13:00:11 +09:00
Hiroyuki Ikezoe
b7fff60237 Bug 1324700 - Servo_ParseProperty() takes nsCSSPropertyID instead of nsACString. r=heycam
MozReview-Commit-ID: Gn90DBlJSS9
2017-04-15 07:37:34 +09:00
Xidorn Quan
93655e51b9 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
2017-04-04 10:04:13 +10:00
Hiroyuki Ikezoe
924b81e500 Bug 1311257 - Support missing keyframes handling for stylo. r=birtles
MozReview-Commit-ID: 1Iz6By2Y2Gp
2017-04-06 10:34:51 +09:00
Xidorn Quan
d119ed8817 Bug 1352025 part 2 - Stop passing in url as string for parsing. r=manishearth
MozReview-Commit-ID: CRgOO7NyYd9
2017-04-01 16:17:55 +11:00
Xidorn Quan
95cf226194 Bug 1351957 - Create URLExtraData for holding base uri, referrer, and principal. r=heycam
MozReview-Commit-ID: 1wqTb3kvvWh
2017-03-30 18:54:48 +11:00
Hiroyuki Ikezoe
1193cdde21 Bug 1351898 - Don't set PropertyValuePair.mValue for stylo. r=birtles
Otherwise we hit below assertion in nsCSSValue::DoReset().

 MOZ_ASSERT(NS_IsInCompositorThread() || !ServoStyleSet::IsInServoTraversal());

PropertyValuePair.mValue was introduced for computing paced timing in the case
where there is some invalid values in keyframes. Paced timing has been removed
removed from the spec and stylo will not support paced timing. So we don't need
to set the value for stylo.

MozReview-Commit-ID: 3I8QSvF2jL8
2017-03-30 11:08:47 +09:00
Boris Chiou
51b2cebdaa Bug 1349124 - Replace ServoComputedStyleValues with ServoComputedValuesWithParent. r=hiro
MozReview-Commit-ID: 5POa8DRjmc8
2017-03-21 15:41:23 +08:00
Emilio Cobos Álvarez
2039966939 Bug 1303229: Get the proper viewport size for animations. r=heycam,hiro
While we're here, don't re-recompute the default computed values, just grab them
from the device.

MozReview-Commit-ID: GqqnPLIwN2F
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-03-11 14:29:38 +01:00
Manish Goregaokar
e1727077ec Bug 1329093 - Part 1: stylo: Handle SVG presentation attributes; r=bz
MozReview-Commit-ID: 9cymo3c9HIn
2017-03-09 17:46:21 -08:00
Carsten "Tomcat" Book
a774076f25 Merge mozilla-central to mozilla-inbound 2017-03-08 14:28:34 +01:00
Michael Layzell
227013f950 Bug 1331434 - Part 9: Return after ErrorResult::Throw in /dom, r=ehsan
MozReview-Commit-ID: CWjx4L8LTr9
2017-03-07 19:06:48 -05:00
Daisuke Akatsuka
f0741c2ad3 Bug 1339332 - Part 4: Drop setting 'add' composite operation for missing keyframes in script animation. r=hiro
MozReview-Commit-ID: 1gwWlhdvHO5
2017-03-08 10:07:09 +09:00
Daisuke Akatsuka
1243945dbb Bug 1339332 - Part 1: Introduce neutral value concept for missing keyframe in CSS Animation. r=birtles,hiro
MozReview-Commit-ID: F3qvRY3SRAp
2017-03-08 10:07:08 +09:00
Hiroyuki Ikezoe
ffe94faa5c Bug 1338927 - Part 8: Drop Servo_AnimationValues_Populate. r=birtles
MozReview-Commit-ID: 83WCbKL35h
2017-02-23 09:52:44 +09:00
Hiroyuki Ikezoe
3101075711 Bug 1338927 - Part 3: Introduce ServoComputedStyleValues. r=birtles
The operator bool() will be used in the case where we call
MOZ_ASSERT() for const ref of this struct.

MozReview-Commit-ID: tCtpXmPJvV
2017-02-23 09:52:43 +09:00
Hiroyuki Ikezoe
a20cb92589 Bug 1338927 - Part 2: Generate ComputedKeyframeValues array from servo's computed values. r=birtles,manishearth
Servo_GetComputedKeyframeValues is almost the same as what we do in
KeyframeUtils::GetComputedKeyframeValues() for Gecko. Unlike the function
for Gecko, this function does not allocate each ComputedKeyframeValues element,
the allocation has been done before calling Servo_GetComputedKeyframeValues.

MozReview-Commit-ID: LRbriWoal2l
2017-02-23 09:52:43 +09:00