Commit graph

31404 commits

Author SHA1 Message Date
Cameron McCormack
1db1c7f544 style: Refactor specified::Color parsing/computation functions.
So they can be called without a context.
2017-10-16 15:56:22 +08:00
bors-servo
9b82d08dc5 Auto merge of #18879 - emilio:computed-value-flags-inherited, r=heycam
style: Not all computed value flags are really inherited.

This fixes the fishiness I noticed in:

  https://bugzilla.mozilla.org/show_bug.cgi?id=1407832

<!-- 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/18879)
<!-- Reviewable:end -->
2017-10-16 02:36:22 -05:00
Emilio Cobos Álvarez
f1cc225e97
style: Use left-to-right indices in the invalidator.
This will make easier to create external invalidations, and also makes reasoning
about the invalidator a bit easier.
2017-10-16 08:54:00 +02:00
Glenn Watson
4469f39f3f Update WR (details below):
* Add support for clip masks on text runs.
* Fix atomic ordering of items with multiple shadows.
* Update to bincode + ipc-channel with optimizations.
* Fix some plane splitting precision errors.
* Improve the anti-aliasing quality significantly.
* Add internal ClipChain support.
* Fix diacritic glyphs on Linux.
2017-10-16 16:33:24 +10:00
bors-servo
adb45eb727 Auto merge of #18888 - tigercosmos:xml, r=jdm
fix  #18776: use XML fragment serialization for innerHTML in XML documents

<!-- Please describe your changes on the following line: -->
I am not sure whether my solution is in the right way.
@jdm Can you give some advises?

---
<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #18776 (github issue number if applicable).

<!-- Either: -->
- [ ] 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/18888)
<!-- Reviewable:end -->
2017-10-16 01:27:43 -05:00
tigercosmos
c77b61193f use XML fragment serialization for outerHTML in XML documents 2017-10-16 13:28:23 +08:00
Manuel Hässig
93cee84f9f removed rustc_serialize in style tests 2017-10-15 22:56:33 +02:00
tigercosmos
06759fd0fd use XML fragment serialization for innerHTML in XML documents 2017-10-16 00:38:21 +08:00
bors-servo
086c48210c Auto merge of #18885 - servo:unstable-cef, r=nox
Add a default 'unstable' feature to CEF

I recently moved that default from libservo to ports/servo, which made CEF not have it anymore.

The different defaults made `./mach build-cef` after `./mach build` rebuild many libraries (including serde and all of its recursive dependents) and take a long time.

<!-- 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/18885)
<!-- Reviewable:end -->
2017-10-15 06:12:44 -05:00
bors-servo
7e8def9c08 Auto merge of #18886 - servo:urls, r=SimonSapin
Change AttrValue::Url to AttrValue::ResolvedUrl

Things make more sense like this.

<!-- 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/18886)
<!-- Reviewable:end -->
2017-10-15 04:53:29 -05:00
Anthony Ramine
c7b1d3054f Change AttrValue::Url to AttrValue::ResolvedUrl
There is actually only one attribute that can use that, the one for
<body background>.
2017-10-15 11:03:20 +02:00
bors-servo
a200fb4b9d Auto merge of #18876 - emilio:die-localmatchingcontext-die, r=SimonSapin
style: Do not expose LocalMatchingContext.

This type is a lot of complexity related to a very specific thing such as the
hover and active quirk.

Instead of that, move `nesting_level` to `MatchingContext`, and simplify all
this computing whether the quirk applies upfront, for each complex selector we
test.

This is less error-prone, and also allows simplifying more stuff in a bit.

Also, this makes the hover and active quirk work in Servo with no extra effort.

<!-- 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/18876)
<!-- Reviewable:end -->
2017-10-15 02:21:47 -05:00
Simon Sapin
bc123ad6c3 Add a default 'unstable' feature to CEF
I recently moved that default from libservo to ports/servo,
which made CEF not have it anymore.

The different defaults made `./mach build-cef` after `./mach build`
rebuild many libraries (including serde and all of its recursive dependents)
and take a long time.
2017-10-15 02:13:39 +02:00
bors-servo
4375a89f35 Auto merge of #18883 - servo:1.20, r=SimonSapin
Update stable Rust version to 1.20.0
2017-10-14 17:29:05 -05:00
Simon Sapin
17e459fe92 Update stable Rust version to 1.20.0 2017-10-15 00:25:15 +02:00
bors-servo
6558e01dca Auto merge of #18881 - emilio:osmesa-up, r=nox
Update OSMesa.

<!-- 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/18881)
<!-- Reviewable:end -->
2017-10-14 14:16:44 -05:00
Emilio Cobos Álvarez
9442ccb81c
Update OSMesa. 2017-10-14 21:16:25 +02:00
bors-servo
ac5da66a4f Auto merge of #18869 - kafji:kfj/updatedomparsingdoc, r=jdm
Update domparsing spec links to not point at WHATWG

Change domparsing spec links from domparsing.spec.whatwg.org to w3c.github.io/DOM-Parsing.

---

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14555
- [X] These changes do not require tests because these only affect documentation

<!-- 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/18869)
<!-- Reviewable:end -->
2017-10-14 11:16:29 -05:00
Emilio Cobos Álvarez
dcb8c2fdc7
style: Properly use nesting_level in the invalidation code. 2017-10-14 17:03:36 +02:00
Emilio Cobos Álvarez
11485edc9e
style: Hide LocalMatchingContext.
This type is a lot of complexity related to a very specific thing such as the
hover and active quirk.

Instead of that, move `nesting_level` to `MatchingContext`, and simplify all
this computing whether the quirk applies upfront, for each complex selector we
test.

This is less error-prone, and also allows simplifying more stuff in a bit.
2017-10-14 17:03:35 +02:00
Emilio Cobos Álvarez
48c85151dc
selectors: Remove useless assertion.
The code below asserts the same in a more fine-grained way.
2017-10-14 17:03:34 +02:00
Emilio Cobos Álvarez
bcfe523c99
selectors: Reformat some signatures in selectors::matching. 2017-10-14 17:03:33 +02:00
Emilio Cobos Álvarez
6a5576085c
style: Reformat Rule::new. 2017-10-14 17:03:32 +02:00
bors-servo
de324f8b18 Auto merge of #18880 - emilio:fixup-parse-hack, r=emilio
style: Fixup the hack added in #18867.

The declaration can indeed have the same id if it contains variables, or is a
CSS keyword value.

This was making a WPT test fail, so this is tested, though Servo's WPT import
didn't catch this for some reason.

<!-- 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/18880)
<!-- Reviewable:end -->
2017-10-14 09:49:45 -05:00
Kafji
ad22e6edfe Update domparsing spec links to not point at WHATWG
- Change domparsing spec link from domparsing.spec.whatwg.org to w3c.github.io/DOM-Parsing
- Remove from tidy since it's already covered by w3c.github.io
- Update test manifest
2017-10-14 20:49:44 +07:00
Emilio Cobos Álvarez
6fbf006680
style: Fixup the hack added in #18867.
The declaration can indeed have the same id if it contains variables, or is a
CSS keyword value.

This was making a WPT test fail, so this is tested, though Servo's WPT import
didn't catch this for some reason.
2017-10-14 15:28:10 +02:00
bors-servo
8b6207c0d6 Auto merge of #18877 - emilio:closest-why, r=nox
stylo: Dumb down the return value of SelectorList_Closest.

So it builds with rust 1.21.

See: https://bugzilla.mozilla.org/show_bug.cgi?id=1408622

<!-- 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/18877)
<!-- Reviewable:end -->
2017-10-14 08:13:59 -05:00
Emilio Cobos Álvarez
b73b5b581b
style: Not all computed value flags are really inherited.
This fixes the fishiness I noticed in:

  https://bugzilla.mozilla.org/show_bug.cgi?id=1407832
2017-10-14 14:48:27 +02:00
Emilio Cobos Álvarez
e9a26f3a89
style: Update bindings. 2017-10-14 14:04:53 +02:00
Emilio Cobos Álvarez
94d84737af
stylo: Dumb down the return value of SelectorList_Closest. 2017-10-14 14:04:51 +02:00
bors-servo
240c05f13b Auto merge of #18838 - svanburen:remove_cssText, r=emilio
Remove cssText from CSSStyleValue

Removed from associated .rs and .webidl

<!-- Please describe your changes on the following line: -->
Not much more to add - let me know if it needs additional changes.

---
<!-- 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 #17379 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they remove a property that previously had no tests associated with it.

<!-- 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/18838)
<!-- Reviewable:end -->
2017-10-14 06:58:29 -05:00
Emilio Cobos Álvarez
e2f91f0889
stylo: Reformat a few function signatures. 2017-10-14 13:45:31 +02:00
bors-servo
2be76c5fd7 Auto merge of #18867 - emilio:parse-hack, r=heycam
style: Dishonor display: -moz-box if -webkit-box was specified before

This is a compatibility hack that Gecko supports that is apparently important for android.

I want to remove it, but let's see...

See https://bugzilla.mozilla.org/show_bug.cgi?id=1407701 for reference.

<!-- 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/18867)
<!-- Reviewable:end -->
2017-10-14 05:27:51 -05:00
Emilio Cobos Álvarez
6d694a4bcd
style: Dishonor display: -moz-box if -webkit-box was specified before.
Bug: 1407701
2017-10-14 11:31:01 +02:00
Emilio Cobos Álvarez
25c303ee62
style: Be clearer about whether a declaration comes from parsing or not.
This introduces DeclarationSource, to see if a declaration has been parsed or
set from CSSOM in a declaration block.

The Servo_DeclarationBlock_SetFoo and similar callers are changed to
DeclarationSource::CssOm because their semantics are more CSSOM-y, but it
shouldn't matter since they should all be checked before hand with
Servo_DeclarationBlock_PropertyIsSet.
2017-10-14 11:30:59 +02:00
bors-servo
8b366a7441 Auto merge of #18873 - heycam:rm-gsv-check, r=emilio
style: Remove Servo_GetStyleVariables test special case.

This function disappeared a while ago.

<!-- 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/18873)
<!-- Reviewable:end -->
2017-10-14 03:57:03 -05:00
Cameron McCormack
252ff2f7c5 style: Remove Servo_GetStyleVariables test special case. 2017-10-14 15:45:30 +08:00
bors-servo
86a5135ffa Auto merge of #18870 - servo:cast, r=KiChjang
Use pointer casts instead of tramsutes to raw::TraitObject

Casting `*const T` to `*const U` with `U: Sized` is allowed even if `T: ?Sized`. This safely extracts the data pointer out of a trait object, without relying on the memory representation of trait objects.

<!-- 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/18870)
<!-- Reviewable:end -->
2017-10-13 21:43:09 -05:00
bors-servo
f0b8dad063 Auto merge of #18868 - Eijebong:bump_rust_version, r=nox
Update Rust to 1.22.0-nightly (dcbbfb6e8 2017-10-12)

This fixes an ICE when compiling servo with CARGO_INCREMENTAL=1

<!-- 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/18868)
<!-- Reviewable:end -->
2017-10-13 19:43:49 -05:00
bors-servo
d0159be172 Auto merge of #18828 - servo:clean, r=asajeffrey
Fix a couple bugs in `./mach clean-nightlies`

<!-- 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/18828)
<!-- Reviewable:end -->
2017-10-13 17:51:48 -05:00
Simon Sapin
b505c9e948 Introduce an unsafe HasBaseFlow trait for base()/base_mut() casts. 2017-10-14 00:03:57 +02:00
bors-servo
4592e6e53a Auto merge of #18810 - asajeffrey:constellation-document-blocking, r=cbrewster
Document the can-block-on relationship for servo.

<!-- Please describe your changes on the following line: -->

This PR adds some documentation comments describing the can-block-on relation that is used to ensure deadlock-freedom.

---
<!-- 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 #14704
- [X] These changes do not require tests because it's documentation

<!-- 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/18810)
<!-- Reviewable:end -->
2017-10-13 15:39:20 -05:00
Alan Jeffrey
01e17cf437 Document the can-block-on relationship for servo. 2017-10-13 15:00:16 -05:00
Simon Sapin
4c5d6fd834 Remove an unused import, fix a warning. 2017-10-13 21:57:26 +02:00
Simon Sapin
e7c53d4ca2 Use pointer casts instead of tramsutes to raw::TraitObject
Casting `*const T` to `*const U` with `U: Sized` is allowed even if `T: ?Sized`.
This safely extracts the data pointer out of a trait object,
without relying on the memory representation of trait objects.
2017-10-13 21:55:11 +02:00
bors-servo
db29af160c Auto merge of #18864 - emilio:reformat, r=jdm
style: Reformat a few signatures to follow a consistent style.

<!-- 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/18864)
<!-- Reviewable:end -->
2017-10-13 14:11:02 -05:00
bors-servo
78aaa85aec Auto merge of #18854 - servo:servo-unstable-feature, r=nox
Make optional the usage of some unstable features

With `--no-default-features --features default-except-unstable`, more crates can now be compiled on stable Rust. This will help integrate them in rustc’s regression testing and compiler performance benchmarking.

<!-- 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/18854)
<!-- Reviewable:end -->
2017-10-13 12:26:39 -05:00
Bastien Orivel
c716da5cd0 Update Rust to 1.22.0-nightly (dcbbfb6e8 2017-10-12)
This fixes an ICE when compiling servo with CARGO_INCREMENTAL=1
2017-10-13 18:03:54 +02:00
bors-servo
ba77ffed17 Auto merge of #18863 - emilio:dom-api-dont-repeat, r=jdm
style: Share code between Gecko and Servo for DOM APIs.

<!-- 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/18863)
<!-- Reviewable:end -->
2017-10-13 10:48:57 -05:00
Emilio Cobos Álvarez
f64f8b8be2
style: Share code for Element::Closest. 2017-10-13 17:21:31 +02:00