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

11579 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez a9104d20df Bug 1467536: Add CssPropFlags::SerializedByServo and use it on some simple properties. r=xidorn
The idea is to turn the simple properties into a blacklist instead really soon,
and fix the offending ones soon after, so that only shorthands and properties
with layout dependence (and maybe the scrollbar properties, because the poke at
LookAndFeel) are not serialized by Servo.

MozReview-Commit-ID: JTLNnmXzny8
2018-06-08 14:18:00 +02:00
Emilio Cobos Álvarez aaae119167 Bug 1467536: Add a Servo API to get the serialized style of a property. r=xidorn
This is intended to be used by GetComputedStyle when there's no layout
dependency.

MozReview-Commit-ID: 3GAbjo1uQ34
2018-06-08 14:17:52 +02:00
Xidorn Quan d3cefe8ea5 Bug 1466963 followup - Make RawServoUnlockedDeclarationBlock an alias to PropertyDeclarationBlock in Servo side. r=emilio
--HG--
extra : rebase_source : 93e4d83a4401cab5d010cfd3fb2494af33118ce8
extra : source : 78af6231a95c253e7087b879b901798642af81bd
2018-06-08 19:19:28 +10:00
Coroiu Cristina 92d50008c6 Merge mozilla-central to inbound a=merge on a CLOSED TREE 2018-06-07 13:00:49 +03:00
Coroiu Cristina d2f82e1f42 Merge inbound to mozilla-central a=merge 2018-06-07 12:47:31 +03:00
Dan Glastonbury a7c3c83d93 Bug 1465307 - P3: Extract {animated,computed}::Color common parts. r=xidorn
Extract the common parts of `animated::Color` and `computed::Color` out
into `generics::color::Color<T>` that is generic over the type of
RGBA color.

MozReview-Commit-ID: EymSr7aqnAP

--HG--
extra : rebase_source : fb4afe83fc9ab5167ef5d9ecd55cbbb0d3ea8c1d
2018-06-05 11:49:51 +10:00
Dan Glastonbury 81d488f721 Bug 1465307 - P2: Fix nsStyleBorder::mBorderColor for GCC. r=xidorn
GCC doesn't like StyleComplexColor with constructor in an anonymous
struct in an anonymous union.  Replace the use of a union to access
`mBorder[..]Color` fields as an array with an accessor methods.

MozReview-Commit-ID: 1Wulh1qKYCZ

--HG--
extra : rebase_source : 390b8f852d144a54d9d374bcf3ae70ab6d145d50
2018-06-05 11:24:12 +10:00
Emilio Cobos Álvarez 0fbd75e65f Bug 1466963: Provide a before-mutation closure to C++. r=xidorn,smaug
MozReview-Commit-ID: H2jwIeZoiBZ
2018-06-07 11:22:31 +02:00
Emilio Cobos Álvarez b894d6101b Bug 1466963: Trivially simplify a condition. r=xidorn
MozReview-Commit-ID: L9LzpPt4js4
2018-06-07 11:22:28 +02:00
Emilio Cobos Álvarez 42599b6c43 Bug 1466963: Add a before-change callback to remove_property. r=xidorn
MozReview-Commit-ID: 4vyN9iLT7e3
2018-06-07 11:22:27 +02:00
Emilio Cobos Álvarez 52999b3d14 Bug 1466963: Remove unused PropertyDeclarationBlock::set_importance. r=xidorn
MozReview-Commit-ID: 1YrlOvktag9
2018-06-07 11:22:26 +02:00
Emilio Cobos Álvarez d65524bf1a Bug 1466963: Fix a typo. r=xidorn
Nobody looks at the result from parsing, but this is the right thing to return.

MozReview-Commit-ID: 9P5VARiPIAk
2018-06-07 11:22:24 +02:00
Emilio Cobos Álvarez c133e05b01 Bug 1466963: Inline some trivial bits. r=xidorn
MozReview-Commit-ID: A219QehiMqZ
2018-06-07 11:22:23 +02:00
Dan Glastonbury 7811112058 Bug 1465307 - P1: Extend StyleComplexColor to support additive blending. r=hiro,xidorn
Refactored StyleComplexColor to support "complex" blending between
background (numeric) color and foreground color (currentColor).
Made explicit the distinction between numeric, currentColor and a
complex blend in Gecko and Stylo.

This is to support SMIL animation, for example, of the form:

     <animate from="rgb(10,20,30)" by="currentColor" ... />

MozReview-Commit-ID: IUAK8P07gtm

--HG--
extra : rebase_source : d3648101c6f65479b21e6f02945731cd5bb57663
2018-05-23 15:23:26 +10:00
Gurzau Raul 70a6147545 Backed out changeset 9bdd12949711 (bug 1465250) for multiple failures on /css-contain/contain-paint-002.html on a CLOSED TREE 2018-06-07 06:40:03 +03:00
Yusuf Sermet f215910786 Bug 1465250 - Make contain:paint trigger clipping independent of the overflow property. r=mattwoodrow
MozReview-Commit-ID: 2QbfZD1jnWX

--HG--
extra : rebase_source : c3a61463a25d9160adde3f04abc4b6b59bf42b6a
2018-05-30 14:28:53 -07:00
Boris Zbarsky 5978e8417a Bug 1467134. Use Atomic<bool> for the staticpref version of layout.css.font-variations.enabled. r=emilio
Atomic<bool> is implemented in terms of AtomicBase<uint32_t>, because that way
you don't need to depend on atomic 1-byte operations.  That means that the rust
bindgen sees it as a u32, not a bool.

It's a bit concerning that the rust code seems to be doing an unsynchronized
read here, but given this is a RelaxedAtomic, that's probably ok.
2018-06-06 11:34:30 -04:00
Emilio Cobos Álvarez 27fa0a2a60 Bug 1466645: Remove PropertyId::name. r=xidorn
It's only used for the error path in property parsing, so most of the time is
not useful.

Use the just-introduced NonCustomPropertyId::name to preserve the alias name,
which we were doing by passing the name around.

MozReview-Commit-ID: 46xxZKCoeBB
2018-06-06 09:47:16 +02:00
Emilio Cobos Álvarez 0b1a34a94c Bug 1466645: Make getting a property name explicitly an indexing operation. r=xidorn
The six milliseconds spent in Olli's profile make me thing this is not getting
optimized and we expected.

Also move it to NonCustomPropertyId, so it works for aliases properly too.

MozReview-Commit-ID: 4d76Z55ZBEH
2018-06-06 09:47:11 +02:00
Emilio Cobos Álvarez 1c7654b71f Bug 1466645: Avoid useless allocations in custom property name serialization. r=xidorn
And make transition-property more correct by serializing --0 unescaped instead
of escaped.

MozReview-Commit-ID: CCBSe5Frd0d
2018-06-06 09:46:37 +02:00
Emilio Cobos Álvarez cd02cd2dc3 Bug 1466609: Make clearing atoms slightly more ergonomic. r=xidorn
I prefer to do it this way because Atom has inline paths for static atoms and
such.

MozReview-Commit-ID: CFsBHl80KDY
2018-06-06 09:44:09 +02:00
Emilio Cobos Álvarez 4678543839 Bug 1466609: Make the threadsafe refcounting macros more reusable. r=xidorn
MozReview-Commit-ID: IanxqRksGqE
2018-06-06 09:44:04 +02:00
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