Commit graph

31123 commits

Author SHA1 Message Date
Simon Sapin
0929f72709 Re-enable selectors doctests
Closes #16710, which was actually fixed by
6dff251e35 in #19395.
This exercises that fix.

Green AppVeyor build: https://ci.appveyor.com/project/servo/servo/build/1.0.24124
2018-01-12 14:42:38 +01:00
bors-servo
50e4171958 Auto merge of #19747 - emilio:doc-state-invalidator, r=upsuper
style: Add a document state invalidator.

Don't use it yet (since I was working from a Servo tree). Will hook it up and improve in the Gecko bug.

Right now it takes a `StyleRuleCascadeData`, which means that if all the origins in the document have state selectors we could do just one walk over the tree and not multiple, that will be improved.

Other than that, this is completely untested of course, but I prefer to land it, given I don't think it's complex, and work on the Gecko integration separately. The reason for this is that I also plan to fix the `<slot>` bugs, which will change `StyleRuleCascadeData` and such, and I want the two bugs to conflict as little as possible.

<!-- 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/19747)
<!-- Reviewable:end -->
2018-01-12 05:09:04 -06:00
Emilio Cobos Álvarez
335ca47361
style: Use Default for ExtraStyleData instead of Option. 2018-01-12 12:08:47 +01:00
Emilio Cobos Álvarez
9a1f20f1e8
style: Add a comment about figuring out what the best way to deal with XBL is. 2018-01-12 12:08:46 +01:00
Emilio Cobos Álvarez
a69d229615
style: Use a more compact form for should_process_descendants. 2018-01-12 12:08:43 +01:00
Emilio Cobos Álvarez
5b7d9eb94a
style: Add a document state invalidator. 2018-01-12 12:08:42 +01:00
Emilio Cobos Álvarez
2c1d72ad1a
style: Track document state dependencies in the invalidation maps. 2018-01-12 12:08:41 +01:00
Emilio Cobos Álvarez
14661e470f
style: Add a couple FIXMEs I've noticed while working on this.
::slotted is hard.
2018-01-12 12:08:40 +01:00
Emilio Cobos Álvarez
cb1a951477
style: Allow storing a DocumentState for invalidation. 2018-01-12 12:08:39 +01:00
Emilio Cobos Álvarez
1e27f2883b
selectors: Allow defining an implementation-dependent field in the matching context. 2018-01-12 12:08:38 +01:00
bors-servo
005dc85a88 Auto merge of #19748 - bholley:remove_lazy_pseudo_cache, r=emilio
Adjust size of gecko ComputedValues struct for removal of separate lazy pseudo cache

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

<!-- 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/19748)
<!-- Reviewable:end -->
2018-01-11 12:16:01 -06:00
Bobby Holley
fd41646699 Adjust size of gecko ComputedValues struct for removal of separate lazy pseudo cache. 2018-01-11 10:15:35 -08:00
bors-servo
2b9dbc3415 Auto merge of #19740 - servo:jdm-patch-2, r=aneeshusa
Allow warnings during mutation tests.

Sometimes mutations include removing the only use of a variable. When we deny warnings globally, we inhibit these mutations that trigger new warnings.

<!-- 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/19740)
<!-- Reviewable:end -->
2018-01-11 10:30:19 -06:00
bors-servo
9b3fc43f5a Auto merge of #19744 - emilio:doc-invalidation-preparation, r=upsuper
style: A few trivial changes in preparation for document state invalidation.

<!-- 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/19744)
<!-- Reviewable:end -->
2018-01-11 07:50:55 -06:00
Emilio Cobos Álvarez
268f0f75b9
style: Factor out a few invalidation functions that are going to be shared soon. 2018-01-11 14:49:31 +01:00
Emilio Cobos Álvarez
b91efadd8d
style: Move invalidation::element::collector to invalidation::element::state_and_attributes.
Since it's what that file is about.
2018-01-11 14:49:31 +01:00
Emilio Cobos Álvarez
b6a2bff032
style: Move :-moz-locale-dir matching to rust. 2018-01-11 14:47:29 +01:00
bors-servo
1a4df8f876 Auto merge of #19716 - pyfisch:conversions, r=emilio
Use a ToLayout trait for converting from style to webrender types

<!-- 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/19716)
<!-- Reviewable:end -->
2018-01-11 03:41:43 -06:00
bors-servo
f47cd758fa Auto merge of #19743 - EdgarChen:unresolved, r=heycam
style: Remove :unsolved pseudo-class

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

This is the servo part changes of https://bugzilla.mozilla.org/show_bug.cgi?id=1417829.

---
<!-- 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 https://bugzilla.mozilla.org/show_bug.cgi?id=1417829.

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this PR is to remove a feature.

<!-- 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/19743)
<!-- Reviewable:end -->
2018-01-10 21:06:04 -06:00
bors-servo
a22bff8119 Auto merge of #19683 - servo:rustup, r=jdm
Upgrade to rustc 1.24.0-nightly (0a3761e63 2018-01-03)

Fixes #19635
Fixes #19637
Fixes #19735
Fixes #19519

<!-- 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/19683)
<!-- Reviewable:end -->
2018-01-10 14:00:32 -06:00
Simon Sapin
828780d17b Upgrade to rustc 1.24.0-nightly (0a3761e63 2018-01-03) 2018-01-10 20:54:35 +01:00
Simon Sapin
4d459bce32 Fix tyvar_behind_raw_pointer warnings
https://github.com/rust-lang/rust/issues/46906
2018-01-10 20:54:35 +01:00
Simon Sapin
cee2aadd82 Disable incremental compilation on CI
We don’t keep the `target` directory between builds,
and incremental cache takes a lot of space.
2018-01-10 20:54:35 +01:00
Simon Sapin
c8f542afac We use Nigthly Cargo with Stable Rust
Nightly now has incremental compilation as a stable feature,
but that’s not in the stable channel yet.
2018-01-10 20:54:35 +01:00
Simon Sapin
59bb421ea1 Don’t set codegen-units to 4.
The default is now 16:
b5361d0d41/src/librustc/session/mod.rs (L738-L788)
2018-01-10 20:54:35 +01:00
Bastien Orivel
54f67c3fbe Bump gl_generator to 0.8
Fixes #19735
2018-01-10 20:48:15 +01:00
bors-servo
e9f9fd1e4c Auto merge of #19739 - gootorov:master, r=jdm
Add note to Gentoo setup to set LIBCLANG_PATH envvar

<!-- Please describe your changes on the following line: -->
Without `LIBCLANG_PATH` environment variable set the build for `gecko-media` fails as in https://github.com/servo/servo/issues/19351 for Gentoo Linux. This patch adds a note to the README to set the environment variable.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it is a documentation fix

<!-- 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/19739)
<!-- Reviewable:end -->
2018-01-10 13:05:17 -06:00
bors-servo
2be49ac806 Auto merge of #19395 - servo:rustup.rs, r=jdm
Use rustup.rs instead of custom bootstrap

Fixes #11361, closes #18874, fixes #19365.

<!-- 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/19395)
<!-- Reviewable:end -->
2018-01-10 12:00:59 -06:00
Simon Sapin
0681e682e9 rustup.rs: Use MSVC rather than GNU toolchains on Windows 2018-01-10 18:05:46 +01:00
Simon Sapin
ded0bc9365 Revert "Use rustup "proxies" instead of rustup run"
This reverts commit ad22368646290510149d33a0a41fc436ac4a0e96.
2018-01-10 18:05:45 +01:00
Simon Sapin
2618e4ed9d Use rustup "proxies" instead of rustup run
To make sure we’re indeed running rustup’s proxy
rather than some other `cargo` for example,
run the `rustup` executable with a different `argv[0]`.
2018-01-10 18:05:45 +01:00
Simon Sapin
e0f8f09c05 Fix "rustup is not installed" message 2018-01-10 18:05:45 +01:00
Simon Sapin
d0b3525474 Cache rustup toolchains on AppVeyor and Travis-CI 2018-01-10 18:05:45 +01:00
Simon Sapin
a3339f97c3 Print a better error message when rustup is too old 2018-01-10 18:05:44 +01:00
Simon Sapin
2f941d8450 Print a link to instructions if rustup is not found. 2018-01-10 18:05:44 +01:00
Simon Sapin
f2c398fd5c Add rustup.rs instructions in README 2018-01-10 18:05:44 +01:00
Simon Sapin
365a139716 Use rustup.rs instead of custom bootstrap
Fixes #11361, closes #18874
2018-01-10 18:05:44 +01:00
Simon Sapin
6dff251e35 Revert "Use rustdoc --document-private-item instead of deprecated flags"
This reverts commit d96f0ff6a7.
2018-01-10 18:05:28 +01:00
Josh Matthews
12ad5b6a3d
Allow warnings during mutation tests. 2018-01-10 12:04:45 -05:00
bors-servo
2065fa6da2 Auto merge of #19727 - nox:cr-placeholder, r=emilio
Properly handle CR in textarea placeholders (fixes #19717)

<!-- 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/19727)
<!-- Reviewable:end -->
2018-01-10 10:37:47 -06:00
Igor Gutorov
8f68d2d1de Add note to Gentoo setup to set LIBCLANG_PATH envvar 2018-01-10 17:04:50 +02:00
Anthony Ramine
6f9003c052 Properly handle CR in textarea placeholders (fixes #19717) 2018-01-10 15:34:54 +01:00
bors-servo
ad622a46f0 Auto merge of #19737 - CYBAI:move-paint-order-out-of-mako, r=emilio
style: Move paint-order outside of mako

This is a sub-PR of #19015
r? emilio

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #19736
- [x] These changes do not require tests

<!-- 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/19737)
<!-- Reviewable:end -->
2018-01-10 07:59:04 -06:00
CYBAI
2bc02bc78d style: Move paint-order outside of mako 2018-01-10 21:26:33 +08:00
Edgar Chen
4c778b34e6 style: Remove :unsolved pseudo-class
This is the servo part changes of https://bugzilla.mozilla.org/show_bug.cgi?id=1417829.
2018-01-10 17:20:06 +08:00
bors-servo
e2c89df8ee Auto merge of #19734 - emilio:less-indirection, r=mbrubeck
style: Remove some unneeded indirection.

All TElement's implement Copy, and are just pointers, so the double indirection
is stupid.

I'm going to try to see if removing this double-indirection fixes some
selector-matching performance, and this is a trivial pre-requisite while I wait
for Talos results.

<!-- 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/19734)
<!-- Reviewable:end -->
2018-01-09 23:34:15 -06:00
bors-servo
afe298b53d Auto merge of #19730 - NLincoln:19172-number-input-type-validations, r=KiChjang
number input type validations

I used rust's builtin float parser to implement this. Rust's parser is more permissive than what browsers support (in this case), so I added some code to handle those edge cases.

This passes all the prewritten test cases locally, but I fell asleep last night before updating the manifests 😅

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes are part of #19172

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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/19730)
<!-- Reviewable:end -->
2018-01-09 22:15:12 -06:00
Emilio Cobos Álvarez
8f6455b9df
style: Remove some unneeded indirection.
All TElement's implement Copy, and are just pointers, so the double indirection
is stupid.

I'm going to try to see if removing this double-indirection fixes some
selector-matching performance, and this is a trivial pre-requisite while I wait
for Talos results.
2018-01-10 03:56:34 +01:00
bors-servo
e5a0bb9b4d Auto merge of #19733 - emilio:less-unwrap, r=glennw
style: Use Option::get_or_insert_with.

Less unwraps is better.

<!-- 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/19733)
<!-- Reviewable:end -->
2018-01-09 20:50:12 -06:00
Emilio Cobos Álvarez
3595c98411
style: Use Option::get_or_insert_with.
Less unwraps is better.
2018-01-10 03:39:29 +01:00