Commit Graph

55 Commits

Author SHA1 Message Date
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
Alan Jeffrey
c9f3ef23e6 servo: Merge #15536 - Implement setter for document.domain (from asajeffrey:script-document-domain-setter); r=nox
<!-- Please describe your changes on the following line: -->

This PR implements the setter for `document.domain`.

It builds on #15438 and #15478, only the last commit is part of this PR.

It includes tests for similar-origin security checks.

---
<!-- 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 #934.
- [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: e600e0495ce4ab0f1bb798689f8ebeab84258ec3
2017-03-15 08:35:41 -07:00
Corey Farwell
ce98bea9e9 servo: Merge #14526 - Attempt at refactoring and simplifying 'set cookies' operations on resource thread (from frewsxcv:cookies); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bde8dce756902b1b3ad2cff4a5b5bed1f3325852
2016-12-15 15:54:39 -08:00
Pu Xingyu
7ab4cef83c servo: Merge #13418 - Make document url mutable and implement location.replace() (from stshine:location-replace); r=KiChjang
<!-- 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 #13413 (github issue number if applicable).

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 72e4c6dc21c132d49cf0a5f68a3ba45d16cc8322
2016-11-20 02:27:54 -06:00
Emilio Cobos Álvarez
592972be51 servo: Merge #14246 - Urlmageddon (from emilio:servo-url); r=SimonSapin
<!-- Please describe your changes on the following line: -->

Still needs a bunch of code in net to be converted in order to get more
advantage of this for images and stuff, but meanwhile this should help quite a
bit with #13778.

Still wanted to get this in.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 22aebdf5d41a3509cd6515ccf5edcdf33715a76d
2016-11-17 15:34:47 -06:00
Alan Jeffrey
e836c6df38 servo: Merge #14013 - Script thread with no root document (from asajeffrey:script-thread-no-root-document); r=jdm
<!-- Please describe your changes on the following line: -->

This PR removes the single root document from the script thread, and replaces it by a lookup table from `PipelineId`s to `Document`s. This is needed if we're going to share script threads, as per #633.

The last commit is the one that matters, the ones before are #13646.

cc @jdm @Ms2ger @ConnorGBrewster
---
<!-- 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 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: d1b7f19410cb882280287b482bd7178a6eb529b1
2016-11-08 11:31:33 -06:00
Anthony Ramine
e5bfcb23c0 servo: Merge #13596 - Get rid of dom::bindings::global (from nox:inline); r=Ms2ger
Globals in that PR are now represented by the fake IDL interface `GlobalScope`.

Source-Repo: https://github.com/servo/servo
Source-Revision: a6e4b5bb86ad707a0863acff87344ca4239cfd2c
2016-10-07 07:52:09 -05:00
Anthony Ramine
7d200bb697 servo: Merge #13554 - Some cleanups related to globals (from nox:cleanup-global); r=<try>
Source-Repo: https://github.com/servo/servo
Source-Revision: 522734de22ddbbc256cad94d1f07a8149e6e58fa
2016-10-03 04:48:13 -05:00
Aneesh Agrawal
ef256065f3 servo: Merge #11698 - Excise SubpageId and use only PipelineIds (from aneeshusa:remove-subpage-id); r=notriddle
<!-- Please describe your changes on the following line: -->

SubpageId was originally introduced in 2013 to help iframes keep track of
their associated (children) pipelines. However, since each pipeline
already has a PipelineId, and those are unique, those are sufficient
to keep track of children.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because 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: 161e0741cd4942d337b8d0fca2e0eaa86482ad9a
2016-09-14 01:45:56 -05:00
UK992
a6ebcb8483 servo: Merge #13205 - Tidy: Fix ordering use statements with braces (from UK992:tidy-sort); r=Wafflespeanut
This hack fixes https://github.com/servo/servo/issues/7412 and matches behavior with rustfmt.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3117787fd2a8b7748cfde1e9b8c5be3c00f2c599
2016-09-08 22:19:19 -05:00
Guillaume Gomez
3b5bcdfd59 servo: Merge #12954 - Update rust-mozjs (from GuillaumeGomez:dictionary_error); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 3c4a08c016c0fd62496bcc7ffdbe850ce8813ccd
2016-08-24 06:19:37 -05:00
Anthony Ramine
6bb66d30be servo: Merge #12828 - Update serde to 0.8 (fixes #12659) (from nox:serde); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 9abe9e450b54ef9151bbee1aa0bd2dedb685fa7a
2016-08-12 12:23:10 -05:00
David Raifaizen
a6c0194614 servo: Merge #11791 - Pipeline lookup in webdriver (from craftytrickster:11712/pipeline-lookup); r=asajeffrey
Fixes #11712

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

Removed a method that seemed to duplicate already existing functionality, and returned BrowsingContextErrors in the web_handler file where panics were previously occurring.

I am not sure if I like all the unwrapping that occurs in the script thread, but the current methods are not set up to return Option/Result.

Also, should line the method on line 37 `find_node_by_unique_id` of components/script/webdriver_handlers.rs return None if the context is not found like I have it currently? Or should it return a `Result<Option...>` instead?

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because I simply removed a method that duplicated already existing functionality. On the other part, I added better error sending instead of forcing a panic, which does not require testing to my knowledge.

<!-- 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: a94b92f8c4f3e3edbc8db7c106fe2b6d3a5d82ae
2016-07-26 00:44:28 -05:00
Ms2ger
dbbc05930b servo: Merge #12216 - Move some types from msg to script_traits (from servo:msg); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 181261004d3b217605cb2d8fbdc00ad0785532ba
2016-07-05 00:58:51 -07:00
Travis Dean
6324c89567 servo: Merge #12243 - Add style check and test for else braces (from TravisDean:else-brace-check); r=ConnorGBrewster
<!-- Please describe your changes on the following line: -->
Added a regex check to enforce project style guidelines. Added unit check. Catches:
```
}
else {
```
when it should be
`} else {`

---
<!-- 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 (no core files changed)
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #12234 (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: e21b47c2cc14897380a8c4ef2dfa650b1dd48ab5
2016-07-04 16:52:19 -07:00
Eduard Burtescu
8567ba029a servo: Merge #11872 - Replace return_address usage for rooting with stack guards and convenience macros (from eddyb:back-to-roots); r=Ms2ger
The existing `Rooted` and `RootedVec` users were migrated the the following two macros:
```rust
let x = Rooted::new(cx, value);
// Was changed to:
rooted!(in(cx) let x = value);
// Which expands to:
let mut __root = Rooted::new_unrooted(value);
let x = RootedGuard::new(cx, &mut __root);
```
```rust
let mut v = RootedVec::new();
v.extend(iterator);
// Was changed to:
rooted_vec!(let v <- iterator);
// Which expands to:
let mut __root = RootableVec::new();
let v = RootedVec::new(&mut __root, iterator);
```

The `rooted!` macro depends on servo/rust-mozjs#272.
These APIs based on two types, a container to be rooted and a rooting guard, allow implementing both `Rooted`-style rooting and `Traceable`-based rooting in stable Rust, without abusing `return_address`.

Such macros may have been tried before, but in 1.9 their hygiene is broken, they work only since 1.10.

Sadly, `Rooted` is a FFI type and completely exposed, so I cannot prevent anyone from creating their own, although all fields but the value get overwritten by `RootedGuard::new` anyway.
`RootableVec` OTOH is *guaranteed* to be empty when not rooted, which makes it harmless AFAICT.

By fixing rust-lang/rust#34227, this PR enables Servo to build with `-Zorbit`.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix rust-lang/rust#34227
- [x] These changes do not require tests because they are not functional changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 80cb0cf8214fd52d2884724614c40cb278ee7575
2016-07-04 11:03:35 -07:00
Dan Robertson
d6c8ce05ba servo: Merge #10826 - Add webdriver commands for (Get|Add)Cookie (from danlrobertson:cookies); r=asajeffrey
Add the webdriver commands for GetCookie and AddCookie. In addition the basic messages for sending cookie data back and forth from the resource thread needed to be created and the handlers for those messages were created as well.

Do we plan to have some sort of test suite for the webdriver at some point? At this point I primarily test my PRs with basic shell scripts with a lot of `curl` and `jq`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 054bb381e94b82fad4e502bc0f3229f39195c713
2016-06-26 03:19:14 -05:00
Jansen Jan
43ed3596b4 servo: Merge #11214 - Support WindowProxy return values in bindings (from farodin91:windowproxy); r=jdm
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 --faster` does not report any errors
- [x] These changes fix #10965 (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: 08a55e29511a2b26b7ae26ebb0b9271f80e2a7bd
2016-06-10 10:53:35 -05:00
Anthony Ramine
97f77949b0 servo: Merge #11326 - Move DOMString back to script (from nox:non-geckolib); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 6abcd793d780369767385b01b02ee725d6b10585
2016-05-24 02:07:29 -07:00
Alan Jeffrey
219197876b servo: Merge #11179 - Implemented webdriver SetWindowSize (from asajeffrey:webdriver-resize-window); r=jgraham
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 #10467 (github issue number if applicable).

Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because the new tests are in https://github.com/w3c/web-platform-tests/pull/3024

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: 2063bde0a4dc512494e6548a036448ded3056762
2016-05-23 02:53:48 -07:00
Connor Brewster
b6ddd108e7 servo: Merge #11044 - Combine Page into BrowsingContext (from cbrewster:page_to_browsing_context); r=jdm
Fixes #11031.

`Page` and `BrowsingContext` have similar use cases and we decided it would be best to join the two.

This is the ground work for actually using session history in the `BrowsingContext` to implement the History API.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 685dc99e3ef9cf6c88487704709dc13a26812889
2016-05-11 20:53:02 -07:00
Corey Farwell
8984d142d5 servo: Merge #10514 - Various 'element.rs' cleanup (from frewsxcv:element-cleanup); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 5aa62b3621f4793c559f6c7eb77e06259b0a00ea
2016-04-11 08:57:11 +05:00
Corey Farwell
bf93a96c1f servo: Merge #10327 - Remove get_* on getters as per RFC 0344 (from frewsxcv:get-prefix); r=ms2ger
https://github.com/rust-lang/rfcs/blob/master/text/0344-conventions-galore.md#gettersetter-apis

https://github.com/servo/servo/issues/6224

Source-Repo: https://github.com/servo/servo
Source-Revision: 0760e56bb66e38a16543ed24385c29fd7c4a034b
2016-04-02 13:49:39 +05:00
Daniel Robertson
c432d7ce78 servo: Merge #9708 - Implement GetElementRect webdriver command: #8623 (from danlrobertson:i8623); r=KiChjang
Implement the webdriver Get Element Rect command. Originally I wrote out the algorithm for [Step 7](https://w3c.github.io/webdriver/webdriver-spec.html#dfn-calculate-the-absolute-position) and then I found `GetBoundingClientRect`, and i thought it was probably best to use it instead.

As always, feedback is very welcomed!

Source-Repo: https://github.com/servo/servo
Source-Revision: e5f3c5b6d1f09f1d86e63b1d37ab3d02f19a3be3
2016-02-25 05:19:03 +05:00
rohan.prinja
c098aafd20 servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm
for #8512

Source-Repo: https://github.com/servo/servo
Source-Revision: d3e2f94f2024f4735f836588ed11303a0abafdf8
2016-01-10 15:19:04 +05:00
Johannes Linke
bb6c128359 servo: Merge #9123 - Fix a bunch of clippy lints (from karyon:clippy_cleanup); r=Manishearth
This fixes about 130 clippy lints. Let me know if i should split up the commit.

I wasn't sure about some of the changes, especially map_or instead of map(...).unwrap_or(...) and if let instead of single arm match were not always a strict improvement in my opinion, but i'll leave that decision to the reviewer :)

There are about 150 lints left which i thought were clippy bugs or i didn't know how to fix.

cc @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 9da739acefc7d1776bf727c8bf782eb79f241028
2016-01-03 08:46:34 +05:00
David Raifaizen
7a2123f7f4 servo: Merge #8661 - Webdriver - GetWindowSize/IsEnabled/IsSelected (from craftytrickster:8623/some-webdriver-commands); r=jgraham
Added handlers for https://github.com/servo/servo/issues/8623:
GetWindowSize
IsEnabled(WebElement)
IsSelected(WebElement)

I am not sure how to actually verify my webdriver code works, if someone can give advice I would make the necessary changes.

Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: a877a56e0e603c6cc8e9f951c2ad14b6fe8f9b62
2015-11-30 03:12:54 +05:00
James Graham
3b9162b3e1 servo: Merge #8621 - Add support for getting an element's computed style through WebDriver (from jgraham:webdriver_css); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 585d2d5c8c4e59be20ab9660dab75fc55438e247
2015-11-21 10:39:50 +05:00
James Graham
8492872b76 servo: Merge #8564 - Implement Get Element Attribute WebDriver command (from jgraham:webdriver_attr); r=Ms2ger
This intentionally doesn't implement the special handling for boolean
attributes yet, since that requires some kind of exhaustive list of all
such attributes

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f95693288eac546b7b31a51a6fcf80883ae533b
2015-11-19 22:46:25 +05:00
James Graham
8bd4d04d48 servo: Merge #8151 - Implement support for WebDriver send keys command (from jgraham:webdriver_sendkeys); r=jgraham
Supports sending keys to an element. The specification here is still
rather unfinished so the error handling and so on in this code will
need iteration as it becomes clearer what the expected behaviour is.

Source-Repo: https://github.com/servo/servo
Source-Revision: afe03870ce1a5a65b4c22f2e64155259da8b4609
2015-11-17 10:32:50 +05:00
Alan Jeffrey
128ce4b968 servo: Merge #8477 - Opaque DOMString (from asajeffrey:opaque-domstring); r=asajeffrey
This patch makes DOMString an opaque wrapper round String (currently it's a transparent wrapper).

The changes are:

* Replacing DOMString(foo) by DOMString::from(foo).
* Replacing foo.0 by String::from(foo).
* Adding functions clear, push_str and extend for in-place mutation of DOMStrings.
* Replacing DOMString by String in other threads (devtools, storage and filereader).
* Making DOMString implement !Send.
* Removing the pub attribute from the contents of DOMString.

This enables experimenting with other string representations in the DOM.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62acdd303b78951885c2c90747b31f318907d6c9
2015-11-13 06:47:30 +05:00
Ms2ger
30837e1d9b servo: Merge #8428 - Update js (from Ms2ger:conversions); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: b40882093a306032d38ad02e30f0095e0a49ec21
2015-11-13 00:43:52 +05:00
Ms2ger
9ee6885f3c servo: Merge #8312 - Make DOMString a newtype around String, rather than a typedef (from Ms2ger:DOMString); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: abfd1fb1bf071961bc8a581927eaa96a2d3e2cba
2015-11-04 16:17:41 +05:00
David Zbarsky
97e45a8d2e servo: Merge #8305 - Get rid of a bunch of explicit derefs (from dzbarsky:roots); r=Ms2ger,
Source-Repo: https://github.com/servo/servo
Source-Revision: 4b9fa13f2f6a1aa38d180367426498f01f6414c9
2015-11-04 10:33:54 +05:00
rohan.prinja
f3c30d6ffd servo: Merge #8221 - move modules around (from ajnirp:8130-reorganise); r=jdm
for #8130

Source-Repo: https://github.com/servo/servo
Source-Revision: daad09d44245228fba9118316937add71bec7c58
2015-11-04 02:26:02 +05:00
Ms2ger
d7ec52bd66 servo: Merge #8267 - Various improvements (from Ms2ger:cleanup); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 1dfc0481efd4687658ab34e68c883caeadd8b20f
2015-10-30 23:25:34 +05:00
Anthony Ramine
db09beb657 servo: Merge #8041 - Introduce trait Castable (from nox:castable); r=jdm
Removes all those messy FooCast structures in InheritTypes.rs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 674589c370d978f543e71f995d58c5b28e6e9842
2015-10-21 07:57:32 -06:00
Glenn Watson
ec6aeca836 servo: Merge #8009 - Remove webdriver use of SubpageId (from glennw:webdriver-subpage); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ac733746094c2ab1c3e5a3326095032206e5fb86
2015-10-14 18:05:17 -06:00
Patrick Walton
0582e9c404 servo: Merge #7736 - Less ambitious optimize set property (from pcwalton:less-ambitious-optimize-set-property); r=Ms2ger
Splitting the parts that have r+ out of #6823.

Source-Repo: https://github.com/servo/servo
Source-Revision: d7b875170956f3a26b46e49d3d5c990fa4acc974
2015-09-24 19:57:40 -06:00
Ravi Shankar
62e8ea2732 servo: Merge #7698 - sorted the declarations in various files (from Wafflespeanut:sorting); r=frewsxcv
This is a direct extract from my abandoned PR for a lint (#7546), along with some rather clumsy modifications (only on `components/script/dom/mod.rs` and `components/style/lib.rs`), because I had to sort some of the files again to make peace with tidy, which hasn't been educated about sorting yet!

Source-Repo: https://github.com/servo/servo
Source-Revision: a7208869f2903e36f9b2f540b55b50283d7df466
2015-09-23 15:02:56 -06:00
Brandon Fairchild
704178a0dd servo: Merge #7662 - Check for multiple import blocks separated by whitespace (from nerith:import); r=frewsxcv
Fixes #7381.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0d3c9223f09757124b1520c4f17e94fa8bbe249
2015-09-19 13:34:51 -06:00
Anthony Ramine
fa8c26b4c5 servo: Merge #7401 - Remove helper traits (from nox:rm-helpers); r=Manishearth
Now that `JSRef<T>` is gone, there is no need to have helper traits.

Source-Repo: https://github.com/servo/servo
Source-Revision: 909429702972d53bf02dfe9a4aa93ea0cb588cf4
2015-08-27 09:38:48 -06:00
Johann Tuffe
25ce9ab4be servo: Merge #7265 - Add alphabetical order check for use statements (from tafia:tidy-use); r=Ms2ger
close #7112

Source-Repo: https://github.com/servo/servo
Source-Revision: a5fbb2f2a6fa79755f975feff2435abb6a5dd0e9
2015-08-20 07:43:56 -06:00
Christopher Hotchkiss
70c1538b8d servo: Merge #6742 - Added support for int32 to webdriver (from chotchki:accept_int32); r=jdm
Fix for issue #6729

Source-Repo: https://github.com/servo/servo
Source-Revision: ee07e7110d045eb6411ba101d2373318b5ab4f17
2015-07-25 07:50:26 -06:00
James Graham
0db2c15184 servo: Merge #6392 - Implement support for Get URL and Refresh in WebDriver server (from jgraham:webdriver_get_url_refresh); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 93a0c29ad4531880b359b96cc5e086af2d30f71c
2015-07-19 15:03:36 -06:00
Patrick Walton
c301520dae servo: Merge #6593 - compositing: Make the constellation messages serializable (from pcwalton:constellation-ipc); r=jdm
Same idea as before. This depends on:

* https://github.com/servo/euclid/pull/94
* https://github.com/hyperium/hyper/pull/603

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f4bdc6ad631dc56b64622e3390943b59270b3ae
2015-07-18 07:43:24 -06:00
Michael Wu
ae3ff6be00 servo: Merge #6150 - Upgrade to Spidermonkey 39 (from servo:smupgrade3); r=mbrubeck
> Here it is.
>
> ~~There's two major things that are unfinished here:~~
> - ~~Dealing with the unroot_must_root lint. I'm not sure about the value of this lint with the new rooting API.~~ Done.
> - ~~Updating the Cargo.locks to point to the new SM and SM binding.~~ Done.
>
> I also included my fixes for the rust update, but these will disappear in a rebase. A rust update is necessary to support calling `Drop` on `Heap<T>` correctly when `Heap<T>` is inside a `Rc<T>`. Otherwise `&self` points to the wrong location.
>
> Incremental GC is disabled here. I'm not sure how to deal with the incremental barriers so that's left for later.
>
> Generational GC works. SM doesn't work without it.
>
> The biggest change here is to the rooting API. `Root` was made movable, and `Temporary` and `JSRef` was removed. Movable `Root`s means there's no need for `Temporary`, and `JSRef`s aren't needed generally since it can be assumed that being able to obtain a reference to a dom object means it's already rooted. References have their lifetime bound to the Roots that provided them. DOM objects that haven't passed through `reflect_dom_object` don't need to be rooted, and DOM objects that have passed through `reflect_dom_object` can't be obtained without being rooted through `native_from_reflector_jsmanaged` or `JS::<T>::root()`.
>
> Support for `Heap<T>` ended up messier than I expected. It's split into two commits, but only because it's a bit difficult to fold them together. Supporting `Heap<T>` properly requires that that `Heap::<T>::set()` be called on something that won't move. I removed the Copy and Clone trait from `Heap<T>` so `Cell` can't hold `Heap<T>` - only `UnsafeCell` can hold it.
>
> `CallbackObject` is a bit tricky - I moved all callbacks into `Rc<T>` in order to make sure that the pointer inside to a `*mut JSObject` doesn't move. This is necessary for supporting `Heap<T>`.
>
> `RootedCollectionSet` is very general purpose now. Anything with `JSTraceable` can be rooted by `RootedCollectionSet`/`RootedTraceable`. Right now, `RootedTraceable` is only used to hold down dom objects before they're fully attached to their reflector. I had to make a custom mechanism to dispatch the trace call - couldn't figure out how to get trait objects working for this case.
>
> This has been tested with the following zeal settings:
>
> GC after every allocation
> JS_GC_ZEAL=2,1
>
> GC after every 100 allocations (important for catching use-after-free bugs)
> JS_GC_ZEAL=2,100
>
> Verify pre barriers
> JS_GC_ZEAL=4,1
>
> Verify post barriers
> JS_GC_ZEAL=11,1

Source-Repo: https://github.com/servo/servo
Source-Revision: e7808c526c348fea5e3b48af70b7f1a066652097
2015-06-19 16:46:55 -06:00
James Graham
5a4e5f29a4 servo: Merge #6009 - Add support for switching frames with the webdriver API (from jgraham:webdriver_frames); r=jdm
This moves webdriver_traits into msg to avoid a circular dependency.

Source-Repo: https://github.com/servo/servo
Source-Revision: d08995e1a94fa093b7fc1e5d918d9dca79f260d6
2015-06-01 17:30:37 -05:00
Corey Farwell
3d43073796 servo: Merge #6174 - Reduce max line length from 150 to 120 characters (from frewsxcv:cleanup-long-lines); r=SimonSapin
Part of https://github.com/servo/servo/issues/6041

Source-Repo: https://github.com/servo/servo
Source-Revision: 542519ebfd073662bc9421ac5fa0aa01ebc0d6fe
2015-05-24 18:27:26 -05:00
James Graham
771e23db73 servo: Merge #6022 - Add enough execute_async_script support to webdriver that we can run web-platform-tests (from jgraham:webdriver_execute_async_script); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b05c3fc0c063e32168a9630dc2a0e8adc9285dae
2015-05-14 05:02:27 -05:00