Commit graph

1556 commits

Author SHA1 Message Date
Bobby Holley
1281fd9353 Stop slicing selectors when noting dependencies, and match with an offset instead.
MozReview-Commit-ID: KLqmdRKygO0
2017-06-05 19:44:01 -07:00
Bobby Holley
5ddabef636 Collapse Selector, SelectorInner, and ComplexSelector into a single Selector.
The refcounting is still internal. We'll fix that up next.

MozReview-Commit-ID: CTxZNaR3Qgj
2017-06-05 19:44:00 -07:00
Matt Brubeck
08a53a3810 Bug 1367315 - stylo: Make :dir argument a case-insensitive identifier 2017-06-05 11:09:23 -07:00
KuoE0
00d3fc29bc Update generated files
MozReview-Commit-ID: 3bQbda2PJLX
2017-06-05 15:12:45 +08:00
Brian Birtles
6491509f87 Add FFI for calling Servo's add and accumulate methods on animation values 2017-06-05 12:49:33 +09:00
Brian Birtles
34556f7769 Add FFI for getting the zero value of an animation value 2017-06-05 12:49:33 +09:00
Emilio Cobos Álvarez
58fd80e282
style: Split stylesheets.rs
This file has become quite bloated lately. This commit deletes that file in
favor of a set of submodules.

The only noticeable change apart from code move, is converting deep_clone_foo
methods into a trait.

It also unifies logic related to different style rules in the same place.

There's some missing work, specially related to font-face and counter-style, but
I think this is worth landing in the meantime.
2017-06-04 21:50:09 +02:00
Cameron McCormack
19b61dfc08 style: Recascade the document when rem units are used and the root font-size changes. 2017-06-04 10:03:11 +08:00
Emilio Cobos Álvarez
dd3bf6f952
Ensure the default computed values are up-to-date before evaluating media queries.
Zoom changes can change the meaning of ems, so we can't re-evaluate media
queries with the old values, because otherwise we may miss a restyle.

Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1357461
MozReview-Commit-ID: HQInvR7RPqR
2017-06-03 14:44:12 +02:00
J. Ryan Stinnett
b03867da5d Update bindings 2017-06-02 14:39:13 -05:00
J. Ryan Stinnett
56b44d2709 Pull decls from Gecko for link preshints
Based on a link's active state and the visited handling mode, pull in link,
vlink, and alink preshint declaration blocks from Gecko as needed.

MozReview-Commit-ID: A6udMYbzQnK
2017-06-02 14:34:39 -05:00
Hiroyuki Ikezoe
ac86d2d648 Update bindings. 2017-06-02 12:18:08 +09:00
bors-servo
373d3b91dd Auto merge of #17130 - Manishearth:stylo-attr, r=heycam,emilio
stylo: Handle attr() in `content`

r=heycam https://bugzilla.mozilla.org/show_bug.cgi?id=1346693

<!-- 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/17130)
<!-- Reviewable:end -->
2017-06-01 15:34:55 -07:00
Manish Goregaokar
25d193ba34 stylo: Use namespace ids for content: attr(..)
MozReview-Commit-ID: FZ9YEpHQCBh
2017-06-01 14:11:31 -07:00
bors-servo
cfdb6af53b Auto merge of #17121 - Manishearth:stylo-system-font-ser, r=upsuper
stylo: Fix serialization of system fonts

<!-- 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/17121)
<!-- Reviewable:end -->
2017-06-01 14:04:41 -07:00
Jeff Hajewski
878b9a4db3 Use enum class for white-space 2017-06-01 13:55:54 -07:00
Emilio Cobos Álvarez
509a450cff
Bug 1369187: style: Add first-line and first-letter to the set of eager pseudo styles. r=bholley
MozReview-Commit-ID: DmpX0nA2DOw
2017-06-01 21:09:34 +02:00
Fernando Jiménez Moreno
ebfb18c1b5 Update gecko bindings 2017-05-31 11:07:06 +02:00
Hiroyuki Ikezoe
c058eb5512 Update bindings. 2017-05-31 06:16:31 +09:00
Hiroyuki Ikezoe
636c47da29 Set the dirty flag of DeclarationBlock when the DeclarationBlock is modified and clear the flag when it's resyled. 2017-05-31 05:48:27 +09:00
bors-servo
43862ba045 Auto merge of #17092 - heycam:document-colors, r=xidorn
style: Add support for disabled document colors.

Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1355716.

<!-- 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/17092)
<!-- Reviewable:end -->
2017-05-30 06:10:42 -05:00
bors-servo
433d68955b Auto merge of #17071 - servo:derive-all-the-things, r=emilio
Reuse Rect<T> some more

<!-- 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/17071)
<!-- Reviewable:end -->
2017-05-30 05:11:28 -05:00
Cameron McCormack
c768169149 style: Add support for disabled document colors. 2017-05-30 16:25:08 +08:00
Xidorn Quan
571d4c272b Update binding files. 2017-05-30 09:41:31 +10:00
Emilio Cobos Álvarez
9c77dd8de6
style: Sync bindings. 2017-05-29 20:27:47 +02:00
Emilio Cobos Álvarez
ac5872b48c
Bug 1357583: style: Make effective_rules return an iterator, stop refcounting the Device. r=heycam
This makes the code cleaner, and also documents the fact that effective_rules
recurses into imports.

No we're not adding the imported stylesheets twice, and we share code with the
invalidation analysis.

MozReview-Commit-ID: DOF2AViTlmR
2017-05-29 20:27:43 +02:00
Emilio Cobos Álvarez
39e836966e
Bug 1357583: style: Hook up the invalidator in the StyleSheetSet. r=heycam
MozReview-Commit-ID: IhgKAovTJMX
2017-05-29 20:27:36 +02:00
Nicholas Nethercote
6d5b1242db Introduce and start using the MallocSizeOf trait.
MallocSizeOf is similar to the existing HeapSizeOf trait from the
heapsize crate. The only difference is that MallocSizeOf's
malloc_size_of_children() function takes an additional MallocSizeOfFn
argument, which is used to measure heap blocks. This extra argument
makes MallocSizeOf match how Gecko's memory measurements work, and is
required for Stylo to integrate with DMD.

The patch also introduces a second trait, MallocSizeOfWithGuard, which
is much the same as MallocSizeOf, but with a |guard| argument for the
global style lock.

Finally, the patch uses the new traits to measure a small amount of
Stylo's memory usage.
2017-05-29 10:16:55 +10:00
Anthony Ramine
862fc4f88d Rename BorderRadiusSize to BorderCornerSize 2017-05-29 00:58:53 +02:00
Anthony Ramine
af3ede418b Refactor BorderRadius and move it to the border modules
BorderRadius now parses itself reusing Rect<T>.
2017-05-28 14:36:37 +02:00
bors-servo
369d5cf124 Auto merge of #17058 - Manishearth:stylo-randomprops, r=emilio
stylo: Support remaning longhands

r=xidorn https://bugzilla.mozilla.org/show_bug.cgi?id=1367275

<!-- 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/17058)
<!-- Reviewable:end -->
2017-05-27 13:37:59 -05:00
Manish Goregaokar
ccccfb988a stylo: Support -moz-min-font-size-ratio 2017-05-27 11:37:36 -07:00
Manish Goregaokar
de269b6b36 stylo: Support -moz-context-properties 2017-05-27 10:47:44 -07:00
Manish Goregaokar
9ed5a7a05e stylo: Support font-variation-settings 2017-05-27 10:47:43 -07:00
bors-servo
6b1f039205 Auto merge of #17060 - upsuper:bug1363596, r=heycam
Support symbols() function and string value for list-style-type for stylo

This is the Servo side change of [bug 1363596](https://bugzilla.mozilla.org/show_bug.cgi?id=1363596).

<!-- 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/17060)
<!-- Reviewable:end -->
2017-05-27 07:09:30 -05:00
Xidorn Quan
a4674554e7 Update binding files. 2017-05-27 21:52:00 +10:00
Xidorn Quan
1df685dc40 Add support for symbols() function. 2017-05-27 20:45:58 +10:00
Xidorn Quan
9f4a78c2d0 Merge nsCOMPtr<nsIAtom> into CounterStylePtr. 2017-05-27 20:45:51 +10:00
bors-servo
7275f65981 Auto merge of #17036 - servo:derive-all-the-things, r=emilio
Use values::generics::rect::Rect some more

<!-- 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/17036)
<!-- Reviewable:end -->
2017-05-27 05:41:12 -05:00
Xidorn Quan
856c296304 Update binding files from autoland. 2017-05-27 20:39:54 +10:00
Manish Goregaokar
dd1cc6bb45 stylo: Support -moz-window-shadow 2017-05-26 22:34:03 -07:00
L. David Baron
3332385186
Update bindings with Gecko change to nsITheme constants in bug 1367577.
This update picks up both the nsThemeConstants.h and ServoBindings.toml changes
in [bug 1367577](https://bugzilla.mozilla.org/show_bug.cgi?id=1367577).
2017-05-25 21:59:41 -04:00
Manish Goregaokar
ce2237e123 Move root_font_size to the device 2017-05-25 13:32:34 -07:00
Anthony Ramine
150c9df246 Use Rect in InsetRect 2017-05-25 17:27:19 +02:00
bors-servo
7780ef5e43 Auto merge of #17033 - heycam:default-cs, r=emilio
style: Add support for resolving default computed styles.

Servo-side changes from https://bugzilla.mozilla.org/show_bug.cgi?id=1366157.

<!-- 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/17033)
<!-- Reviewable:end -->
2017-05-25 05:50:52 -05:00
Cameron McCormack
cc44f05f44 style: Add support for resolving default computed styles. 2017-05-25 14:19:59 +08:00
bors-servo
0d6b0da354 Auto merge of #17028 - bradwerth:innerClone, r=heycam
Stylo: Deep clone ServoStyleSheets.

MozReview-Commit-ID: 6hYIcOa86Y

<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1339629
https://reviewboard.mozilla.org/r/135314/

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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/17028)
<!-- Reviewable:end -->
2017-05-24 23:26:23 -05:00
bors-servo
8d950bd620 Auto merge of #17006 - emilio:negative-resolution, r=upsuper
style: Reject non-positive resolution values in media queries.

Fixes https://bugzilla.mozilla.org/show_bug.cgi?id=1366961
See: https://github.com/w3c/csswg-drafts/issues/1454

<!-- 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/17006)
<!-- Reviewable:end -->
2017-05-24 22:20:37 -05:00
bors-servo
1f323f8848 Auto merge of #17032 - jryans:stylo-visited, r=emilio
Stylo: visited pseudo-class support

Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1328509

<!-- 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/17032)
<!-- Reviewable:end -->
2017-05-24 19:53:48 -05:00
J. Ryan Stinnett
e3a256803d Look for relevant links while matching
Adjust the matching process to look for a "relevant link" while matching.  A
"relevant link" is the element being matched if it is a link or the nearest
ancestor link.

Matching for links now depends on the `VisitedHandlingMode`, which determines
whether all links match as if they are unvisited (the default) or if the
relevant link matches as visited (and all others remain unvisited).

If a relevant link is ever found for any selector, track this as part of the
`MatchingContext` object.  This is used in the next patch to determine if an
additional match and cascade should be performed to compute the styles when
visited.

MozReview-Commit-ID: 3xUbRo7vpuD
2017-05-24 18:07:24 -05:00