Commit graph

11693 commits

Author SHA1 Message Date
Hiroyuki Ikezoe
ff0819b2d4 Add impl From<nsTimingFunction> for TransitionTimingFunction and impl From<TransitionTimingFunction> for nsTimingFunction. r=heycam 2017-01-10 12:24:59 +09:00
Hiroyuki Ikezoe
98ed440597 Implement nsStyleAutoArray.ensure_len(). r=heycam 2017-01-10 12:24:59 +09:00
Hiroyuki Ikezoe
dc3b4803d1 Implement Index for nsStyleAutoArray. r=heycam 2017-01-10 12:24:59 +09:00
Hiroyuki Ikezoe
00b3dda3e5 Add gecko_enum_prefix for animation-direction and animation-fill-mode. r=heycam 2017-01-10 12:24:59 +09:00
Hiroyuki Ikezoe
ff1db63922 single_keywords supports custom_consts map for enum. r=heycam
We need it to convert PlaybackDirection::Alternate_reverse in Gecko to
alternate-reverse in Servo.
2017-01-10 12:24:59 +09:00
bors-servo
2a2a89b7e4 Auto merge of #14907 - bholley:eliminate_consume, r=emilio
Give up on hoisting ElementData into the frame and eliminate the concept of consuming styles

Servo PR for the work in https://bugzilla.mozilla.org/show_bug.cgi?id=1325734

<!-- 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/14907)
<!-- Reviewable:end -->
2017-01-09 17:26:50 -08:00
bors-servo
851d6230f3 Auto merge of #14818 - glennw:zb, r=pcwalton
Update WR (first phase of z-buffer optimizations / 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/14818)
<!-- Reviewable:end -->
2017-01-09 11:56:40 -08:00
Bobby Holley
3fcfc9c5fc Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:51:37 -08:00
Bobby Holley
4558efbca5 Bug 1325734 - Explicitly track whether we're performing the initial style. r=emilio 2017-01-09 11:51:37 -08:00
Bobby Holley
92b9d70c3a Bug 1325734 - Pass the thread-local context into should_traverse_children. r=emilio 2017-01-09 11:51:37 -08:00
Bobby Holley
3060865577 Bug 1325734 - Parameterize the style traversal on TElement instead of TNode. r=emilio
This works around the issue described in https://github.com/rust-lang/rust/issues/38917
2017-01-09 11:51:36 -08:00
Bobby Holley
962a4a79bb Bug 1325734 - Remove Servo Layout's dependency on the initial-ness of the style. r=emilio 2017-01-09 11:51:36 -08:00
bors-servo
50bba770d6 Auto merge of #14789 - Manishearth:supports, r=SimonSapin
Support @supports

fixes #14786

cc @heycam @upsuper
r? @SimonSapin

<!-- 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/14789)
<!-- Reviewable:end -->
2017-01-09 10:54:38 -08:00
Simon Sapin
b5d9210f16 Fix too many parens in @supports serialization. 2017-01-09 19:35:00 +01:00
bors-servo
9482467add Auto merge of #14927 - servo:ImageData-data, r=jdm
Use the typed array APIs in ImageData.

<!-- 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/14927)
<!-- Reviewable:end -->
2017-01-09 09:29:46 -08:00
bors-servo
93ac10d9b1 Auto merge of #14917 - fkautz:pr_out_renaming_default_features_to_default_features_as_per_cargo_s_manifest_format, r=emilio
Renaming default_features to default-features as per Cargo's Manifest Format

<!-- 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/14917)
<!-- Reviewable:end -->
2017-01-09 07:35:28 -08:00
bors-servo
518ef39cfd Auto merge of #14618 - MortimerGoro:webvr_api, r=larsbergstrom,emilio,jdm,nox,asajeffrey,cvan
WebVR API Implementation

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

WebVR API Implementation with HTC Vive support on Windows. The current implementations only enables the WebVR support on Windows. In other platforms the API is available on JavaScript but navigator.vr.getDisplays() returns an empty array. This will change when we add support for more VR providers and platforms ;)

Info about the architecture:
https://blog.mozvr.com/webvr-servo-architecture-and-latency-optimizations/
---
<!-- 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 _____

Proprietary openvr.dll must be copied next to servo.exe in order to test on HTC Vive (https://github.com/ValveSoftware/openvr/tree/master/bin/win64) I have added some of the official WebVR samples for testing. Switch on your headset and run:

mach run tests/html/webvr/room-scale.html

<!-- 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/14618)
<!-- Reviewable:end -->
2017-01-09 06:39:45 -08:00
Ms2ger
2839bca065 Use the typed array APIs in ImageData. 2017-01-09 14:00:54 +01:00
bors-servo
2326532198 Auto merge of #14926 - mrobinson:move-display-list-builder-methods, r=emilio
Move some methods from display_list_builder.rs

These methods are not only used during display list construction, so
they are a better fit for the flow structs themselves. This does
not introduce any behavior change, but should make it easier to fix

<!-- 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
- [x] These changes do not require tests because they are a simple refactor.

<!-- 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/14926)
<!-- Reviewable:end -->
2017-01-09 04:31:30 -08:00
Imanol Fernandez
c5705bff50 WebVR API Implementation, r=larsbergstrom 2017-01-09 12:44:39 +01:00
Martin Robinson
f3577e41c1 Move some methods from display_list_builder.rs
These methods are not only used during display list construction, so
they are a better fit for the flow structs themselves. This does
not introduce any behavior change, but should make it easier to fix
2017-01-09 12:33:23 +01:00
Cameron McCormack
3e0e2bcd2c Don't inherit all properties for pre-computed pseudos if there are no matching rules. 2017-01-09 17:55:40 +08:00
Frederick F. Kautz IV
5f3339d22a Renaming default_features to default-features as per Cargo's Manifest Format 2017-01-08 19:24:19 -08:00
Cameron McCormack
252766b76b stylo: Regenerate bindings. 2017-01-09 11:12:21 +08:00
Cameron McCormack
f24e4543fe stylo: Update glue for recent changes. 2017-01-09 11:11:55 +08:00
Glenn Watson
3d9475457c Update WR (first phase of z-buffer optimizations / improvements). 2017-01-09 09:41:51 +10:00
bors-servo
8fff2f29d0 Auto merge of #14895 - dowoncha:request-websocket, r=jdm
Added Websocket to RequestMode enum

Added Websocket to RequestMode enum
---
<!-- 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 #14785  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because matching the enum should have default control flow.

<!-- 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/14895)
<!-- Reviewable:end -->
2017-01-08 08:57:52 -08:00
Nazım Can Altınova
f1693013b2 Re-export SpecifiedValue instead of computed_value::T on other longhands 2017-01-08 17:19:12 +03:00
Nazım Can Altınova
227737c685 Convert animation-iteration-count longhand into vector_longhand 2017-01-08 17:19:09 +03:00
Nazım Can Altınova
3934f505d6 Convert animation-name longhand into vector_longhand 2017-01-08 17:19:07 +03:00
Nazım Can Altınova
164e8f5071 Convert transition-property longhand into vector_lonhhand 2017-01-08 17:19:04 +03:00
Nazım Can Altınova
8e21d65303 Convert transition-timing-function longhand into vector_longhand 2017-01-08 17:19:01 +03:00
Dowon Cha
8bf924dc79 Added Websocket to RequestMode enum
set unreachable in dom/request.rs for websocket

fixed imports
2017-01-08 09:17:53 -05:00
Nazım Can Altınova
77368ac48c Fix SingleSpecifiedValue in vector_longhand 2017-01-08 16:29:50 +03:00
Nazım Can Altınova
55ae25c3ae Convert transition-duration longhand into vector_longhand 2017-01-08 16:29:48 +03:00
bors-servo
87cce8180a Auto merge of #14648 - cynicaldevil:xmlhttpreq-send, r=KiChjang
Implemented XMLHttpRequest.send(Document)

<!-- 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 #9490 .

<!-- Either: -->
r? @KiChjang

`XMLHttpRequest/send-entity-body-document.htm` is not working atm, I get this output:
```
$ ./mach test-wpt tests/wpt/web-platform-tests/XMLHttpRequest/send-entity-body-document.htm
Running 1 tests in web-platform-tests

Ran 1 tests finished in 0.0 seconds.
  • 1 ran as expected. 1 tests skipped.
```
<!-- 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/14648)
<!-- Reviewable:end -->
2017-01-08 00:21:14 -08:00
Manish Goregaokar
62bea28031 Add CSS.supports() 2017-01-07 23:17:55 -08:00
Manish Goregaokar
b4a83b6cec CSSOM bits for @supports: CSSConditionRule and CSSSupportsRule, with conditionText attribute 2017-01-07 23:17:52 -08:00
Manish Goregaokar
1b0842e228 Support @supports (fixes #14786) 2017-01-07 23:17:50 -08:00
bors-servo
f958dafcae Auto merge of #14865 - mrnayak:sri-fetch, r=jdm
Implement Subresource Integrity

Implemented response validation part of https://w3c.github.io/webappsec-subresource-integrity/.
Implemented step eighteen of the main fetch. If a request has integrity metadata, then following steps are performed
1) Wait for response body
2) If the response does not have a termination reason and response does not match request’s integrity metadata, set response and internalResponse to a network error.

Dependency updated: html5ever-atoms from 0.1.2 to 0.1.3. This will not completely fix #14523, It will implement changes related to response validation. Request validation algorithm implementation needs CSP.

I did not update any WPT-Test. In my local system, I found some assertion issue dependent on the order of execution of test-case. It would be helpful if someone could do "try" build on these changes to get wpt results.

r? @jdm
<!-- 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

<!-- 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/14865)
<!-- Reviewable:end -->
2017-01-07 23:14:37 -08:00
bors-servo
cdf14730ff Auto merge of #14712 - KiChjang:css-keyframe-rule-style, r=Manishearth
Implement CSSKeyframeRule.style

Fixes #14636.

r? @Manishearth

<!-- 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/14712)
<!-- Reviewable:end -->
2017-01-07 22:18:11 -08:00
Keith Yeung
18567ce7a8 Implement CSSKeyframeRule.style 2017-01-07 22:18:04 -08:00
mrnayak
a3026499f4 Implement Subresource Integrity
Implemented response validation part of
https://w3c.github.io/webappsec-subresource-integrity/.
Implemented step eighteen of the main fetch. If a request has integrity
metadata, then following steps are performed
*Wait for response body
*If the response does not have a termination reason and response does not
match request’s integrity metadata, set response to a
network error.# Please enter the commit message for your changes. Lines starting
2017-01-08 08:52:18 +05:30
bors-servo
5d796a5453 Auto merge of #14905 - heycam:content, r=Manishearth
stylo: support content property

This is the Servo-side of https://bugzilla.mozilla.org/show_bug.cgi?id=1315155, which @Manishearth has already 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/14905)
<!-- Reviewable:end -->
2017-01-07 17:56:17 -08:00
bors-servo
496447a363 Auto merge of #14899 - canaltinova:transition-timing, r=Manishearth
Fix serialization of timing-function

<!-- Please describe your changes on the following line: -->
`transition-timing-function` and `animation-timing-function` properties corrected to reflect [the spec](https://drafts.csswg.org/css-transitions/#serializing-a-timing-function). It was converting function keywords to `cubic-bezier` or `steps` functions directly. But we needed to store it to use in the serialization step.

---
<!-- 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 #14822 (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/14899)
<!-- Reviewable:end -->
2017-01-07 16:50:27 -08:00
bors-servo
2225ccd464 Auto merge of #14904 - emilio:non-common-attrs, r=bholley
Allow sharing non-common style affecting attribute selectors.

Something I just noticed while re-reading that code is that we prevent sharing among siblings with different non-common attributes, even though we already have the infra to match those selectors:

```rust
    if !match_same_not_common_style_affecting_attributes_rules(element,
                                                               candidate_element,
                                                               shared_context) {
        miss!(NonCommonAttrRules)
    }
```

<!-- 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/14904)
<!-- Reviewable:end -->
2017-01-07 15:28:15 -08:00
Nazım Can Altınova
96cf81ad5d Fix try_parse_one macro and parse function of TransitionTimingFunction 2017-01-08 02:21:20 +03:00
Nazım Can Altınova
e2f94d137a Fix serialization of transition-timing-function 2017-01-08 02:21:19 +03:00
bors-servo
d14158a592 Auto merge of #14893 - Manishearth:alias, r=emilio
Support property aliases

Aliases now get forwarded to their "original" property name at parse time. CSSOM continues to provide access through alias getters.

We'll need to probably add `${"-webkit-foo -moz-foo" if gecko else ""}` all over the place. Might want to come up with a convenient attibute name for that (`gecko_prefix="mw"`) or something.

r? @heycam or @bholley

<!-- 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/14893)
<!-- Reviewable:end -->
2017-01-07 13:56:19 -08:00
Nikhil Shagrithaya
401836e8f0 Implemented XMLHttpRequest.send(Document) 2017-01-08 03:04:51 +05:30