Commit graph

29164 commits

Author SHA1 Message Date
Anthony Ramine
6c9fb5ae7a Introduce TaskOnce
Having both TaskBox and TaskOnce allows us to remove the superfluous inner boxing
from CancellableTask<T>.
2017-09-20 10:37:09 +02:00
Anthony Ramine
52527d6f9d Rename Task to TaskBox 2017-09-20 10:07:29 +02:00
Anthony Ramine
f088b708c9 Make Task require Send 2017-09-20 09:40:53 +02:00
bors-servo
8000efac75 Auto merge of #18569 - mrbkap:1398393-cooperative-thread-tagging, r=emilio
Bug 1398393 - Add a way to initialize a cooperative thread in servo.

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

Over in [bug 1398393](https://bugzilla.mozilla.org/show_bug.cgi?id=1398393), I found that when we turn Quantum DOM's cooperative threads on, we hit a Servo panic because we assume that we've set some state in the TLD. The cooperative threads currently have no way of doing this without also re-initializing the log module and some other static data. This small patch gives the cooperative threads a way of informing Servo about themselves.

---
<!-- 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: -->
- [X] These changes do not require tests because they will be tested on Gecko's tinderbox once we get cooperative threading working.

<!-- 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/18569)
<!-- Reviewable:end -->
2017-09-20 00:59:35 -05:00
bors-servo
2a97b2cd7c Auto merge of #18567 - glennw:update-wr-subpx-blur, r=wafflespeanut
Update WR (quality improvements for subpx text and blur).

<!-- 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/18567)
<!-- Reviewable:end -->
2017-09-19 23:42:33 -05:00
bors-servo
ad4f50270d Auto merge of #18568 - nnethercote:bug-1400078, r=emilio
Measure the UA cache.

This is the Servo PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1400078

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because tested on Gecko side.

<!-- 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/18568)
<!-- Reviewable:end -->
2017-09-19 18:46:49 -05:00
Blake Kaplan
37879260a9 Bug 1398393 - Add a way to initialize a cooperative thread in servo. 2017-09-19 16:30:41 -07:00
Nicholas Nethercote
f7023a120e Measure the UA cache.
ServoStyleSetSizes now has two uses, one for the Stylist, and one for the UA
cache, and so the patch removes 'Stylist' from the field names.

Example output from about:memory:

> +----1,359,608 B (00.55%) -- layout
> |    +----756,488 B (00.31%) -- style-sheet-cache [2]
> |    +----393,968 B (00.16%) -- servo-ua-cache
> |    |    +--234,496 B (00.10%) -- element-and-pseudos-maps
> |    |    +---59,648 B (00.02%) -- revalidation-selectors
> |    |    +---58,320 B (00.02%) -- invalidation-map
> |    |    +---30,752 B (00.01%) -- other
> |    |    +---10,752 B (00.00%) -- precomputed-pseudos
2017-09-20 08:50:21 +10:00
Glenn Watson
a50df6387d Update WR (quality improvements for subpx text and blur). 2017-09-20 08:37:39 +10:00
bors-servo
c6381c66a0 Auto merge of #18566 - bholley:thread_state_fixes, r=Manishearth
Thread state fixes

https://bugzilla.mozilla.org/show_bug.cgi?id=1400435
2017-09-19 15:05:54 -05:00
Bobby Holley
90e9bbbadc Explicitly register rayon threads, rather than assuming that as the default.
MozReview-Commit-ID: E4kUyy8HjmV
2017-09-19 13:04:35 -07:00
Bobby Holley
531397ff15 Eliminate the now-unnecessary internal mod in thread_state.
MozReview-Commit-ID: 2d7lvQx7jOf
2017-09-19 13:04:30 -07:00
Bobby Holley
b0d1cde558 Make the thread_state machinery behave the same across debug and opt builds.
I don't need this per se, but it seems like a footgun for the methods to
return incorrect information depending on the build type. I don't see anywhere
where the overhead would be at all significant.

MozReview-Commit-ID: G1qyUFhI0aB
2017-09-19 13:04:25 -07:00
bors-servo
4f98a3f56a Auto merge of #18556 - Manishearth:cssparserup, r=emilio
Bump cssparser to 0.21.2

try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=5efe06f4fdb11e540532b57368b78defb0bd7aa9

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

<!-- 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/18556)
<!-- Reviewable:end -->
2017-09-19 12:15:57 -05:00
bors-servo
5838c35140 Auto merge of #18520 - servo:media, r=emilio
Continue to clean up HTMLMediaElement

<!-- 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/18520)
<!-- Reviewable:end -->
2017-09-19 11:06:19 -05:00
bors-servo
f539de99d1 Auto merge of #18561 - moz-servo-sync:gecko-backout, r=moz-servo-sync
Backed out changeset 5d3fe46e02cc (bug 1400438) for crashing chrome test mobile/android/components/extensions/test/mochitest/test_ext_options_ui.html on Android. r=backout on a CLOSED TREE

Backed out changeset 5d3fe46e02cc (bug 1400438) for crashing chrome test mobile/android/components/extensions/test/mochitest/test_ext_options_ui.html on Android. r=backout on a CLOSED TREE

Backs out https://github.com/servo/servo/pull/18557

<!-- 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/18561)
<!-- Reviewable:end -->
2017-09-19 10:01:30 -05:00
Gecko Backout
cff911dd36 Backed out changeset 5d3fe46e02cc (bug 1400438) for crashing chrome test mobile/android/components/extensions/test/mochitest/test_ext_options_ui.html on Android. r=backout on a CLOSED TREE
Backs out https://github.com/servo/servo/pull/18557
2017-09-19 14:36:25 +00:00
bors-servo
55588ce30d Auto merge of #18558 - jhlin:update-angle, r=emilio
Update angle to address Android build error on macOS.

<!-- Please describe your changes on the following line: -->
Please see servo/angle#27

---
<!-- 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 a fix to build errors.

<!-- 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/18558)
<!-- Reviewable:end -->
2017-09-19 07:32:55 -05:00
Anthony Ramine
0e2249f07f Clean up HTMLMediaElement::Play 2017-09-19 14:26:11 +02:00
Anthony Ramine
7e835c351e Handle invalid MIME types in HTMLMediaElement::CanPlayType 2017-09-19 14:26:10 +02:00
Anthony Ramine
bd9486bbe2 Clean up code for the media element load algorithm 2017-09-19 14:26:09 +02:00
Anthony Ramine
e8d7eaf8a3 Clean up code of the resource fetch algorithm 2017-09-19 14:26:07 +02:00
Anthony Ramine
5352697558 Clean up the resource selection algorithm a bit 2017-09-19 14:26:06 +02:00
Anthony Ramine
e4cd6be831 Clean up HTMLMediaElement::change_ready_state 2017-09-19 14:26:05 +02:00
bors-servo
289970a9ee Auto merge of #18559 - BorisChiou:stylo/animation/shape_outside, r=birtles
Make shape-outside animatable.

We decide to make shape-outside animatable on Gecko, so let's do it on Servo.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1390026](https://bugzilla.mozilla.org/show_bug.cgi?id=1390026).
- [X] These changes do not require tests because we could reuse the animation tests on Gecko for now.

<!-- 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/18559)
<!-- Reviewable:end -->
2017-09-19 04:33:36 -05:00
Boris Chiou
c9f9be7e5f Make shape-outside animatable. 2017-09-19 16:38:04 +08:00
bors-servo
0cec629a93 Auto merge of #18557 - upsuper:moz-border-colors-array, r=heycam
Use array instead of linked list for -moz-border-*-colors

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

<!-- 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/18557)
<!-- Reviewable:end -->
2017-09-19 02:10:25 -05:00
Xidorn Quan
18a555eaeb Use array instead of linked list for -moz-border-*-colors 2017-09-19 16:48:00 +10:00
Manish Goregaokar
7b0bc90aa0 Bump cssparser to 0.21.2 2017-09-18 23:06:18 -07:00
bors-servo
0fa7505d61 Auto merge of #18554 - glennw:update-wr-blur, r=emilio
Update WR (implement blur filter, text-shadow blend fixes, frame output fix).

<!-- 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/18554)
<!-- Reviewable:end -->
2017-09-19 01:02:47 -05:00
John Lin
14a5d0fff7 Update angle to address Android build error on macOS. 2017-09-19 13:55:44 +08:00
bors-servo
b081db1885 Auto merge of #18555 - bholley:isworkerthread, r=upsuper
Add a Servo_IsWorkerThread API

https://bugzilla.mozilla.org/show_bug.cgi?id=1400435
2017-09-18 23:58:53 -05:00
Bobby Holley
bc1d91e584 Add a Servo_IsWorkerThread API. 2017-09-18 21:58:04 -07:00
Glenn Watson
2b6fe42236 Update WR (implement blur filter, text-shadow blend fixes, frame output fix). 2017-09-19 11:56:03 +10:00
bors-servo
a5282cabe0 Auto merge of #17862 - asajeffrey:script-paint-worklet-border, r=pcwalton
Implemented paint worklets drawing to a border.

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

Allow paint worklets to draw to a border.

---
<!-- 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 #17451.
- [X] These changes do not require tests because the existing css-paint-api test check this (but annoyingly, all fail for other reasons)

<!-- 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/17862)
<!-- Reviewable:end -->
2017-09-18 16:54:54 -05:00
bors-servo
7256a05d74 Auto merge of #18523 - asajeffrey:pipeline-id-nonzero, r=mbrubeck
Make pipeline ids non-zero so that optional ids take no extra space

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

Use the NonZero trait to reduce space usage of `Option<PipelineId>`.

This needs a bump of serde to get https://github.com/serde-rs/serde/pull/1003.

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

<!-- 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/18523)
<!-- Reviewable:end -->
2017-09-18 15:50:57 -05:00
Alan Jeffrey
6754b2834f Made PipelineId non-zero, so optional ids take no more space. 2017-09-18 15:49:38 -05:00
Alan Jeffrey
a0afa66dbe Upgraded to serde v1.0.14. 2017-09-18 15:49:29 -05:00
bors-servo
23701f8659 Auto merge of #18533 - servo:TASKS, r=SimonSapin
Rename Runnable to Task and other improvements

<!-- 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/18533)
<!-- Reviewable:end -->
2017-09-18 14:42:50 -05:00
Anthony Ramine
37fe4fbc85 Use task! to settle promises for jobs 2017-09-18 21:41:36 +02:00
bors-servo
0ed54b039a Auto merge of #18552 - servo:machless, r=nox
Update osmesa-src to support building with mach

E.g. `cargo +nightly build -p servo` at the repo’s top-level

<!-- 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/18552)
<!-- Reviewable:end -->
2017-09-18 11:46:45 -05:00
Simon Sapin
054d49e988 Update osmesa-src to support building with mach 2017-09-18 18:46:25 +02:00
bors-servo
ba90e13863 Auto merge of #18543 - emilio:named-getter-int, r=nox
script: Fix integer-JSID handling in named getters.

On top of #18539, fixes #10686.

<!-- 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/18543)
<!-- Reviewable:end -->
2017-09-18 06:27:25 -05:00
bors-servo
cff9b427fc Auto merge of #18517 - BorisChiou:stylo/filter/clamp, r=emilio
style: Clamp some filter functions to one if the values over 100%

For grayscale, invert, opacity, and sepia, "values of amount over 100%
are allowed but UAs must clamp the values to 1" [1]-[4], so we clamp its value
in the parser.

[1] https://drafts.fxtf.org/filter-effects/#funcdef-filter-grayscale
[2] https://drafts.fxtf.org/filter-effects/#funcdef-filter-invert
[3] https://drafts.fxtf.org/filter-effects/#funcdef-filter-opacity
[4] https://drafts.fxtf.org/filter-effects/#funcdef-filter-sepia

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1399799](https://bugzilla.mozilla.org/show_bug.cgi?id=1399799).
- [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/18517)
<!-- Reviewable:end -->
2017-09-18 05:23:36 -05:00
bors-servo
1da581f49b Auto merge of #18506 - mrobinson:position-sticky-table, r=emilio
Fix issues with the combination of position:sticky and tables

<!-- 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 #18441 (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/18506)
<!-- Reviewable:end -->
2017-09-18 04:18:17 -05:00
Anthony Ramine
99ff976e85 Use task! to notify performance observers 2017-09-18 10:54:11 +02:00
Anthony Ramine
5ed6abe22c Preserve the name of inner tasks in cancellable ones 2017-09-18 10:51:07 +02:00
Anthony Ramine
a7655a3f84 Use task! to resolve promises 2017-09-18 10:49:36 +02:00
Anthony Ramine
851d40b204 Use task! to reject promises 2017-09-18 10:42:05 +02:00
Anthony Ramine
ad41ce7a6f Use task! to announce event source connections 2017-09-18 10:41:09 +02:00