Commit graph

29067 commits

Author SHA1 Message Date
KuoE0
1bacd01a78 Bug 1391198 - Make the order of rules in DevTools be the specificity order.
We insert rules with any important declaration into rule tree twice,
one for normal level and another for important level. And when we fetch
them from rule tree, we skip the important one to make the order be

MozReview-Commit-ID: HewZG6jYVvv
2017-09-01 10:59:57 +08:00
bors-servo
f7d238d1f3 Auto merge of #18322 - glennw:update-wr-fonts-2, r=emilio
Update WR (font instance API).

WR now has a concept of font templates and font instances. This
makes the WR font interfaces closer to Cairo and Gecko, and also
makes some future performance optimizations possible.

A font template is the font family, and data backing the font.
A font instance is a reference to a font template and per-instance
options, such as font size, anti-aliasing settings etc.

To update Servo in a minimally invasive way, I added a new font
cache call, that creates a font instance. This means that when
a font is created, and doesn't exist in the cache there are now
two calls to the font cache thread. We could refactor the font
cache to make this work in one call, which we should do in the
future. However, refactoring the font cache is a large chunk of
work by itself. The extra call is only when a font doesn't already
exist in the font context cache, so it should have minimal
performance impact.

<!-- 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/18322)
<!-- Reviewable:end -->
2017-08-31 21:59:30 -05:00
bors-servo
e10e56930f Auto merge of #18317 - cbrewster:custom_elements_enable, r=jdm
Enable Custom Elements by Default

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

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

<!-- 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/18317)
<!-- Reviewable:end -->
2017-08-31 19:57:29 -05:00
Manish Goregaokar
343eb23187 stylo: Compute font-size calcs against appropriate base size 2017-08-31 17:22:17 -07:00
Manish Goregaokar
ce4e1e4194
stylo: Add appropriate traits to hashglobe::fake 2017-08-31 16:28:32 -07:00
Manish Goregaokar
5cd296a264
stylo: Replace all hashtable collections with ones from style::hash 2017-08-31 16:28:30 -07:00
Manish Goregaokar
fae5e10643
stylo: Add hash module for reexporting HashMap 2017-08-31 16:28:27 -07:00
Manish Goregaokar
c682943900
stylo: Add dependency on hashglobe 2017-08-31 16:28:18 -07:00
Manish Goregaokar
ad72df206b Merge in hashglobe 2017-08-31 15:20:59 -07:00
Manish Goregaokar
5d3115fa8e Move to components/hashglobe 2017-08-31 15:17:02 -07:00
Imanol Fernandez
21f8b519c3 Reuse WebGL ImageKeys after a resize. 2017-08-31 22:54:33 +02:00
Connor Brewster
b3c7375cd1 cleanup unused test expectations 2017-08-31 15:20:02 -05:00
Connor Brewster
375a9ad86a Enable custom elements by default 2017-08-31 15:20:00 -05:00
bors-servo
09df9c4316 Auto merge of #18330 - emilio:invalidation-stuff, r=bholley
stylo: Add a special case for marking something as dirty from invalidation code.

<!-- 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/18330)
<!-- Reviewable:end -->
2017-08-31 14:14:15 -05:00
Emilio Cobos Álvarez
0404bb0c7f
stylo: Add a special case for marking something as dirty from invalidation code.
Bug: 1394935
Reviewed-by: bholley
MozReview-Commit-ID: FHGmcoprN2Q
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-08-31 20:58:56 +02:00
Emilio Cobos Álvarez
3da3eb9be1
style: Update bindings. 2017-08-31 20:58:02 +02:00
Simon Sapin
1dcede75d7 Upgrade to rustc 1.21.0-nightly (7eeac1b81 2017-08-30) 2017-08-31 17:17:59 +02:00
bors-servo
174c37fddd Auto merge of #18301 - servo:derive-all-the-things, r=emilio
Use generics for the vertical-align property

<!-- 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/18301)
<!-- Reviewable:end -->
2017-08-31 09:41:50 -05:00
bors-servo
c4800a6c83 Auto merge of #18325 - servo:rustup-toolchain, r=nox
Switch back to pinning Rust by Nightly date instead of commit hash…

… this time using a `rust-toolchain` file compatible with rustup: https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file

And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29)

----

Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section, and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers, then rustup will use the correct version based on `rust-toolchain`.

CC https://github.com/servo/servo/issues/11361

Unlike https://github.com/servo/servo/pull/17927, this does not make mach use rustup directly. That should wait until https://github.com/rust-lang-nursery/rustup.rs/issues/1099 is fixed.

<!-- 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/18325)
<!-- Reviewable:end -->
2017-08-31 07:47:34 -05:00
Simon Sapin
56b4f3ae70 Switch back to pinning Rust by Nightly date instead of commit hash…
… this time using a `rust-toolchain` file compatible with rustup:
https://github.com/rust-lang-nursery/rustup.rs/#the-toolchain-file

And upgrade to rustc 1.21.0-nightly (c11f689d2 2017-08-29)

----

Now if both `system-rust` and `system-cargo` are set to `true` in `.servobuild`’s `[tools]` section,
and the corresponding `rustc` and `cargo` binaries are in fact rustup’s wrappers,
then rustup will use the correct version based on `rust-toolchain`.

CC https://github.com/servo/servo/issues/11361

Unlike https://github.com/servo/servo/pull/17927,
this does not make mach use rustup directly.
2017-08-31 14:30:28 +02:00
bors-servo
ed9fb55366 Auto merge of #18309 - servo:webidl, r=jdm
Update the WebIDL parser

<!-- 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/18309)
<!-- Reviewable:end -->
2017-08-31 04:57:12 -05:00
bors-servo
cb4ce93429 Auto merge of #18319 - chenpighead:stylo-fixup-display-for-NAC, r=heycam
Do not skip parent display-based style fixups for NAC that is not a NAC root

Stylo is currently skipping parent display-based style fixups for all NAC,
whereas we probably only want to do this for NAC roots.

In this patch, we ensure that we skip it for NAC roots, and pseudo-elements,
but not other NAC.

---
<!-- 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 [Bug 1359303](https://bugzilla.mozilla.org/show_bug.cgi?id=1359303)

<!-- 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/18319)
<!-- Reviewable:end -->
2017-08-31 03:10:23 -05:00
bors-servo
12ca7d9e96 Auto merge of #18320 - upsuper:counter-style-clone, r=heycam
Rewrite CounterStyleOrNone::from_gecko_value to use fewer binding functions

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

<!-- 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/18320)
<!-- Reviewable:end -->
2017-08-31 01:31:52 -05:00
Glenn Watson
b015e93dc5 Update WR (font instance API).
WR now has a concept of font templates and font instances. This
makes the WR font interfaces closer to Cairo and Gecko, and also
makes some future performance optimizations possible.

A font template is the font family, and data backing the font.
A font instance is a reference to a font template and per-instance
options, such as font size, anti-aliasing settings etc.

To update Servo in a minimally invasive way, I added a new font
cache call, that creates a font instance. This means that when
a font is created, and doesn't exist in the cache there are now
two calls to the font cache thread. We could refactor the font
cache to make this work in one call, which we should do in the
future. However, refactoring the font cache is a large chunk of
work by itself. The extra call is only when a font doesn't already
exist in the font context cache, so it should have minimal
performance impact.
2017-08-31 16:10:30 +10:00
bors-servo
d795ceae17 Auto merge of #18310 - nnethercote:bug-1394729, r=heycam
Measure memory usage of Stylo's Rule Tree.

<!-- Please describe your changes on the following line: -->
This is for https://bugzilla.mozilla.org/show_bug.cgi?id=1394729, which was r=heycam.

---
<!-- 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 tests exist in Gecko.

<!-- 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/18310)
<!-- Reviewable:end -->
2017-08-31 00:31:31 -05:00
bors-servo
5624c0e3f1 Auto merge of #18210 - mantaroh:clip-interpolation-fix, r=nox
Skip adding/accumulating ClipRect values which corresponding rect offset is auto.

<!-- Please describe your changes on the following line: -->
This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1390352

This patch will skip adding/accumulating the values which corresponding rect offset is auto, and  make Servo_AnimationValues_ComputeDistance return negative value instead of 0.0 when the function fails to distinguish its failure.

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

<!-- Either: -->
There are already these tests in dom/smil/tests of gecko, this PR will enable these tests.
For detail, see https://bugzilla.mozilla.org/show_bug.cgi?id=1390352.

<!-- 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/17288)
<!-- Reviewable:end -->
2017-08-30 23:21:49 -05:00
Nazım Can Altınova
a0c1eb5109 Properly set default direction of prefixed linear gradients
The default linear gradient direction is `to bottom`. This correspondes to
`top` keyword in prefixed linear gradients. We should preserve the default value.
2017-08-30 21:17:39 -07:00
Xidorn Quan
673c4f6420 Rewrite CounterStyleOrNone::from_gecko_value to use fewer binding functions 2017-08-31 14:03:59 +10:00
bors-servo
9a9866117a Auto merge of #18316 - MortimerGoro:rust_webvr_0.8, r=jdm
Update rust-webvr to 0.8

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

The new rust-webvr version includes features like multiview, opaque framebuffers and multiple layer rendering support that will land in separate PRs.

It also splits rust-webvr traits to a separate crate. This allows much faster compilations when using local cargo replaces.

---
<!-- 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/18316)
<!-- Reviewable:end -->
2017-08-30 22:08:31 -05:00
Jeremy Chen
adcd86deb2 stylo: Do not skip parent display-based style fixups for NAC that is not a NAC root
Stylo is currently skipping parent display-based style fixups for all NAC,
whereas we probably only want to do this for NAC roots.

In this patch, we ensure that we skip it for NAC roots, and pseudo-elements,
but not other NAC.
2017-08-31 10:28:02 +08:00
Manish Goregaokar
ed0fa304fc Use unwrap with errors 2017-08-30 16:48:10 -07:00
Manish Goregaokar
6f5085e4af Create custom error type 2017-08-30 16:48:10 -07:00
Manish Goregaokar
65fe459835 Make more things result-fail RawTable creation 2017-08-30 16:44:10 -07:00
Manish Goregaokar
87f6f17dd2 _fallible -> try_ 2017-08-30 16:44:08 -07:00
Manish Goregaokar
722417f0ce fallible hashsets 2017-08-30 16:44:02 -07:00
Manish Goregaokar
b2f23b8a67 Add fake fallible HashMap shim over stdlib 2017-08-30 16:43:58 -07:00
Manish Goregaokar
25d27c2a4a travis 2017-08-30 16:43:58 -07:00
Manish Goregaokar
003d54fd9c Make tests run again 2017-08-30 16:43:58 -07:00
Manish Goregaokar
acc70380b3 Add fallible HashMap APIs 2017-08-30 16:43:58 -07:00
Manish Goregaokar
9706f9a0f0 Update readme 2017-08-30 16:43:58 -07:00
Manish Goregaokar
f598862313 Add raw fallible API 2017-08-30 16:43:57 -07:00
Manish Goregaokar
96b3d0a735 Switch to alloc shim 2017-08-30 16:43:57 -07:00
Manish Goregaokar
d1c0eb9f2c Add liballoc_system shim 2017-08-30 16:43:57 -07:00
Manish Goregaokar
61c6d4e1df Move shim into its own file 2017-08-30 16:43:56 -07:00
Imanol Fernandez
714fe3b88a Update rust-webvr to 0.8 2017-08-31 01:24:54 +02:00
Anthony Ramine
542a9337a4 Use generics for the vertical-align property 2017-08-30 23:01:12 +02:00
Manish Goregaokar
63c8b345be Add readme/license/cargo.toml 2017-08-30 13:32:22 -07:00
Manish Goregaokar
7a0cedf1a8 Remove path redirects 2017-08-30 13:32:22 -07:00
Manish Goregaokar
46fbc1f014 Move hashmap/hashset to toplevel 2017-08-30 13:32:22 -07:00
Manish Goregaokar
2b99611291 Kill unique and shared 2017-08-30 13:32:21 -07:00