Commit Graph

766 Commits

Author SHA1 Message Date
David Winslow
8d2daacb18 servo: Merge #6529 - Refactor #[jstraceable] to #[derive(JSTraceable)] (from dwins:master); r=Manishearth
fixes #6524.  I had to make an additional change not mentioned in the ticket - adding the `#[feature]` to enable deriving custom traits but I assume that's expected at this time.

Source-Repo: https://github.com/servo/servo
Source-Revision: bbb39082e0f640400546d2084a450a8675820a82
2015-07-01 18:27:40 -06:00
Matt Brubeck
6c5ac4a1a6 servo: Merge #6528 - Reduce dependencies of the util crate (from mbrubeck:util_deps); r=Ms2ger
Because almost all our main crates depend on util, we should keep its dependencies minimal to increase parallelism and reduce the amount of stuff rebuilt when upstream crates are changed.

Source-Repo: https://github.com/servo/servo
Source-Revision: fc1e427ff9bb0e9891053ec1eba292530ebbe91a
2015-07-01 07:54:15 -06:00
Yoav Alon
342e25ba42 servo: Merge #6434 - Added support for mouseover and mouseout events (from yoava333:mouseover); r=nox
fixes issue https://github.com/servo/servo/issues/6404

Source-Repo: https://github.com/servo/servo
Source-Revision: 9897125b34762f4756bc40aa43fa2e51b1ef5fa4
2015-06-30 20:05:06 -06:00
Michael Wu
6d4aff6132 servo: Merge #6523 - Auto-derive JSTraceable and Reflectable for ServoHTMLParser (from michaelwu:autoderive-servohtmlparser); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 52f2c4dc5e5aff426c1743e69b24612e3128bdfa
2015-06-30 08:45:39 -06:00
Michael Wu
bc6e5e3805 servo: Merge #6516 - Add JSAutoRequest/JSAutoCompartment to HTMLIFrameElement (from michaelwu:fix-mozbrowser); r=glennw
Fixes https://github.com/servo/servo/issues/6515

Source-Repo: https://github.com/servo/servo
Source-Revision: 836463b9e03f441aaf213ff48c99d50d8c1be5a5
2015-06-29 17:05:18 -06:00
Corey Farwell
2035aa40c6 servo: Merge #6512 - Prefer HTTPS when linking to GitHub Pages (from frewsxcv:https-github-pages); r=SimonSapin
This commit was generated using the following commands:

```
find . -iname "*.webidl" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)github.io/https:\1github.io/g'
```

```
find . -iname "*.rs" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)github.io/https:\1github.io/g'
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 342ea7a44b26f9cc701b2a10757c4ac0aec93aeb
2015-06-29 00:41:00 -06:00
Ms2ger
ae80df7a2c servo: Merge #6507 - Fix a bug in Node::pre_insert (from Ms2ger:node-insert); r=Manishearth
It was accidentally broken in 3ce368fa289bc4c6d09b23357350a37b861013f9.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6f25ecea3f3c1fc86c188447df18645ae6ea26f9
2015-06-28 14:01:47 -06:00
Ms2ger
7832ac765e servo: Merge #6499 - Stop using position_elem (from Ms2ger:slice_position_elem); r=nox
It is unstable and not really better than the stable alternative.

Source-Repo: https://github.com/servo/servo
Source-Revision: 46709edaf839eb77893eef3f4d01c568c46c98fe
2015-06-27 15:51:35 -06:00
Ms2ger
c6c08acdd8 servo: Merge #6500 - Remove unused imports (from Ms2ger:warnings); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: dab4e73ee73a21e07ad73ec211b919a746a45624
2015-06-27 11:38:34 -06:00
Mukilan Thiyagarajan
dd026a4cb4 servo: Merge #6496 - CGImports must consider special operations to generate required 'use' items (from mukilan:fix_import_codegen); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: b7923547a77a2d887805ba67f688d297e34647c1
2015-06-27 07:51:37 -06:00
Michael Wu
4936ec5f7e servo: Merge #6491 - Remove unnecessary uses of MutHeap (from michaelwu:mutable); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: b73eca160cc5d35faf422a946ec1d0812af89d6e
2015-06-26 20:36:04 -06:00
Ms2ger
a46a556414 servo: Merge #6477 - Stop using Vec::from_raw_buf (from Ms2ger:vec_from_raw_buf); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: aed11dc22c5b56081ddae8f5be29a22afcb488c8
2015-06-26 16:01:23 -06:00
Simon Sapin
58dd9da612 servo: Merge #6468 - Update rust-selectors (from servo:update-selectors); r=Ms2ger
r? @Ms2ger

https://github.com/servo/rust-selectors/pull/33

Source-Repo: https://github.com/servo/servo
Source-Revision: c331db1623719774c3ead554bcdca0b9c02d90fe
2015-06-26 14:50:01 -06:00
Ms2ger
43b4ab4f6a servo: Merge #6469 - Use Rc::get_mut rather than deprecated rc::get_mut (from Ms2ger:rc-mut); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: ef97879c273e9eed3b4dece07813c2d4e6eb2c38
2015-06-26 09:26:55 -06:00
Ms2ger
1a4a806add servo: Merge #6464 - Use Box::into_raw rather than boxed::into_raw (from Ms2ger:into_raw); r=saneyuki
The latter is deprecated.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9eb3cc2a241dff4df57d644fa5257fcf3a52325f
2015-06-26 04:50:54 -06:00
Simon Sapin
e8246f3e73 servo: Merge #6465 - Update to zero-copy* HTML parsing (from servo:tendril); r=pcwalton
html5ever now uses the Tendril string type to minimize copying internally, but Servo still converts from/to `String` at the boundary (which involves copying).

Source-Repo: https://github.com/servo/servo
Source-Revision: 2165c55d645f59ef413f09c2b023d511bc8c402e
2015-06-25 23:12:09 -06:00
Michael Wu
a94f6fcdb6 servo: Merge #6460 - Fix indentation in testbindingproxy.rs (from michaelwu:fix-indentation); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: ea06bebca9fab485485ce60bd3f464bc64bf1c36
2015-06-25 13:30:46 -06:00
Joel Teichroeb
d61c9a2ce4 servo: Merge #6110 - Implement Named constructors and the Image constructor for HTMLImageElement (from klusark:NamedConstructor); r=Ms2ger
I'm not sure if I like how I mostly just duplicated the code in CodegenRust.py, so that might need to be refactored.

Instead of just calling it Image, we might want to call it ConstructorImage, to make it clear that it's a constructor. Anyone have an opinion on that?

There seems to be a bug in the HTMLImageElement getter/setter as the value is 0 regardless of what I do. This seems to be unrelated to my commits, so I'll investigate that separately.

Source-Repo: https://github.com/servo/servo
Source-Revision: 57cc84b2935c429c92774649275625a7fd63973c
2015-06-25 02:18:06 -06:00
Corey Farwell
a7e166e455 servo: Merge #6458 - Remove unused js::JS_ARGV import in script component (from frewsxcv:unused-import); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 4c9afb2756e7f82f77a66cca3e8cd83462fcd661
2015-06-25 00:56:48 -06:00
Glenn Watson
dacabce3eb servo: Merge #6457 - Trigger reflow after requestAnimationFrame callbacks (from glennw:raf-reflow); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 6889f5fb4ec618a949c1308ce58099e7fc139d44
2015-06-24 13:51:15 -06:00
Anthony Ramine
9928b9752a servo: Merge #6223 - Merge generic funs to share them across all bindings (fixes #2684) (from nox:merge-generic-functions); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 6247a96761279979412fb49fa4fbca2fd9a82e1b
2015-06-24 03:54:56 -06:00
Ms2ger
cbc764953c servo: Merge #6443 - Various layout cleanup (from Ms2ger:cleanup-layout); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 469b9550f6feec56d87ea5c772cb76453c13036a
2015-06-24 03:00:32 -06:00
Hyowon Kim
9a7ac66ce1 servo: Merge #6410 - Create pattern from HTMLCanvasElement or CanvasRenderingContext2D (from hyowon:create_pattern); r=pcwalton
r? @nox @pcwalton
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: 95d643c995a271fac11ab3d9aac97f2d0aac8934
2015-06-24 00:39:48 -06:00
Ms2ger
3fbcc4168b servo: Merge #6446 - Fix some warnings (from Ms2ger:warnings); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: e4412be1b6c0bd5284b2e177b527a3140053f39c
2015-06-23 14:09:23 -06:00
Glenn Watson
d905323231 servo: Merge #6425 - Implement enough of 3d transforms spec to run the CSS FPS demo (from glennw:3d-transforms); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: dcb1237bb5deb84cdf921bf7b145b07eb2bd1430
2015-06-23 12:13:25 -06:00
Maciej Skrzypkowski
60ab3d178e servo: Merge #6405 - Refactoring, return an Atom from Element::parsed_name. #5774 (from mskrzypkows:element_parsed_name_refactor); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: e869e8ad08526bbbfffd390b52e423f58b8269f1
2015-06-23 03:17:46 -06:00
Simon Sapin
1024deb134 servo: Merge #6427 - Update rust-selectors (from servo:selector-traits-refactor); r=Ms2ger
https://github.com/servo/rust-selectors/pull/30

r? @Ms2ger

This conflicts with the SpiderMonkey upgrade #6150. I’m happy to wait until that lands and rebase.

Source-Repo: https://github.com/servo/servo
Source-Revision: c119b59e82269a84925673236dd896101f27a6f3
2015-06-21 11:12:07 -06:00
Anthony Ramine
953ec79e3a servo: Merge #6371 - Implement URL and trivially missing URLUtils members (from nox:url); r=Ms2ger
Fixes #6322.

Still no mutation whatsoever in URLUtils.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c784ceeea39014cdc79bb4c7f614948cc8beda1
2015-06-21 10:22:06 -06:00
Ms2ger
8561cc104b servo: Merge #6437 - Implement AttrHelpersForLayout for LayoutJS<Attr> rather than Attr itself (from Ms2ger:AttrHelpersForLayout); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: bf64e2765aeb88611e781abeae4360f69a3a6caa
2015-06-21 08:31:04 -06:00
Hyowon Kim
815b7b762a servo: Merge #6413 - Check invalid values for the shadow attributes (from hyowon:invalid_shadow_attrs); r=Ms2ger
I left out checking invalid values when setting the shadows attributes.
r? @nox @pcwalton
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: 02303941bef5f5bbdbec750ab0dfa0b77f32345a
2015-06-20 06:44:08 -06:00
Michael Wu
bf93cc17b7 servo: Merge #6433 - Fix some warnings caused by the SM upgrade (from michaelwu:fix-smup-warnings); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 72ead882c08fbd66d59457efd1ebf86ee4ee97f2
2015-06-19 20:56:29 -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
ecoal95
87b4c78bcf servo: Merge #6423 - Use euclid from crates.io (from emilio:euclid); r=glennw
Sorry for not doing it yesterday, I couldn't.

cc @metajack @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 4ebb95ccd8e034007eacb447a054919ef4af2bf7
2015-06-18 20:50:22 -06:00
Jack Moffitt
ed7664058c servo: Merge #6408 - Generate code into OUT_DIR (from metajack:script-outdir); r=SimonSapin
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: ff59e1b8de67f1988522d6b6e6c4adda957fad5b
2015-06-17 16:36:05 -06:00
Jinwoo Song
1f5277170f servo: Merge #6397 - WebSocket constructor should not panic (from 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.

Source-Repo: https://github.com/servo/servo
Source-Revision: a5d76e4b2c6ae8e2db82fc5156ad1bebf7961f80
2015-06-16 01:47:10 -06:00
Manish Goregaokar
837d2bbaea servo: Merge #6377 - Upgrade to rustc 1.2.0-nightly (6e7fcc44a 2015-06-13) (from 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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 67b121c0b82f4a2107d7b015f60bd025e04dc336
2015-06-15 10:33:14 -06:00
Simon Sapin
f635437677 servo: Merge #6388 - Remove usage of String::from_str, deprecated in #6377 (from SimonSapin:from_str); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 91cae119311064cab7f20ff898c1d885054907b5
2015-06-15 09:23:22 -06:00
Ms2ger
44f0df267d servo: Merge #6378 - TreeWalker-acceptNode-filter.html fixes (from Ms2ger:callable); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 24af4c4ec638b0484c8acacdf7cb9acb87da24ff
2015-06-14 12:17:21 -06:00
Ms2ger
750bc64737 servo: Merge #6325 - Use str::parse() rather than FromStr::from_str (from Ms2ger:from_str); r=nox
The former appears to be preferred.

Source-Repo: https://github.com/servo/servo
Source-Revision: db2eb36e19581eee83247160bbb03e2a671d0479
2015-06-14 03:55:56 -06:00
ecoal95
b22942fcaa servo: Merge #6357 - Add missing WebGL interfaces, and a few gl calls (from emilio:more-webgl); r=pcwalton
See the commit descriptions for more details.

Blocked on https://github.com/servo/gleam/pull/24

Source-Repo: https://github.com/servo/servo
Source-Revision: ceaca2e2885be89d47553090a45cf9048812e3b4
2015-06-13 15:05:08 -06:00
Corey Farwell
06b50698fa servo: Merge #6349 - rust-geom API changes (from frewsxcv:geom-api-changes); r=pcwalton
Shouldn't be merged until these have merged:

https://github.com/servo/rust-geom/pull/81

https://github.com/ecoal95/rust-offscreen-rendering-context/pull/13

https://github.com/servo/rust-layers/pull/178

~~I'll also need to update the Cargo lock files once they merge~~

Source-Repo: https://github.com/servo/servo
Source-Revision: cfcd8589d06935f83b903f76477ea03e4d4652d0
2015-06-13 13:52:07 -06:00
Hyowon Kim
8d57bfce14 servo: Merge #6157 - Implement pattern fill style for canvas (from hyowon:canvas_pattern_fill); r=nox
Issue #6056
Depends on servo/rust-azure#160

Source-Repo: https://github.com/servo/servo
Source-Revision: 9474e62d38f61f2b3a385ca32d64cab975b014ce
2015-06-13 01:49:50 -06:00
Patrick Walton
2a3312826c servo: Merge #6308 - script: Make PartialEq on element type IDs generate a lot less code (from pcwalton:debloat-partialeq); r=nox
This makes the difference between selector matching scaling on the ARM
Cortex-A9 and not, because the auto-derived `PartialEq` implementation
blows out the 32KB I-cache. With this change, there is a 2x improvement
in selector matching over sequential when using all 8 cores. (More work
needs to be done; this is a start.)

r? any DOM expert

Source-Repo: https://github.com/servo/servo
Source-Revision: c3d242544e809aca945cf0ca6c2bf0f45ce6a602
2015-06-12 21:04:05 -06:00
Mátyás Mustoha
117b71291c servo: Merge #6354 - Remove gfx_traits from the dependencies of [script] (from mmatyas:canvas_remdep); r=Ms2ger
It seems @hyowon uploaded her canvas shadow patch faster than me; I've handled the color dependency a bit different, this way `gfx_traits` is not required by the script module.

Source-Repo: https://github.com/servo/servo
Source-Revision: c8c7bd900dde73d4fddafea8239f44440f1c863b
2015-06-12 10:22:54 -06:00
Hyowon Kim
e973844b89 servo: Merge #6337 - Add attributes for canvas shadows (from hyowon:shadow_attrs); r=nox
The first step of the implementation for shadows in canvas.
r? @nox @jdm
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: f163f2bf0d32861ea20470d405bb517ed5b09e84
2015-06-12 03:27:07 -06:00
Ms2ger
965b3f8b4e servo: Merge #6353 - Revert "WebSocket constructor should not panic" (from servo:revert); r=Ms2ger
This reverts commit 877c369e0bc5db4286457be36d015eeb1f0ae2f2.

Source-Repo: https://github.com/servo/servo
Source-Revision: 85d839fb5c6ff023897828b0873caa8972842969
2015-06-12 02:44:37 -06:00
Jinwoo Song
4b14f03d80 servo: Merge #6338 - WebSocket constructor should not panic (from servo:ws-connect); r=Ms2ger
Make an early return when the WebSocket connection fails in the constructor.
Also let the WebSockect connection to be closed when the connection could
not be established.

Fixes #6082.
Fixes #6086.

Source-Repo: https://github.com/servo/servo
Source-Revision: a3eb253bdce7ed4ad5bcc2c2e7af9cfe01826d99
2015-06-11 05:58:56 -06:00
Corey Farwell
55bdf0aa9b servo: Merge #6317 - Remove fnv & smallvec crate reexports from util (from frewsxcv:rm-util-crate-reexports); r=Ms2ger
The util component specified fnv and smallvec as dependencies and publicly
reexported both of them. Several other components utilized these reexports,
presumably because fnv and smallvec used to live in the tree so reexporting
made the transition easier.

These indirect dependencies through the util component are unnecessary.

This commit removes the fnv & smallvec crate reexports in the util component.
It exchange, it adds fnv & smallvec as dependencies to non-util components
wherever needed. Finally, it removes the fnv dependency from util as it is not
utilized anywhere in the util component.

Source-Repo: https://github.com/servo/servo
Source-Revision: 35000a9b854dc0989cc473aaec0ea8c082521c66
2015-06-10 08:23:11 -06:00
Ms2ger
e7c3438db7 servo: Merge #6323 - Fix a typo in the DOM documentation (from Ms2ger:typo); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: c86e461555902ad88d25163724798b333d21c0ef
2015-06-10 07:30:09 -06:00
Ms2ger
494e3e720c servo: Merge #6320 - Remove null_str_as_empty and null_str_as_empty_ref functions (from Ms2ger:as-empty); r=nox
With just one caller between the two functions, there doesn't seem to be
much point in having the abstraction.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6bd798a69f0ae0fe19f6385a8c1bb3204185da68
2015-06-10 05:40:26 -06:00