Commit graph

21762 commits

Author SHA1 Message Date
Kagami Sascha Rosylight
168d980f9e Fix DOMMatrix rotate test failure 2019-07-03 20:23:52 +09:00
bors-servo
fee1418b43
Auto merge of #23685 - saschanaz:scalenonuniform, r=paulrouget
Add DOMMatrix.prototype.scaleNonUniform

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

Implements `scaleNonUniform()` [per the spec](https://drafts.fxtf.org/geometry/#dom-dommatrixreadonly-scalenonuniform).

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

<!-- Either: -->
- [x] There are tests for these 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/23685)
<!-- Reviewable:end -->
2019-07-03 05:20:14 -04:00
bors-servo
50033878a6
Auto merge of #23676 - servo:check, r=Manishearth
Share more `./mach build` logic with mach check, doc, test-unit

Fixes #23659

<!-- 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/23676)
<!-- Reviewable:end -->
2019-07-02 23:55:44 -04:00
Alan Jeffrey
135ad4a2f4 Use webxr git repo for all webxr dependencies in Cargo.tomls 2019-07-02 18:24:29 -05:00
Alan Jeffrey
91d1b52b38 Initialize a wevxr device registry from Servo 2019-07-02 18:23:56 -05:00
bors-servo
b4ed3b6f3c
Auto merge of #23641 - Manishearth:newtest, r=asajeffrey
Update to newest XRTest API

requires https://github.com/servo/rust-webvr/pull/88 and https://github.com/servo/servo/pull/23575

Incorporates changes from https://github.com/immersive-web/webxr-test-api/pull/10 (and various minor improvements on that, like https://github.com/immersive-web/webxr-test-api/pull/20). Test no longer relies on racy state setting functions.

We're nearing consensus on what the test API should look like, thought I'd implement the updated model so I can start poking at the tests.

Fixes https://github.com/servo/servo/issues/23634 by setting everything at initialization.

This is based on https://github.com/servo/servo/pull/23575, so we can't merge it yet.

r? @asajeffrey (only the last commit)

<!-- 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/23641)
<!-- Reviewable:end -->
2019-07-02 15:10:14 -04:00
Manish Goregaokar
480a9988d1 Update requiredness of some fields 2019-07-02 10:10:58 -07:00
Kagami Sascha Rosylight
9218c535d1 add link to the spec 2019-07-02 18:28:17 +09:00
Kagami Sascha Rosylight
ebdb1067ca Add DOMMatrix.prototype.scaleNonUniform 2019-07-02 18:23:39 +09:00
Manish Goregaokar
c19240a454 Update to latest xrtest api 2019-07-01 17:42:46 -07:00
bors-servo
294d701fda
Auto merge of #23665 - saschanaz:parse-transform, r=Manishearth
Support DOMMatrix string constructor

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

Implemented DOMMatrix string constructor per [the spec](https://drafts.fxtf.org/geometry/#dom-dommatrixreadonly-dommatrixreadonly).

---
<!-- 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 #23664, fix #23622

<!-- Either: -->
- [x] There are tests for these 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/23665)
<!-- Reviewable:end -->
2019-07-01 19:44:33 -04:00
Alan Jeffrey
1e5e3c95c9 Pass events loop to glwindow test webvr implementation 2019-07-01 11:55:43 -05:00
Simon Sapin
acd8454b16 Print an error message if neither Canvas 2D backend is selected 2019-07-01 15:46:36 +02:00
Simon Sapin
1df2605292 Rename {azure,raqote}_backend feature flags to canvas2d-{azure,raqote} 2019-07-01 15:46:33 +02:00
Simon Sapin
bddfe9a468 Remove default-except-unstable
… and use remaining unstable features unconditionally.
This doesn’t actually change the set of crates that can build on the Stable channel.
2019-07-01 15:43:24 +02:00
Simon Sapin
d1efad6763 Turns out that SIMD code was not being compiled at all!? 2019-07-01 15:43:24 +02:00
Simon Sapin
5a31ce52d8 Features used by euclid are stable 2019-07-01 14:55:25 +02:00
Simon Sapin
99669b0831 #[global_allocator] is stable 2019-07-01 14:55:01 +02:00
Simon Sapin
eddfe3af83 impl Trait is stable 2019-07-01 14:54:47 +02:00
Kagami Sascha Rosylight
7a1db0e8ea Support DOMMatrix string constructor 2019-06-30 18:45:56 +09:00
bors-servo
489ff5e932
Auto merge of #23310 - KaczuH:add-domain-lookup-start, r=jdm
Add domain_lookup_start functionality

<!-- Please describe your changes on the following line: -->
Added the domain_lookup_start functionality in http_loader.rs (http_redirect_fetch function)

---
<!-- 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 #21259 (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/23310)
<!-- Reviewable:end -->
2019-06-29 20:37:54 -04:00
Kamil Niski
d84513cc50 Add PerformanceResourceTiming: domainLookupStart
Remove wpt tests for domainLookupStart

Set ResourceAttribute::DomainLookupTime

Move DomainLookupStart timing before HTTP request initialization

Change label of domainLookupStart TAO zero test to PASS

Adjust the from_resource_timing method to initialize domain_lookup_start value

Restore domainLookupsStart test
2019-06-30 00:20:26 +02:00
Kamil Niski
adb402487e Create a helper API for entering a DOM object's compartment
Revert some unnecessary changes

Fix fmt errors
2019-06-29 19:23:17 +02:00
Manish Goregaokar
3c7ceff46d Improve support for nested dictionaries 2019-06-27 18:13:23 -07: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
Emilio Cobos Álvarez
dd65470dd9
style: Rustfmt again. 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
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