Commit Graph

2652 Commits

Author SHA1 Message Date
bjorn3
dd526d81ee servo: Merge #16497 - Fix indentation of a } (from bjorn3:patch-1); r=nox
<!-- Please describe your changes on the following line: -->
Fix indentation of a `}` (see 8dfef0416f (r111661247))

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./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 just an indentation change

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

Source-Repo: https://github.com/servo/servo
Source-Revision: b704cd27df46df122e1506a6c7e5c534289b831f
2017-04-17 05:43:06 -05:00
charlesvdv
ec39aae071 servo: Merge #15822 - Correct unicode handling for text input (from charlesvdv:unicode-panic); r=emilio
<!-- Please describe your changes on the following line: -->
Allow proprer handling of unicode sequence in text input.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: e45546edf0445d5ca714162bff89c0780d087993
2017-04-16 15:08:59 -05:00
Simon Sapin
26cb3e51fe servo: Merge #16473 - Upgrade to rustc 1.18.0-nightly (5f13a3b54 2017-04-15) (from servo:rustup); r=emilio
This version enables [struct field reordering][1] which brings the size of the types for specified values of some CSS properties under the threshold such that they shouldn’t be boxed anymore, making unit tests fail.

Simply unboxing them moves the test failure to Stylo’s unit tests, since the stable compiler used in that case does not do field re-ordering. Therefore, we manually reorder a couple fields to effectively bring this optimization to older compilers for a few specific types.

[1]: https://github.com/rust-lang/rust/pull/40377

Source-Repo: https://github.com/servo/servo
Source-Revision: c453e2ef89b32798dabbb23b22cfd5a72dddf6a5
2017-04-16 00:13:28 -05:00
J. Ryan Stinnett
cde16efb01 servo: Merge #16454 - Stylo: SVG length parsing mode (from jryans:svg-parse-unitless); r=emilio
Reviewed by @emilio in [bug 1329088](https://bugzilla.mozilla.org/show_bug.cgi?id=1329088).

r? @emilio

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: 5c56640508b4f24a67fe92c5d3179d89d030e959
2017-04-14 04:49:29 -05:00
Cameron McCormack
a7bd9db013 servo: Merge #16413 - implement the all shorthand (from heycam:all); r=emilio
From https://bugzilla.mozilla.org/show_bug.cgi?id=1356125.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1bf10a915c087e8be3f7fc8452e781d56aa0c265
2017-04-14 02:40:52 -05:00
Hiroyuki Ikezoe
078d71cb9c servo: Merge #16421 - Font variant shorthand (from hiikezoe:font-variant-shorthand); r=heycam
<!-- Please describe your changes on the following line: -->
This is a PR of https://bugzilla.mozilla.org/show_bug.cgi?id=1354876

---
<!-- 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] These changes do not require tests because gecko has a bunch of test cases.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 8bd07ec5861b2e245dbd1fea388e87488cb69106
2017-04-13 20:48:14 -05:00
mckaymatt
4f97ea43f7 servo: Merge #16394 - Support line number offsets for inline stylesheets (from mckaymatt:line_num_offset__issue_15693); r=SimonSapin
<!-- Please describe your changes on the following line: -->
This allows accurate line numbers when reporting stylesheet errors.

@jdm This is going to require some effort to merge my changes with other recent changes to `ParserContext`. Because of that I would appreciate a quick sanity check before I put the time into performing the merge.
For example, should I store the `offset` as a u64, or should it be an Option?

---
<!-- 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 #15693 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 94397ff0b4fed138241760770ff2d230985bed8a
2017-04-13 20:12:08 -05:00
Imanol Fernandez
a0cf2377cc servo: Merge #16260 - Gamepad API implementation (from MortimerGoro:gamepad); r=nox,larsbergstrom
<!-- Please describe your changes on the following line: -->

Gamepad API implementation. Tested with HTC Vive and Daydream controllers ;)

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because : current gamepad tests are manual (https://github.com/w3c/web-platform-tests/tree/master/gamepad). There is a  open issue about the best way to test WebVR/Gamepad without real devices https://github.com/w3c/webvr/issues/187. We'll work on the testing suite & mock devices/data on a separate issue.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 26c45275ffaccf746e47606a74b3aee519673e54
2017-04-13 16:10:42 -05:00
Josh Matthews
4b78ea0523 servo: Merge #16407 - Allow loading multiple stylesheets for the same link element (from jdm:style_panic); r=emilio
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #16399
- [x] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: ebc61bb2c3ac682ca366019b21160819ec3c7882
2017-04-13 11:29:58 -05:00
Emilio Cobos Álvarez
97397a1a44 servo: Merge #16424 - style: relax assertions in dom::element when setting selector flags (from servo:assert-layout); r=bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 3011f7613929052acd84c0936a89cc7a8e6acd44
2017-04-13 04:49:30 -05:00
Fernando Jiménez Moreno
eefa3097a4 servo: Merge #16348 - Unminify JS and dump it to a file before executing it (from ferjm:issue-14824-unminify-js); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14824

Source-Repo: https://github.com/servo/servo
Source-Revision: bc9d7863b6763e59f7efed3d5c9870b19bafb195
2017-04-12 11:11:23 -05:00
Emilio Cobos Álvarez
70d11196ed servo: Merge #16378 - stylo: A bunch of media query fixes (from emilio:media-fixes); r=upsuper
Source-Repo: https://github.com/servo/servo
Source-Revision: bb66bf81d5b699f40c8b59ea5eb7390dc23579bb
2017-04-12 10:00:26 -05:00
Lucjan Suski
049681962e servo: Merge #16063 - Avoid panics for empty or multibyte image usemap (from methyl:image-usemap-panics); r=nox
<!-- Please describe your changes on the following line: -->
Some check were added to make sure we can call `split_at` with no risk of panics (when value is empty or the first char is multibyte).

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 69eda6a60cece433e91d4bc578e94d8d5dfc9544
2017-04-12 07:34:27 -05:00
J. Ryan Stinnett
9f2106c618 servo: Merge #16373 - Stylo: Disable viewport units for @page (from jryans:at-page-viewport-units); r=emilio
Reviewed by @emilio in [bug 1353191](https://bugzilla.mozilla.org/show_bug.cgi?id=1353191).

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: 5f6c27bb945eba1242be2fb4812ea5095ef26377
2017-04-12 05:38:50 -05:00
Tom Houlé
f88800313a servo: Merge #16229 - style: Do not immediately convert absolute specified lengths (from tomhoule:fix-lengths); r=emilio
<!-- Please describe your changes on the following line: -->

This PR aims to solve issue #15729. I tried to follow the recommendations there as much as possible.

This is my first attempt at contributing to Servo, so this will probably need a lot of input, although I'm eager to make it as polished as possible.

- The base inaccuracy issue seems solved, as can be easily verified with the `console.log` based example in the issue.
- Very basic unit tests were added.

I have doubts mainly about the right way to represent these new enum variants for the various length units:

1. With new enum variants in `NoCalcLength` *and* newtypes (current solution)
2. With a `NoCalcLength::Absolute` variant that contains a new `AbsoluteLength` enum, but without newtypes
3. Same as solution 2 but with newtypes

- I mostly cared about unit tests until now but will investigate other types of tests
- Tests to check the clamping
- Write a proper commit message

Thanks for your time and feedback :)

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: c8cd70f333d41864ff7bf7dce84301509c71d1d6
2017-04-12 01:16:32 -05:00
Keith Yeung
0baeb993db servo: Merge #16325 - Fix formdata-blob.htm (from KiChjang:fix-formdata-wpt); r=cbrewster
The other failure is a legitimate WPT bug, will fix upstream.

Source-Repo: https://github.com/servo/servo
Source-Revision: 638e1dc40bc70c3c0d9cd2efdaef852fdb371382
2017-04-10 09:27:01 -05:00
J. Ryan Stinnett
a795218deb servo: Merge #16315 - Stylo: @page support (from jryans:at-page-stylo); r=xidorn
Reviewed by upsuper in https://bugzilla.mozilla.org/show_bug.cgi?id=1345206.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: 80f6160580477d5ca984071eeeef26866be5c68e
2017-04-09 21:47:59 -05:00
Emilio Cobos Álvarez
43200e34ed servo: Merge #16293 - style: Refactor the selectors crate to remove ad-hoc logic (from emilio:refactor-selectors); r=bholley
Also refactors a lot of the restyle hint code to use these new hooks, and removes a lot of hacks in servo that shouldn't be needed because of correct handling of restyles due to attribute changes.

I just smoketested this, so going for a full try run now.

Source-Repo: https://github.com/servo/servo
Source-Revision: 949931ec0caa20b9f38a12863f610da562950b90
2017-04-09 05:17:55 -05:00
Anthony Ramine
b7ae6ba202 servo: Merge #16288 - Kill ResourceGroup (from nox:net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8f2ceb41dd1a039f1d0150dcb1c4e2ba6b22afa2
2017-04-07 05:53:31 -05:00
SendilKumar N
17f5661fb5 servo: Merge #15904 - making image element areas good at finding areas (from sendilkumarn:image-area); 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
- [x] These changes fix #15884

Source-Repo: https://github.com/servo/servo
Source-Revision: c12b17d276df5e6960358b33b9c9ff2fc414e083
2017-04-05 08:49:22 -05:00
Sumit
5b52b7579e servo: Merge #16268 - Basic MutationObserver interface stubs (from jdm:tmp); r=jdm
Rebase and squash of https://github.com/servo/servo/pull/16190.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e2a1477ae800b86eae45fc9c6daf85615100854
2017-04-05 01:56:16 -05:00
mckaymatt
347a7c7d89 servo: Merge #16234 - Add as_void_ptr helper method to &T (from mckaymatt:as_void_ptr_helper_method_15252); r=jdm
<!-- Please describe your changes on the following line: -->
r? @jdm
issue https://github.com/servo/servo/issues/15252
The primary goal of this PR is to add add a generic trait method that returns a void ptr.

In addition to that change, I made the casting explicit in `components/script/dom/bindings/callback.rs`  and `components/script/dom/promise.rs`. I did not use the new trait method because `AddRawValueRoot` is not looking for a `c_void`. It's looking for `std::os::raw::c_char`.
```rust
pub fn AddRawValueRoot(cx: *mut JSContext, vp: *mut Value,
                                          name: *const ::std::os::raw::c_char) -> bool;
```
So I replace the `as *const _ ` with a more specific cast.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because
 This seems like code cleanup. It shouldn't change behaviour.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 8d8fea0b4bf323be42eff3ad5624ce33892fb6df
2017-04-04 18:12:31 -05:00
Simon Sapin
bf0f7c964d servo: Merge #16246 - Revert to per-process shared lock for author-origin stylesheets (from servo:revert-per-doc); r=jdm
Fixes https://github.com/servo/servo/issues/16097
Reopens https://github.com/servo/servo/issues/16027

Source-Repo: https://github.com/servo/servo
Source-Revision: b6b6608ca3a46113bb488e4da835b4ee743299fd
2017-04-03 16:16:07 -05:00
Anthony Ramine
59dd2e1fee servo: Merge #16214 - Improve the net crate (from nox:net); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: c31ee6e300d9c0eb1e5671abba14f0584a910460
2017-04-03 07:47:38 -05:00
Xidorn Quan
8844613a88 servo: Merge #16241 - Stop passing url as string into Servo side (from upsuper:bug1352763-bug1352025); r=Manishearth,emilio
This is the Servo side changes of [bug 1352763](https://bugzilla.mozilla.org/show_bug.cgi?id=1352763) and [bug 1352025](https://bugzilla.mozilla.org/show_bug.cgi?id=1352025) which have been reviewed on Bugzilla.

Source-Repo: https://github.com/servo/servo
Source-Revision: 679b41893782663f7a2294cdf94dcedcf1337f98
2017-04-03 07:05:42 -05:00
Simon Sapin
aa7e1030b3 servo: Merge #16224 - Make the parser accept @font-face rules without font-family or src (from servo:valid-fontface); r=upsuper
Fix #16165.

Also, it turns out that the CSSFontFaceRule IDL specified in the css-fonts spec is not web-compatible. Instead browsers implement a .style attribute like in CSSStyleRule: https://github.com/w3c/csswg-drafts/issues/825

This in turn requires preserving data about which descriptors were set or not (distinguishing unset from set to a value that happens to be the initial value), so this commit also makes every field `Option<_>`.

Source-Repo: https://github.com/servo/servo
Source-Revision: fac0d17fd6edf996876d6e6379e48ef4f9cb43d6
2017-04-03 03:53:09 -05:00
ddh
f4513cce0d servo: Merge #15868 - Update Hyper and OpenSSL (from servo:hyper); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 82b0d5ad54d94a29f595d59cbb37dcbab5d5a5c8
2017-03-31 11:46:09 -05:00
Ying-Ruei Liang(KK)
940f61d613 servo: Merge #16170 - Implement HTMLAnchorElement.rel getter and setter (from TheKK:implement_html_anchor_element_rel); r=jdm
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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2e743c2c56d7841ed9135e72581bf7db5e1092b5
2017-03-30 17:25:31 -05:00
Fernando Jiménez Moreno
d3da68494b servo: Merge #16184 - Terminate timer scheduler thread during shutdown (from ferjm:issue-16153-terminate-time-scheduler-shutdown); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #16153

Source-Repo: https://github.com/servo/servo
Source-Revision: a3d968833ba3653dd2b91f67adeb6c3faa1a256c
2017-03-30 07:31:02 -05:00
Xidorn Quan
4f43b83d45 servo: Merge #16187 - Implement access to CSSFontFaceRule for stylo (from upsuper:bug1345696); r=Manishearth,heycam
This is the Servo part of [bug 1345696](https://bugzilla.mozilla.org/show_bug.cgi?id=1345696) which has been reviewed on Bugzilla.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2084ee29c40291c9abf9b0922e05f0663b215333
2017-03-29 20:50:47 -05:00
Simon Sapin
bb86b5e599 servo: Merge #16183 - Replace ParsedDeclaration::expand with non-generic method (from servo:expand-diet); r=emilio
... to reduce its code size impact.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: f3a5ad2f497a13aff0faf7873ce98f0868e56101
2017-03-29 13:43:06 -05:00
Fernando Jiménez Moreno
ee5075ddeb servo: Merge #16048 - Make image cache per-document rather than global (from ferjm:issue-15701-image-cache); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15701.
- [X] These changes do not require new tests because there should already be WPTs for image loads.

Source-Repo: https://github.com/servo/servo
Source-Revision: c85a02b14431ce775024d8a8dae9d3e727dedfc4
2017-03-27 13:50:46 -07:00
Emilio Cobos Álvarez
34ec538705 servo: Merge #16144 - style: Make numbers keep track of whether they were specified as calc() (from emilio:number-calc); r=heycam
Fixes #15960

Source-Repo: https://github.com/servo/servo
Source-Revision: b6bc49225e31b7c1e3f9cc3be660bb37afe33a95
2017-03-27 06:13:39 -07:00
Anthony Ramine
6a1e0d43c6 servo: Merge #16137 - Replace use of rustc_serialize::base64 by base64 (from nox:die-rustc-serialize-die); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: d992442dc6bb0b0c006b516c36ef4c6664e6b74c
2017-03-26 12:23:17 -07:00
Anthony Ramine
0c1fb35457 servo: Merge #16139 - Update rustc to 1.17.0-nightly (7dd4e2db7 2017-03-26) (from servo:rustup); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f2a4e01b1c989f86a7a80af5ffe16ec93c34809
2017-03-26 11:36:51 -07:00
Anthony Ramine
019e46e7e3 servo: Merge #16131 - Use NetworkConnector directly to account for replaced hosts (from nox:tungstenite); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1105100c3beb9cff3a71677937269ecc523f2924
2017-03-26 10:17:16 -07:00
Anthony Ramine
0d48d9525d servo: Merge #16114 - Only pass the protocol in use in to establish a WS connection (from nox:tungstenite); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: bfd2aab71e61d4d71a42211e16789cf3a13c914c
2017-03-24 03:10:50 -07:00
Anthony Ramine
2b360f83d2 servo: Merge #16099 - Properly follow the spec in WebSocket::Constructor (from nox:tungstenite); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 189b0d9094a8448aedd778ae2aac538a3a9e4871
2017-03-24 01:46:14 -07:00
Bobby Holley
e0221b84fc servo: Merge #16092 - Handle URLs more efficiently in stylo (from bholley:specified_urls); r=emilio
Approved in https://bugzilla.mozilla.org/show_bug.cgi?id=1347435

Source-Repo: https://github.com/servo/servo
Source-Revision: d4d8293f22aaa4a310abc818c26464abceab894f
2017-03-22 19:13:07 -07:00
Imanol Fernandez
aebfe32bef servo: Merge #16083 - Fix WebVR data race condition when calling GetFrameData outside of VRDisplay.requestAnimationFrame callback (from MortimerGoro:display_raf_check); r=emilio
<!-- Please describe your changes on the following line: -->
Fix WebVR data race condition when calling GetFrameData outside of VRDisplay.requestAnimationFrame callback. Fixes a possible deadlock during the interval when the requestAnimationFrame is moved from window to VRDisplay.

---
<!-- 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 _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 851cef4a2b53ce1cc8dad7a86b1946509ff96210
2017-03-22 15:03:04 -07:00
Emilio Cobos Álvarez
b96bb79541 servo: Merge #16077 - Bug 1345950: stylo: Fix slow selector flags. r=bholley (from emilio:slow-flags); r=bholley
Source-Repo: https://github.com/servo/servo
Source-Revision: 545f8744126157d273158c5404d07fb09621d3ea
2017-03-22 03:23:51 -07:00
Gregory Terzian
6570ce3d13 servo: Merge #15519 - implement structured clone callbacks - support Blob cloning (from gterzian:implement_structuredclone_callbacks); r=jdm
<!-- Please describe your changes on the following line: -->
1. Implement stubs for structured clone callbacks.
2. Support Blob cloning.

Partial implementation of https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm

---
<!-- 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 #15021 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7be9f0e7c4f16c5626180c3a6b07abdecea408fe
2017-03-21 21:17:25 -07:00
Lucjan Suski
910ab3f184 servo: Merge #16061 - Use servo_config::opts only on linux target (from methyl:master); r=Manishearth
It's not used for other architectures and triggers warnings.

<!-- 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 #16058
- [x] These changes do not require tests because it's purely refactoring task

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f6cf2e9c883d919b35d952f47d6bb1670f21def
2017-03-21 10:18:25 -07:00
Lucjan Suski
6e4af16136 servo: Merge #16051 - Make ImageData::new return Fallible instead of unwrapping a result (from methyl:master); r=jdm
Instead of unwrapping `new_with_jsobject` result, `ImageData::new` will just pass the error along.

It required tweaking `canvasrenderingcontext2d` as it no longer needs to assume the result is `Ok`.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because this is small and purely refactoring change

Source-Repo: https://github.com/servo/servo
Source-Revision: 22d40e3680ef9c237d56736012ec73c2e31abfc5
2017-03-20 13:25:20 -07:00
Manish Goregaokar
4251772b2a servo: Merge #16016 - Add separate specified value for keyword font sizes (from Manishearth:graft-font-size); r=upsuper
In Gecko, these keywords compute to different values depending on the
font.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 50fd39f068fe5a4a018bb4e7a602f50f10590524
2017-03-20 00:28:46 -07:00
Simon Sapin
f1c7cf2486 servo: Merge #16033 - Per-document shared lock for author-origin stylesheets (from servo:per-document-locks); r=emilio
Fix #16027

Source-Repo: https://github.com/servo/servo
Source-Revision: 8d25dcb8b5f83728987171fe7a5b4905df741e58
2017-03-19 18:22:23 -07:00
Simon Sapin
80dfe1b881 servo: Merge #16014 - Per-process lock for CSSOM objects (from servo:style-ref); r=emilio
<!-- Please describe your changes on the following line: -->

Before this PR, every object reflected in CSSOM is in `Arc<RwLock<_>>` to enable safe (synchronized) mutable aliasing. Acquiring all these locks has significant cost during selector matching:

* https://bugzilla.mozilla.org/show_bug.cgi?id=1311469
* https://bugzilla.mozilla.org/show_bug.cgi?id=1335941
* https://bugzilla.mozilla.org/show_bug.cgi?id=1339703

This PR introduce a mechanism to protect many objects with the same `RwLock` that only needs to be acquired once.

In Stylo, there is one such lock per process (in a `lazy_static`), used for everything.

I non-Stylo Servo, I originally intended to have one such lock per document (for author-origin stylesheets, and one per process for user-agent and user sytlesheets since they’re shared across documents, and never mutated anyway). However I failed to have the same document-specific (or pipeline-specific) `Arc` reachable from both `Document` nodes and `LayoutThread`. Recursively following callers lead me to include this `Arc` in `UnprivilegedPipelineContent`, but that needs to be serializable. So there is a second process-wide lock.

This was previously #15998, closed accidentally.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: bb54f0a429de0e8b8861f8071b6cf82f73622664
2017-03-19 14:31:19 -07:00
Bobby Holley
9cf05de86e servo: Merge #16015 - Box more specified values to bring SpecifiedValue/PropertyDeclaration sizes down to 24/32 bytes (from bholley:box_more_properties); r=Manishearth
I think these properties are generally rare enough that they're not worth adding 8 bytes of memmove overhead on every PropertyDeclaration. There are a _lot_ of 24-byte properties though, so I think that's probably a good sustainable level.

Source-Repo: https://github.com/servo/servo
Source-Revision: ae1a7cc7b8079491c2140d694467113dcc1f44a6
2017-03-17 22:19:51 -07:00
Alan Jeffrey
407cf3e44a servo: Merge #15799 - Implement dissimilar-origin window.parent and window.top (from asajeffrey:script-window-xorigin-parent); r=nox
<!-- Please describe your changes on the following line: -->

This PR implements `window.parent` and `window.top` for dissimilar-origin windows.

This PR builds on #15536, only the last commit is part of this PR.

---
<!-- 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 #14996 and fix #11660.
- [X] These changes do not require tests because there's already a parentage test in `mozilla/cross-origin-objects/cross-origin-objects.html`.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 0a3b373a6ae4fdd68ab9d2a7386733ab0bdebe4b
2017-03-17 09:18:38 -07:00
Anthony Ramine
065f27b190 servo: Merge #16010 - Properly coalesce whitespace when given a reference child (fixes #15979) (from nox:h5e); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 32784c5fa8f30f007a45122dae5ae16d06d1733d
2017-03-17 04:25:20 -07:00