Commit graph

4694 commits

Author SHA1 Message Date
bors-servo
debdebe8de Auto merge of #15495 - prampey:mql-borrow-error, r=jdm
Calling matchMedia during a MQL change event will not panic

<!-- Please describe your changes on the following line: -->
Calling matchMedia now leads to a new copy of MQL objects to prevent errors when borrowing references from MQL during an MQL change event.

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

<!-- Either: -->
- [X] There are tests for these changes OR
- [x] These changes do not require tests because _____

<!-- 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/15495)
<!-- Reviewable:end -->
2017-02-19 04:10:04 -08:00
bors-servo
5f813233c9 Auto merge of #15520 - frewsxcv:html-options-collection-selected-index, r=nox
Implement `selectedIndex` IDL attribute on `HTMLOptionsCollection`.

<!-- 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/15520)
<!-- Reviewable:end -->
2017-02-19 03:08:12 -08:00
Anthony Ramine
fe3f4ff0c2 Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
Prudhvi Rampey
0c21333777 Calling matchMedia during a MQL change event will not panic 2017-02-18 20:12:19 +05:30
Matt Brubeck
39a32028c4 Update gamma-lut, heartbeats-simple, hyper, mac, truetype, unicode-bidi 2017-02-17 12:31:59 -08:00
bors-servo
6adbcb4ccd Auto merge of #15358 - asajeffrey:script-browsingcontext-xorigin-window, r=jdm
Allow browsing contexts to resolve to cross-origin windows

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

This PR implements cross-thread `WindowProxy` objects.

At the moment, if a `Window` performs a non-similar-origin navigation, the old script thread does not update its `WindowProxy`, since the new `Window` is in the new script thread. With this PR, the `WindowProxy` is updated to a dummy `XOriginWindow` object, that only implements the whitelisted methods that are allowed to be called cross-origin.

This PR does not include working implementations of some of the cross-origin `Window` or `Location` methods.

This PR causes some cross-origin wpt tests to now pass, in particular `/html/browsers/origin/cross-origin-objects/cross-origin-objects.html ` now passes `Only whitelisted properties are accessible cross-origin`. There are some CORS failures in `fetch`, I suspect caused by the incorrect setting of `origin` in fetch requests.

Although there are some functions that now throw `SecurityException`, it is not meant to be a complete implementation, which will have to wait for XOWs to land.

---
<!-- 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 #15180.
- [X] There are tests for these changes

<!-- 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/15358)
<!-- Reviewable:end -->
2017-02-16 16:57:05 -08:00
Alan Jeffrey
e8d765557f Allow browsing contexts to resolve to cross-origin windows. 2017-02-16 16:45:29 -06:00
bors-servo
a099d27f99 Auto merge of #15584 - nox:plugin, r=jdm
Move script lints to script_plugins

<!-- 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/15584)
<!-- Reviewable:end -->
2017-02-16 10:58:19 -08:00
Anthony Ramine
3eed8a91a1 Move script lints to script_plugins
The plugins crate now just allows to hook into clippy from a single crate.
2017-02-16 18:37:14 +01:00
Anthony Ramine
85e2648ffc Update ipc-channel to 0.6.3 2017-02-16 12:04:32 +01:00
Anthony Ramine
3d98e30909 Reorder some dependencies 2017-02-16 12:04:29 +01:00
bors-servo
84a44a4014 Auto merge of #15567 - nox:plugin, r=SimonSapin
Replace inheritance_integrity by trait shenanigans

<!-- 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/15567)
<!-- Reviewable:end -->
2017-02-15 20:49:47 -08:00
Anthony Ramine
1464c11cea Fix a warning in plugin compile tests 2017-02-15 22:49:37 +01:00
bors-servo
0bdc728f34 Auto merge of #15550 - jdm:more-css-tests-the-quickening, r=emilio
Enable a bunch of CSS tests

These are all directories that contain tests for features that we implement, as well as tests for features that we don't.

<!-- 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/15550)
<!-- Reviewable:end -->
2017-02-15 12:20:27 -08:00
Josh Matthews
8d9008e5a7 Enable a bunch of additional CSS tests, and remove ini files for directories that are skipped. 2017-02-15 12:04:50 -05:00
Anthony Ramine
336e6c8f28 Switch to commit-specific nightlies 2017-02-15 14:55:02 +01:00
Simon Sapin
c3cad2d6c7 Update cssparser to 0.9 2017-02-15 12:42:14 +01:00
Anthony Ramine
8bcf36b9a5 Change #[privatize] into #[derive(DenyPublicFields)] 2017-02-15 10:24:01 +01:00
Anthony Ramine
19c645ff68 Kill transmute-type-lint 2017-02-15 10:10:37 +01:00
bors-servo
f3bacf84f4 Auto merge of #15539 - AdmiralCoco:reject_outofrange_transition_values, r=emilio
Add rejection of out-of-range values for single-timing-functions

<!-- Please describe your changes on the following line: -->
This PR fixes #15344, checking for the `cubic-bezier p1x/p2x` and `steps` first value after parsing.

There are unit tests that check for parsing of invalid values - I was not sure if there was a more suitable place, so I created a file (name subject to change).

Q: I found this [test suite](https://github.com/servo/servo/blob/master/tests/unit/style/properties/serialization.rs#L592), and noticed that the `p2x` value is out of range, but the test does not fail - is this because there is no check when calling the function itself?

Thanks!

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

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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/15539)
<!-- Reviewable:end -->
2017-02-14 19:25:49 -08:00
Dawing Cho
8f4282ef76 Add rejection of out-of-range values for single-timing-functions 2017-02-15 00:41:54 +00:00
bors-servo
357bf3b85a Auto merge of #15518 - emilio:color, r=SimonSapin
style: Unbox a bunch of color properties.

This builds on https://github.com/servo/rust-cssparser/pull/118.

<!-- 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/15518)
<!-- Reviewable:end -->
2017-02-14 11:43:16 -08:00
Emilio Cobos Álvarez
0c102e2350
style: Unbox a bunch of color properties.
This builds on https://github.com/servo/rust-cssparser/pull/118.
2017-02-14 20:18:31 +01:00
bors-servo
2ea55ae1ad Auto merge of #15546 - eddiequan:15209_fix_quotes_serialization_transform_none, r=Wafflespeanut
fixes quote transform: none serialization

<!-- Please describe your changes on the following line: -->
Adds a unit test to reproduce faulty behaviour, and serializes "none" correctly when provided an empty list.

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

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/15546)
<!-- Reviewable:end -->
2017-02-14 10:41:58 -08:00
Eddie Quan
bdd3ab1fe0 fixes quote transform: none serialization 2017-02-14 12:05:41 -05:00
bors-servo
a537cf48b1 Auto merge of #15314 - szeged:permissions-api, r=jdm
Permissions API and WebBluetooth integration

<!-- Please describe your changes on the following line: -->
This implements the [Permissions API](https://w3c.github.io/permissions/) spec.
Also includes the WebBluetooth related implementation for this.

There are some know issues:
- [ ] If the descriptor name is invalid [this](https://gist.github.com/dati91/7a6a0a563d90f49ba5a351e48c5b626b#file-permissionstatusbindings-rs-L323) will throw an error, rather that return it and we could handle it.
- [x] The [environment settings object](https://html.spec.whatwg.org/multipage/webappapis.html#environment-settings-object) is not implemented in servo and the spec rely on it.
- [x] There is a popup in the implementation which prevent us to add wpt test, we should figure out a way to make it work
- [ ] The allowedDevice's allowed_services attribute is not used in our implementation, because we store these in the lower level, not in the dom side.
- [ ] We think the bluetooth revoke function will need some more work, but the problem is the spec needs clarifications on that part.

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

<!-- 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/15314)
<!-- Reviewable:end -->
2017-02-14 08:09:22 -08:00
Cameron McCormack
229eb93fa3 Do RestyleHint assertions at runtime so they use build-time bindgen. 2017-02-14 10:38:59 +08:00
Glenn Watson
cbe7f09f81 Update WR (pixel snapping improvements).
This includes a WR update that improves pixel snapping. Specifically,
the non-transform shader now snaps to device pixels in world space,
rather than local space.

This makes 31 new tests pass, and adds 4 new failures.

Of the new failures:
 - The three background size tests appear to be an OSMesa accuracy
   issue. Near the bottom of the image, a small number of pixels
   are different from the reference by a value of 1.0 / 255.0. I've
   confirmed on 3 real GPUs and also on llvmpipe that the tests
   match on those devices. This would be a good case for fuzzy test
   support in WPT.
 - The other failing test appears to have unreasonable accuracy
   requirements as it also fails on Gecko and Chromium in the same
   way that the test now fails on WR.
2017-02-13 23:46:28 +01:00
bors-servo
1dbc538589 Auto merge of #15530 - jdm:jstests, r=Ms2ger
Enable js/ 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/15530)
<!-- Reviewable:end -->
2017-02-13 07:44:37 -08:00
Josh Matthews
fffce31ee5 Enable js/ tests. 2017-02-13 10:27:25 -05:00
Attila Dusnoki
4a62562b0f Add pref to ignore popup in testing 2017-02-13 14:58:13 +01:00
Zakor Gyula
04fe75b9cc bluetooth test fix 2017-02-13 14:58:10 +01:00
Attila Dusnoki
74c1350518 Update expected results for BluetoothPermissionResult 2017-02-13 14:58:08 +01:00
Zakor Gyula
5287cd3bea Bluetooth Permission API integration 2017-02-13 14:58:06 +01:00
Attila Dusnoki
5ca3ee9474 Permission API 2017-02-13 14:35:52 +01:00
bors-servo
e394334739 Auto merge of #15368 - szeged:get_availability, r=nox
Implement GetAvailability for Bluetooth

<!-- Please describe your changes on the following line: -->
This implements the [getAvailability](https://webbluetoothcg.github.io/web-bluetooth/#dom-bluetooth-getavailability) function from the spec.

---
<!-- 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: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/15368)
<!-- Reviewable:end -->
2017-02-13 04:32:46 -08:00
bors-servo
b8fcf127df Auto merge of #15523 - heycam:rshint-style, r=bholley
stylo: align RESTYLE_STYLE_ATTRIBUTE value with eRestyle_StyleAttribute

This is the Servo-side part of https://bugzilla.mozilla.org/show_bug.cgi?id=1338461, which @bholley reviewed.

<!-- 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/15523)
<!-- Reviewable:end -->
2017-02-13 00:44:48 -08:00
Cameron McCormack
bc1d7c2fdd Align RESTYLE_STYLE_ATTRIBUTE value with eRestyle_StyleAttribute. 2017-02-13 13:22:43 +08:00
Corey Farwell
d4ad51bfde Implement selectedIndex IDL attribute on HTMLOptionsCollection. 2017-02-12 23:48:52 -05:00
bors-servo
dd6d7ae59d Auto merge of #15485 - glennw:fix-reftest, r=cbrewster
Ensure that position_fixed reftest matches ahem font requirements.

The ahem font should always be a multiple of 5px and a minimum size
of 20px for reliable results [1]. In particular, on some macs, using
the default size of 16 results in a reported metric of 16 x 17 from
the OS. This is currently working, but breaks when WR is updated to
do pixel snapping in world space.

[1] http://testthewebforward.org/docs/test-style-guidelines.html#special-fonts

<!-- 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/15485)
<!-- Reviewable:end -->
2017-02-12 19:20:44 -08:00
Glenn Watson
afc6a2b1fe Ensure that position_fixed reftest matches ahem font requirements.
The ahem font should always be a multiple of 5px and a minimum size
of 20px for reliable results [1]. In particular, on some macs, using
the default size of 16 results in a reported metric of 16 x 17 from
the OS. This is currently working, but breaks when WR is updated to
do pixel snapping in world space.

[1] http://testthewebforward.org/docs/test-style-guidelines.html#special-fonts
2017-02-13 13:19:45 +10:00
Alon Levy
48bb508f66 fix #15492 2017-02-12 07:22:28 +02:00
bors-servo
357df35045 Auto merge of #15499 - jdm:morecsstests, r=emilio
Enable more CSS tests under web-platform-tests.

- [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 they are 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/15499)
<!-- Reviewable:end -->
2017-02-10 14:42:32 -08:00
Josh Matthews
d5576d8491 Enable more CSS tests under web-platform-tests. 2017-02-10 16:53:41 -05:00
bors-servo
b98ccc8292 Auto merge of #15479 - nox:serde, r=jdm
Update various dependencies

<!-- 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/15479)
<!-- Reviewable:end -->
2017-02-10 12:58:44 -08:00
Anthony Ramine
3a7ff5ea95 Update cssparser to 0.7.4 2017-02-10 21:58:09 +01:00
Anthony Ramine
b5756cebbe Update app_units to 0.3.1
The height test is removed in mime_sniffing_font_context because of rounding
changes in app_units. The rest of that test is still useful though, given it
will timeout if the font fails to be sniffed.
2017-02-10 21:58:07 +01:00
bors-servo
ce7827eadf Auto merge of #15454 - jlevesy:bg-size-reject-negative-values, r=SimonSapin
use `::parse_non_negative instead` of `::parse` for background_size property parsing

Use  `::parse_non_negative` instead of `::parse` for background_size property parsing

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

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/15454)
<!-- Reviewable:end -->
2017-02-09 14:55:14 -08:00
Julien Levesy
3da559488d use ::parse_non_negative instead of ::parse for background_size parsing 2017-02-09 23:47:29 +01:00
bors-servo
3d0fe9a0dd Auto merge of #15475 - kekkyojin:bb15436, r=jdm
Only expose Storage/StorageEvent in Window

<!-- Please describe your changes on the following line: -->
This patch removes Worker scope from Storage and StorageEvent WebIDL definition. This way it is possible to construct the objects passing Window instead of GlobalScope. It also removes some tests as they would run out of the scope.

It removes Worker from the WebIDL files defining the Storage and StorageEvent interfaces, as they should not be exposed in that scope.

In Rust source code, this patch replaces "GlobalScope" with "Window" on the contructors. It also modifies constructor calling code in order to pass Window instead of the previously used GlobalScope.

There has been removed these interfaces from the Worker tests.

(This time I did a real build and real tests. Sorry about previous pull requests, I am used to the Mozilla flow, which doesn't uses GitHub)

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

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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/15475)
<!-- Reviewable:end -->
2017-02-09 08:17:53 -08:00