Commit graph

16155 commits

Author SHA1 Message Date
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
Manish Goregaokar
33966a84fb Support property aliases 2017-01-07 13:17:00 -08:00
bors-servo
f94ce71017 Auto merge of #14891 - prampey:bluetooth-cleanup, r=jdm,emilio
Cleaned up ripples due to MutJS to JS type change

<!-- Please describe your changes on the following line: -->
Changed all Mutable JS values to JS values in the following files and fixed any differences that might have been caused due to type change.

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

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

<!-- 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/14891)
<!-- Reviewable:end -->
2017-01-07 12:01:21 -08:00
bors-servo
f313e8baff Auto merge of #14867 - nox:a-base-de-popopopop, r=metajack
Properly insert text in document when parsing

<!-- 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/14867)
<!-- Reviewable:end -->
2017-01-07 10:57:36 -08:00
Anthony Ramine
0cb09468a0 Properly insert text in document when parsing
If the last child of a node is a Text child and we are inserting text in that node,
we need to append it to that Text child. Doing that means that
HTMLStyleElement::children_changed gets called less frequently, but that's not a
problem during parsing thanks to the pop hook.
2017-01-07 19:21:02 +01:00
bors-servo
b6c137b36f Auto merge of #14896 - g1smo:tidy-assignments, r=jdm
Tidy assignments

<!-- Please describe your changes on the following line: -->
I've added a new tidy rule (no = in the beginning of line) + tests for it. Also cleaned up a few rust source files to accord with the new rule.

---
<!-- 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 #14890 (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/14896)
<!-- Reviewable:end -->
2017-01-07 09:40:46 -08:00
Anthony Ramine
8caa564540 Update xml5ever to 0.3.0 2017-01-07 18:10:30 +01:00
Anthony Ramine
a89bbc9906 Update html5ever to 0.12.1 2017-01-07 18:08:39 +01:00
bors-servo
df895cb80c Auto merge of #14889 - servo:rustup, r=jdm
Upgrade to rustc 1.16.0-nightly (6f1ae663e 2017-01-06)

<!-- 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/14889)
<!-- Reviewable:end -->
2017-01-07 08:18:28 -08:00
bors-servo
9087749030 Auto merge of #14883 - servo:null-bindings, r=SimonSapin
Avoid generating literal nulls in DOM bindings.

<!-- 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/14883)
<!-- Reviewable:end -->
2017-01-07 06:33:30 -08:00
bors-servo
fdddeb1c92 Auto merge of #14833 - emilio:mq-refactor, r=heycam,bz
style: Isolate the soon-to-be style-backend-specific code from the media_query module.

The idea here is having (for convenience) different `Expression` and `Device` representations for Gecko.

Both will be implemented in rust, but will use `nsMediaFeatures` as a source of media features instead of the Servo bits.

Does it sound good?

r? @heycam or @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/14833)
<!-- Reviewable:end -->
2017-01-07 05:03:41 -08:00
Emilio Cobos Álvarez
c0cf847043
style: Isolate the soon-to-be style-backend-specific from the media_query module. 2017-01-07 12:34:43 +01:00
Emilio Cobos Álvarez
7788f43c7e
style: Remove unneeded allow's.
They're useless right now.
2017-01-07 12:34:30 +01:00
Cameron McCormack
95e5e79958 stylo: Stop setting the now-removed nsStyleContentData::mImageTracked. 2017-01-07 09:47:46 +08:00
Cameron McCormack
8f1f94d42b stylo: Regenerate bindings. 2017-01-07 09:46:34 +08:00
Emilio Cobos Álvarez
cf65f09794
style: Allow caching elements with non-common style affecting attributes.
We have already that check in place, see
`match_same_non_common_style_affecting_attribute_selectors`.
2017-01-07 01:53:16 +01:00
Emilio Cobos Álvarez
ac8547416d
style: Move relations_are_shareable to matching.rs
It's only used there.
2017-01-07 01:53:15 +01:00
Matt Brubeck
6f3831b2d1 Update url, num_cpus, heapsize, webdriver. 2017-01-06 14:12:42 -08:00
Jure Podgoršek
bb91ca616c Tidy up rust code with regard to new rule (no = in beginning of line) 2017-01-06 20:57:16 +01:00
Prudhvi Rampey
29340b7adf Cleaned up ripples due to MutJS to JS type change 2017-01-07 01:16:02 +05:30
Simon Sapin
67aea3bba4 Upgrade to rustc 1.16.0-nightly (6f1ae663e 2017-01-06) 2017-01-06 17:43:31 +01:00
Ms2ger
baf4e17232 Avoid generating literal nulls in DOM bindings. 2017-01-06 14:24:13 +01:00
bors-servo
85d3bbd999 Auto merge of #14840 - servo:entry-global, r=nox
Implement the entry global.

Partial fix for #10963.

<!-- 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/14840)
<!-- Reviewable:end -->
2017-01-06 05:15:11 -08:00
Ms2ger
cb47a7e403 Implement the entry global.
Partial fix for #10963.
2017-01-06 12:56:35 +01:00
bors-servo
7f9fd0ec1f Auto merge of #14860 - asajeffrey:constellation-index-past-correctly-when-discarding, r=cbrewster
Index the session past correctly when discarding.

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

Oops, indexed from the wrong end when discarding documents in #14312.

---
<!-- 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 do not require tests because we're not testing document discarding

<!-- 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/14860)
<!-- Reviewable:end -->
2017-01-06 03:53:35 -08:00
Xidorn Quan
e7e3889422 Add :-moz-browser-frame pseudo-class 2017-01-06 21:26:12 +11:00
Xidorn Quan
0399f359c1 Add NonTSPseudoClass::is_internal function 2017-01-06 21:26:06 +11:00
Xidorn Quan
fa27ac0544 Add function to convert NonTSPseudoClass to CSSPseudoClassType 2017-01-06 21:25:45 +11:00
bors-servo
83428ecef7 Auto merge of #14872 - upsuper:bug1328806, r=bholley
stylo: Map more Gecko state bits to Servo state bits

This is the servo part of [bug 1328806](https://bugzilla.mozilla.org/show_bug.cgi?id=1328806) which has been reviewed by @bholley on Bugzilla.

r? @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/14872)
<!-- Reviewable:end -->
2017-01-06 00:09:32 -08:00
bors-servo
94d62a2afb Auto merge of #14871 - shssoichiro:14862-tinyfiledialogs-from-crates-io, r=jdm
Use tinyfiledialogs from crates.io

Use the crates.io version of tinyfiledialogs instead of pulling directly from the git repository.

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

<!-- Either: -->
- [X] These changes do not require tests because no code was changed

<!-- 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/14871)
<!-- Reviewable:end -->
2017-01-05 22:49:19 -08:00
bors-servo
8b274f25d3 Auto merge of #14559 - asajeffrey:script-track-document-and-bc-discarding, r=cbrewster
Implement browsing context discarding

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

Implement browsing context discarding (https://html.spec.whatwg.org/multipage/browsers.html#discard-a-document).

* When a pipeline is closed, inform the script thread whether the browsing context is to be discarded.
* In script threads, synchronously discard any similar-origin documents and browsing contexts.
* When a browsing context is discarded, it loses the reference to the active document, but the window keeps it, so we need to move the `Document` pointer from `BrowsingContext` to `Window`.
* Fix the webIDL for Window to make parent and top optional (the spec says they can return null when the browsing context is discarded).

---
<!-- 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 #14411
- [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/14559)
<!-- Reviewable:end -->
2017-01-05 18:20:12 -08:00
Xidorn Quan
0c913d5918 Make Gecko_ElementState return u16 2017-01-06 10:05:10 +11:00
Xidorn Quan
381651fd10 Change order of element state bits 2017-01-06 10:04:49 +11:00
bors-servo
c3cf4386b0 Auto merge of #14864 - servo:timers, r=jdm
Remove some unsound JSVal handling in JsTimerTask::invoke.

We were using Handles to *copies* of the traced values, rather than the
originals.

<!-- 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/14864)
<!-- Reviewable:end -->
2017-01-05 14:00:50 -08:00
Josh Holmer
f2e748588c Use tinyfiledialogs from crates.io 2017-01-05 16:59:44 -05:00
Alan Jeffrey
7c2de62124 Implement browsing context discarding. 2017-01-05 21:12:57 +00:00
Alan Jeffrey
5fd284cf3a Index the session past correctly when discarding. 2017-01-05 20:36:21 +00:00
Alan Jeffrey
3e1a242c7e Increased default max-session-history to 20. 2017-01-05 20:36:20 +00:00
bors-servo
42e28bf7e5 Auto merge of #14863 - charlesvdv:prefs, r=jdm
Allow cli prefs to have numerical value

I'm not sure as I'm new with servo but shouldn't the new function ```parse_opt_prefs``` be in ```prefs.rs``` instead of ```opts.rs``` ?

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

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

<!-- 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/14863)
<!-- Reviewable:end -->
2017-01-05 12:09:01 -08:00
charlesvdv
6a22174eb7 Allow cli prefs to have numerical value
Fix for #14842.

Extract the code inside a function to unit-test it.
2017-01-05 19:32:14 +01:00