Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

style: Sync changes from mozilla-central. #22036

Merged
merged 14 commits into from Oct 29, 2018
Merged

Commits on Oct 28, 2018

  1. style: Implement the even more forgiving interpolation rules for tran…

    …sform lists.
    
    As discussed in:
    
      w3c/csswg-drafts#927
    
    with tentative spec text:
    
      w3c/csswg-drafts#3215
    
    Differential Revision: https://phabricator.services.mozilla.com/D9185
    birtles authored and emilio committed Oct 28, 2018
  2. style: Use searchfox links instead of dxr links for nsRuleNode.

    Searchfox has better blame.
    
    Differential Revision: https://phabricator.services.mozilla.com/D9375
    emilio committed Oct 28, 2018
  3. style: Convert NS_STYLE_ANIMATION_PLAY_STATE_* to scoped enum StyleAn…

    …imationPlayState.
    
    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
    tb120 authored and emilio committed Oct 28, 2018
  4. style: Compare absolute dot-product to 1.0 when interpolating quatern…

    …ions.
    
    See the extended commit message for the following spec change:
    
      w3c/csswg-drafts@6b36d41
    
    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
    birtles authored and emilio committed Oct 28, 2018
  5. style: Drop frames() timing function.

    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
    BorisChiou authored and emilio committed Oct 28, 2018
  6. style: Split TimingFunction into a separate file to match spec.

    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
    BorisChiou authored and emilio committed Oct 28, 2018
  7. style: Replace u32 with computed::Integer for computed::TimingFunction.

    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
    BorisChiou authored and emilio committed Oct 28, 2018
  8. style: Generate StyleTimingFunction and drop ns_timing_function.rs.

    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,
    (rust-lang/rust-bindgen#1429)
    So we have to hide StyleTimingFunction to avoid the compilation errors.
    
    Differential Revision: https://phabricator.services.mozilla.com/D9313
    BorisChiou authored and emilio committed Oct 28, 2018
  9. style: Implement steps(jump-*) functions.

    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
    BorisChiou authored and emilio committed Oct 28, 2018
  10. style: 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.
    emilio committed Oct 28, 2018
  11. style: Properly handle exhaustive matches in animation keywords to av…

    …oid a warning.
    
    Need to do the gecko_inexhaustive thing because those animation properties have
    an EndGuard_ generated by IPDL I suspect.
    emilio committed Oct 28, 2018
  12. style: Force line-height:normal for themed comboboxes for compat with…

    … other UAs.
    
    Bug: 1501908
    Reviewed-by: emilio
    MatsPalmgren authored and emilio committed Oct 28, 2018
  13. style: Fix servo build and tidy lints.

    emilio committed Oct 28, 2018
You can’t perform that action at this time.