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: Make the whole style crate independent of the implementation #9567

Merged
merged 6 commits into from Feb 14, 2016

Commits on Feb 13, 2016

  1. Refactor style to be completely backend-independent

    This commit refactors the style crate to be completely independent of
    the actual implementation and pseudo-elements supported.
    
    This also adds a gecko backend which introduces parsing for the
    anonymous box pseudo-elements[1], although there's still no way of
    querying them.
    
    https://mxr.mozilla.org/mozilla-central/source/layout/style/nsCSSAnonBoxList.h
    emilio committed Feb 13, 2016
  2. geckolib: Fix :link and :any-link pseudo-element matching

    The logic was switched between them.
    emilio committed Feb 13, 2016
  3. style: Prevent a crash when push_applicable_declarations is called wi…

    …th a non eagerly-cascaded pseudo-element
    
    This actually didn't happen, but this should be done sooner than later.
    emilio committed Feb 13, 2016
  4. style: Refactor the per_pseudo map from StyleData to avoid having an …

    …option value type.
    
    This make the layout code way clearer.
    emilio committed Feb 13, 2016
  5. layout: Stop parameterizing on N for RecalcStyleAndConstructFlows

    This is unfortunate, but making that useful would require parameterizing
    `SharedLayoutContext` and `LayoutContext` depending on the
    `SelectorImpl` (which is a **huge** work right now).
    
    Probably the easier way to do it, and probably the one that keeps the
    layout code more legible, and since there won't be multiple
    implementations at the same compilation unit, would be "defining" a
    default implementation for layout via feature flags.
    
    That should allow us to remove the components/style/servo.rs file.
    emilio committed Feb 13, 2016
You can’t perform that action at this time.