Commit graph

10897 commits

Author SHA1 Message Date
Michael Wu
b7301ca06c Fix some warnings caused by the SM upgrade 2015-06-19 22:07:08 -04:00
bors-servo
e7808c526c Auto merge of #6150 - servo:smupgrade3, r=mbrubeck
Upgrade to Spidermonkey 39

> 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

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6150)
<!-- Reviewable:end -->
2015-06-19 16:46:55 -06:00
Michael Wu
675267b782 Upgrade to SM 39 2015-06-19 18:42:48 -04:00
bors-servo
a256f39796 Auto merge of #6424 - glennw:update-gleam, r=metajack
Update gleam to 0.1.1



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6424)
<!-- Reviewable:end -->
2015-06-18 21:57:55 -06:00
Glenn Watson
edbe89a079 Update gleam to 0.1.1 2015-06-19 13:53:13 +10:00
bors-servo
4ebb95ccd8 Auto merge of #6423 - ecoal95:euclid, r=glennw
Use euclid from crates.io

Sorry for not doing it yesterday, I couldn't.

cc @metajack @SimonSapin

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6423)
<!-- Reviewable:end -->
2015-06-18 20:50:22 -06:00
bors-servo
1926123e51 Auto merge of #6426 - glennw:disable-tests, r=larsbergstrom
Disable two css tests that are consistently failing on mac as well as linux.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6426)
<!-- Reviewable:end -->
2015-06-18 19:54:17 -06:00
Glenn Watson
4665db8eea Disable two css tests that are consistently failing on mac as well as linux. 2015-06-19 10:56:44 +10:00
ecoal95
8cbfb3482c Use euclid from crates.io 2015-06-19 00:04:24 +02:00
bors-servo
7355bf1061 Auto merge of #6412 - metajack:cleanup-dupe-gleam, r=glennw
Remove duplicate package



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6412)
<!-- Reviewable:end -->
2015-06-17 21:56:38 -06:00
bors-servo
5dc546b4cf Auto merge of #6411 - metajack:fix-script-out-dir, r=glennw
Don't generate pyc files.

This eliminates the last bit of script crate generating in-tree
files. This now allows cargo target dir sharing to fully work.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6411)
<!-- Reviewable:end -->
2015-06-17 21:18:42 -06:00
bors-servo
fd44db2190 Auto merge of #6403 - glennw:fix-outline-width, r=SimonSapin
Fix computed value of outline width when outline style is not set.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6403)
<!-- Reviewable:end -->
2015-06-17 20:29:44 -06:00
Glenn Watson
229dfbd117 Fix computed value of outline width when outline style is not set. 2015-06-18 12:13:14 +10:00
Jack Moffitt
eae411885c Don't generate pyc files.
This eliminates the last bit of script crate generating in-tree
files. This now allows cargo target dir sharing to fully work.
2015-06-17 18:43:08 -06:00
bors-servo
ff59e1b8de Auto merge of #6408 - metajack:script-outdir, r=SimonSapin
Generate code into OUT_DIR.

This is necessary to ensure Cargo knows when to rebuild. Normally
.gitignore would be enough to exclude these from Cargo's freshness
calculation, but https://github.com/rust-lang/cargo/issues/1729 prevents
this currently. This is the new, correct way to do these thigns, just
like the style crate does.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6408)
<!-- Reviewable:end -->
2015-06-17 16:36:05 -06:00
Jack Moffitt
07d95627ca Generate code into OUT_DIR.
This is necessary to ensure Cargo knows when to rebuild. Normally
.gitignore would be enough to exclude these from Cargo's freshness
calculation, but https://github.com/rust-lang/cargo/issues/1729 prevents
this currently. This is the new, correct way to do these thigns, just
like the style crate does.
2015-06-17 16:18:22 -06:00
Jack Moffitt
c33fd78207 Remove duplicate package 2015-06-17 16:17:52 -06:00
bors-servo
e1b28d893e Auto merge of #6402 - hyowon:canvas_fill_stroke, r=pcwalton
Fill and stroke for all pattern types and check the zero size gradient.

Depends on servo/rust-azure#170 which has been already merged.
So this patch contains the update of rust-azure.
r? @nox
cc @yichoi

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6402)
<!-- Reviewable:end -->
2015-06-17 13:32:25 -06:00
bors-servo
ee54c89e3f Auto merge of #6401 - jgraham:load_timeout, r=metajack
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6401)
<!-- Reviewable:end -->
2015-06-17 10:16:27 -06:00
Hyowon Kim
2e230bdb93 Implement fill and stroke functions for all pattern types and check the zero size gradient. 2015-06-17 09:46:38 +09:00
James Graham
22c06307b8 Implement timeout for url load from WebDriver. 2015-06-17 00:25:23 +01:00
bors-servo
ee22ae2635 Auto merge of #6398 - jgraham:wptrunner_upgrade_servodriver, r=Ms2ger
Fixes issue with servodriver

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6398)
<!-- Reviewable:end -->
2015-06-16 08:41:16 -06:00
bors-servo
48e1d45bff Auto merge of #6355 - hyowon:drawing_shadows, r=nox
https://html.spec.whatwg.org/multipage/#when-shadows-are-drawn
r? @nox 
cc @mmatyas @yichoi

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6355)
<!-- Reviewable:end -->
2015-06-16 05:30:20 -06:00
James Graham
fa058760b7 Upgrade to latest wptrunner.
Fixes issue with servodriver
2015-06-16 10:14:04 +01:00
bors-servo
a5d76e4b2c Auto merge of #6397 - servo:ws-connect, r=Ms2ger
Make an early return when the WebSocket connection fails in the constructor.
Also let the WebSocket connection to be closed when the connection could
not be established.

Fixes #6082.
2015-06-16 01:47:10 -06:00
Jinwoo Song
7781f331d3 WebSocket constructor should not panic
Make an early return when the WebSocket connection fails in the constructor.
Also let the WebSocket connection to be closed when the connection could
not be established.

Fixes #6082.
2015-06-16 09:45:42 +02:00
bors-servo
4435e6f42a Auto merge of #6396 - SimonSapin:crates.io-html5ever, r=Ms2ger
r? @metajack

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6396)
<!-- Reviewable:end -->
2015-06-16 00:42:36 -06:00
Hyowon Kim
465cea8db5 Implement drawing shadows in canvas. 2015-06-16 08:57:00 +09:00
Simon Sapin
0229de822b Use string-cache from crates.io 2015-06-16 00:27:50 +02:00
Simon Sapin
dc1db5187e Use html5ever from crates.io 2015-06-16 00:18:20 +02:00
bors-servo
5d89235c56 Auto merge of #6395 - SimonSapin:crates.io-cgl-gleam, r=metajack
r? @metajack

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6395)
<!-- Reviewable:end -->
2015-06-15 15:08:43 -06:00
Simon Sapin
a80a12e41e Use cgl and gleam from crates.io 2015-06-15 23:00:33 +02:00
bors-servo
d6263c9b6e Auto merge of #6306 - metajack:shared-target-dir, r=mbrubeck
This speeds up `./mach build --dev` followed by `./mach build-cef` by
25%. When rust-lang/cargo#497 is fixed, this speedup will increase
dramatically.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6306)
<!-- Reviewable:end -->
2015-06-15 13:08:14 -06:00
bors-servo
bb39e835f1 Auto merge of #6393 - Ms2ger:cef-string-multimap, r=jdm
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6393)
<!-- Reviewable:end -->
2015-06-15 12:25:11 -06:00
Jack Moffitt
a0237085c6 Use Cargo's target directory sharing.
This speeds up `./mach build --dev` followed by `./mach build-cef` by a
large amount, and also speeds up other build combos found in our CI.
2015-06-15 11:48:47 -06:00
bors-servo
f8e3f92813 Auto merge of #6358 - Ms2ger:ws-tests, r=jgraham
Second try.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6358)
<!-- Reviewable:end -->
2015-06-15 11:42:16 -06:00
bors-servo
67b121c0b8 Auto merge of #6377 - servo:rustup_20140614, r=SimonSapin
See #6376

r? @Ms2ger

Snaps don't exist yet, putting up the @larsbergstrom signal. The snap need not exactly match this commit, anything in the vicinity, or just master, should work really. (yay stability)


There's no particular reason behind this rustup except that I want to keep Servo running on almost-master as much as possible.


<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6377)
<!-- Reviewable:end -->
2015-06-15 10:33:14 -06:00
Ms2ger
6ee8a1e476 Use pop() better in cef_string_multimap_clear. 2015-06-15 18:09:40 +02:00
Ms2ger
ccc38ef5a1 Use the Box/boxed APIs to handle cef_string_multimap_t memory management. 2015-06-15 18:09:38 +02:00
Ms2ger
cb2f7c7496 Make cef_string_multimap_t an alias for its real type. 2015-06-15 18:09:36 +02:00
Ms2ger
477bfa3675 Remove the SCHEME_AND_DOMAIN constant.
All its users are connecting to port 80, which is not typically under the
control of the wpt server.
2015-06-15 17:29:29 +02:00
bors-servo
91cae11931 Auto merge of #6388 - SimonSapin:from_str, r=Ms2ger
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6388)
<!-- Reviewable:end -->
2015-06-15 09:23:22 -06:00
bors-servo
5c6fec956f Auto merge of #6387 - Ms2ger:disable-cE, r=jgraham
It crashes, but that's not always detected properly.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6387)
<!-- Reviewable:end -->
2015-06-15 08:42:54 -06:00
Simon Sapin
5428226e04 Remove usage of String::from_str, deprecated in #6377 2015-06-15 15:37:14 +02:00
Ms2ger
2001c18ac9 Disable Document-createElement-namespace.html.
It crashes, but that's not always detected properly.
2015-06-15 15:17:35 +02:00
Ms2ger
e8d691aa03 Don't try to connect to "ws://"+location.host+"/" in WebSocket tests.
This will connect on port 80, which is not typically under the control of the
wpt server.
2015-06-14 20:38:04 +02:00
bors-servo
24af4c4ec6 Auto merge of #6378 - Ms2ger:callable, r=nox
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6378)
<!-- Reviewable:end -->
2015-06-14 12:17:21 -06:00
Ms2ger
5cc130727f Test that the exception doesn't get lost in acceptNode.
And it turns out that it does get lost. I have no idea where, but I suspect it
is in SpiderMonkey somewhere. I hope the SpiderMonkey upgrade will fix it.
2015-06-14 20:08:32 +02:00
Ms2ger
90a7ef1571 Throw a TypeError when get_callable_property encounters a value that isn't callable. 2015-06-14 20:08:26 +02:00
Ms2ger
0607cd3fb5 Return Fallible from get_callable_property. 2015-06-14 20:08:06 +02:00