Commit graph

28895 commits

Author SHA1 Message Date
Fernando Jiménez Moreno
fb843c251a Make Performance Timeline API work in Workers 2017-09-05 17:07:15 +02:00
bors-servo
34e0805b12 Auto merge of #18363 - paulrouget:fix_style_build, r=SimonSapin
use cargo manifest path to find build.py

Without this, build.py can't be found when servo is built as a dependency.

---
<!-- 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/18363)
<!-- Reviewable:end -->
2017-09-05 09:22:28 -05:00
bors-servo
449ffb23ac Auto merge of #18380 - dadaa:make-font-variation-settings-animatable, r=birtles
Make font-variation-settings animatable

<!-- Please describe your changes on the following line: -->
https://bugzilla.mozilla.org/show_bug.cgi?id=1390702 r=birtles

---
<!-- 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
- [X] `./mach test-tidy --stylo` does not report any errors
- [X] `./mach test-unit -p style` does not report any errors

<!-- Either: -->
- [X] There are tests for these changes. The test codes are patch part 4 in https://bugzilla.mozilla.org/show_bug.cgi?id=1390702

<!-- 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/18380)
<!-- Reviewable:end -->
2017-09-05 06:20:33 -05:00
Paul Rouget
cd13888a1b use cargo manifest path to find build.py script 2017-09-05 09:31:37 +02:00
Daisuke Akatsuka
3ed71c4283 Make font-variation-settings animatable 2017-09-05 16:12:47 +09:00
Daisuke Akatsuka
653bced7a5 Implement Animate for FontSettings 2017-09-05 16:12:20 +09:00
Martin Robinson
bc455c8a1f Add support for position:sticky
This leverages the position:sticky support in WebRender to bring basic
support for position:sticky in Servo. There are still some issues with
nested sticky flows as well as a few other corner cases. Tests are
imported from WPT and can be removed once we update to the latest
version.
2017-09-05 09:10:55 +02:00
Daisuke Akatsuka
951662848f Implement clone_font_variation_settings method 2017-09-05 15:56:15 +09:00
KuoE0
2d84686113 Support None and NotSet for the fallback type of SVGPaint. 2017-09-05 13:06:09 +08:00
Nazım Can Altınova
dd8af182c1 Don't unnecessarily construct gfxFontFeatureValueSet
If there is no font feature values inside document we should avoid creating
unnecessary objects.
2017-09-04 15:48:39 -07:00
Nazım Can Altınova
9b63fedf59 Don't convert property declarations to lowercase
Property declarations are case-sensitive per spec and we should
preserve that behavior.
2017-09-04 15:41:16 -07:00
bors-servo
e97f28e2a6 Auto merge of #18367 - aethanyc:media-change-xbl-stylset, r=emilio
style: Expose stylist::set_device() for gecko

This was reviewed in bug https://bugzilla.mozilla.org/show_bug.cgi?id=1382078

<!-- 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/18367)
<!-- Reviewable:end -->
2017-09-04 15:19:06 -05:00
bors-servo
c60dd53210 Auto merge of #18355 - servo:no-fmt, r=emilio
Reduce usage of fmt in serialization and error reporting

`format!` and `write!` create a somewhat-heavyweight `Formatting` struct and use dynamic dispatch to call into impls of `Dispaly` and related traits. The former also allocates an intermediate string that is sometimes unnecessary.

I started looking into this from https://bugzilla.mozilla.org/show_bug.cgi?id=1355599, but I expect the impact there will be small to insignificant. It might be a slightly less so on parsing (error reporting).

<!-- 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/18355)
<!-- Reviewable:end -->
2017-09-04 13:14:44 -05:00
Simon Sapin
5d06c9959f Replace some more uses of write! in components/style 2017-09-04 19:01:43 +02:00
bors-servo
4608955949 Auto merge of #18366 - emilio:fix-statistics-crash, r=bholley
style: Avoid dropping the other threads' TLS contexts too early.

When collecting style statistics, we have this path that moves the TLS contexts
to be dropped before the local context.

Since destroying the TLS context runs the sequential task queue, that means that
sequential tasks would be executed sooner than usual, before we drop the main
thread TLS context.

Since we have that reuse of the main thread context's bloom filter, and some
tasks end up creating one (Servo_StyleSet_GetBaseComputedValuesForElement, I'm
looking at you), we may borrow the bloom filter before we're done with it on the
traversal code path.

This was hitting on YouTube, when DUMP_STYLE_STATISTICS was used.

<!-- 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/18366)
<!-- Reviewable:end -->
2017-09-04 11:54:15 -05:00
Jeremy Chen
f9b7bebc44 stylo: Fix unit test failures caused by adding source_location member to Keyframe rule.
In #18365, we add an extra source_location member to Keyframe rule, so that we
can provide location information to devtool panel for Stylo. In order not to
break the existing unit tests, we should add this new member to all the Keyframe
rules used in our unit tests.

As for the tests in stylesheets.rs, since we make the test by mocking a raw css
string, there are actual source locations that we can add to the expected result.
As to the tests in keyframes.rs, since we don't use raw css string, we can just
add a dummy souce location for all the tests. We can further fix this if we
decide to use a raw css string for the tests in keyframes.rs one day.
2017-09-04 23:16:54 +08:00
Jeremy Chen
28d48242d3 stylo: Store location information for keyframe rules.
So far, we only store location info for the whole Keyframes block, not for each
of the keyframe rule. Without this info, the devtool can't present the rules
on the devtool panel properly.

In this patch, we collect the source location info while parsing keyframe selector.
The binding function, Servo_KeyframesRule_GetKeyframe, is also fixed (and renamed
to Servo_KeyframesRule_GetKeyframeAt to match the fix) to accept line and column
parameters from Gecko, so we can pass/set them with the source location from Servo.
2017-09-04 23:16:43 +08:00
bors-servo
293ffa06da Auto merge of #18368 - servo:media-event-cleanup, r=emilio
Do not NIH queueing a task to fire an event in 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/18368)
<!-- Reviewable:end -->
2017-09-04 09:20:53 -05:00
Anthony Ramine
62c73b61b7 Do not NIH queueing a task to fire an event in htmlmediaelement 2017-09-04 16:14:04 +02:00
Ting-Yu Lin
4b096486e7 style: Expose stylist::set_device() for gecko
MozReview-Commit-ID: L655tvOwyKH
2017-09-04 21:07:15 +08:00
Emilio Cobos Álvarez
b81f6b3286
style: Avoid unnecessarily using Borrow. 2017-09-04 13:23:56 +02:00
Emilio Cobos Álvarez
2d1b387a4c
style: Avoid dropping the other threads' TLS contexts too early.
When collecting style statistics, we have this path that moves the TLS contexts
to be dropped before the local context.

Since destroying the TLS context runs the sequential task queue, that means that
sequential tasks would be executed sooner than usual, before we drop the main
thread TLS context.

Since we have that reuse of the main thread context's bloom filter, and some
tasks end up creating one (Servo_StyleSet_GetBaseComputedValuesForElement, I'm
looking at you), we may borrow the bloom filter before we're done with it on the
traversal code path.

This was hitting on YouTube, when DUMP_STYLE_STATISTICS was used.
2017-09-04 13:17:45 +02:00
Wei-Cheng Pan
22ace048cb Propagate dirty bits after invalidation if needed. 2017-09-04 18:21:01 +08:00
Anthony Ramine
6168e898c1 Alphabetically sort the damn atom list 2017-09-04 12:06:59 +02:00
bors-servo
bcddb19eb8 Auto merge of #18359 - emilio:bye-color-mako, r=nox
style: Move color to use predefined_type.

I want to play with autogenerating style structs, and color is the smallest
struct out there.

However, moving it out of the mako file is a requirement. This patch does that.

<!-- 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/18359)
<!-- Reviewable:end -->
2017-09-04 05:01:39 -05:00
Emilio Cobos Álvarez
862f3b4369
style: Move color to use predefined_type.
I want to play with autogenerating style structs, and color is the smallest
struct out there.

However, moving it out of the mako file is a requirement. This patch does that.
2017-09-04 11:43:50 +02:00
bors-servo
e5efbeea6e Auto merge of #18364 - mantaroh:svgpaintkind-interpolation, r=birtles
Don't allow interpolating SVGPaintKind::None.

This is a PR for https://bugzilla.mozilla.org/show_bug.cgi?id=1396483

PR #18103 disallowed interpolation between fill:none and fill:none, but that change was regressed by the refactoring in PR #18239.
This patch restores the intended behavior, disabling animation of SVGPaintKind::None.

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

<!-- 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=1396483 .

<!-- 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/18364)
<!-- Reviewable:end -->
2017-09-04 03:02:08 -05:00
Mantaroh Yoshinaga
d37b5c3553 Don't allow interpolating SVGPaintKind::None.
PR #18103 disallowed interpolation between fill:none and fill:none, but that change was regressed by the refactoring in PR #18239.
This patch restores the intended behavior, disabling animation of SVGPaintKind::None.
2017-09-04 16:33:40 +09:00
bors-servo
c98b362e65 Auto merge of #18362 - upsuper:update-bindings, r=heycam
Update binding files from autoland

Updates the in-tree binding files from autoland.

<!-- 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/18362)
<!-- Reviewable:end -->
2017-09-03 21:57:22 -05:00
Xidorn Quan
42411eba66 Update binding files from autoland 2017-09-04 11:37:46 +10:00
bors-servo
887b011288 Auto merge of #18361 - toidiu:ak-18354, r=emilio
change function signature to get type name via intrinsics

<!-- Please describe your changes on the following line: -->
change function signature to get type name via intrinsics

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because stated in the PR that it was not required

<!-- 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/18361)
<!-- Reviewable:end -->
2017-09-03 16:28:25 -05:00
toidiu
99e4504f85 move name implementation as default implementation to the trait and remove overrides. 2017-09-03 16:30:48 -04:00
bors-servo
7dcd7260a9 Auto merge of #18360 - emilio:test-stuff, r=nox
script: Add a test for #18357

<!-- 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/18360)
<!-- Reviewable:end -->
2017-09-03 15:16:19 -05:00
toidiu
a3df0cf4de change function signature to get type name via intrinsics 2017-09-03 15:45:18 -04:00
Emilio Cobos Álvarez
a0ad335aee
script: Add a test for #18357 2017-09-03 21:19:28 +02:00
bors-servo
096912101b Auto merge of #18358 - servo:change-attr-kind, r=emilio
Properly change the kind of the given attribute in SetAttributeNode

Fixes #18357.

<!-- 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/18358)
<!-- Reviewable:end -->
2017-09-03 13:05:00 -05:00
Anthony Ramine
86285e542a Properly change the kind of the given attribute in SetAttributeNode
The given argument may have special meaning for the element to which we add it,
and thus may have a specific representation to which we should switch the
attribute current's value.

Fixes #18357.
2017-09-03 15:00:47 +02:00
Simon Sapin
fae2da0f59 Fix some warnings 2017-09-02 18:44:32 +02:00
Simon Sapin
e94d8d5bc1 Remove usage of write! in components/style/properties/longhand/box.mako.rs 2017-09-02 18:37:57 +02:00
bors-servo
7cb47f1636 Auto merge of #18353 - tigercosmos:readme-w, r=larsbergstrom
add note on windows build

<!-- Please describe your changes on the following line: -->
add note on windows build to `README.md`
based  on #18291
@larsbergstrom, please check, thanks.
---
<!-- 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
- [X] These changes do not require tests because `README`

<!-- 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/18353)
<!-- Reviewable:end -->
2017-09-02 11:31:49 -05:00
tigercosmos
6f57a0193a add note on windows build 2017-09-02 09:27:21 -07:00
bors-servo
f36580cb91 Auto merge of #18349 - canaltinova:media-calc, r=emilio
stylo: Remove calc support from media queries

Gecko currently doesn't support calc inside media queries. We should
also remove the calc support temporarily for parity with gecko. We can
add this support back in next releases.

Reviewed by emilio in Bugzilla.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1390339](https://bugzilla.mozilla.org/show_bug.cgi?id=1390339)

<!-- 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/18349)
<!-- Reviewable:end -->
2017-09-02 09:37:11 -05:00
Simon Sapin
3a34b21b63 Reformat another match expression 2017-09-02 10:57:21 +02:00
bors-servo
7dcd3ae50d Auto merge of #18351 - mateon1:profile-sort_by-partial_cmp, r=emilio
Refactor `.sort_by()` calls to use `.partial_cmp()`

Changes the closures passed to `sort_by` in this file with a simpler, and more correct version.

Previously, potential NaNs in the array would float to the top. Either way, the program would crash, as the `get_statistics` function asserts the array it gets is sorted, which always fails with a NaN.
Because of that, this change should not affect functionality.

---
<!-- 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
- [X] These changes do not require tests because statistics collected by --profile should not have NaN values in the first place.

<!-- 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/18351)
<!-- Reviewable:end -->
2017-09-02 03:54:49 -05:00
Simon Sapin
37722838c6 Remove uses of write! in components/style_traits 2017-09-02 10:49:24 +02:00
Simon Sapin
38043a71de Remove some uses of write! in components/style 2017-09-02 10:27:17 +02:00
Simon Sapin
17aa04b712 Remove uses of format! in components/style/error_reporting.rs 2017-09-02 10:15:36 +02:00
Simon Sapin
f6d20e6461 Reformat a couple match expressions 2017-09-02 10:15:35 +02:00
Simon Sapin
ad4fe43187 Remove uses of format! in ports/geckolib 2017-09-02 10:15:35 +02:00
bors-servo
e0e09538fa Auto merge of #18350 - emilio:ship-system-metric-stuff, r=bholley,manishearth
stylo: Expose -moz-system-metric and -moz-empty-except-children-with-localname

They don't have the flag in Gecko.

Though I wonder if we could unship them from non-UA sheets.

Bug: 1396048
Reviewed-by: bholley
MozReview-Commit-ID: LGzGDjCZpJC

<!-- 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/18350)
<!-- Reviewable:end -->
2017-09-02 02:49:29 -05:00