Commit graph

6289 commits

Author SHA1 Message Date
Christian Poveda
3df9492dcf Blobs support typed arrays now 2018-03-21 09:29:24 -05:00
Bastien Orivel
570d865065 Bump ipc-channel and bincode
This required bumping uuid too which unfortunately duplicated rand.
2018-03-21 13:05:47 +01:00
WPT Sync Bot
40c0b971f1 Update web-platform-tests to revision 3a8328470d53c4501e31cec2775c4d33821c2275 2018-03-20 22:48:56 -04:00
CYBAI
a35214b6b6 Make type-argument.window.js test as pass 2018-03-20 22:28:41 +08:00
WPT Sync Bot
d67bfb7ff8 Update web-platform-tests to revision 3ec34e5a2c8cbeeb7fad521cce0daf923b272a92 2018-03-19 23:12:10 -04:00
WPT Sync Bot
5c72c1e6fe Update web-platform-tests to revision 790e6601ee8b4b412b6ad9f6fde466b7ccb9cb7e 2018-03-18 22:48:33 -04:00
bors-servo
23b6f569d0
Auto merge of #20314 - Xanewok:remove-heap-constructor, r=jdm
Don't use unsafe Heap::new constructor

<!-- Please describe your changes on the following line: -->
Pulls https://github.com/servo/rust-mozjs/pull/398 and aims to close https://github.com/servo/rust-mozjs/issues/343.

We can't convert from `JSVal` to `Heap<JSVal>` safely (due to GC barriers we can't move Heap value after changing its underlying value to something meaningful, e.g. non-null or non-undefined), so I decided to also wrap the Heap values in a Box (and in dictionaries in RootedTraceableBox, see https://github.com/servo/servo/pull/20265#issuecomment-372838379 and the issue for more details) in dictionaries.

Since we allocate more to be safe, I think it'd be good to also do some sort of a JS perf run, if there is any to see if there's any significant overhead.

r? @jdm

---
<!-- 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
- [X] These changes do not require tests because checking for not moving Heap after setting a value would require encoding a lot more info in type system (Heap) and I'm not sure how to do that and end up with an ergonomic and consistent API

<!-- 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/20314)
<!-- Reviewable:end -->
2018-03-18 15:22:23 -04:00
Igor Matuszewski
0ea6d8ac3e Fix tabs 2018-03-18 13:31:44 +01:00
Igor Matuszewski
30fb15df23 Add key/value iterable HTML benchmark 2018-03-18 13:17:09 +01:00
WPT Sync Bot
db5631a086 Update web-platform-tests to revision e87f38097902e16348d4e17f4fe3bc2d0112bff1 2018-03-17 23:34:27 -04:00
Josh Matthews
8b378120a4 Avoid using WPT test runner to update the test manifest. 2018-03-16 02:17:49 -04:00
bors-servo
40f833cb2a
Auto merge of #20291 - jdm:updatesyncstatus, r=asajeffrey
Update the in-tree status of WPT syncing.

This avoids an issue with performing the manual WPT upstream operation.

<!-- 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/20291)
<!-- Reviewable:end -->
2018-03-15 14:45:34 -04:00
bors-servo
8f1783e75f
Auto merge of #20296 - asajeffrey:wpt-mozilla-worklets-set-timeout, r=jdm
Add timeout pref to the mozilla/worklets wpt tests

<!-- 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 #20292
- [X] These changes do not require tests because this is test infrastructure

<!-- 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/20296)
<!-- Reviewable:end -->
2018-03-15 13:29:27 -04:00
Alan Jeffrey
e3e96c6d2f Added .ini for test_paint_worklet_timeout.html 2018-03-15 10:45:15 -05:00
bors-servo
7b326529db
Auto merge of #20224 - emilio:counter-serialization, r=nox
Fix counter() and counters() serialization.

See https://github.com/w3c/csswg-drafts/issues/670 and https://github.com/w3c/web-platform-tests/pull/9862.

<!-- 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/20224)
<!-- Reviewable:end -->
2018-03-14 13:26:00 -04:00
bors-servo
e597cd9e1a
Auto merge of #20265 - Xanewok:fix-js-objects-in-unions, r=jdm
Fix JS object conversion in unions

<!-- Please describe your changes on the following line: -->
Requires safe `Heap::boxed` constructor from https://github.com/servo/rust-mozjs/pull/395 (more info on it is in the PR).

Since unions currently assume that their respective members root themselves and can be stored on heap, I modified the union member object conversion branch to convert to a `RootedTraceableBox<Heap<*mut JSObject>>` (which is the currently generated type for objects in said unions).

I did it only for Unions and not dictionaries, since some dictionaries had bare `*mut JSObject` members - is this a mistake and something that needs further fixing?

Does this need a test, e.g. passing a union with object to a function that returns said object, and comparing the results for equality?

r? @jdm

Generated code with this patch (for `StringOrObject`):
```rust
impl FromJSValConvertible for StringOrObject {
    type Config = ();
    unsafe fn from_jsval(cx: *mut JSContext,
                         value: HandleValue,
                         _option: ())
                         -> Result<ConversionResult<StringOrObject>, ()> {
        if value.get().is_object() {
            match StringOrObject::TryConvertToObject(cx, value) {
                Err(_) => return Err(()),
                Ok(Some(value)) => return Ok(ConversionResult::Success(StringOrObject::Object(value))),
                Ok(None) => (),
            }

        }
        // (...)
    }
}

impl StringOrObject {
    // (...)
    unsafe fn TryConvertToObject(cx: *mut JSContext, value: HandleValue) -> Result<Option<RootedTraceableBox<Heap<*mut JSObject>>>, ()> {
        Ok(Some(RootedTraceableBox::from_box(Heap::boxed(value.get().to_object()))))
    }
}
```

---
<!-- 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 #17011 (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/20265)
<!-- Reviewable:end -->
2018-03-14 12:04:23 -04:00
Alan Jeffrey
de57268e9f Add timeout pref to the mozilla/worklets wpt tests 2018-03-14 10:43:01 -05:00
Emilio Cobos Álvarez
839eda000a
style: Avoid serializing the counter type in counter functions if it's decimal.
See https://github.com/w3c/web-platform-tests/pull/9862 and such.
2018-03-14 16:41:33 +01:00
WPT Sync Bot
e90dd8bc6b Update web-platform-tests to revision b202bbb5aa0d235b22bac11fe902eab1094ef9d2 2018-03-13 23:09:11 -04:00
Igor Matuszewski
712812d441 Add WPT test for WebIDL union conversion containing object values 2018-03-13 22:47:37 +01:00
Josh Matthews
bca8347388 Update the in-tree status of WPT syncing. 2018-03-13 15:33:17 -04:00
bors-servo
84ce43284c
Auto merge of #20287 - servo:webvr, r=jdm
Enable more tests, uselessly

This doesn't really do anything, given the gamepad tests don't even parse correctly.

<!-- 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/20287)
<!-- Reviewable:end -->
2018-03-13 09:52:05 -04:00
Anthony Ramine
ada62bf67d Enable gamepad support when running WebVR and Gamepad tests
There are no additional Gamepad tests that pass because our SpiderMonkey
is two years old and cannot cope with `async` (AFAICT), what a time
to be alive!
2018-03-13 14:02:36 +01:00
Anthony Ramine
052132b0f4 Enable /gamepad/ tests 2018-03-13 14:02:35 +01:00
Anthony Ramine
6d8f4d5337 Remove HTMLIFrameElement.allowvr test
This attribute was unshipped.
2018-03-13 14:02:32 +01:00
WPT Sync Bot
aa8de380cc Update web-platform-tests to revision 28300a0874230d668f0b02cfddfd994f2a735a56 2018-03-12 23:08:35 -04:00
bors-servo
466da7febb
Auto merge of #20276 - glennw:update-wr-opts, r=jdm
Update WR (various small optimizations and driver fixes).

<!-- 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/20276)
<!-- Reviewable:end -->
2018-03-12 11:30:52 -04:00
Anthony Ramine
9af2082b2d Fix the expectation for wbr-element.html 2018-03-12 15:32:02 +01:00
Anthony Ramine
7a09b2fe40 Properly enable WebVR when running WebVR tests 2018-03-12 15:32:01 +01:00
Anthony Ramine
887367e2e6 Enable /webvr/ tests 2018-03-12 15:32:00 +01:00
Anthony Ramine
e5ba3dfd43 Fix expectation for parser-sets-attributes-and-children.html
It now always crashes consistently on Linux.
2018-03-12 15:31:59 +01:00
Anthony Ramine
4fe554cb73 Fix expectation for transition_calc_implicit.html.ini (#17417) 2018-03-12 15:31:55 +01:00
Anthony Ramine
48a55af2cf Fix expectation for border_radius_elliptical_a.html (#14229, #19271) 2018-03-12 15:31:52 +01:00
Glenn Watson
e93d849831 Update WR (various small optimizations and driver fixes). 2018-03-12 16:32:31 +10:00
WPT Sync Bot
235bcddf5a Update web-platform-tests to revision 9c9d8f24b19b9a8b432c76db4ade468be8a50250 2018-03-11 22:46:44 -04:00
WPT Sync Bot
53868fcf1b Update web-platform-tests to revision 5e377e222095625488698633a435d6c19e4d611d 2018-03-10 21:46:15 -05:00
WPT Sync Bot
3f33c72bb4 Update web-platform-tests to revision 83b0a62af874eaf20e9d97d2fb9e15e91f3d109f 2018-03-09 21:45:04 -05:00
WPT Sync Bot
f3533538ea Update web-platform-tests to revision 9817f7f027fe1e92cc2fce31d6002c4d669918e8 2018-03-09 08:47:07 -05:00
bors-servo
94a6c2c429
Auto merge of #20181 - fabricedesre:end-load-pageshow, r=jdm
Fire the pageshow event at the end of the page load

<!-- Please describe your changes on the following line: -->
This implements step 8 of https://html.spec.whatwg.org/multipage/parsing.html#the-end

---
<!-- 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
- [X] These changes do not require tests because I could not find a wpt test for that, which is strange. I likely missed it :(

<!-- 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/20181)
<!-- Reviewable:end -->
2018-03-06 10:49:51 -05:00
Fabrice Desré
3dd015b2d9 Fire the pageshow event at the end of the page load r=jdm 2018-03-06 07:24:24 -08:00
bors-servo
f5037cf621
Auto merge of #20144 - mkollaro:gettexparameter, r=jdm
Add WebGL function glGetTexParameter

<!-- Please describe your changes on the following line: -->
Add WebGL function glGetTexParameter

---
<!-- 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 part of #10209

<!-- 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/20144)
<!-- Reviewable:end -->
2018-03-06 09:48:56 -05:00
Martina Kollarova
288ef50fb7 Add WebGL function glGetTexParameter
Set the expected result of the test `tex-input-validation.html` to CRASH, since
that is caused by unrelated problems. The test was previously not executing
completely, because it stopped when it didn't find the implementation of
getTexParameter.
2018-03-06 15:28:10 +02:00
Josh Matthews
00738bf1f6
Fix exception when updating WPT metadata. 2018-03-05 22:23:09 -05:00
Josh Matthews
ac156f74a9
Ensure default paths are set when updating WPT metadata. 2018-03-05 14:37:16 -05:00
Anthony Ramine
ad7adee882 Use CustomIdent in Symbol::Ident
The former code was not following the spec.
2018-03-03 16:15:13 +01:00
bors-servo
476a0764f5
Auto merge of #20171 - servo:content-item-counters, r=emilio
Make ContentItem use a CustomIdent for counter names

See https://github.com/w3c/csswg-drafts/pull/2377.

<!-- 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/20171)
<!-- Reviewable:end -->
2018-03-02 11:18:49 -05:00
Anthony Ramine
a4d3a8d74a Make ContentItem use a CustomIdent for counter names
See https://github.com/w3c/csswg-drafts/pull/2377
2018-03-02 16:06:54 +01:00
Manish Goregaokar
e7ea1cc740
Add crashtest 2018-03-01 17:36:31 -08:00
Manish Goregaokar
54eb1eb780 Support rowspan=0; always fixup overflowing rowspans beforehand
This makes rowspan=0 work by storing notes on which group of rows we're
in for tables containing both rowgroups and rows, and using that to
respan cells with overlarge or zero rowspans.

This also gets rid of the largest_leftover_incoming_size business,
because now spans will always be correct and we'll never have any left
over.
2018-02-28 17:37:59 -08:00
bors-servo
e2f2814018
Auto merge of #20128 - Manishearth:rowspan, r=mbrubeck
Rowspan support for tables

fixes #20092

This just contains the first steps.

We apply a naive algorithm: Spanning cells apply a pressure equal to `block_size / rowspan` on each row they are in. We move table row block size computation into the tables, and make it two pass. In the first pass we compute the sizes of each row, and in the
second pass we assign them, adding them up for any involved cells.

This is missing:

 - [x] Accounting for border sizes
 - [x] Applying pressure to rows that are not the row containing the cell
 - [ ] Reducing pressure on future rows if the current row is able to accomodate more of the cell
 - [x] For tables containing both rows and rowgroups, reset the rowspan info when we hit a rowgroup
 - [x] Correctly handle overflowing rowspans

cc @mbrubeck @pcwalton

<!-- 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/20128)
<!-- Reviewable:end -->
2018-02-28 18:40:39 -05:00