Commit Graph

701 Commits

Author SHA1 Message Date
Aaron Cunningham
c4c63c006e servo: Merge #16598 - Fix various build warnings (from aacunningham:fix-build-errors); r=jdm
This removes six separate warnings when building servo. One of
the warnings was an unused mut, and the other were various dead code
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 #16584 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they address warnings from the build process

<!-- 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: f3c1bbe0700806ef2def3b0c5ce0dde4eba107ea
2017-04-25 01:02:56 -05:00
coalman
de7526ae83 servo: Merge #16495 - Make tidy check that opening and closing braces that begin a line do … (from coalman:tidy-brace-alignment); r=emilio
…so with proper alignment.

---
<!-- 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 #16486 (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: 195100f3cac99b979e25157eb437e63bd3262e6f
2017-04-19 03:06:31 -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
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
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
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
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
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
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
SendilKumar N
58efc80267 servo: Merge #15833 - removing mutHeapJs references (from sendilkumarn:mut-js-heap); r=nox
<!-- 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 #15316

Source-Repo: https://github.com/servo/servo
Source-Revision: b66839367c40bf2557c721cd964feb91d5cf3287
2017-03-07 01:40:39 -08:00
SendilKumar N
bda75c83a5 servo: Merge #15797 - ext. filtering for lang matching (from sendilkumarn:lang-algo); r=KiChjang
<!-- Please describe your changes on the following line: -->
This adds the extended algorithm to check the lang. This is my very first encounter with`rust`.
Open to learn.
---
<!-- 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 #15746

Source-Repo: https://github.com/servo/servo
Source-Revision: 312797fa904a7659393af47d4c7e036ea5b34b27
2017-03-06 18:55:02 -08:00
Anthony Ramine
6fd1ea43cc servo: Merge #15715 - Make #[dom_struct] a proc_macro attribute (from nox:custom-derive); r=SimonSapin
The rustup is needed for https://github.com/rust-lang/rust/pull/40039.

Source-Repo: https://github.com/servo/servo
Source-Revision: a204c4176dcccdad8ec99d74055c66794c3f64ba
2017-02-24 05:56:30 -08:00
Josh Matthews
114db65a69 servo: Merge #14962 - Remove network requests from image cache thread (from jdm:image_script_load); r=Ms2ger,glennw,emilio
The design of initiating network requests from the image cache thread was simple, but it makes it difficult to implement image loading that conforms to the HTML specification. These changes make the implementation of HTMLImageElement responsible for network requests for `<img>` elements, and CSS-based images (background-image, bullets, etc.) are requested by the script thread to ensure that the layout thread does not attempt to retain unsafe pointers to DOM nodes during asynchronous operations.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #7708
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 854d720b21dda68034233a25385c4f2564a4a2d5
2017-02-22 17:50:48 -08:00
Connor Brewster
a2ecca5cf6 servo: Merge #15438 - Add ImmutableOrigin to allow for serializing origins (from asajeffrey:url-serializable-origin); r=jdm
<!-- Please describe your changes on the following line: -->

This PR adds a serializable type `ImmutableOrigin` and a non-serializable type `MutableOrigin`. The immutable type represents an origin with `null` domain, and the mutable type represents an origin with a mutable domain. This separation is needed for implementing setting `document.domain`.

---
<!-- 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 #14892.
- [X] These changes do not require tests because it's a refactoring which will enable other features.

<!-- 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: 78e8c31a4d1890260dda83f2db85672f693c1e97
2017-02-22 09:46:27 -08:00
Gregory Katz
4da92a2f6f servo: Merge #15659 - Eliminate a mem::transmute in CodeGen (from gregkatz:eliminate_transmute_find_enum); r=Ms2ger
<!-- Please describe your changes on the following line: -->
Eliminate a mem::transmute in CodeGen by changing the find_enum_string_index function to take a slice of pairs and return an enum value.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] 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: af6353df87770c6d616facdc07f9f929e99b9eda
2017-02-21 04:28:32 -08:00
Ms2ger
b7657e4deb servo: Merge #15585 - Simplify CGConstant (from servo:CGConstant); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: e52eb2a5e378f1f234431cd621fbee277c71f908
2017-02-20 04:12:08 -08:00
Ian
65184b81b5 servo: Merge #15650 - Remove ArrayBufferViewContents trait (from Greeene:rm_array_buffer_contents_trait); r=SimonSapin
<!-- Please describe your changes on the following line: -->
Removed ArrayBufferViewContents trait and dependent uses.

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

<!-- Either: -->
- [ x ] These changes do not require tests because it's just unused trait and @jdm said, "No need for automated tests; if the build succeeds, it's good enough for a PR."

<!-- 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: 82d05a046d69cef76a4c5106c1ce6adff2aae093
2017-02-19 20:26:31 -08:00
Ms2ger
c99b98ea03 servo: Merge #15589 - Use RootedTraceableBox for unions (from servo:RootedTraceable-union); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 28698dc8ba0501d3c7783e46ad3201cab5730d0b
2017-02-19 05:56:01 -08:00
Gregory Katz
c62e3e1a9c servo: Merge #15590 - Adds an as_str() method to WebIDL enums to hide slice of strings (from gregkatz:webidl-enum-as-str); r=Ms2ger
<!-- Please describe your changes on the following line: -->
This PR adds an `as_str()` method to WebIDL enums to hide slice of strings from callers. It uses the new method in two places. It also eliminates a to_string() call that seemed unnecessary to me.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because github issue says no tests needed.

<!-- 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: 05623b36a15b594bbc690fcd8e3b642995618de1
2017-02-16 09:15:15 -08:00
Ms2ger
fee58f794f servo: Merge #15544 - Root dictionaries that contain any or object (from servo:RootedTraceable-dict); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 0cc6d3e99781394b76ad2725661ae8f6bb895f7b
2017-02-16 02:03:54 -08:00
Anthony Ramine
fe9a902c1f servo: Merge #15567 - Replace inheritance_integrity by trait shenanigans (from nox:plugin); r=SimonSapin
Replace inheritance_integrity by trait shenanigans

Source-Repo: https://github.com/servo/servo
Source-Revision: 84a44a401424852bc44ef5e751e84544ed892e70
2017-02-15 20:49:47 -08:00
Anthony Ramine
7d44caef18 servo: Merge #15545 - Kill some more plugins (from nox:plugin); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 9702d6920a7cf6506fa26c042eb4b9f7cd061713
2017-02-15 01:24:39 -08:00
Zakor Gyula
12efa26e3a servo: Merge #15314 - Permissions API and WebBluetooth integration (from szeged:permissions-api); r=jdm
<!-- 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: a537cf48b18d9bba3453b924a4453f5e19dea4ed
2017-02-14 08:09:22 -08:00
Anthony Ramine
72b7af9cf6 servo: Merge #15543 - Derive DomObject with a proc macro (from nox:plugin); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 2af79b82f293749a12a02c72fe7d3b7815e464f9
2017-02-14 05:57:32 -08:00
Anthony Ramine
1a056e0edb servo: Merge #15515 - Remove rustc-serialize from range (from nox:rustc-serialize); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 89dcbec0ba95eaabb7bf4e5da62a6e7de89feed2
2017-02-12 04:55:40 -08:00
deror1869107
dcd490dd43 servo: Merge #15427 - Remove slice_to_array_buffer_view and update_array_buffer_view (from deror1869107:rewrite-webvr); r=jdm
<!-- Please describe your changes on the following line: -->
Remove slice_to_array_buffer_view and update_array_buffer_view

---
<!-- 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 #15350
- [X] These changes do not require tests

<!-- 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: 1ab3c34dd937ab36ce6bf56e70f09f823c240fe0
2017-02-11 08:04:15 -08:00
Josh Matthews
47869171ce servo: Merge #15352 - Rewrite WebGLRenderingContext to use typed array APIs (from jdm:Rewrite-WebGLRenderingContext-to-use-typed-array-APIs); r=jdm
Rewrite WebGLRenderingContext to use typed array APIs. Based on #15267.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14676
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 62ddc627c899c317ec66d8faec78c0cee186bc38
2017-02-10 13:57:35 -08:00
Bobby Holley
3fcc873d0e servo: Merge #15462 - Accumulate parent elements that need selector bits set on the ThreadLocalStyleContext (from bholley:accumulate_selector_flags); r=emilio
Discussion and review in https://bugzilla.mozilla.org/show_bug.cgi?id=1336646

Source-Repo: https://github.com/servo/servo
Source-Revision: cbfd4464270f8690b90b9b96c395523a3a39e2de
2017-02-08 19:33:27 -08:00
Ms2ger
13f5ed6d3a servo: Merge #15453 - Inline unwrapCastableObject into its only caller (from servo:unwrapCastableObject); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 6d1d4b57838d930e6ce39be720ef6c6dbb74af26
2017-02-08 06:38:44 -08:00
Ms2ger
1544faeca1 servo: Merge #15451 - Improve code around typedefs (from servo:typedefs); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: e1a004ee7a0b5838be148a4a82f4afa0f473301f
2017-02-08 04:18:44 -08:00
Ms2ger
3c70cdb9f4 servo: Merge #15421 - Properly root expando objects (from servo:get_expando_object); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: c124c0252019cdce675be6cf4a91e667b4977263
2017-02-07 02:45:17 -08:00
Anthony Ramine
66ba1d8435 servo: Merge #15303 - Implement document.open and document.close (from nox:open-your-heart-to-eternal-dimension); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fa60ce62b8770c4658518e4fe66dbb529b9ffd5f
2017-02-03 10:53:46 -08:00
Josh Matthews
22c551f228 servo: Merge #15189 - Implement microtask checkpoints (from jdm:microtasks); r=nox
This generalizes the work previously done for Promise job callbacks. There is now a microtask queue that correctly processes all queued microtasks after each turn of the event loop, as well as after a scripted callback finishes executing, and after a classic script executes.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #4283
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: cbcafd18f4cb5973948b081b4c104d99735e2789
2017-02-03 07:53:17 -08:00
Ms2ger
d57c385284 servo: Merge #15327 - Add a missing newline in wrap_panic() calls (from servo:missing-newline-wrap-panic); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bac2f68b541139702ac4347310cffe369f1bbb85
2017-02-01 06:25:40 -08:00
Ms2ger
accdaeb671 servo: Merge #15326 - Root the arguments to callback functions (from servo:root-callback-args); r=nox
Note that this relies on the fact that Heap<JSVal> and JSVal are binary
compatible.

Fixes #15324.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4524bb2bda02e6cf84347ef5a152c9c242d95408
2017-02-01 05:31:22 -08:00
Ms2ger
af2ae89259 servo: Merge #15315 - Improve the readability of dictionaries' new() method (from servo:reformat-dict); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ec9da4d2763bad2df96757d3f8f2666b9d0507f2
2017-01-31 07:41:43 -08:00
Alan Jeffrey
c1586c2a52 servo: Merge #14971 - Constellation informs script about documents becoming inactive, active or fully active (from asajeffrey:script-track-active-documents); r=cbrewster
<!-- Please describe your changes on the following line: -->

This PR replaces the current freeze/thaw mechanism by messages from the constellation to script informing it about when documents become inactive, active or fully active.

This means we can now implement |Document::is_active()| which is used in |document.write|.

This PR also changes how timers work: previously they were initialized running, and were then frozen/thawed. This means there was a transitory period when timers were running even though the document was not fully active. With this PR, timers are initially suspended, and are only resumed when the document is made fully active.

---
<!-- 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 #14876
- [X] These changes do not require tests because it's an interal refactoring.

<!-- 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: b5c94bad371114ab9f03e910f66c00a042997fc2
2017-01-27 16:30:37 -08:00
Josh Matthews
86960b88e1 servo: Merge #15118 - Use Heap instead of UnsafeCell in DOM reflectors (from jdm:reflector-barrier-crash); r=Ms2ger
The previous `Reflector` implementation did not use post barriers, so we could crash when storing nursery objects in a `Reflector` structure that were later moved out of the nursery.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15085
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 023a9c55ec84413b9c097c4963f5c3e1b4885eb9
2017-01-24 14:11:50 -08:00
Ms2ger
74cad50d6b servo: Merge #15127 - Privatize RootedTraceableSet (from servo:RootedTraceableSet); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 5cd04259334270daa93743aaa6a72c039082bf5e
2017-01-20 10:17:38 -08:00
Simon Sapin
08c51a0a19 servo: Merge #15099 - Remove usage of phf_macros (from servo:phf-no-macros); r=jdm
It’s a compiler plugin that uses unstable compiler APIs that are not on a path to stabilization.

With this changes, there is one less thing that might break when we update the compiler. For example: https://github.com/sfackler/rust-phf/pull/101

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

Source-Repo: https://github.com/servo/servo
Source-Revision: eade32ed16569806a849e74a395d92a2dbd980a0
2017-01-20 08:59:26 -08:00
Ms2ger
d09f779cde servo: Merge #15125 - Support dictionaries in unions (from servo:unions-dictionaries); r=nox
Fixes #11612.

Source-Repo: https://github.com/servo/servo
Source-Revision: be3f35878af1d9210abc65358c99782c119ceaa6
2017-01-20 07:08:09 -08:00
Ms2ger
cf30bbbb29 servo: Merge #15108 - Don't try to get the global of an object while it's being destroyed (from servo:callbackobject-drop); r=KiChjang
Fixes #15070.
Fixes #15097.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c816a2e9dfe3eb6952fd61f5a96cf26668ad9c8
2017-01-19 03:05:17 -08:00
Dexter Haslem
2b7ded1db9 servo: Merge #15107 - convert less interesting debug! logs to traces (from DexterHaslem:15100-convert-debug-to-traces); r=cbrewster
<!-- Please describe your changes on the following line: -->
converted some debug! invocations to trace!

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because only logging changed

<!-- 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: b8df502491b880cb942badee4ddbf7ec65b174fb
2017-01-18 21:29:59 -08:00
Ms2ger
c081b2ce4b servo: Merge #14936 - Implement the incumbent global (from servo:incumbent-global); r=jdm
Fixes #10963.

Source-Repo: https://github.com/servo/servo
Source-Revision: 463a8bbdb63ba37db788d577517ed6b9e689fb0e
2017-01-17 04:45:29 -08:00
Josh Matthews
3eec64c22c servo: Merge #14994 - Make WebIDL callbacks permanently rooted (from jdm:callback_rooting); r=Manishearth,Ms2ger
This replicates the same model that Promise uses right now, because it requires less thinking than coming up with something else.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14447
- [ ] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: e891277dd5a52bc3a2b76dfd78da9b82b4c11b40
2017-01-16 10:16:44 -08:00
Ms2ger
2cd353671d servo: Merge #14984 - Remove unused needsRooting field from JSToNativeConversionInfo (from servo:needsRooting); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 6e26197c069d8dc3e186e48e5a04ed6298b43066
2017-01-12 08:43:06 -08:00
Anthony Ramine
f33a8acdaa servo: Merge #14959 - Introduce PendingScript (from nox:pending-script); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: d1bc1a4f1b66ab9f63fa37f649eaf79035e12f8e
2017-01-11 09:37:23 -08:00
Ms2ger
6be3df7c11 servo: Merge #14925 - Some cleanup around JS callbacks (from servo:callback); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b0a6808956cd861ab5435a6d2a698aa6f5bf096d
2017-01-09 21:09:57 -08:00
Simon Sapin
58eede8f63 servo: Merge #14789 - Support @supports (from Manishearth:supports); r=SimonSapin
fixes #14786

cc @heycam @upsuper
r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 50bba770d6073bba6e6e219dbc3687087a864a42
2017-01-09 10:54:38 -08:00
Imanol Fernandez
0dd62e4907 servo: Merge #14618 - WebVR API Implementation (from MortimerGoro:webvr_api); r=larsbergstrom,emilio,jdm,nox,asajeffrey,cvan
<!-- 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

Source-Repo: https://github.com/servo/servo
Source-Revision: 518ef39cfd429082dd8dc0d5b13e2db637d08a53
2017-01-09 06:39:45 -08:00