11557 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
e4cbb53202 Bug 1466609: Move some parsing-only attributes to use #[parse(..)] instead of #[css(..)]. r=xidorn
I need to admit I'm ambivalent about this one :).

MozReview-Commit-ID: F1jlfnQKXwo
2018-06-06 09:43:39 +02:00
Emilio Cobos Álvarez
f46383f8bd Bug 1466656: Make ErrorReporter a smaller Rust type. r=heycam
And use the C++ ErrorReporter only to actually output errors.

ErrorReporter was so complicated because well, it was always enabled and had to
do a bunch of caching to not be (more) slow.

But since bug 1452143 it's disabled by default, so we can simplify this setup a
lot.

Also while at it make the error reporting pref a static pref so that we don't
mutate globals from CSS parsing unless we're actually reporting errors.

MozReview-Commit-ID: AuIyvJwt7AU
2018-06-05 11:09:39 +02:00
Emilio Cobos Álvarez
756460b3b5 Bug 1465291: Make pseudo-elements work with :host. r=xidorn
Imported WebKit's test as a WPT.

MozReview-Commit-ID: 19ZThuoqKLW
2018-06-05 02:51:43 +02:00
Emilio Cobos Álvarez
bb628e2970 Bug 1466406: Work around a bindgen bug on Android. r=xidorn
MozReview-Commit-ID: 2lltjH7IoZu
2018-06-05 01:57:31 +02:00
Emilio Cobos Álvarez
4189579107 Bug 1466136: Don't look at the rule type from value parsing. r=hiro
This would cause properties to change the value semantics between, e.g.,
@keyframes and non-@keyframes, which would be observable.

It happens not to be observable since the animation-* and transition-*
properties are not allowed in @keyframes, nor have bits in `contain`, and none
of the two properties are allowed in @page. But I think it's the right thing to
do.

This still causes a quirk like a property value in chrome / user origins being
potentially different if the value is specified via CSS var functions. But I
think that is fine.

MozReview-Commit-ID: GhoPt0I34oO
2018-06-05 01:38:11 +02:00
Emilio Cobos Álvarez
5a290fa7e0 No bug - Sprinkle some #[inline] on methods that have inline fast-paths. r=me
MozReview-Commit-ID: 5kOmctLTAX0
2018-06-04 21:48:43 +02:00
Emilio Cobos Álvarez
4c9a1fd0dd No bug - Sprinkle some inline in methods that are just pointer-chasing or function calls. r=me
MozReview-Commit-ID: 8G2NQPBVuXn
2018-06-04 21:46:22 +02:00
Emilio Cobos Álvarez
e2aa5b98a1 Bug 1466647: Update smallbitvec to v2.1.1. r=me
Actual code changes reviewed upstream in:

  https://github.com/servo/smallbitvec/pull/12

MozReview-Commit-ID: 3vKVPMovBj
2018-06-04 21:42:55 +02:00
Emilio Cobos Álvarez
8bdd1306a8 No bug - Minor indentation cleanup. r=me
MozReview-Commit-ID: JmilaCX3rNy
2018-06-04 21:16:33 +02:00
Emilio Cobos Álvarez
b09a776796 Bug 1288572: Don't hide -moz-box / -moz-inline-box yet. r=mats
I'd really prefer to not land this patch, but...

MozReview-Commit-ID: HzmvhTd32gz
2018-06-04 15:55:59 +02:00
Emilio Cobos Álvarez
ef20196c9a Bug 1288572: Hide -moz- display values from content behind a pref. r=xidorn
MozReview-Commit-ID: HDQPub043H1
2018-06-04 15:55:58 +02:00
Emilio Cobos Álvarez
43f298bc5f Bug 1288572: Introduce css(parse_condition). r=xidorn
This will allow us to add a pref for this, and to parse it only on chrome easily.

MozReview-Commit-ID: L1rsyc2A2hu
2018-06-04 15:55:57 +02:00
Emilio Cobos Álvarez
eafd9d2074 Bug 1419695: Use custom_properties::Name in TransitionProperty. r=xidorn
MozReview-Commit-ID: BUSWrcA5hkw
2018-06-04 15:55:56 +02:00
Emilio Cobos Álvarez
591fbf3a6a Bug 1419695: Move TransitionProperty where it belongs. r=xidorn
MozReview-Commit-ID: 9PN6VfbDbLA
2018-06-04 15:55:53 +02:00
Emilio Cobos Álvarez
7e9ae6f96f Bug 1419695: Hide multiple -moz-window-* properties from content. r=xidorn
MozReview-Commit-ID: Jsqt3kqjPiq
2018-06-04 15:55:52 +02:00
Emilio Cobos Álvarez
eef329bf9f Bug 1419695: Make the transition-property code make more sense. r=xidorn
We were working around the lack of alias support during parsing in
TransitionProperty by doing a Gecko lookup. That's a hack and is now gone.

MozReview-Commit-ID: EptUvJNTrZr
2018-06-04 15:55:50 +02:00
Emilio Cobos Álvarez
29985b3f24 Bug 1449243: Remove invalid assertion. r=me
We can look at stale styles while trying to figure out if we need any
invalidation, and that's ok.

MozReview-Commit-ID: 4mBIFNm9qJv
2018-06-04 14:51:47 +02:00
Emilio Cobos Álvarez
50afa7ac48 Bug 1466008: followup: set the rule type in the custom properties code, since we use it. r=me on a CLOSED TREE
Though I think it may be slightly fishy if used in, e.g., a @keyframes block.

For our purposes right now it doesn't make a difference, I think.

MozReview-Commit-ID: A7VCTOqaIuB
2018-06-01 16:15:14 +02:00
Emilio Cobos Álvarez
5c22d25db8 Bug 1466095: Make PropertyId::parse less of a footgun. r=xidorn
MozReview-Commit-ID: 2BmtSDPmHj9
2018-06-01 14:57:08 +02:00
Emilio Cobos Álvarez
50bc098041 Bug 1466008: Make will-change honor prefs properly, and clean it up while at it. r=xidorn
Will add a test, though in JSConf right now...

MozReview-Commit-ID: JyzwaRgf5Ct
2018-06-01 14:49:59 +02:00
Nazım Can Altınova
361380987c Bug 1464496 - Part 1: Merge ServoDeclarationBlock and DeclarationBlock r=emilio
MozReview-Commit-ID: By9fV70Oq0K

--HG--
extra : rebase_source : 837afe9c33b21d7db41ff19d3aaf6cf3e9eedbdf
2018-05-30 18:15:25 +02:00
Dan Glastonbury
68881da7dd Bug 1457353 - P1: Change nscolor to StyleComplexColor. r=xidorn
Change mStopColor, mFloodColor, and mLightingColor in nsStyleSVGReset.

MozReview-Commit-ID: KMRMtHk1jNK

--HG--
extra : rebase_source : c0c12fa811d17ab6fe0a5ceb31ff32ec585314e0
2018-04-27 12:07:20 +10:00
Morgan Rae Reschenberg
0403087901 Bug 1463589 - Add contain:size and contain:content parsing functionality. r=emilio
MozReview-Commit-ID: 4fOqln3oOpC

--HG--
extra : rebase_source : 3b2ac1116ea9399a8fbbaab158e7dda5fec3930d
2018-05-30 07:49:31 -07:00
Csoregi Natalia
f3599e000e Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-30 12:28:56 +03:00
Emilio Cobos Álvarez
d7bfa8a3bb Bug 1460382: Make element-backed pseudos inherit from NAC subtree roots and other NAC inherit from their parents. r=heycam
Currently, NAC always inherits from the closest non-NAC ancestor element,
regardless of whether it is for an element-backed pseudo or not.

This patch changes the inheritance so that for element-backed pseudos, we
inherit from the closest native anonymous root's parent, and for other NAC we
inherit from the parent.

This prevents the following two issues and allows us to remove the
NODE_IS_NATIVE_ANONYMOUS flag:

 * Avoiding inheriting from the non-NAC ancestor in XBL bindings bound to NAC.

   - This is no longer a problem since we apply the rule only if we're a
     pseudo-element, and all pseudo-elements are in native anonymous subtrees.

   - This also allows to remove the hack that propagates the
     NODE_IS_NATIVE_ANONYMOUS flag from the ::cue pseudo-element from
     BindToTree.

 * Inheriting from the wrong thing if we're a nested NAC subtree.

   - We no longer look past our NAC subtree, with the exception of
     ::-moz-number-text's pseudo-elements, for which we do want to propagate
     ::placeholder to.

A few rules from forms.css have been modified because they're useless or needed
to propagate stuff to the anonymous form control in input[type="number"] which
previously inherited from the input itself.

MozReview-Commit-ID: IDKYt3EJtSH
2018-05-30 10:14:46 +02:00
Emilio Cobos Álvarez
635baff295 Bug 1465066: Cleanup transform animation. r=hiro
MozReview-Commit-ID: D9rq8CZIgf5
2018-05-30 10:11:26 +02:00
Emilio Cobos Álvarez
f69d157533 Bug 1464865: Some trivial cleanup. r=xidorn
MozReview-Commit-ID: 8ClaBR9ooGb
2018-05-29 16:39:38 +02:00
Emilio Cobos Álvarez
3a5b66d9c2 Bug 1464865: Don't let @namespace rules that aren't going to be inserted affect the namespace map. r=xidorn
MozReview-Commit-ID: 9bjlEBExqsr
2018-05-29 16:39:37 +02:00
shindli
16731e010d Backed out changeset ad877938d752 (bug 1464865) for wpt3 failures in /css/cssom/insertRule-import-no-index.htm on a CLOSED TREE 2018-05-29 13:39:43 +03:00
shindli
de4b4b8e83 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-29 12:59:12 +03:00
shindli
ee44448835 Merge inbound to mozilla-central. a=merge 2018-05-29 12:52:25 +03:00
Emilio Cobos Álvarez
a809a03499 Bug 1464834: Bring back servo/moz.build to fix the linting failure. r=me
MozReview-Commit-ID: 1yKvs0NI3X3
2018-05-29 11:07:31 +02:00
Emilio Cobos Álvarez
362f28d4bb Bug 1464865: Don't let @namespace rules that aren't going to be inserted affect the namespace map. r=xidorn
MozReview-Commit-ID: 9bjlEBExqsr
2018-05-29 10:45:42 +02:00
Emilio Cobos Álvarez
3a1b4b93c1 Bug 1464834: Remove dead servo code. r=xidorn,heycam
Just leaving enough for style and tests to compile. Otherwise it's really
confusing, specially when looking for webidl stuff, and can confuse contributors
too.

I prefer to keep the rest as is, since the rest I do sync (semi) manually.

Reviewers: xidorn,heycam

Bug #: 1464834

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

MozReview-Commit-ID: HtxzJ29Pjkp
2018-05-29 10:28:11 +02:00
Emilio Cobos Álvarez
189e0dc488 No bug - trivial TopLevelRuleParser construction cleanup. r=me
MozReview-Commit-ID: 5CdOdQPZzyb
2018-05-29 00:31:22 +02:00
Hiroyuki Ikezoe
2ef0eac0e3 Bug 1464647 - Implement the smarter interporation for transform. r=birtles,emilio
Corresponding to this spec change;
32812668df

The expected value in test_transitions_per_property.html can be calculated;

  'start' + ('end' - 'start') * 0.25

MozReview-Commit-ID: NI9gOUuPnG

--HG--
extra : rebase_source : 2eff1fee211a7f4a9be0593b3fae6816f91a3831
2018-05-29 12:33:16 +09:00
Simon Sapin
a8e3499296 No bug - Import style changes for Servo PR #20703. r=me
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: 7Crl7d1Vs1N
2018-05-28 16:07:04 +02:00
Emilio Cobos Álvarez
533ea279c5 No bug - Appease Servo's tidy lint. r=me
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: CoejeixDmI6
2018-05-28 16:06:24 +02:00
Emilio Cobos Álvarez
54c29475e9 Bug 1464428: Optimize QuerySelector in shadow trees. r=xidorn
Pretty much the same setup we have for document.

We have the awkwardness of having to check containing shadow manually for
ShadowRoot because it's not available in TNode (and making it available added a
bit more complexity that wasn't worth it IMO).

MozReview-Commit-ID: CqOh0sLHf6o
2018-05-28 14:30:34 +02:00
arthur.iakab
436cd55b31 Backed out changeset 8fb0fa2dca36 (bug 1464428) for Reftest crashes on a CLOSED TREE
--HG--
extra : amend_source : 023931e140119e040f5ca1c5b24bc4def5b0c215
2018-05-28 13:17:34 +03:00
Emilio Cobos Álvarez
84ed3147e4 Bug 1459403: The fix: scale and translate appropriately. r=hiro
Loops are hard. This hasn't been the funniest Saturday evening.

MozReview-Commit-ID: I8rfuIRIsrY
2018-05-28 11:23:55 +02:00
Emilio Cobos Álvarez
3b06764ca4 Bug 1459403: Move skew and rotation application to their own scope for clarity. r=hiro
The skew resetting of temp I think fixes a bug in presence of skew in every
direction, but again haven't double-checked.

MozReview-Commit-ID: Bn93CoaG8Bu
2018-05-28 11:23:54 +02:00
Emilio Cobos Álvarez
d7cc22e3e8 Bug 1459403: Cleanup multiply(). r=hiro
We assign all the members, the result matrix doesn't really need to be any clone
of a.

MozReview-Commit-ID: 3NkhvyfqQL
2018-05-28 11:23:53 +02:00
Emilio Cobos Álvarez
ab6020056c Bug 1459403: Add a FIXME comment which I think reveals a bug but I haven't confirmed it. r=hiro
MozReview-Commit-ID: DgCfqA5TNzP
2018-05-28 11:23:52 +02:00
Emilio Cobos Álvarez
3ac809b7aa Bug 1459403: Cleanup and add references to decompose_3d_matrix. r=hiro
Same, no functional change, but I basically rewrote this two times so...

MozReview-Commit-ID: FXOnJDPyPu5
2018-05-28 11:23:51 +02:00
Emilio Cobos Álvarez
66a98f1315 Bug 1459403: Cleanup and add references to Quaternion::animate. r=hiro
No functional change, but I did this while searching for the bug.

MozReview-Commit-ID: KsJxFoYaOq1
2018-05-28 11:23:50 +02:00
Emilio Cobos Álvarez
d4bc975ab9 Bug 1459403: Trivial cleanup. r=hiro
MozReview-Commit-ID: K7zVYGiYAn6
2018-05-28 11:23:50 +02:00
Emilio Cobos Álvarez
d3aa695c83 Bug 1464615: Reuse computed rotate animation. r=hiro
I have the feeling this fixes a bug, but...

MozReview-Commit-ID: Aj478qCbMV9
2018-05-28 11:05:39 +02:00
Emilio Cobos Álvarez
f031f71b78 Bug 1464615: Match rotate ops. r=hiro
Per bug 1322189 we really should. I've copied the setup we have already for
translate / scale, but we should really clean this up a bit more I'd think.

In any case, probably skew should be matched as well...

MozReview-Commit-ID: Jky5k8HVfuH
2018-05-28 11:05:38 +02:00
Emilio Cobos Álvarez
3f97dd5cab Bug 1464060: Make the general setup for computed style bits nicer. r=xidorn
This patch:

 * Makes StyleStructID an enum class, and moves it to the mozilla namespaces.

 * Introduces StyleStructConstants with some constants scattered through the
   codebase.

 * Makes the computed style bits an enum class, and splits mPseudoType and mBits
   into their own members, since we were using a uint64_t when we have only a
   couple flags and CSSPseudoElementType is a byte. We statically assert that
   the number of style structs is less or equal to 32.

 * Makes mPseudoTag, mPseudoType and mBits const, since we don't want them to be
   mutated from C++, and we still need a few more refactorings (mostly getting
   rid of FinishStyle) to avoid mutating ComputedStyle instead.

MozReview-Commit-ID: 7qsTtASGcYB
2018-05-28 10:40:00 +02:00