Commit graph

30983 commits

Author SHA1 Message Date
Boris Chiou
aebe2cfac2 Dump the requested aligment if out of memory while allocating a table. 2018-01-02 11:31:03 +08:00
bors-servo
2a139cebac Auto merge of #19659 - CYBAI:display-out-of-mako, r=emilio
style: Move display 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 #19658
- [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/19659)
<!-- Reviewable:end -->
2018-01-01 12:14:39 -06:00
CYBAI
a764d9065e style: Move display outside of mako 2018-01-01 23:51:08 +08:00
bors-servo
1ce6d8ea2d Auto merge of #19652 - pyfisch:issue18435, r=emilio
Fix division by zero in gradient stop calculation

Check if total_length is zero and return 0.0 instead
of NaN in this case.

Closes #18435

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

<!-- Either: -->
- [x] There are tests for these changes OR
- [x] These changes do not require tests because simple bugfix/no idea for good test

<!-- 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/19652)
<!-- Reviewable:end -->
2018-01-01 09:38:07 -06:00
bors-servo
657d8a2ede Auto merge of #19655 - pyfisch:border-radii-comments, r=emilio
Remove solved FIXMEs about border radii

 cc pcwalton

cgaebel: Is this [comment] still accurate?

    // TODO(cgaebel): Support border radii even in the case of multiple border widths.
    // This is an extension of supporting elliptical radii. For now, all percentage
    // radii will be relative to the width.

[comment]: 446536b9c3/components/layout/display_list_builder.rs (L659-L661)

<!-- 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/19655)
<!-- Reviewable:end -->
2018-01-01 08:19:36 -06:00
bors-servo
be7d13e37f Auto merge of #19667 - emilio:root-and-item, r=emilio
Revert #19666 since we do create NAC elements and expect them to be inline.

This reverts commit 1970e82b0d, reversing
changes made to e882660ea6.

The reparenting logic is still bogus, but I'll figure out how to deal with that
in a bit.

<!-- 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/19667)
<!-- Reviewable:end -->
2017-12-31 10:01:58 -06:00
Emilio Cobos Álvarez
bab6077c1c
Revert #19666 since we do create NAC elements and expect them to be inline.
This reverts commit 1970e82b0d, reversing
changes made to e882660ea6.

The reparenting logic is still bogus, but I'll figure out how to deal with that
in a bit.
2017-12-31 17:00:26 +01:00
bors-servo
1970e82b0d Auto merge of #19666 - emilio:root-and-item, r=upsuper
style: Simplify the skip item based display fixup adjustment.

In practice the only NAC that possibly inherits from a grid or flex container
are pseudos.

In Gecko, if the root element is an item container, custom anon content would
also sometimes incorrectly inherit from that (see bug 1405635), but that's fixed
in Stylo.

We remove the IS_ROOT_ELEMENT blockification from the "skip display fixup"
check, since the root element is never NAC or anything like that, so there's no
need for the check.

This also fixes some reparenting fishiness related to pseudo-elements. We were
only skipping the fixup when reparenting anon boxes, not when reparenting normal
element styles, nor when reparenting other pseudo styles which are not anon
boxes.

<!-- 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/19666)
<!-- Reviewable:end -->
2017-12-31 07:01:10 -06:00
Emilio Cobos Álvarez
e464f5b020
style: Simplify the skip item based display fixup adjustment.
In practice the only NAC that possibly inherits from a grid or flex container
are pseudos.

In Gecko, if the root element is an item container, custom anon content would
also sometimes incorrectly inherit from that (see bug 1405635), but that's fixed
in Stylo.

We remove the IS_ROOT_ELEMENT blockification from the "skip display fixup"
check, since the root element is never NAC or anything like that, so there's no
need for the check.

This also fixes some reparenting fishiness related to pseudo-elements. We were
only skipping the fixup when reparenting anon boxes, not when reparenting normal
element styles, nor when reparenting other pseudo styles which are not anon
boxes.
2017-12-31 13:57:49 +01:00
bors-servo
e882660ea6 Auto merge of #19664 - emilio:dupe-slots, r=smaug
style: Stop duplicating slots.

Reland of #19660 since it was backed out for not landing its Gecko changes on time.

Bug: 1427001
Reviewed-by: smaug
MozReview-Commit-ID: Cq647BcOzbe

<!-- 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/19664)
<!-- Reviewable:end -->
2017-12-31 05:13:47 -06:00
bors-servo
4ba795081c Auto merge of #19665 - emilio:derive-parse-alias, r=Manishearth
style_derive: Support parse-time aliases.

This will allow #19659 to use derive on display using:

    #[parse(aliases = "-webkit-flex")]
    Flex,
    #[parse(aliases = "-webkit-inline-flex")]
    InlineFlex,

And such.

<!-- 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/19665)
<!-- Reviewable:end -->
2017-12-31 03:46:22 -06:00
Emilio Cobos Álvarez
e6623e23c1
style: Update bindings. 2017-12-31 10:02:47 +01:00
Emilio Cobos Álvarez
537fda543e
style_derive: Support parse-time aliases.
This will allow #19659 to use derive on display using:

    #[parse(aliases = "-webkit-flex")]
    Flex,
    #[parse(aliases = "-webkit-inline-flex")]
    InlineFlex,

And such.
2017-12-31 09:53:17 +01:00
bors-servo
ebff37b807 Auto merge of #19662 - emilio:simplify-prohibit-display-contents, r=upsuper
style: Simplify "prohibit display: contents" adjustment.

On top of #19661.

The NAC condition is pointless because NAC don't match author rules unless they
are a pseudo-element too.

<!-- 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/19662)
<!-- Reviewable:end -->
2017-12-31 02:23:59 -06:00
Emilio Cobos Álvarez
bc2ef519ca
style: Renumber CascadeFlags bits. 2017-12-31 09:17:00 +01:00
Emilio Cobos Álvarez
a747de1814
style: Simplify "prohibit display: contents" adjustment.
On top of #19661.

The NAC condition is pointless because NAC don't match author rules unless they
are a pseudo-element too.
2017-12-31 09:17:00 +01:00
Emilio Cobos Álvarez
dd1cef1a6c
style: Stop duplicating slots.
Bug: 1427001
Reviewed-by: smaug
MozReview-Commit-ID: Cq647BcOzbe
2017-12-31 09:01:55 +01:00
bors-servo
0af7ac6a4a Auto merge of #19663 - moz-servo-sync:gecko-backout, r=moz-servo-sync
Backed out changeset dda1c7951937 for build bustage force-cargo-library-build. r=backout on a CLOSED TREE

Backed out changeset dda1c7951937 for build bustage force-cargo-library-build. r=backout on a CLOSED TREE

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

<!-- 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/19663)
<!-- Reviewable:end -->
2017-12-30 19:34:03 -06:00
Gecko Backout
cf8b8db87d Backed out changeset dda1c7951937 for build bustage force-cargo-library-build. r=backout on a CLOSED TREE
Backs out https://github.com/servo/servo/pull/19660
2017-12-31 01:17:32 +00:00
bors-servo
d3f603ecba Auto merge of #19660 - emilio:dupe-slots, r=smaug
style: Stop duplicating slots.

Bug: 1427001
Reviewed-by: smaug
MozReview-Commit-ID: Cq647BcOzbe

<!-- 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/19660)
<!-- Reviewable:end -->
2017-12-30 17:31:38 -06:00
bors-servo
fb569f9c15 Auto merge of #19661 - emilio:simplify-fieldset-contents, r=upsuper
style: Simplify ::-moz-fieldset-content special-casing.

The style adjuster knows about the pseudo, so there's no reason to thread that
info down.

There are more simplifications that can be done in followups, cleaning a bit the
cascade flags too, those will come later.

<!-- 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/19661)
<!-- Reviewable:end -->
2017-12-30 15:12:23 -06:00
Emilio Cobos Álvarez
563da3a19c
style: Simplify ::-moz-fieldset-content special-casing.
The style adjuster knows about the pseudo, so there's no reason to thread that
info down.

There are more simplifications that can be done in followups, cleaning a bit the
cascade flags too, those will come later.
2017-12-30 22:08:04 +01:00
Emilio Cobos Álvarez
89e6d1d62e
style: Update bindings. 2017-12-30 20:14:13 +01:00
Emilio Cobos Álvarez
72e0bfa52f
style: Stop duplicating slots.
Bug: 1427001
Reviewed-by: smaug
MozReview-Commit-ID: Cq647BcOzbe
2017-12-30 12:36:52 +01:00
Pyfisch
4d84acda19 Remove solved FIXMEs about border radii 2017-12-29 22:21:21 +01:00
bors-servo
446536b9c3 Auto merge of #19646 - CYBAI:move-touch-action-out-of-mako, r=emilio
style: Move touch-action 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 #19645
- [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/19646)
<!-- Reviewable:end -->
2017-12-29 06:08:33 -06:00
Pyfisch
94f3e3353d Fix division by zero in gradient stop calculation
Check if total_length is zero and return 0.0 instead
of NaN in this case.

Closes #18435

Regression test for crash.
2017-12-28 21:18:49 +01:00
CYBAI
05b014e720 style: Move touch-action outside of mako 2017-12-28 23:13:39 +08:00
bors-servo
97bba5fdc1 Auto merge of #19628 - tigercosmos:x3, r=KiChjang
add note on readme

<!-- Please describe your changes on the following line: -->
Add note about how to use command while running servo
origin  `readme` is not clear.
I think ./mach run [url] [arguments] is more clear than ./mach run [url]

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

<!-- 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/19628)
<!-- Reviewable:end -->
2017-12-25 15:08:39 -06:00
bors-servo
7aae164fcd Auto merge of #19622 - tigercosmos:x2, r=shinglyu
pretty print tree

<!-- Please describe your changes on the following line: -->
```
│  │  │  │  │  │  │         floatspec-out=L 0px R 0px
│  │  │  │  │  │  │         overflow=Overflow { scroll: TypedRect(0px×0px at (0px,0px)), paint: TypedRect(0px×0px at (0px,0px)) }
│  │  │  │  │  │  │         damage=BUBBLE_ISIZES
│  │  │  │  │  │  │  └─ ↑↑ Fragment for block:
│  │  │  │  │  │  │  │         SpecificFragmentInfo::Table(2671) []
│  │  │  │  │  │  │  │         border_box=LogicalRect(H LTR, i0px×b0px, @ (i0px,b0px))
│  │  │  │  │  │  │  │         damage=REPOSITION | STORE_OVERFLOW | BUBBLE_ISIZES | REFLOW_OUT_OF_FLOW | REFLOW
│  │  │  │  ├─ Block(1268a9710)
│  │  │  │  │         sc=StackingContextId(0)
│  │  │  │  │         pos=LogicalRect(H LTR, i720px×b36px, @ (i152px,b2636.883333333333px))
│  │  │  │  │         floatspec-in=L 0px R 0px
│  │  │  │  │         floatspec-out=L 0px R 0px
│  │  │  │  │         overflow=Overflow { scroll: TypedRect(750px×36px at (-15px,0px)), paint: TypedRect(750px×36px at (-15px,0px)) }
│  │  │  │  │         children=1
│  │  │  │  │         damage=BUBBLE_ISIZES
│  │  │  │  │  ├─ ↑↑ Fragment for block:
│  │  │  │  │  │         SpecificFragmentInfo::Generic(2673) []
│  │  │  │  │  │         border_box=LogicalRect(H LTR, i720px×b36px, @ (i0px,b0px))
│  │  │  │  │  │         border_padding=LogicalMargin(H LTR, i:0px..0px b:6px..0px)
│  │  │  │  │  │         damage=REPOSITION | STORE_OVERFLOW
│  │  │  │  │  ├─ Block(128554f10)
│  │  │  │  │  │         sc=StackingContextId(0)
│  │  │  │  │  │         pos=LogicalRect(H LTR, i750px×b30px, @ (i0px,b6px))
│  │  │  │  │  │         floatspec-in=L 0px R 0px
│  │  │  │  │  │         floatspec-out=L 0px R 0px
│  │  │  │  │  │         overflow=Overflow { scroll: TypedRect(750px×30px at (-15px,0px)), paint: TypedRect(750px×30px at (-15px,0px)) }
│  │  │  │  │  │         children=6
│  │  │  │  │  │         damage=BUBBLE_ISIZES
│  │  │  │  │  │  ├─ ↑↑ Fragment for block:
│  │  │  │  │  │  │         SpecificFragmentInfo::Generic(2361) []
│  │  │  │  │  │  │         border_box=LogicalRect(H LTR, i750px×b30px, @ (i-15px,b0px))
│  │  │  │  │  │  │         margin=LogicalMargin(H LTR, i:-15px..-15px b:0px..0px)
│  │  │  │  │  │  │         damage=REPOSITION | STORE_OVERFLOW
│  │  │  │  │  │  ├─ TableWrapperFlow: Block(128555410)
│  │  │  │  │  │  │         sc=StackingContextId(0)
│  │  │  │  │  │  │         pos=LogicalRect(H LTR, i750px×b0px, @ (i-15px,b0px))
│  │  │  │  │  │  │         floatspec-in=L 0px R 0px
│  │  │  │  │  │  │         floatspec-out=L 0px R 0px
│  │  │  │  │  │  │         overflow=Overflow { scroll: TypedRect(0px×0px at (0px,0px)), paint: TypedRect(0px×0px at (0px,0px)) }
│  │  │  │  │  │  │         children=1
│  │  │  │  │  │  │         damage=BUBBLE_ISIZES
```

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

<!-- Either: -->
- [ ] 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/19622)
<!-- Reviewable:end -->
2017-12-25 07:56:42 -06:00
bors-servo
d49cb8a478 Auto merge of #19642 - tigercosmos:c1, r=emilio
cleanup no need cfg target_os

<!-- Please describe your changes on the following line: -->
Already in macos, no need cfg target_os

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

<!-- 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/19642)
<!-- Reviewable:end -->
2017-12-25 05:12:41 -06:00
tigercosmos
79b1b79303 cleanup no need cfg target_os 2017-12-25 17:13:48 +08:00
bors-servo
d96fb89c31 Auto merge of #19641 - emilio:christmas-cleanup, r=cybai
style: Some trivial cleanup.

<!-- 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/19641)
<!-- Reviewable:end -->
2017-12-24 21:34:21 -06:00
tigercosmos
16fac1e5ed add note on readme 2017-12-25 08:18:09 +08:00
bors-servo
9a207d17c5 Auto merge of #19636 - jonleighton:issue-19629, r=emilio
Move list-style-type outside of mako

Closes issue #19629

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/19636)
<!-- Reviewable:end -->
2017-12-24 14:08:55 -06:00
bors-servo
7c07f31a55 Auto merge of #19633 - tigercosmos:vv, r=emilio
pass -vv through mach to cargo

<!-- Please describe your changes on the following line: -->
base on #17237, which is reviewed by emilio and jdm.
just need to rename commit and rebase

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

<!-- Either: -->
- [ ] 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/19633)
<!-- Reviewable:end -->
2017-12-24 12:39:34 -06:00
Emilio Cobos Álvarez
a491ccac83
style: Some trivial cleanup. 2017-12-24 19:21:10 +01:00
bors-servo
a2d8e0c79e Auto merge of #19640 - emilio:testing-cert, r=emilio
tests/net: Update testing cert.

Fies #19634

<!-- 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/19640)
<!-- Reviewable:end -->
2017-12-24 08:53:29 -06:00
Emilio Cobos Álvarez
6eb0143541
tests/net: Update testing cert. 2017-12-24 15:47:16 +01:00
Jon Leighton
53e868e203 Refactor ListStyleType 2017-12-23 21:24:46 +01:00
Jon Leighton
214b423bbd Move list-style-type outside of mako
Closes issue #19629
2017-12-23 13:01:30 +01:00
tigercosmos
49a983a09e pass -vv through mach to cargo 2017-12-23 14:47:00 +08:00
tigercosmos
43c94d3445 pretty print tree 2017-12-23 14:40:06 +08:00
bors-servo
bcdb82b83f Auto merge of #19630 - yati-sagade:master, r=jdm
Paint worklets: Add pref for blocking sleep to be enabled for wpt tests

In aa48a2c2e3 I added a timeout for paint
worklet threads. However, the test was broken. The blocking sleep
function that was implemented as part of that commit was guarded behind
the `dom.worklet.blockingsleep.enabled` pref, and while I ran the
wpt-tests with that pref enabled, the test runner for sure did not.
I tried running the test _without_ the pref enabled, and the tests still
pass. This is because even the reference in that reftest is that of
a broken image background, and *both* the paintworklet thread timing out
and `sleep()` not being in scope would render the same thing: a broken
image, which compares equal to the reference.

This patch makes sure that now the pref is enabled for wpt worklet
tests, and that such we can distinguish an actual timeout (test pass)
from an unexpected situation (when we should fail the test).

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

<!-- Either: -->
- [] There are tests for these changes OR
- [X] These changes do not require tests because this patch fixes a broken test.

<!-- 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/19630)
<!-- Reviewable:end -->
2017-12-22 15:22:54 -06:00
Yati Sagade
5a53cfd93c Paint worklets: Add pref for blocking sleep to be enabled for wpt tests
In aa48a2c2e3 I added a timeout for paint
worklet threads. However, the test was broken. The blocking sleep
function that was implemented as part of that commit was guarded behind
the `dom.worklet.blockingsleep.enabled` pref, and while I ran the
wpt-tests with that pref enabled, the test runner for sure did not.
I tried running the test _without_ the pref enabled, and the tests still
pass. This is because even the reference in that reftest is that of
a broken image background, and *both* the paintworklet thread timing out
and `sleep()` not being in scope would render the same thing: a broken
image, which compares equal to the reference.

This patch makes sure that now the pref is enabled for wpt worklet
tests, and that such we can distinguish an actual timeout (test pass)
from an unexpected situation (when we should fail the test).
2017-12-22 22:12:59 +01:00
bors-servo
54f8cc37c5 Auto merge of #19256 - yati-sagade:master, r=asajeffrey
Paint worklets: Implement timeout for worklet painter threads

When a paint worklet thread takes too long, we would like to move on,
since we have a ~16ms budget for rendering at 60fps. At the moment, there
is no provision in the paintworklet spec to signal such timeouts to the
developer. ajeffrey opened an [issue][1] for this, but it got punted to
v2 of the spec. Hence we are silently timing out unresponsive paint
scripts.

The timeout value is chosen to be 10ms by default, and can be overridden
by setting the SERVO_PAINT_WORKLET_TIMEOUT_MS environment variable.

In the absence of such a timeout, the reftest in this commit would fail
by timing out the testrunner itself, since the paint script never
returns. From my discussions with ajeffrey, this should do until we spec
out a way to signal timeouts to the script developer.

This fixes #17370.

[1]: https://github.com/w3c/css-houdini-drafts/issues/507

<!-- 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 #__ (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/19256)
<!-- Reviewable:end -->
2017-12-22 04:50:16 -06:00
Yati Sagade
aa48a2c2e3 Paint worklets: Implement timeout for worklet painter threads
When a paint worklet thread takes too long, we would like to move on,
since we have a ~16ms budget for rendering @60fps. At the moment, there
is no provision in the paintworklet spec to signal such timeouts to the
developer. ajeffrey opened an [issue][1] for this, but it got punted to
v2 of the spec. Hence we are silently timing out unresponsive paint
scripts.

The timeout value is chosen to be 10ms by default, and can be overridden
by setting the `dom.worklet.timeout_ms` pref.

In the absence of such a timeout, the reftest in this commit would fail
by timing out the testrunner itself, since the paint script never
returns. From my discussions with ajeffrey, this should do until we spec
out a way to signal timeouts to the script developer.

Since we did not have a better way to trigger a timeout than a busy
waiting loop (which would hog one core of the test machine until the
timeout was reached), we decided to implement a test only blocking
sleep, available to the PaintWorkletGlobalScope. Since
`dom.worklet.enabled` enables worklets in general, we also decided to
have another pref `dom.worklet.blockingsleep.enabled`, which, in
addition to `dom.worklet.enabled`, would be required for the blocking
sleep to be available.

This fixes #17370.

[1]: https://github.com/w3c/css-houdini-drafts/issues/507
2017-12-22 10:47:23 +01:00
bors-servo
2eb1512c22 Auto merge of #19612 - tigercosmos:o1, r=jdm
deny warnings

<!-- Please describe your changes on the following line: -->
deny warnings
related to #19573

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

<!-- Either: -->
- [ ] 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/19612)
<!-- Reviewable:end -->
2017-12-21 13:57:04 -06:00
tigercosmos
6d6491e814 deny warnings 2017-12-22 03:34:11 +08:00
bors-servo
a15cecb3f7 Auto merge of #19621 - sbwtw:using_variable, r=jdm
using local variable instead of a function call.

the data of `frame_size` is already storage into variable `new_frame_size`

<!-- 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/19621)
<!-- Reviewable:end -->
2017-12-21 08:53:21 -06:00