Commit graph

21717 commits

Author SHA1 Message Date
Simon Sapin
08066800cd Rename selector_matching.rs to stylist.rs 2016-11-20 15:29:09 +01:00
bors-servo
72e4c6dc21 Auto merge of #13418 - stshine:location-replace, r=KiChjang
Make document url mutable and implement location.replace()

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

---

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

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

<!-- 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/13418)

<!-- Reviewable:end -->
2016-11-20 02:27:54 -06:00
bors-servo
78e3e2c715 Auto merge of #14288 - servo:incr, r=Ms2ger
Disable incremental_trailing_whitespace_a.html.

CC #10473.

<!-- 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/14288)
<!-- Reviewable:end -->
2016-11-20 00:01:47 -06:00
bors-servo
b78622bd53 Auto merge of #14256 - heycam:rn-gc-heuristic, r=emilio
GC the rule tree only when the free list gets to a certain size.

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

Use a heuristic similar to Gecko's to decide when to GC the rule tree.

r? @emilio

<!-- 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/14256)
<!-- Reviewable:end -->
2016-11-19 22:01:12 -06:00
bors-servo
7e34f4cb5b Auto merge of #14284 - nox:fnv, r=Wafflespeanut
Use FnvHasher in http_loader::load

Should help with #11100.

<!-- 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/14284)
<!-- Reviewable:end -->
2016-11-19 19:18:10 -06:00
Ms2ger
6de630a339 Disable incremental_trailing_whitespace_a.html.
CC #10473.
2016-11-20 01:09:33 +01:00
Pu Xingyu
5287e70829 Minor fixes and update test expectations 2016-11-20 06:30:10 +08:00
bors-servo
73cbe61d56 Auto merge of #14281 - mbrubeck:mach-doc-fix, r=Manishearth
Run cargo doc in the ports/servo directory

Running it in components/servo isn't guaranteed to work because there's no Cargo.lock checked in there.  Followup to #14254.

<!-- 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/14281)
<!-- Reviewable:end -->
2016-11-19 15:01:40 -06:00
bors-servo
72ebb74d1c Auto merge of #14271 - linclark:13548-bg-parsing-test, r=canaltinova
Add tests for background shorthand parsing

<!-- Please describe your changes on the following line: -->
This PR adds tests for parsing the background shorthand.

Copies & adapts the tests from mask.rs (minus  the mode test), and adds a test for comma separated declarations.

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

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

<!-- 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/14271)
<!-- Reviewable:end -->
2016-11-19 14:01:35 -06:00
Anthony Ramine
7a8c5ae8e3 Use FnvHasher in http_loader::load
Should help with #11100.
2016-11-19 14:10:37 +01:00
bors-servo
a4e26d503a Auto merge of #14227 - chenpighead:font-size-adjust-gecko, r=Manishearth
Stylo - gecko glue code for font-size-adjust.

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

Implement the gecko-side glue code for font-size-adjust.
This is a followup for #14125, which is originally filed in #13875.

---
<!-- 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: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/14227)
<!-- Reviewable:end -->
2016-11-19 05:07:46 -06:00
bors-servo
1e42e4d9ce Auto merge of #14272 - connorimes:fix-energy-profiling-feature, r=Manishearth
Fix energy profiling feature

<!-- Please describe your changes on the following line: -->
The `energy-profiling` feature was broken at some point when `#![deny(unsafe_code)]` was introduced to the `profile_traits` component.  This PR sets `#[allow(unsafe_code)]` on the `energy` module.
There is an additional commit (my original intention) to update the profiler logging to use the current `ProfilerCategory` enum values for (typically developer-only) performance/power analysis.

---
<!-- 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: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it fixes is a compile error for a feature.

<!-- 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/14272)
<!-- Reviewable:end -->
2016-11-19 02:32:00 -06:00
bors-servo
9c6f6ebf3e Auto merge of #14270 - larsbergstrom:disable_android_debugger, r=nox
Disable the debugger on Android until mio works on Android

<!-- Please describe your changes on the following line: -->
r? @nox

The recent change to `ws-rs` introduced a dependency on `mio`, which depends on `nix`, which does not build on Android (https://github.com/nix-rust/nix/issues/313). I've disabled the debugger in this change.

Fixes #14171

cc @mmatyas

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./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
- [ ] These changes do not require tests because _____

<!-- 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/14270)
<!-- Reviewable:end -->
2016-11-18 23:40:20 -06:00
bors-servo
0c55d461f1 Auto merge of #14261 - Wafflespeanut:lon, r=SimonSapin
Prefer Either type for LengthOrNumber

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

This adds `impl GeckoStyleCoordConvertible for Either<A, B>` and makes `LengthOrNumber` prefer `Either<A, B>`.

---
<!-- 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 build-geckolib` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's a refactor

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

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/14261)
<!-- Reviewable:end -->
2016-11-18 22:20:04 -06:00
bors-servo
fdcf510ac8 Auto merge of #14250 - nox:write, r=SimonSapin
Make ServoParser::pending_input hold onto a BufferQueue

<!-- 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/14250)
<!-- Reviewable:end -->
2016-11-18 19:46:15 -06:00
Matt Brubeck
02f189060c Run cargo doc in the ports/servo directory
Running it in components/servo isn't guaranteed to work because there's
no Cargo.lock checked in there.  Followup to #14254.
2016-11-18 11:07:38 -08:00
Lin Clark
9f49da9f55 Add tests for background shorthand parsing. 2016-11-18 14:03:53 -05:00
bors-servo
731264f20e Auto merge of #14238 - canaltinova:cssom-tocss, r=Manishearth
Implement ToCss serialization for CSSRules

<!-- Please describe your changes on the following line: -->
Implementation of ToCss serialization for CSSRules. It requires #14190 to merge first to uncomment `CssRule::Style` branch in CssRule's ToCss implementation.

r? @Manishearth

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

- [X] These changes do not require tests because it's serialization changes and I'm not sure there is a test for that.

<!-- 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/14238)
<!-- Reviewable:end -->
2016-11-18 10:15:52 -06:00
bors-servo
696b806284 Auto merge of #14249 - vvuk:wr-record, r=kvark
Add -Z wr-record

This adds `-Z wr-record`, which flips `enable_recording` to true for Webrender.

<!-- 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/14249)
<!-- Reviewable:end -->
2016-11-18 08:29:27 -06:00
Nazım Can Altınova
fdbadcdce2 Implement ToCss serialization for CSSRules 2016-11-18 12:17:53 +03:00
Cameron McCormack
4e52bb49b9 GC the rule tree only when the free list gets to a certain size. 2016-11-18 17:12:33 +08:00
Anthony Ramine
a3da819d10 Make ServoParser::pending_input hold onto a BufferQueue 2016-11-18 10:12:06 +01:00
Emilio Cobos Álvarez
181208a4e4 rule tree: Avoid yet another dumb assertion when dropping the rule tree. 2016-11-18 17:10:09 +08:00
bors-servo
cc06363ce7 Auto merge of #14266 - servo:kvark-cargo, r=metajack
Updated cargo paths for the python script

<!-- Please describe your changes on the following line: -->
Related to #14172

Needed this for `./mach cargo-update -p webrender` to work properly when replacing with a local copy

---
<!-- 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: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's not adding any new logic

<!-- 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/14266)
<!-- Reviewable:end -->
2016-11-18 02:50:14 -06:00
Pu Xingyu
91f3d4f474 Remove redundant url clones
They are now redundant since now document.url() returns a struct rather
than a reference.
2016-11-18 12:39:22 +08:00
Pu Xingyu
fb6cc15208 Implement Location.replace 2016-11-18 12:38:12 +08:00
Pu Xingyu
9863149043 Move fragment navigation into Document object
Move the `check_and_scroll_fragment()` method into Document, make the
mothod set the fragment of url after navigation, and use the
`perform_a_scroll()` method to scroll rather than an individual
method. Also removes the broken `Window.fragment` fields.
2016-11-18 12:33:30 +08:00
Pu Xingyu
eca8f1d0b4 Make 'Document.url' field mutable
Use DOMRefCell as the type of the url field.
2016-11-18 12:29:02 +08:00
Ravi Shankar
6ac3fcbfeb Prefer Either<A, B> for LengthOrNumber 2016-11-18 09:14:09 +05:30
Ravi Shankar
73eabad1c2 Add impl GeckoStyleCoordConvertible for Either<A, B> 2016-11-18 09:08:23 +05:30
Connor Imes
263278a4dc Update profiler logging with current ProfilerCategory enum values 2016-11-17 19:36:58 -08:00
Connor Imes
889b9ad3f0 Allow unsafe code for energy module (build failure otherwise) 2016-11-17 19:33:32 -08:00
Lars Bergstrom
ca0078a6e1 Disable the debugger on Android until mio works on Android 2016-11-17 19:11:30 -06:00
bors-servo
22aebdf5d4 Auto merge of #14246 - emilio:servo-url, r=SimonSapin
Urlmageddon

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

Still needs a bunch of code in net to be converted in order to get more
advantage of this for images and stuff, but meanwhile this should help quite a
bit with #13778.

Still wanted to get this in.

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/14246)
<!-- Reviewable:end -->
2016-11-17 15:34:47 -06:00
bors-servo
b3ad71353b Auto merge of #13917 - Wafflespeanut:keywords, r=Manishearth
Remove usage of 'keyword_list'

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

We're using `keyword_list` to generate code for some of the animation properties. This could be achieved with `single_keyword` (passing `vector=True`).

---

<!-- 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 build-geckolib` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's a cleanup

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

r? @emilio

<!-- 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/13917)

<!-- Reviewable:end -->
2016-11-17 14:34:33 -06:00
Dzmitry Malyshau
f43c28535b Updated cargo paths for the python script
Related to #14172

Needed this for `./mach cargo-update -p webrender` to work properly when replacing with a local copy
2016-11-17 15:18:23 -05:00
bors-servo
e4a27c4d16 Auto merge of #14214 - bholley:dirtiness_overhaul, r=emilio
Overhaul dirtiness handling in Servo to prepare for the new incremental restyle architecture

<!-- 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/14214)
<!-- Reviewable:end -->
2016-11-17 12:25:52 -06:00
Ravi Shankar
b5bc2a1f53 Remove Mako helper: keyword_list 2016-11-17 23:41:48 +05:30
Ravi Shankar
c51db9f5f1 Remove usage of keyword_list (and prefer single_keyword) 2016-11-17 23:41:38 +05:30
Emilio Cobos Álvarez
913c874cb5
Urlmageddon: Use refcounted urls more often. 2016-11-17 18:34:23 +01:00
Bobby Holley
95a49863c7 Prevent nodes from having DIRTY_DESCENDANTS set by default. 2016-11-17 09:31:44 -08:00
bors-servo
870841099a Auto merge of #14207 - szeged:bluetoothuuid-wpt, r=jdm
BluetoothUUID wpt tests

<!-- Please describe your changes on the following line: -->
Wpt tests for the `BluetoothUUID` functions.

---
<!-- 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] There are tests for these changes

<!-- 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/14207)
<!-- Reviewable:end -->
2016-11-17 06:52:43 -06:00
bors-servo
843a25f9f4 Auto merge of #14245 - emilio:cssparser, r=nox
Update rust-cssparser for speed improvements when tokenizing strings and data uris

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

See https://github.com/servo/servo/issues/13778

r? @SimonSapin (or anyone else really).

<!-- 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/14245)
<!-- Reviewable:end -->
2016-11-17 05:20:54 -06:00
bors-servo
f70fc6644d Auto merge of #14096 - fflorent:11485-make-dom-methods-taking-mut-JSContent-unsafe, r=nox
11485 make dom methods taking mut js content unsafe

This is a rebased version of PR #11595

---
<!-- 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 #11485

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because: no code logic was changed

<!-- 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/14096)
<!-- Reviewable:end -->
2016-11-17 02:44:54 -06:00
bors-servo
efae67ed18 Auto merge of #14254 - mbrubeck:mach-doc-fix, r=metajack
Run cargo doc on libservo crate

Fixes `./mach doc` regression caused by #14172.

<!-- 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/14254)
<!-- Reviewable:end -->
2016-11-17 00:02:45 -06:00
bors-servo
8c6703637f Auto merge of #14223 - Manishearth:fix-logical-cascade, r=emilio
Delegate logical bitfield setters to physical to fix cascade

(fixes #14222)

Five minutes early for "tomorrow", _shrug_.

I'm not entirely sure of this fix. It depends on properties going through the cascade in source order all else being the same. I think that's the case.

Fixes wikipedia though.

r? @emilio or @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/14223)
<!-- Reviewable:end -->
2016-11-16 19:10:25 -06:00
Matt Brubeck
39a221ae5d Run cargo doc on libservo crate
Fixes `./mach doc` regression caused by #14172.
2016-11-16 16:54:34 -08:00
Emilio Cobos Álvarez
8d6c4c3d11
Update rust-cssparser for speed improvements when tokenizing strings and data-uris. 2016-11-17 01:10:23 +01:00
bors-servo
f14e7339b5 Auto merge of #14172 - servo:ports, r=jdm
Move the servo binary to ports.

<!-- 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/14172)
<!-- Reviewable:end -->
2016-11-16 16:40:18 -06:00
bors-servo
afc60bee28 Auto merge of #14190 - Manishearth:cssom, r=SimonSapin
Immutable CSSOM

This PR is intended to add basic support for all CSSOM interfaces, with the ability to index `document.styleSheets` and css rule lists, and serializing individual css rules. Handling individual interface methods for CSSRule subclasses can probably be done with easy/medium bugs.

Mutation safety isn't dealt with here; if the css rule list is mutated the CSSOM will be in an inconsistent state. I intend to deal with this via zero sized tokens, see https://groups.google.com/forum/#!topic/mozilla.dev.servo/AnxJoVmtMXQ .  I'll handle that when I start making the CSSOM mutable. (Getting the immutable bit landed first opens this up for easy bugs)

This doesn't really change style aside from adding an extra arc in the CSS rule list as discussed in the linked thread. So far this same design can be used by stylo as well when the time comes.

f? @SimonSapin @emilio

cc @upsuper

part of #11420
Todo:

 - [x] Stubs for rest of the CSSRule subclasses
 - [x] <s>ToCSS impls for CSSRules.</s> May make into easy bugs and stub out in this PR https://github.com/servo/servo/issues/14195
 - [x] Cache CSSStyleSheet on the relevant node

<!-- 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/14190)
<!-- Reviewable:end -->
2016-11-16 15:05:59 -06:00