Commit graph

37573 commits

Author SHA1 Message Date
bors-servo
f81da9824e
Auto merge of #23647 - jdm:wpt-permissions, r=Manishearth
Run DOM permissions tests in WPT.

We have an implementation, so we should be testing it to catch problems like #23645.

<!-- 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/23647)
<!-- Reviewable:end -->
2019-06-28 14:14:17 -04:00
bors-servo
2e9637477c
Auto merge of #23628 - emilio:path-shuffling-cleanup, r=Manishearth
build: Cleanup some path-munging code.

I was looking at this today, and this seems better than the pre-existing code,
generally pre-pending to these paths isn't great...

<!-- 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/23628)
<!-- Reviewable:end -->
2019-06-28 12:18:36 -04:00
Josh Matthews
6ebd8dd2e6 Run permissions tests in WPT. 2019-06-28 10:14:46 -04:00
bors-servo
a8f4c64021
Auto merge of #23650 - optmzr:fix-gentoo-instructions, r=jdm
Update Gentoo instructions to work with 17.1 and add missing dependency

 * libunwind was required when building.
 * Since Gentoo 17.1 the symlink between lib and lib64 has been removed.
    - Update export so it works with both older and newer profiles.
---
- [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)

- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's installation instructions / documentation

<!-- 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/23650)
<!-- Reviewable:end -->
2019-06-28 00:40:25 -04:00
bors-servo
2a667648fa
Auto merge of #23644 - servo-wpt-sync:wpt_update_27-06-2019, r=servo-wpt-sync
Sync WPT with upstream (27-06-2019)

Automated downstream sync of changes from upstream as of 27-06-2019.
[no-wpt-sync]

<!-- 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/23644)
<!-- Reviewable:end -->
2019-06-27 20:21:46 -04:00
William Wennerström
b7308dcf8b
Update Gentoo instructions to work with 17.1 and add missing dependency
* libunwind was required when building.
 * Since Gentoo 17.1 the symlink between lib and lib64 has been removed.
    - Update export so it works with both older and newer profiles.
2019-06-27 21:41:10 +02:00
bors-servo
9e12b4175e
Auto merge of #23583 - servo:jdm-patch-56, r=SimonSapin
Force clang use on all platforms.

gcc builds are unlinkable on Linux at the moment. Let's standardize on clang.

<!-- 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/23583)
<!-- Reviewable:end -->
2019-06-27 13:34:20 -04:00
Josh Matthews
6167005997 Set CC/CXX defaults right before starting cargo build. 2019-06-27 18:40:56 +02:00
WPT Sync Bot
67592a2228 Update web-platform-tests to revision ef44bff0adaa07f2e420a0cbc1bc493cd5786656 2019-06-27 14:52:50 +00:00
bors-servo
61cadfa9a6
Auto merge of #23539 - oneturkmen:script-remove-opts-get, r=jdm
Script: removed a few opts::get()

<!-- Please describe your changes on the following line: -->
I removed only a few opts::get() from the components/script because all other code with "opts::get()" is reused by many other parts within the same component.

---
<!-- 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 *partially* #22854 (GitHub issue number if applicable)

<!-- Either: -->
- [x] These changes do not require tests because these are cleanup changes.

<!-- 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/23539)
<!-- Reviewable:end -->
2019-06-27 00:48:20 -04:00
oneturkmen
42569280e2 Script: removed a few opts::get() 2019-06-26 22:23:07 -06:00
bors-servo
57205318c5
Auto merge of #23587 - jdm:smup67, r=asajeffrey
Upgrade to SpiderMonkey 67

<!-- 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/23587)
<!-- Reviewable:end -->
2019-06-26 18:51:14 -04:00
Josh Matthews
63714c90fb Upgrade to Spidermonkey 67. 2019-06-26 18:10:46 -04:00
bors-servo
d170f43b53
Auto merge of #23636 - asajeffrey:webvrup, r=jdm
Update to rust-webvr 0.11.5

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

Update to rust-webvr 0.11.5, which includes magicleap 6DoF pose.

---
<!-- 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 do not require tests because we don't have magicleap test infra

<!-- 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/23636)
<!-- Reviewable:end -->
2019-06-26 16:46:32 -04:00
Alan Jeffrey
13c2c55ce0 Updated to rust-webvr 0.11.5 2019-06-26 11:24:00 -05:00
bors-servo
a06a573f80
Auto merge of #23635 - servo-wpt-sync:wpt_update_26-06-2019, r=servo-wpt-sync
Sync WPT with upstream (26-06-2019)

Automated downstream sync of changes from upstream as of 26-06-2019.
[no-wpt-sync]
2019-06-26 09:58:37 -04:00
WPT Sync Bot
12f4ae132e Update web-platform-tests to revision 66dc9c93f2c8ebd7c8fdc28fae20d92713c97806 2019-06-26 13:58:19 +00:00
bors-servo
e488ea750b
Auto merge of #23633 - servo:buildbot, r=jdm
Remove some jobs from Buildbot

* `arm64`: “no good reason to continue to maintain”: https://github.com/servo/servo/pull/23414#issuecomment-505045672
* `mac-rel-intermittent`: disabled since https://github.com/servo/saltfs/pull/965
* `linux-rel-intermittent`: judged unnecessary https://github.com/servo/servo/pull/23633#issuecomment-505576450
* `linux-nigthly`: only perf data collection and upload now. Closes https://github.com/servo/servo/issues/23302, where this jobs has been know to be broken for 8 weeks but nobody cared enough to fix it

<!-- 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/23633)
<!-- Reviewable:end -->
2019-06-25 18:27:49 -04:00
Simon Sapin
91da718253 Also remove linux-rel-intermittent
Judged unnecessary: https://github.com/servo/servo/pull/23633#issuecomment-505576450
2019-06-25 21:37:30 +02:00
Simon Sapin
251315dbaf Remove some jobs from Buildbot
* `arm64`: “no good reason to continue to maintain”: https://github.com/servo/servo/pull/23414#issuecomment-505045672
* `mac-rel-intermittent`: disabled since https://github.com/servo/saltfs/pull/965
* `linux-nigthly`: only perf data collection and upload now. Closes https://github.com/servo/servo/issues/23302, where this jobs has been know to be broken for 8 weeks but nobody cared enough to fix it
2019-06-25 20:34:10 +02:00
bors-servo
e100af57a5
Auto merge of #23605 - servo:jdm-patch-28, r=SimonSapin
Always create a WPT update task.

This fixes #23603.

<!-- 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/23605)
<!-- Reviewable:end -->
2019-06-25 11:01:05 -04:00
bors-servo
1001c7a441
Auto merge of #23609 - emilio:gecko-sync, r=emilio
style: Sync changes from mozilla-central.

See individual commits for details.

<!-- 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/23609)
<!-- Reviewable:end -->
2019-06-25 08:37:14 -04:00
Emilio Cobos Álvarez
d1640f43bd
Update WPT expectations. 2019-06-25 13:11:33 +02:00
Emilio Cobos Álvarez
dd65470dd9
style: Rustfmt again. 2019-06-25 13:11:32 +02:00
Emilio Cobos Álvarez
15f7daf5f5
Update test expectations. 2019-06-25 13:11:32 +02:00
Emilio Cobos Álvarez
a7e441fc15
style: Servo doesn't implement white-space: break-spaces. 2019-06-25 13:11:32 +02:00
Emilio Cobos Álvarez
36c39d53f7
style: Give up on test_parse_stylesheet.
It's not particularly useful.
2019-06-25 13:11:32 +02:00
Emilio Cobos Álvarez
add08518cd
Fix style system build with recent changes. 2019-06-25 13:11:32 +02:00
Emilio Cobos Álvarez
ed2e9ce482
Rustfmt and fix tidy on recent changes. 2019-06-25 13:11:31 +02:00
violet
6eedebe2c8
style: Invalidate style for ::selection.
This patch invalidates the style for `::selection`, which will restore the
behavior before the regression.

However, it's still not quite correct, because repaint is not triggered. Given
that `::selection` requires some major change to implement
https://github.com/w3c/csswg-drafts/issues/2474, we can address this problem
later.

Differential Revision: https://phabricator.services.mozilla.com/D35305
2019-06-25 13:11:31 +02:00
Boris Chiou
815d189228
style: Fix the serialization of the computed value of background-size.
This patch produces the following serialization:
```
    input      |  computed value
  ------------------------------
1. "auto"            "auto"
2. "auto auto"       "auto"
3. "15px auto"       "15px"
4. "15px"            "15px"
```
i.e. If the second value is 'auto', then it's omitted from our serialization,
because it's implied.

Besides, we update the wpt to address this spec issue:
https://github.com/w3c/csswg-drafts/issues/2574

Differential Revision: https://phabricator.services.mozilla.com/D35510
2019-06-25 13:11:31 +02:00
Emilio Cobos Álvarez
c87da27bca
style: Use atoms for grid line names.
The style system already atomizes all CustomIdent values, which means that we're
just wasting memory and CPU by doing string copies all over the place.

This patch fixes it. This also simplifies further changes to use as much of the
rust data structures as possible.

I had to switch from nsTHashtable to mozilla::HashTable because the former
doesn't handle well non-default-constructible structs (like NamedLine, which
now has a StyleAtom, which is not default-constructible).

Differential Revision: https://phabricator.services.mozilla.com/D35119
2019-06-25 13:11:31 +02:00
Emilio Cobos Álvarez
6cb588d2b5
style: Use Servo for the representation of grid template areas.
Right now we do a lot of useless string copying. In order to avoid transcoding
to utf-16 during layout, make sure to use nsCString at a few related places.

I may revisit this since we're storing other line names as atoms in some places.
So it may be better to just use atoms everywhere.

But that'd be a different patch either way.

Differential Revision: https://phabricator.services.mozilla.com/D35117
2019-06-25 13:11:30 +02:00
Emilio Cobos Álvarez
e8271ee926
style: Use more ffi-friendly types in grid template areas.
Differential Revision: https://phabricator.services.mozilla.com/D35116
2019-06-25 13:11:30 +02:00
violet
e1e82dbe5f
style: Should not serialize default radius of circle.
Should not serialize default shape-outside circle() function radius.

The ToCss impl of Circle and Ellipse turn out to be identical in specified and computed value, thus move them to generics.

Differential Revision: https://phabricator.services.mozilla.com/D35183
2019-06-25 13:11:30 +02:00
violet
c7c1fed95c
style: Implement overflow-block and overflow-inline properties
Differential Revision: https://phabricator.services.mozilla.com/D34738
2019-06-25 13:11:30 +02:00
violet
05633886ab
style: Implement the break-spaces value of the white-space property.
Differential Revision: https://phabricator.services.mozilla.com/D34499
2019-06-25 13:11:29 +02:00
Emilio Cobos Álvarez
8b0d2b1e38
style: Add a pref and enable Shadow Parts in Nightly and for chrome stylesheets.
I want to enable in Nightly to evaluate (in the medium term) shipping it without
the part forwarding, once the cascade order and importance issues are fixed, and
that we pass all the tests that don't involve forwarding.

That is, I want to monitor whether having ::part() causes compat issues or not.

Differential Revision: https://phabricator.services.mozilla.com/D32649
2019-06-25 13:11:29 +02:00
Emilio Cobos Álvarez
e272bfed70
style: Implement GeckoElement::each_part.
This should make all the pieces come together.

Note that we don't need to look at the snapshot for ::part() for now (other than
when selector-matching normally) because I decided to just restyle the element
for now when the part attribute changes.

::part() can't affect descendants anyway (as long as we don't do the forwarding
stuff), and eager pseudo-elements are handled during the normal element restyle,
so it seems to me that adding all the complexity that we have for classes to
part may not be worth it at least yet.

Differential Revision: https://phabricator.services.mozilla.com/D32648
2019-06-25 13:11:29 +02:00
Emilio Cobos Álvarez
7139a4185a
style: Add code to make part rules affect the style of the elements.
I still haven't implemented each_part(), so this will do nothing yet.

The cascade order stuff is fishy, I know, and I'll fix in a followup if it's
fine with you. I moved the sorting of the rules to rule_collector, since it
seemed to me it was better that way that duplicating the code, and those
SelectorMap functions only have a single caller anyway.

Differential Revision: https://phabricator.services.mozilla.com/D32647
2019-06-25 13:11:29 +02:00
Emilio Cobos Álvarez
39de0a068e
style: Collect ::part() rules during CascadeData rebuilds.
Unlike for :host() or ::slotted(), or regular rules, we don't need a whole
SelectorMap<>, so gotta make the code a bit more generic.

Differential Revision: https://phabricator.services.mozilla.com/D32646
2019-06-25 13:11:28 +02:00
Emilio Cobos Álvarez
fac050325c
style: Add an extra flag to flag ::part() to selectors.
This grows the selector struct, but only in 32-bit, since in 64-bit we take
space from the alignment padding that we're paying due to having the size of the
slice as a word.

Differential Revision: https://phabricator.services.mozilla.com/D32645
2019-06-25 13:11:28 +02:00
Emilio Cobos Álvarez
96594be65d
style: Don't go through all the part names if not there.
This uses the bit added for tracking part attributes in order to avoid doing
wasted work.

Differential Revision: https://phabricator.services.mozilla.com/D32644
2019-06-25 13:11:28 +02:00
Emilio Cobos Álvarez
f0bf7d6481
style: Add plumbing code to invalidate shadow parts.
Still does nothing, since we still do not collect part rules, but this is all
the plumbing that should allow us to invalidate parts when attributes or state
change on their ancestors.

Differential Revision: https://phabricator.services.mozilla.com/D32642
2019-06-25 13:11:27 +02:00
Emilio Cobos Álvarez
a4690ce158
style: Use cbindgen for gradients.
Differential Revision: https://phabricator.services.mozilla.com/D33901
2019-06-25 13:11:27 +02:00
Emilio Cobos Álvarez
ad142f8f2f
style: Handle default angle in radians.
We were not copying the angle in this case for some reason, and I overlooked
this.
2019-06-25 13:11:27 +02:00
Charlie Marlow
b70a9fe564
style: added text-decoration-width support to style system.
from-font support will be added later

Differential Revision: https://phabricator.services.mozilla.com/D33392
2019-06-25 13:11:27 +02:00
Emilio Cobos Álvarez
3980dc31cd
style: Cleanup gradient parsing by removing the simple-moz-gradient parsing pref.
It looks like bug 1547939 will stick, given how fast the other regressions came
in for bug 1337655.

We haven't seen any regression from this, and it seems unlikely that we'd want
this code back.

This blocks further improvements to the style system. Simplifying this code
allows me to remove all the conversion code for gradients.

Let me know if you think it's premature and I'm happy to wait, but I really want
to see this code gone :)

Differential Revision: https://phabricator.services.mozilla.com/D33820
2019-06-25 13:11:26 +02:00
Daniel Holbert
e9b0d54a95
style: Remove support for the layout.css.prefixes.webkit pref.
From this point on, the webkit-prefixed CSS features that were previously
protected by this pref will now be unconditionally enabled.

Differential Revision: https://phabricator.services.mozilla.com/D33807
2019-06-25 13:11:26 +02:00
Charlie Marlow
b6c88745e8
style: adding support for CSS text underline offset to the style system.
Support for from-font listed in the CSS spec will be implemented in a later bug.

Differential Revision: https://phabricator.services.mozilla.com/D33233
2019-06-25 13:11:26 +02:00