Commit graph

16155 commits

Author SHA1 Message Date
Gregory Katz
4d205f00b0 Adds an as_str() method to WebIDL enums to hide slice of strings from callers. Uses the new method in two places. 2017-02-16 10:59:07 -05:00
Ms2ger
fb8eb1db65 Add a object-in-union test. 2017-02-16 15:34:53 +01:00
Ms2ger
d5f8b35a5f Use RootedTraceableBox for unions. 2017-02-16 15:27:16 +01:00
bors-servo
4a0b730caf Auto merge of #15537 - servo:webrender, r=SimonSapin
Update ipc-channel to 0.6.3

<!-- 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/15537)
<!-- Reviewable:end -->
2017-02-16 03:53:49 -08: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
Ms2ger
890273e846 Simplify CGConstant. 2017-02-16 12:03:43 +01:00
bors-servo
35e7a4cd2c Auto merge of #15580 - emilio:stylo, r=heycam
Bindgenup

Major pain point is that I had to write the bitfield stuff manually, but that
should be resolved soon again.

Now we generate proper layout for _every_ struct, including field offsets \o/.

r? @heycam

<!-- 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/15580)
<!-- Reviewable:end -->
2017-02-16 02:58:54 -08:00
Ms2ger
f7e2f0e641 Use RootedTraceableBox for dictionaries. 2017-02-16 11:03:26 +01:00
Ms2ger
f1605ab149 Introduce RootedTraceableBox. 2017-02-16 11:03:25 +01:00
Ms2ger
8c8eb41cdf Use from_jsval for dictionaries. 2017-02-16 11:03:24 +01:00
Ms2ger
3613e8f231 Implement JSTraceable for more types. 2017-02-16 11:03:22 +01:00
Ms2ger
8ce9ca6243 Use Heap for dictionary and union members. 2017-02-16 11:03:21 +01:00
Ms2ger
5eaa19bdd4 Share a little less code between the branches for conversion to any. 2017-02-16 11:03:20 +01:00
Ms2ger
7d24cd7752 Pass isMember to getJSToNativeConversionInfo for unions.
Also includes a documentation update for isMember.
2017-02-16 11:03:19 +01:00
Emilio Cobos Álvarez
91e0ae2fe7
Bindgenup
Major pain point is that I had to write the bitfield stuff manually, but that
should be resolved soon again.

Now we generate proper layout for _every_ struct, including field offsets \o/.
2017-02-16 06:12:13 +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
a6d59d8714 Replace inheritance_integrity by trait shenanigans
For each derived DomObject impl, we also generate a dummy trait
ShouldNotImplDomObject that is implemented for all T: DomObject.
We then try to implement it for each field type except the first one.
If compilation succeed, this means that field type doesn't implement
DomObject itself otherwise it would break coherence rules.

error[E0119]: conflicting implementations of trait `dom::xmlhttprequest::_IMPL_DOMOBJECT_FOR_XMLHttpRequest::ShouldNotImplDomObject` for type `((), SomeFieldTypeThatShouldNotImplementDomObject)`:
   --> /Users/nox/src/servo/components/script/dom/xmlhttprequest.rs:120:1
    |
120 | #[dom_struct]
    | ^^^^^^^^^^^^^
    | |
    | first implementation here
    | conflicting implementation for `((), SomeFieldTypeThatShouldNotImplementDomObject)`
2017-02-15 22:11:20 +01:00
bors-servo
3c8daca772 Auto merge of #15561 - saneyuki:rm-domrefcell-heap, r=mbrubeck
Stop using DOMRefCell<Heap<..>>

Fix https://github.com/servo/servo/issues/15560

<!-- 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/15561)
<!-- Reviewable:end -->
2017-02-15 11:11:40 -08:00
bors-servo
34fb10bd40 Auto merge of #15563 - servo:update-js, r=nox
Update js.

Fixes #15553.

<!-- 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/15563)
<!-- Reviewable:end -->
2017-02-15 07:46:03 -08:00
Ms2ger
67c572af37 Update js.
Fixes #15553.
2017-02-15 16:27:29 +01:00
Anthony Ramine
37dab8f9f2 Add #[derive(DenyPublicFields)] back to #[dom_struct]
Oops.
2017-02-15 16:17:57 +01:00
bors-servo
216a89f776 Auto merge of #15552 - servo:cssparserup, r=nox
Update cssparser to 0.9

<!-- 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
- [ ] 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/15552)
<!-- Reviewable:end -->
2017-02-15 03:58:38 -08:00
Simon Sapin
c3cad2d6c7 Update cssparser to 0.9 2017-02-15 12:42:14 +01:00
Tetsuharu OHZEKI
d8e9e6c660 Stop using DOMRefCell<Heap<..>>. 2017-02-15 20:38:46 +09:00
Tetsuharu OHZEKI
e5962fda4b Ban DOMRefCell<Heap<T>> by lint plugin 2017-02-15 20:32:36 +09:00
bors-servo
715a164230 Auto merge of #15557 - bholley:opt_logging, r=emilio
stylo: various fixes to improve style logging in opt builds

This adds a traversal time entry to the style statistics, and switches to warn! as discussed in [1].

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1339176

<!-- 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/15557)
<!-- Reviewable:end -->
2017-02-15 03:05:07 -08:00
Anthony Ramine
be000d3833 Use #[dom_struct] on IterableIterator<T> (fixes #12811) 2017-02-15 10:24:02 +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
Bobby Holley
ae87b8a910 Switch from error! and println! to warn!, and set the default log level to warn on debug builds. 2017-02-14 17:19:01 -08:00
Bobby Holley
d7d6979144 Dump traversal time with other style statistics. 2017-02-14 17:17:45 -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
5a624ff956 Auto merge of #15549 - mbrubeck:always-be-updating, r=jdm
Update aho-corasick, backtrace-sys, image, parking_lot, pdqsort, syn, & others

<!-- 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/15549)
<!-- Reviewable:end -->
2017-02-14 13:17:24 -08:00
Matt Brubeck
c583cd115d Remove unused libservo dependencies 2017-02-14 12:11:43 -08:00
Matt Brubeck
6d43fd933f Update aho-corasick, backtrace-sys, image, parking_lot, pdqsort, syn 2017-02-14 12:11:41 -08: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
bors-servo
3b72a1f6d2 Auto merge of #15533 - mbrubeck:align, r=Manishearth
Stylo: Implement align-content and justify-content

This implements parsing and serialization of `align-content` and `justify-content` for Stylo. The implementation should match Gecko exactly (which means it's not exactly up-to-date with the latest draft spec). This is a Stylo-only change; it leaves the current Servo code (which matches an older spec) unchanged for now.  r? @Manishearth

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix part of #15001 (github issue number if applicable).
- [x] These changes do not require tests because they are stylo-only

<!-- 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/15533)
<!-- Reviewable:end -->
2017-02-14 09:13:13 -08:00
Eddie Quan
bdd3ab1fe0 fixes quote transform: none serialization 2017-02-14 12:05:41 -05:00
Matt Brubeck
c70167d17c Stylo: Implement align-content and justify-content 2017-02-14 08:58:55 -08: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
Zakor Gyula
462a825bd1 previous invocation results 2017-02-14 15:01:27 +01:00
Anthony Ramine
c84cea995b Derive DomObject with a proc macro 2017-02-14 14:13:43 +01:00
Attila Dusnoki
2de91c7788 refactor extra permission data 2017-02-14 13:39:00 +01:00
Cameron McCormack
229eb93fa3 Do RestyleHint assertions at runtime so they use build-time bindgen. 2017-02-14 10:38:59 +08:00
bors-servo
d44bf6182f Auto merge of #15532 - servo:webrender, r=nox
Update WR (pixel snapping improvements).

<!-- 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/15532)
<!-- Reviewable:end -->
2017-02-13 14:46:46 -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