Commit graph

21291 commits

Author SHA1 Message Date
Corey Farwell
f447040ea9 Migrate EventTarget event firing functions to use Atoms.
This allows us to utilize more `atom` macros.
2016-11-03 17:04:30 -04:00
Corey Farwell
80575c3d2e Bump html5ever-atoms: 0.1.0 -> 0.1.1.
https://github.com/servo/html5ever/pull/230
2016-11-03 15:46:32 -04:00
Corey Farwell
c3b279a4c3 Remove "fire a simple event" concept, refactor event firing API.
"fire a simple event" concept was removed in
https://github.com/whatwg/html/pull/1933.
2016-11-03 15:01:07 -04:00
bors-servo
5b4cc9568d Auto merge of #14043 - servo:string-cache-up, r=nox
Update to string-cache 0.3

Previously, `string-cache` defined:
*  An string-like `Atom` type,
* An `atom!("foo")` macro that expands to a value of that type, for a set of strings known at compile-time,
* A `struct Namespace(Atom);` type
* A `ns!(html)` macro that maps known prefixed to `Namespace` values with the corresponding namespace URL.

Adding a string to the static set required making a change to the `string-cache` crate.

With 0.3, the `Atom` type is now generic, with a type parameter that provides a set of static strings. We can have multiple such sets, defined in different crates. The `string_cache_codegen` crate, to be used in build scripts, generates code that defines such a set, a new atom type (a type alias for `Atom<_>` with the type parameter set), and an `atom!`-like macro.

The html5ever repository has a new `html5ever_atoms` crate that defines three such types: `Prefix`, `Namespace`, and `LocalName` (with respective `namespace_prefix!`, `namespace_url!`, and `local_name!` macros). It also defines the `ns!` macro like before.

This repository has a new `servo_atoms` crate in `components/atoms` that, for now, defines a single `Atom` type (and `atom!`) macro. (`servo_atoms::Atom` is defined as something like `type Atom = string_cache::Atom<ServoStaticStringSet>;`, so overall there’s now two types named `Atom`.)

In this PR, `servo_atoms::Atom` is used for everything else that was `string_cache::Atom` before. But more atom types can be defined as needed. Two reasons to do this are to auto-generate the set of static strings (I’m planning to do this for CSS property names, which is the motivation for this change), or to have the type system help us avoid mix up unrelated things (this is why we had a `Namespace` type ever before this change).

Introducing new types helped me find a bug: when creating a new attribute `dom::Element::set_style_attr`, would pass `Some(atom!("style"))` instead of `None` (now `Option<html5ever_atoms::Prefix>` instead of `Option<string_cache::Atom>`) to the `prefix` argument of `Attr::new`. I suppose the author of that code confused it with the `local_name` argument.

---

Note that Stylo is not affected by any of this. The `gecko_string_cache` module is unchanged, with a single `Atom` type. The `style` crate conditionally compiles `Prefix` and `LocalName` re-exports for that are both `gecko_string_cache::Atom` on stylo.

---
<!-- 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/14043)
<!-- Reviewable:end -->
2016-11-03 11:19:44 -05:00
Simon Sapin
53b638c0e2 Update to string-cache 0.3 2016-11-03 16:23:05 +01:00
bors-servo
dafc57e8ab Auto merge of #14041 - heycam:bindings-update-3, r=emilio
Regenerate bindings.

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

Gecko bindings regeneration for latest stylo branch tip: https://hg.mozilla.org/incubator/stylo/rev/30359e047e9b24b073a9e996b4b3f843f2c5ff8f

r? @Manishearth

---
<!-- 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
- [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/14041)
<!-- Reviewable:end -->
2016-11-03 08:12:37 -05:00
bors-servo
9fcc9d9d3f Auto merge of #13813 - nox:h5e, r=SimonSapin
Update html5ever to 0.8

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

<!-- Reviewable:end -->
2016-11-03 07:20:24 -05:00
bors-servo
e3493cdd26 Auto merge of #14040 - nox:custom-derive, r=Ms2ger
Remove last use of custom derive plugin

<!-- 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/14040)
<!-- Reviewable:end -->
2016-11-03 06:15:25 -05:00
Anthony Ramine
046a97fa13 Remove #![feature(rustc_attrs)] 2016-11-03 11:24:19 +01:00
Anthony Ramine
3bc26d1819 Remove #![feature(structural_match)] 2016-11-03 11:24:18 +01:00
Anthony Ramine
a9767333eb Remove #![feature(custom_attribute)] 2016-11-03 11:24:13 +01:00
Cameron McCormack
ab90ac91de Regenerate bindings. 2016-11-03 18:00:59 +08:00
Cameron McCormack
5bae1e0262 Whitelist ThreadSafeFooHolder types in bindings.rs. 2016-11-03 18:00:57 +08:00
Anthony Ramine
7cb0955706 Update html5ever to 0.8 2016-11-03 10:58:34 +01:00
Anthony Ramine
c4f27e42b7 Remove #![feature(custom_derive)] 2016-11-03 10:14:21 +01:00
Anthony Ramine
0a48c69061 Remove use of serde custom derive plugin in net 2016-11-03 10:10:00 +01:00
Anthony Ramine
5005d36b0e Update syn and quote 2016-11-03 09:29:33 +01:00
bors-servo
c6e15f8ef2 Auto merge of #14028 - servo:rustup, r=nox,SimonSapin
Update Rust to 1.14.0-nightly (7c69b0d5a 2016-11-01)

<!-- 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
- [ ] 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/14028)
<!-- Reviewable:end -->
2016-11-02 21:49:08 -05:00
bors-servo
70641a777a Auto merge of #14015 - glennw:update-ft-rft-wr, r=larsbergstrom
Update webrender, rust-freetype, servo-freetype-sys.

<!-- 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/14015)
<!-- Reviewable:end -->
2016-11-02 20:19:00 -05:00
Anthony Ramine
391296278d Make #[derive(JSTraceable)] a procedural macro 2016-11-03 01:10:35 +01:00
Simon Sapin
b0cac458b6 Remove unused dependency 2016-11-03 01:10:33 +01:00
Simon Sapin
5bb4c6c884 Use heapsize_derive instead of heapsize_plugin 2016-11-03 01:10:32 +01:00
Anthony Ramine
b640a83725 Update Rust to 1.14.0-nightly (7c69b0d5a 2016-11-01) 2016-11-03 01:10:27 +01:00
bors-servo
524ed82700 Auto merge of #13829 - shinglyu:layout_viewer, r=mbrubeck
Layout viewer fixes

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

This is a followup for #13432. This patch should be landed after #13740 to accommodate the change in JSON format in #13740. It also included some UI layout fixes to make the UI more readable. I'm splitting the commits for easier review, I'll squash them after a r+.
---

<!-- 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 just a external debug tool

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

<!-- Reviewable:end -->
2016-11-02 18:34:26 -05:00
bors-servo
6ef46ab9e4 Auto merge of #13453 - metajack:media-query-list, r=jdm
Implement matchMedia and MediaQueryList

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

<!-- Either: -->
- [x] 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. -->

Fixes #13376.

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

<!-- Reviewable:end -->
2016-11-02 14:51:12 -05:00
Jack Moffitt
138a0480fe Implement matchMedia and MediaQueryList
Fixes #13376.
2016-11-02 13:40:22 -06:00
bors-servo
021cabd3e6 Auto merge of #14020 - mrobinson:scroll_root_prep, r=pcwalton
Fold some DisplayList methods into DisplayListBuildState

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should not change behavior.

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

This makes the API used to build display lists quite a bit simpler and
reduces the amount of auxiliary data structures that need to be passed
around. It is also important preparation work for separating scrolling
areas from stacking contexts.

<!-- 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/14020)
<!-- Reviewable:end -->
2016-11-02 13:55:07 -05:00
bors-servo
193a4d88ed Auto merge of #14017 - iamrohit7:scroll-snap-points, r=Manishearth
Parsing/Serialization for scroll-snap-points-*

<!-- Please describe your changes on the following line: -->
Implements Parsing/Serialization for scroll-snap-points-x and scroll-snap-points-y
---
<!-- 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 #13871

<!-- 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/14017)
<!-- Reviewable:end -->
2016-11-02 12:00:11 -05:00
Rohit Burra
6fe5bef45a Use LengthOrPercentage instead of Length 2016-11-02 21:30:56 +05:30
bors-servo
56f4a691db Auto merge of #13961 - servo:sync-fetch, r=jdm
Move remaining users of the legacy networking stack to fetch.

Fixes #13931.
Fixes #13714.
2016-11-02 10:59:18 -05:00
Ms2ger
cecd60b35c Remove the unused LoadOrigin implementation from WorkerScriptLoadOrigin. 2016-11-02 16:15:28 +01:00
Ms2ger
c3c6df69b4 Rewrite load_whole_resource using the fetch stack. 2016-11-02 16:15:27 +01:00
Ms2ger
479cf1ef23 Stop panicking when trying to load ftp URLs. 2016-11-02 16:15:26 +01:00
Ms2ger
634a3989ad Move ResponseAction to the image cache. 2016-11-02 16:15:25 +01:00
Ms2ger
4bbeecb99f Remove AsyncResponseTarget. 2016-11-02 16:15:24 +01:00
Ms2ger
fe3d512ea4 Remove ProgressSender::Listener. 2016-11-02 16:15:23 +01:00
Ms2ger
8a6016013e Remove unused argument to start_sending_opt. 2016-11-02 16:15:22 +01:00
Ms2ger
40c711bf97 Remove LoadConsumer::Listener. 2016-11-02 16:15:21 +01:00
Ms2ger
e8d9546035 Use fetch_async in the image cache. 2016-11-02 16:15:20 +01:00
Ms2ger
e844a36231 Remove load_async. 2016-11-02 16:15:19 +01:00
Ms2ger
953fa89463 Use fetch_async in the font cache. 2016-11-02 16:15:18 +01:00
Ms2ger
a79c06d9c0 Implement fetch_async in net_traits. 2016-11-02 16:15:16 +01:00
Ms2ger
44c80d5b18 Ignore the Content-Type header completely for @font-face.
This matches the previous default (network.mime.sniff off) behaviour in all
but one case: we will now accept a font without a `Content-Type` header, which
would previously have been ignored.
2016-11-02 16:15:15 +01:00
bors-servo
cff0f01c70 Auto merge of #14021 - servo:gfx-traits-azure, r=jdm
Remove the unused dependency on azure from gfx_traits.

<!-- 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/14021)
<!-- Reviewable:end -->
2016-11-02 08:58:43 -05:00
bors-servo
25e3ae6915 Auto merge of #14022 - servo:update-js, r=jdm
Update js.

<!-- 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/14022)
<!-- Reviewable:end -->
2016-11-02 07:29:44 -05:00
Ms2ger
558afe1786 Update js. 2016-11-02 13:25:49 +01:00
Ms2ger
e136145ff1 Remove the unused dependency on azure from gfx_traits. 2016-11-02 13:24:38 +01:00
Martin Robinson
cd1c881830 Fold some DisplayList methods into DisplayListBuildState
This makes the API used to build display lists quite a bit simpler and
reduces the amount of auxiliary data structures that need to be passed
around. It is also important preparation work for separating scrolling
areas from stacking contexts.
2016-11-02 11:18:17 +01:00
bors-servo
ba2fb4e2e2 Auto merge of #13742 - servo:fetch-documents, r=jdm
Use the fetch stack for documents.

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

<!-- Reviewable:end -->
2016-11-02 03:26:42 -05:00
Ms2ger
c7636a215e Remove AsyncResponseListener. 2016-11-02 09:25:58 +01:00