Commit graph

24624 commits

Author SHA1 Message Date
Boris Zbarsky
a58b19e7d3 Presentation hints should not get applied to pseudo-elements.
Servo side of https://bugzilla.mozilla.org/show_bug.cgi?id=1352464
2017-03-31 12:03:07 -04:00
bors-servo
3f83628fa9 Auto merge of #13713 - TheKK:fix_a_tag_referrer_policy_test, r=jdm
Fix referrer policy tests for a-tag

This RP tries to fix referrer policy test for <a> which was introduced in #12493 (sorry for my silly mistake). But the fact that Servo lakes of some functionalities make these tests a little tricky to do.

The desired solution for tests for <a> is to:
1. create a document which is running test harness
2. append an `<iframe>` to its parent document and give it a name
3. append and `<a>` to its parent document and set its `target` as `<iframe>`'s name
4. each referrer policy attribute (eg. HTTP header, <meta>) would contribute to `<a>` directly
5. we call `click()` on `<a>` and when the test was done, we call `postMessage()` inside `<iframe>` to notify its parent document

And target feature for `<a>` and cross origin `postMessage()` is still on its way. My solution is:
1. create a document which is running test harness
2. append an `<iframe>` to its parent document
3. append and `<a>` into `<iframe>`
4. we call `click()` on `<a>` and `<iframe>` navigate to `<a>`'s href

Current solution does not work for some cases:
- HTTP header, it only apply to test harness html document but `<a>` inside `<iframe>`
- cross origin detection, we navigate `<iframe>` rather than its parent document, which make test expectation wrong

One workaround in my mind is to load our test harness html document **inside** `<iframe>` under sandbox, so the test won't run again and we get `<meta>` and HTTP header as we expect. But this would break some consistency in `common.js` and make thing more complex.

---

Sorry for the long description. But I'd like to hear more thought before I actually make things dirty, and find the most proper solution for this.

<!-- 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/13713)

<!-- Reviewable:end -->
2017-03-31 09:46:02 -05:00
bors-servo
e69bc2e0d3 Auto merge of #16204 - emilio:unify-note-descendants, r=emilio
stylo: Relax assertion that doesn't hold in layout/style/test/test_pseudoelement_state.html

It deserves more investigation, we should probably clear NAC data on
ServoRestyleManager::ClearServoDataFromSubtree, but not worth to keep the tree
orange meanwhile.
2017-03-31 09:05:32 -05:00
Emilio Cobos Álvarez
cdbb2c5d0d
stylo: Relax assertion that doesn't hold in layout/style/test/test_pseudoelement_state.html
It deserves more investigation, we should probably clear NAC data on
ServoRestyleManager::ClearServoDataFromSubtree, but not worth to keep the tree
orange meanwhile.
2017-03-31 16:03:09 +02:00
Ying-Ruei Liang(KK)
0edab51f05
Clean and fix referrer policy wpt for a-tag
Signed-off-by: Ying-Ruei Liang(KK) <thumbd03803@gmail.com>
2017-03-31 21:31:54 +08:00
bors-servo
955d3a8b87 Auto merge of #16201 - Manishearth:text-emph-pos, r=emilio
stylo: Handle text-emphasis-position pres attrs

Somehow slipped through the cracks.

try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=e1d349e847b528be3d61ad2ebf374a791800cfbb

<!-- 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/16201)
<!-- Reviewable:end -->
2017-03-31 06:01:06 -05:00
bors-servo
a70e4ac5b2 Auto merge of #16202 - BorisChiou:stylo/animation/initial_computed_keyframes, r=emilio
stylo: Bug 1352067 - Initialize StyleAnimationValue with zeros.

AnimationValue::mGecko and AnimationValue::mServo are mutually
exclusive, so we have to make sure mGecko.IsNull() returns reasonable
value, or we will got assertions. Hence, we should initialize it during
constructing StyleAnimationValue from Servo side.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1352067.
- [X] These changes do not require tests because there are enough tests in Gecko

<!-- 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/16202)
<!-- Reviewable:end -->
2017-03-31 05:20:26 -05:00
Boris Chiou
dde0f32724 Bug 1352067 - Initialize StyleAnimationValue with zeros.
AnimationValue::mGecko and AnimationValue::mServo are mutually
exclusive, so we have to make sure mGecko.IsNull() returns reasonable
value, or we will got assertions. Hence, we should initialize it during
constructing StyleAnimationValue from Servo side.
2017-03-31 17:58:08 +08:00
Manish Goregaokar
59115431fb stylo: Handle text-emphasis-position pres attrs 2017-03-31 02:43:22 -07:00
bors-servo
95e0532dd6 Auto merge of #16196 - emilio:unify-note-descendants, r=bholley
style: Make the servo and gecko implementations of Element::note_descendants equivalent.

<!-- 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/16196)
<!-- Reviewable:end -->
2017-03-31 04:40:13 -05:00
Emilio Cobos Álvarez
a4bc106e07
style: Make the servo and gecko implementations of Element::note_descendants equivalent. 2017-03-31 11:39:19 +02:00
bors-servo
6519503a5f Auto merge of #16199 - Manishearth:stylo-td-content, r=bz
stylo: Include content rules from HTMLTableCellElement::WalkContentStyleRules

This also removes the TABLE_ATTRS_DIRTY optimization. Constructing nsMappedAttributes isn't really expensive and we do it all the time anyway.

r=bz https://bugzilla.mozilla.org/show_bug.cgi?id=1341648

<!-- 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/16199)
<!-- Reviewable:end -->
2017-03-30 22:22:26 -05:00
Manish Goregaokar
bfc2cc4ebf stylo: Include content rules from HTMLTableCellElement::WalkContentStyleRules
This also removes the TABLE_ATTRS_DIRTY optimization. Constructing nsMappedAttributes isn't really expensive and we do it all the time anyway.
2017-03-30 20:20:45 -07:00
bors-servo
04d12fa8f8 Auto merge of #16166 - streichgeorg:initial-letter, r=emilio
initial-letter property

<!-- Please describe your changes on the following line: -->
Implemented parsing and serialization for the initial-letter property.

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

<!-- 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/16166)
<!-- Reviewable:end -->
2017-03-30 18:37:24 -05:00
bors-servo
2e743c2c56 Auto merge of #16170 - TheKK:implement_html_anchor_element_rel, r=jdm
Implement HTMLAnchorElement.rel getter and setter

This PR makes code below possible:

```javascript
a = document.createElement("a");
a.rel = "foo";
console.log(a.rel); // print out "foo"
```
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] There are tests for these changes

<!-- 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/16170)
<!-- Reviewable:end -->
2017-03-30 17:25:31 -05:00
bors-servo
ecf42ca6e9 Auto merge of #16194 - canaltinova:font-family, r=Manishearth
stylo: Serialize unquoted font-family without quote

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

---
<!-- 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 [Bug 1351262](https://bugzilla.mozilla.org/show_bug.cgi?id=1351262)

<!-- 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/16194)
<!-- Reviewable:end -->
2017-03-30 15:45:39 -05:00
Nazım Can Altınova
9991c496b3
Serialize unquoted font-family without quote 2017-03-30 23:40:23 +03:00
bors-servo
54e2b7b2d5 Auto merge of #16192 - upsuper:bug1350810, r=emilio
Output binding files to dist dir in addition

https://bugzilla.mozilla.org/show_bug.cgi?id=1350810
2017-03-30 08:23:31 -05:00
Xidorn Quan
f3a5e28949 Output binding files to dist dir in addition. 2017-03-31 00:22:15 +11:00
bors-servo
a3d968833b Auto merge of #16184 - ferjm:issue-16153-terminate-time-scheduler-shutdown, r=jdm
Terminate timer scheduler thread during shutdown

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #16153

<!-- 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/16184)
<!-- Reviewable:end -->
2017-03-30 07:31:02 -05:00
Fernando Jiménez Moreno
fb878f33d1 Terminate timer scheduler thread during shutdown 2017-03-30 14:27:40 +02:00
bors-servo
6a795f4795 Auto merge of #16191 - servo:debug-fix, r=Wafflespeanut
geckolib: fix debug message about skipping traversal with an unstyled parent

<!-- 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/16191)
<!-- Reviewable:end -->
2017-03-30 04:34:25 -05:00
Cameron McCormack
df3cbb8104 geckolib: fix debug message about skipping traversal with an unstyled parent 2017-03-30 17:31:40 +08:00
Ying-Ruei Liang(KK)
bb6d52971a
Implement HTMLAnchorElement.rel getter and setter
Signed-off-by: Ying-Ruei Liang(KK) <thumbd03803@gmail.com>
2017-03-30 11:45:48 +08:00
bors-servo
2084ee29c4 Auto merge of #16187 - upsuper:bug1345696, r=Manishearth,heycam
Implement access to CSSFontFaceRule for stylo

This is the Servo part of [bug 1345696](https://bugzilla.mozilla.org/show_bug.cgi?id=1345696) which has been reviewed on Bugzilla.
2017-03-29 20:50:47 -05:00
Xidorn Quan
5c9152e3df Update binding files. 2017-03-30 12:48:18 +11:00
Xidorn Quan
0a57dbc110 Provide @font-face rules for stylo backend. 2017-03-30 11:41:13 +11:00
Xidorn Quan
01e986f2e6 Record effective @font-face rules when updating stylist. 2017-03-30 11:41:12 +11:00
Xidorn Quan
0d96c7997f Support CSSOM access to @font-face rules. 2017-03-30 11:41:10 +11:00
Xidorn Quan
f68e2948d5 Use Gecko nsCSSFontFaceRule for font face rule. 2017-03-30 11:41:09 +11:00
Xidorn Quan
e0c9a3fa12 Add function for sugar of nsCSSValue. 2017-03-30 11:41:08 +11:00
Xidorn Quan
2c0347ac5b Rename font_face::FontFaceRule to FontFaceData. 2017-03-30 11:41:07 +11:00
bors-servo
0f9dbcc808 Auto merge of #16156 - ferjm:issue-16130-http-network-or-cache-fetch, r=jdm
Update http_network_or_cache_fetch according to spec

There are still many steps blocked by the absence of an HTTP cache and the inability to trigger a credentials dialog.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #16130

<!-- 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/16156)
<!-- Reviewable:end -->
2017-03-29 19:38:45 -05:00
Xidorn Quan
e36b92507e Add FFI for nsCSSFontFaceRule. 2017-03-30 10:46:46 +11:00
Xidorn Quan
83badaa718 Lots of fixup for the next patch. 2017-03-30 10:46:32 +11:00
bors-servo
3993f8d7fe Auto merge of #16181 - servo:rustup, r=asajeffrey
Update rustc to 1.17.0-nightly (cf69238b8 2017-03-29)

<!-- 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/16181)
<!-- Reviewable:end -->
2017-03-29 15:57:48 -05:00
bors-servo
b783cacc54 Auto merge of #16157 - n0max:perspective_parse_non_negative, r=emilio
Parse perspective property as non negative and add 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 #15449  (github issue number if applicable).

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

<!-- 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/16157)
<!-- Reviewable:end -->
2017-03-29 15:12:07 -05:00
bors-servo
f3a5ad2f49 Auto merge of #16183 - servo:expand-diet, r=emilio
Replace ParsedDeclaration::expand with non-generic method

... to reduce its code size impact.

https://bugzilla.mozilla.org/show_bug.cgi?id=1351737

<!-- 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/16183)
<!-- Reviewable:end -->
2017-03-29 13:43:06 -05:00
Simon Sapin
4f2b9a33fe Replace ParsedDeclaration::expand with non-generic method
... to reduce its code size impact.

https://bugzilla.mozilla.org/show_bug.cgi?id=1351737
2017-03-29 20:28:25 +02:00
Anthony Ramine
42ce9bfd49 Update rustc to 1.17.0-nightly (cf69238b8 2017-03-29) 2017-03-29 19:57:22 +02:00
bors-servo
76a2c9705a Auto merge of #16180 - nox:tungstenite, r=jdm
Make the WebSocket handshake ourselves 🍷

HYPE

<!-- 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/16180)
<!-- Reviewable:end -->
2017-03-29 12:55:38 -05:00
Anthony Ramine
d022535f9c Make the WebSocket handshake ourselves to ease switching libs
We need to switch to tungstenite to finally update openssl, this commit
rewrites the whole websocket infrastructure to properly follow the Fetch
spec and to make switching to a different websocket library easier.
2017-03-29 19:17:27 +02:00
bors-servo
a54e4f33ee Auto merge of #16163 - bholley:revert_threadsafe_array, r=bholley
stylo: Remove ThreadSafeArray

See https://bugzilla.mozilla.org/show_bug.cgi?id=1350244

This reverts https://bugzilla.mozilla.org/show_bug.cgi?id=1348606

<!-- 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/16163)
<!-- Reviewable:end -->
2017-03-29 12:16:35 -05:00
Anthony Ramine
3ed32f8078 Introduce NetworkError::from_hyper_error and from_ssl_error 2017-03-29 18:01:01 +02:00
bors-servo
3345b83fb3 Auto merge of #16176 - servo:jdm-patch-1, r=mbrubeck
Halve number of processes for test runs.

Let's see if this makes the intermittent failure situation improve!

<!-- 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/16176)
<!-- Reviewable:end -->
2017-03-29 09:54:12 -05:00
Josh Matthews
9867605779 Revert changes to mac builder processes. 2017-03-29 10:30:23 -04:00
bors-servo
1d98e3406a Auto merge of #16177 - emilio:stylo-pseudo-classes, r=heycam,jdm
Bug 1350140: stylo: Implement all the remaining state pseudo-classes.

<!-- 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/16177)
<!-- Reviewable:end -->
2017-03-29 08:48:12 -05:00
Emilio Cobos Álvarez
ab6277a91d
script: Update expected size of elements now we have bigger state flags. 2017-03-29 15:44:47 +02:00
bors-servo
d39087fff2 Auto merge of #16178 - BorisChiou:stylo/animation/parse_angle, r=emilio
stylo: Bug 1336769 - Make Angle constructors return a finite value.

It is possible to input an extra large angle, e.g. rotate(9.5e+307rad), so we need to clamp it to avoid any assertion in Gecko.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1336769.
- [X] These changes do not require tests because they fix the test cases failed in Gecko.

<!-- 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/16178)
<!-- Reviewable:end -->
2017-03-29 07:42:22 -05:00
bors-servo
8adf191973 Auto merge of #16159 - bholley:note_dirty_descendants, r=heycam
Centralize note_dirty_descendants implementation, and fully propagate dirty_descendants in resolve_style.

The current code can leave the tree in an inconsistent state, with the dirty
descendants bit not fully propagated.

Reviewed in https://bugzilla.mozilla.org/show_bug.cgi?id=1350441

<!-- 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/16159)
<!-- Reviewable:end -->
2017-03-29 06:52:07 -05:00