bors-servo
449758ef5d
Auto merge of #16096 - stshine:die-modify-style-die, r=emilio
...
Use Servo-specific pseudo elements for anonymous box and text
<!-- Please describe your changes on the following line: -->
Use some fake pseudo elements to style servo-specific boxes in servo. Also, Since for nested inline elements non-inheritable properties are properly stored in the inline context of an inline fragment, so get
rid of them on the style using empty pseudo to do cascading.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #5625 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because refactoring
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16096 )
<!-- Reviewable:end -->
2017-04-01 06:02:08 -05:00
Pu Xingyu
951c050690
Use empty pseudo to cascade only inheritable properties for text
...
Since for nested inline elements non-inheritable properties are
properly stored in the inline context of an inline fragment, so get
rid of them on the style.
2017-04-01 14:05:11 +08:00
Boris Zbarsky
a58b19e7d3
Presentation hints should not get applied to pseudo-elements.
...
Servo side of https://bugzilla.mozilla.org/show_bug.cgi?id=1352464
2017-03-31 12:03:07 -04:00
Pu Xingyu
1677d479f6
Use Servo-specific pseudo element for InlineAbsolute fragment
2017-03-31 02:45:09 +08:00
Pu Xingyu
836e554c30
Use Servo-specific pseudo element for InlineBlock fragment
2017-03-31 02:45:09 +08:00
Xidorn Quan
01e986f2e6
Record effective @font-face rules when updating stylist.
2017-03-30 11:41:12 +11:00
Emilio Cobos Álvarez
a9b133bcbb
Bug 1345950: stylo: Fix slow selector flags. r=bholley
...
MozReview-Commit-ID: QwuSxulNG0
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-03-22 11:21:24 +01:00
Simon Sapin
d5074136e3
Rename ReadGuards to StylesheetGuards
2017-03-19 22:30:42 +01:00
Simon Sapin
1bacd0eb15
Move all PropertyDeclarationBlock from RwLock<_> to Locked<_>
2017-03-19 22:30:38 +01:00
Simon Sapin
aeffca2a59
Replace RwLock<StyleRule> with Locked<StyleRule>
2017-03-19 22:30:37 +01:00
Simon Sapin
57724e5a37
Replace RwLock<Keyframe> with Locked<Keyframe>
2017-03-19 22:30:37 +01:00
Simon Sapin
adb97d4cbe
Wrap most CSS rules in Locked<_> instead of RwLock<_>
2017-03-19 22:30:36 +01:00
Simon Sapin
f35b4e27b3
Replace RwLock<CssRules> with Locked<CssRules>
2017-03-19 22:30:35 +01:00
Simon Sapin
3ae2ecbec2
More lock acquire in callers
2017-03-19 22:30:32 +01:00
Simon Sapin
d18b1280f2
Move shared lock acquires up the call stack. (Or is it down?)
2017-03-19 22:30:32 +01:00
Simon Sapin
c5a7294e05
Replace RwLock<MediaList> with shared_lock::Locked<MediaList>
2017-03-19 22:30:31 +01:00
Matt Brubeck
2872c8bfab
Bug 1340683 - stylo: Implement the :-moz-any pseudo-class
2017-03-16 11:44:47 -07:00
Emilio Cobos Álvarez
b4de69e3eb
style: Avoid cloning all over the error reporter.
2017-03-14 00:49:18 +01:00
Emilio Cobos Álvarez
eaf27ccfa0
style: Kill SharedStyleContext::default_computed_values.
...
Now that cascade() gets a Device, we can use the default computed values from
there to avoid propagating that state all over the place.
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-03-14 00:49:16 +01:00
Matt Brubeck
16e318d055
Add support for non-standard -moz color keyword values.
...
Closes #15928
2017-03-14 00:49:08 +01:00
Emilio Cobos Álvarez
9c0424cca4
style: Remove unneeded indirection in default_computed_values.
2017-03-13 21:57:57 +01:00
Boris Zbarsky
275865486e
Add support for skipping display fixup for pseudos.
...
This is needed for https://bugzilla.mozilla.org/show_bug.cgi?id=1346481
2017-03-13 13:11:53 -04:00
Emilio Cobos Álvarez
6875c65d37
Bug 1341083: Implement dynamic restyling for display: contents. r=heycam
...
MozReview-Commit-ID: KimTU2j4V4p
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-25 19:58:56 +01:00
Bobby Holley
5873de3fb6
Allow the ComputedValues in ComputedStyle to be null.
...
This is necessary to start synthesizing the styles in match_element and avoid
round-tripping them through the caller.
2017-02-10 10:34:27 -08:00
bors-servo
6d1836e32b
Auto merge of #15459 - emilio:ua-rules, r=SimonSapin
...
style: Ensure that precomputed pseudo-element declarations are correctly sorted.
Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1337657
r? @SimonSapin
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15459 )
<!-- Reviewable:end -->
2017-02-09 04:20:34 -08:00
Emilio Cobos Álvarez
db26ef9acb
style: Ensure that precomputed pseudo-element declarations are correctly sorted.
2017-02-09 13:20:09 +01:00
Bobby Holley
9e860df9df
Bug 1336646 - Apply selector flags during traversal. r=emilio
2017-02-08 19:21:05 -08:00
Hiroyuki Ikezoe
a80725c91b
Allow empty keyframe and keyframes with non-animatable properties.
...
We need to create CSS animations that have empty keyframe or keyframes
which have only invalid properties or non-animatable properties to fire
animation events for such animations.
2017-02-01 07:06:38 +09:00
Emilio Cobos Álvarez
f48328edfe
style: Remove a bit of unused code.
2017-01-30 23:53:54 +01:00
Emilio Cobos Álvarez
314f2ce714
style: Define a CascadeLevel enum, and make the rule tree operate on it.
...
We'll use this level to know where to stop replacing nodes in the tree.
2017-01-30 23:53:53 +01:00
Rohit Burra
325271ec83
Changes Stylist::set_device to check for mediaqueries in Stylesheets
2017-01-29 17:11:26 +05:30
Marco Concetto Rudilosso
07f04ced2e
changed quickersort with pdqsort
2017-01-27 18:42:22 +00:00
Boris Chiou
19aea7ea78
Bug 1317209 - Part 5: Support transition cascade level. r=emilio
...
Support a new enum, EffectCompositor_CascadeLevel, which is an equivalent of
EffectCompositor::CascadeLevel in Gecko.
2017-01-24 18:44:07 +08:00
Boris Chiou
3a89e89952
Bug 1317209 - Part 4: Put animation rule to cascade. r=emilio
...
We try to get the servo animation rule and declarations during elements
matching, and put the rule to the right priority.
Note: According to CSS Cascade Level spec, Animations is between
Important author declarations and Normal override declarations.
2017-01-24 16:32:20 +08:00
Emilio Cobos Álvarez
5b5243b8af
Bug 1331213: Bootstrap a Gecko-side Device, and track it's dirtiness manually in the per-doc data. r=heycam
...
The setup is quite different to Servo-land, so add a comment about the different
setup.
Also, check viewport rules when flushing stylesheets. I believe that the
previous behavior is plain wrong, though I haven't taken the time to come up
with a test case.
In any case, it doesn't hurt any of both back-ends.
MozReview-Commit-ID: 46gtTkesOsr
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-01-17 14:05:23 +01:00
bors-servo
50bba770d6
Auto merge of #14789 - Manishearth:supports, r=SimonSapin
...
Support @supports
fixes #14786
cc @heycam @upsuper
r? @SimonSapin
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14789 )
<!-- Reviewable:end -->
2017-01-09 10:54:38 -08:00
Cameron McCormack
3e0e2bcd2c
Don't inherit all properties for pre-computed pseudos if there are no matching rules.
2017-01-09 17:55:40 +08:00
Manish Goregaokar
1b0842e228
Support @supports ( fixes #14786 )
2017-01-07 23:17:50 -08:00
Emilio Cobos Álvarez
c0cf847043
style: Isolate the soon-to-be style-backend-specific from the media_query module.
2017-01-07 12:34:43 +01:00
Emilio Cobos Álvarez
7788f43c7e
style: Remove unneeded allow's.
...
They're useless right now.
2017-01-07 12:34:30 +01:00
Boris Zbarsky
62961370ec
Bug 1298588 part 12. Compile some bits that call ComputedValues::initial_values only for servo, not stylo. r=bholley
...
Stylist::set_device seems to only be used in servo code, and is the only consumer of ViewportConstraints::maybe_new.
2017-01-04 23:13:50 -05:00
Boris Zbarsky
61f6025dc3
Bug 1298588 part 9, servo piece. Pass through useful default styles to cascade(). r=bholley
2017-01-04 23:13:46 -05:00
Emilio Cobos Álvarez
fa8874fb14
style: Document the restyle hints code, and make it operate on TElement
.
...
This removes the annoying constraint of having to provide the current state from
outside of the restyle hints code.
2017-01-02 12:57:52 +01:00
Emilio Cobos Álvarez
c5f2142d8f
style: Document the stylist module.
2017-01-02 12:57:51 +01:00
Emilio Cobos Álvarez
082866aba6
style: Export fnv's FnvHashMap, instead of rewriting it.
2017-01-02 12:57:51 +01:00
Emilio Cobos Álvarez
121b718e99
style: Remove a bunch of duplicated logic in add_stylesheet.
...
This is remminiscent of my recent @import refactor, and stayed there
incorrectly.
Note that it's the same code that lives in `update` (where it should live).
2017-01-02 12:57:50 +01:00
Emilio Cobos Álvarez
444fef164e
style: Add a struct to represent import rules, and parse them correctly.
2016-12-16 16:57:18 +01:00
Emilio Cobos Álvarez
85b6e5ad80
style: Move Stylist::device into an Arc
2016-12-16 15:10:37 +01:00
Xidorn Quan
599eb1c9f0
Move Arc<RwLock<_>> out from CssRules tuple
2016-11-29 22:15:13 +11:00
bors-servo
d98abaec20
Auto merge of #14300 - bholley:restyle_driven_traversal, r=emilio
...
stylo: Basic infrastructure for RestyleHint-driven traversal
Gecko Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=131701
(Don't review yet, will flag on the gecko bug when the time comes)
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14300 )
<!-- Reviewable:end -->
2016-11-25 09:00:44 -08:00