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

12020 Коммитов

Автор SHA1 Сообщение Дата
Boris Chiou e3efce4cc6 Bug 1501117 - Part 2: Serialize timing function from web animation api with servo. r=emilio,birtles
It's worth to serialize the timing function from web animation api with
servo, too. However, we need an FFI to do that, so this patch also add a
new FFI.

Depends on D10443

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

--HG--
extra : moz-landing-system : lando
2018-11-01 21:33:56 +00:00
Cameron McCormack 53d47bc1b0 Bug 1496617 - Part 2: Fix inconsistent CRISPEDGES constant name r=emilio
Depends on D10451

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

--HG--
extra : moz-landing-system : lando
2018-11-01 01:37:26 +00:00
Cameron McCormack a94e23e1cd Bug 1496617 - Part 1: Support unprefixed image-rendering:crisp-edges r=firefox-style-system-reviewers,emilio
For now, we keep supporting the prefixed version, since there are examples/instructions
on the Web that don't include an unprefixed value.

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

--HG--
extra : moz-landing-system : lando
2018-11-01 01:35:26 +00:00
Cameron McCormack b74ebf7c27 Bug 1497076 - Handle reversed ranges in @font-face descriptors r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D10327

--HG--
extra : moz-landing-system : lando
2018-10-31 10:40:56 +00:00
Boris Chiou 72e9ae1148 Bug 1501116 - Part 8: Drop "mozilla" prefix in cbindgen_types in ServoBindings.toml. r=emilio
A minor update to drop the redundant "mozilla" namespace prefix in
`cbindgen_types` array.

Depends on D10305

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

--HG--
extra : moz-landing-system : lando
2018-10-31 10:58:24 +00:00
Boris Chiou 3219a21d7b Bug 1501116 - Part 6: Use alias for StylePathCommand. r=emilio
So we could drop transmute in svg_path related functions.

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

--HG--
extra : moz-landing-system : lando
2018-10-31 06:20:32 +00:00
Boris Chiou 2b5db49d22 Bug 1501116 - Part 5: Use alias for StyleFillRule. r=emilio
This needs to update the "fill-rule" and "clip-rule" to use
predefined_type to avoid some compilation errors.

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

--HG--
extra : moz-landing-system : lando
2018-10-31 10:57:48 +00:00
Boris Chiou 3ff7857977 Bug 1501116 - Part 4: Use alias for font related types. r=emilio
Map the following types:
1. StyleComputedFontWeightRange.
2. StyleComputedFontStretchRange.
3. StyleComputedFontStyleDescriptor.
4. StyleFontDisplay.
5. StyleFontFaceSourceListComponent
6. StyleFontLanguageOverride.

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

--HG--
extra : moz-landing-system : lando
2018-10-31 06:20:15 +00:00
Boris Chiou 82b7d6a4e9 Bug 1501116 - Part 3: Use alias for StyleDisplay and StyleDisplayMode. r=emilio
Map these two types to their original rust type in rust-bindgen.

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

--HG--
extra : moz-landing-system : lando
2018-10-31 06:20:07 +00:00
Boris Chiou e09f87319f Bug 1501116 - Part 2: Use alias for StyleAppearance. r=emilio
So we could avoid generating it in rust-bindgen and drop transmute.

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

--HG--
extra : moz-landing-system : lando
2018-10-31 06:20:00 +00:00
Boris Chiou 7e0bfa77d7 Bug 1501116 - Part 1: Add a special list for cbindgen types to avoid generating redundant rust types. r=emilio
We will blacklist this type and add a module raw line to map the gecko
type to its rust type (as an alias).

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

--HG--
extra : moz-landing-system : lando
2018-10-31 06:19:52 +00:00
Ciure Andrei 608de3193c Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-31 00:14:49 +02:00
Brian Birtles b1132a8092 Bug 1501176 - Interpolate the angle between mis-matched rotate() functions when the angle of one is zero; r=hiro
--HG--
extra : rebase_source : b94d2751404db1a0b52b2e943da06bd3f9d82660
2018-10-30 19:57:46 +09:00
Emilio Cobos Álvarez b85791110f Bug 1503401 - Update cbindgen due to breaking change. r=boris
https://github.com/eqrion/cbindgen/pull/233 changed the way one of the options
we use work.

I think the new behavior is better, but we should do this sooner rather than
later, and fix broken builds.

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

--HG--
extra : moz-landing-system : lando
2018-10-30 21:25:17 +00:00
Emilio Cobos Álvarez d62f59fe3d Bug 1502617 - Support ::before / ::after on ::slotted pseudos. r=heycam
See https://github.com/w3c/csswg-drafts/issues/3150 for the issue that would
expand this to all pseudos.

Differential Revision: https://phabricator.services.mozilla.com/D9994
2018-10-29 23:42:22 +01:00
Sean Voisen 7b694bc60c Bug 1430969: Ignore border-image-source when overriding document colors r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D10017

--HG--
extra : moz-landing-system : lando
2018-10-29 10:38:50 +00:00
Emilio Cobos Álvarez 21bd600cbd Bug 1497389 - Add a fast path for querySelector{,All} when we have classes or tags in the rightmost compound. r=heycam,firefox-style-system-reviewers
Before this patch we were only optimizing the case of a single selector, which
is fine, but not enough to catch ones like .foo .bar or so.

This patch allows us to optimize classes and tags in the rightmost compound,
while keeping the current optimization for #id selectors.

Need to profile this, but code-wise should be ready for review.

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

--HG--
extra : moz-landing-system : lando
2018-10-29 12:04:25 +00:00
Emilio Cobos Álvarez 968454aa33 Bug 1502185 - Don't allow auto in grid line names. r=mats
See https://github.com/w3c/csswg-drafts/issues/2856.

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

--HG--
extra : moz-landing-system : lando
2018-10-28 23:26:53 +00:00
Cosmin Sabou b722307359 Merge inbound to mozilla-central. a=merge 2018-10-29 06:17:11 +02:00
Emilio Cobos Álvarez d6266e508a Bug 1502754 - Synchronize style system unit tests.
These are not part of the Gecko build, just prevent that they end up out of
sync.
2018-10-29 00:11:39 +01:00
Emilio Cobos Álvarez 585bf5454b Bug 1502754 - Fix Servo build and tidy lints. 2018-10-29 00:11:37 +01:00
Mats Palmgren 5f7f645601 Bug 1501908 - Force line-height:normal for themed comboboxes for compat with other UAs. r=emilio 2018-10-28 23:00:13 +01:00
Emilio Cobos Álvarez 9f8636dee7 Bug 1500885 - Remove tests and other similar bits. r=mats
Also remove specified-value-only keywords, since those are handled
only in Rust code and C++ doesn't need to know about them.

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

--HG--
extra : moz-landing-system : lando
2018-10-24 20:32:16 +00:00
Emilio Cobos Álvarez 9e99ffed7b Bug 1502679 - Properly handle exhaustive matches in animation keywords to avoid a warning.
Need to do the gecko_inexhaustive thing because those animation properties have
an EndGuard_ generated by IPDL I suspect.
2018-10-27 23:47:34 +02:00
Emilio Cobos Álvarez 0aa7e19522 Bug 1416282 - Assert earlier to try to get a more helpful stack. 2018-10-27 13:18:18 +02:00
Emilio Cobos Álvarez 802b24d578 Bug 1416282 - Back out diagnostics for not being helpful enough at diagnosing.
The selectors that crash seem just corrupted data structures, none of the
selectors from crash dumps make sense, and the ones for which I could trace the
source found no issue.
2018-10-27 13:17:32 +02:00
Boris Chiou 3015824e8d Bug 1496619 - part 7: Implement steps(jump-*) functions r=birtles
1. Add a new preference, layout.css.step-position-jump.enabled, for
   step(_, jump-*) timing functions.
2. We still keep JumpEnd and End tags, even though there is no difference
   between them. Therefore, we could disable the preference if needed.
3. Update the calculation of StepTiming to match the algorithm in the spec.
4. For servo, we implement the correct step function algorithm except
   for the handling of before_flag. This could be fixed later.

Depends on D9313

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

--HG--
extra : moz-landing-system : lando
2018-10-26 18:03:37 +00: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
Boris Chiou c3df288596 Bug 1496619 - Part 4: Replace u32 with computed::Integer for computed::TimingFunction r=emilio
We make sure the step number is always positive, so using
computed::Integer is safe and can derive ToComputedValue.

Depends on D9311

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

--HG--
extra : moz-landing-system : lando
2018-10-26 18:03:31 +00:00
Boris Chiou 368a3350df Bug 1496619 - Part 3: Split TimingFunction into a separate file to match spec r=emilio
TimingFunction is defined in a separate spec (i.e. css-easing), instead
of transform, so we move it into a different file.

Depends on D9310

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

--HG--
extra : moz-landing-system : lando
2018-10-26 18:03:29 +00:00
Boris Chiou adff31eff9 Bug 1496619 - Part 1: Drop frames() timing function r=birtles
frames() timing function was removed from the spec, so we drop it.
Besides, some devtool tests are removed because they use frame(). I will
add them back by using new step function later.

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

--HG--
extra : moz-landing-system : lando
2018-10-26 18:03:24 +00:00
Brian Birtles 99201827d6 Bug 1500820 - Compare absolute dot-product to 1.0 when interpolating quaternions; r=hiro
See the extended commit message for the following spec change:

  6b36d41ebc

Basically, by failing to take the absolute value, for certain content we can end
up doing division by zero which will mean that the test included in this patch
will cause an assertion to fail in debug builds and return
"matrix(NaN, NaN....)" in release builds.

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

--HG--
extra : moz-landing-system : lando
2018-10-24 07:06:43 +00:00
tb120 e996e1e744 Convert NS_STYLE_ANIMATION_PLAY_STATE_* to scoped enum StyleAnimationPlayState (Bug 1500439) r=emilio
This change removes directives NS_STYLE_ANIMATION_PLAY_STATE_* and replaces the values with those from a scoped enum called StyleAnimationPlayState.

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

--HG--
extra : moz-landing-system : lando
2018-10-22 21:58:01 +00:00
Sebastian Hengst 602fbb8422 merge mozilla-inbound to mozilla-central. a=merge 2018-10-22 20:26:16 +03:00
Emilio Cobos Álvarez 3f8b370d35 Bug 1500849 - Update bindgen. r=heycam,bbouvier
This pulls a new nom version, which is slightly unfortunate, but I do want some
of the fixes upstream, and it's build-only, so I think it's not a huge deal.

Differential Revision: https://phabricator.services.mozilla.com/D9362
2018-10-22 13:20:01 +02:00
Emilio Cobos Álvarez c47414a8f9 Bug 1500892 - Use searchfox links instead of dxr links for nsRuleNode. r=heycam,firefox-style-system-reviewers
Searchfox has better blame.

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

--HG--
extra : moz-landing-system : lando
2018-10-22 11:59:09 +00:00
Narcis Beleuzu 90d51e6cd9 Merge inbound to mozilla-central. a=merge 2018-10-19 16:11:27 +03:00
Brian Birtles fede6e4628 Bug 1472917 - Implement the even more forgiving interpolation rules for transform lists; r=hiro
As discussed in:

  https://github.com/w3c/csswg-drafts/issues/927

with tentative spec text:

  https://github.com/w3c/csswg-drafts/pull/3215

Depends on D9184

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

--HG--
extra : moz-landing-system : lando
2018-10-19 04:41:12 +00:00
Emilio Cobos Álvarez 6dff7031ef Bug 1500260 - Fix various tidy issues and Servo build. r=emilio 2018-10-19 01:17:24 +02:00
Josh Matthews 1feab6797d Bug 1500260 - Update servo malloc_size_of after webrender update. r=emilio
This cherry-picks part of servo/servo#21725.
2018-10-19 01:17:22 +02:00
Pyfisch dcc0b09eed Bug 1500260 - Use keyboard-types crate. r=emilio
Have embedders send DOM keys to servo and use a strongly typed KeyboardEvent
from the W3C UI Events spec. All keyboard handling now uses the new types.

Introduce a ShortcutMatcher to recognize key bindings. Shortcuts are now
recognized in a uniform way.

Updated the winit port.
Updated webdriver integration.

part of #20331

This cherry-picks part of servo/servo#21881.
2018-10-19 01:17:20 +02:00
Emilio Cobos Álvarez dc07212084 Bug 1500260 - More useful logging for transition-related stuff. r=emilio
Transitions are still broken, but I found these messages more helpful than the
previous ones when diagnosing problems.

This cherry-picks part of servo/servo#20757.
2018-10-19 01:17:18 +02:00
Emilio Cobos Álvarez 833de85131 Bug 1500260 - Expire keyframes animations when no longer referenced by the style. r=emilio
It's a long way to make this sound in general...

Fixes #20731

This cherry-picks part of servo/servo#20757.
2018-10-19 01:17:16 +02:00
Emilio Cobos Álvarez 9ee318b187 Bug 1500260 - Remove unused expired boolean in Animation::Transition. r=emilio
The last caller who used was #14418, which did fix a problem but introduced
multiple. In particular, now transitions don't get expired ever, until they
finish running of course.

That is not ok, given you can have something that the user can trigger to change
the style (hi, :hover, for example), and right now that triggers new
transitions, getting this into a really funny state.

I should give fixing this a shot, but it's non-trivial at all.

This cherry-picks part of servo/servo#20757.
2018-10-19 01:17:15 +02:00
Emilio Cobos Álvarez 3f29fd8d37 Bug 1500260 - Cleanup some of the animation starting code. r=emilio
This cherry-picks part of servo/servo#20757.
2018-10-19 01:17:13 +02:00
Emilio Cobos Álvarez cc4aeaeb05 Bug 1500260 - Stop using PseudoElement::inherits_all. r=emilio
This was done that way just because Servo didn't support the `all` property at
the time.

We should do it this way and optimize it if it's slow. Though I suspect that
most of stuff doesn't actually need to be inherited, my patch at bug 1498943
should make it much faster than what it would otherwise be.

This cherry-picks servo/servo#21946.
2018-10-19 01:17:11 +02:00
Emilio Cobos Álvarez 6bcab9b72b Bug 1499778 - Remove StaticId. r=xidorn
Destructors in statics are ok now.

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

--HG--
extra : moz-landing-system : lando
2018-10-17 19:48:35 +00:00
Emilio Cobos Álvarez d7751dd7ee Bug 1499408 - followup test fix to the followup build fix. 2018-10-17 17:19:39 +02:00
Emilio Cobos Álvarez 81d70d88d1 Bug 1499386 - Implement @supports selector() syntax. r=heycam
This implements the selector(<complex-selector>) syntax for @supports.

See https://github.com/w3c/csswg-drafts/issues/3207 for explainer and
discussion.

Probably would should wait for that to be sorted out to land this, or maybe we
should put it behind a pref to get the code landed and change our
implementation if the discussion there leads to a change.

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

--HG--
extra : moz-landing-system : lando
2018-10-17 12:08:14 +00:00
Cameron McCormack 13feafe016 Bug 1499408 - Followup build fix.
MozReview-Commit-ID: F88mB13Mwa1
2018-10-17 06:56:00 +03:00