Commit Graph

915 Commits

Author SHA1 Message Date
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
Ms2ger
ba32727574 servo: Merge #6459 - Update to rustc 2d0cbf3e3e25e092bd9e4c94d08e446b680869f0 (from servo:rustup_20150625); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 21b48fc44d0b32627918b4778fed16203eecdba5
2015-06-25 12:03:15 -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
6017c835bc servo: Merge #6411 - Don't generate pyc files (from metajack:fix-script-out-dir); r=glennw
This eliminates the last bit of script crate generating in-tree
files. This now allows cargo target dir sharing to fully work.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5dc546b4cf19b3281ee10d2948a75984c62e3763
2015-06-17 21:18:42 -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
Simon Sapin
3e5826bb29 servo: Merge #6396 - Use html5ever and string-cache from crates.io (from SimonSapin:crates.io-html5ever); r=Ms2ger
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: 4435e6f42a1b57a3e6a0cfbb1033525fef5db174
2015-06-16 00:42:36 -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
Avi Weinstock
4910539b94 servo: Merge #6340 - Remove some unnecessary allocations in text input handling (from aweinstock314:reduce-textinput-allocations); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 2168ec3c96ca9e8e1174be22be07d1168061b4b6
2015-06-12 15:00:37 -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
Ms2ger
7a055977ed servo: Merge #6318 - Optimize lookupPrefix (from Ms2ger:optimize-lookup-prefix); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 3ece6bc166c06b1b63f417742cb30dde0e34e63e
2015-06-10 04:30:38 -06:00
Mukilan Thiyagarajan
4281653a18 servo: Merge #6319 - Fix codegen for overload resolution. Fixes #6300 (from mukilan:overload-codegen); r=Ms2ger
The cause of the issue is that the index of the overload to be invoked was being derived from the wrong lists (that contain only a subset of the overloads)  - `possibleOverloads` and `interfaceSigs` rather than the `method.signatures()` (which contains all possible overloads).

Source-Repo: https://github.com/servo/servo
Source-Revision: b46ab0c60d53461d639c74d9c6b39d0c6c2d78c9
2015-06-10 03:50:42 -06:00
Francesc Bautista
02b218ce64 servo: Merge #6284 - Fix #6242 testbinding add specialoperations (from fbau123:6242-testbinding-add-specialoperations); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 44a4b7886d05b6e219f71f958d913657b08eea7d
2015-06-09 17:12:43 -06:00
Manish Goregaokar
c574d8a190 servo: Merge #6314 - Audit and reduce usage of unstable features (from Manishearth:feature_audit); r=mbrubeck
Will post audit report in a bit

Source-Repo: https://github.com/servo/servo
Source-Revision: 88c1cdc9fca6568d1075ea9577ac996c5f73b98f
2015-06-09 14:31:42 -06:00
ecoal95
7340c8c14f servo: Merge #6293 - Implement new WebGL interfaces and methods (from emilio:webgl-objects); r=nox
This commit implements:
* WebGLFramebuffer
* WebGLRenderbuffer
* WebGLTexture

And adds the following methods to `WebGLRenderingContext`:
* create{Texture,Framebuffer,Renderbuffer}
* bind{Texture,Framebuffer,Renderbuffer}
* destroy{Buffer,Texture,Framebuffer,Renderbuffer}

Fixes:
* WebGLUniform location shouldn't inherit from WebGLObject.

Known Issues:
* WebGL objects have to be destroyed on drop, we may want to keep a reference to the context, or maybe a clone of the renderer to achieve this

Also refactors a huge part of the current implementation, to allow
failing on creation of different WebGL objects.

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

A reftest for most of the added functionality is not doable right now,
we need a few more functions in order to upload a texture, for example.

Source-Repo: https://github.com/servo/servo
Source-Revision: e09c555a41b0803388e54013ac8885fb789a0fa6
2015-06-09 10:06:37 -05:00
Hyowon Kim
11e8029baa servo: Merge #6290 - Replace fill_color & stroke_color with fill_style & stroke_style in CanvasContextState (from hyowon:fill_or_stroke_style); r=nox
The fillStyle and strokeStyle attributes can be either strings(color), CanvasGradients, or CanvasPatterns.
The current implementation only considers strings(color).
r? @nox @jdm @pcwalton
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: ce30807be594d62b75772eac6356f84089a18c09
2015-06-08 09:49:13 -05:00
Daniel Le
5f004ebc5a servo: Merge #6299 - Avoid casting in the callers (from GreenRecycleBin:#6271); r=Ms2ger
get_proto_or_iface_array now returns *mut ProtoOrIfaceArray

Fix #6271

Source-Repo: https://github.com/servo/servo
Source-Revision: ca6a34a1cdf3b74f9eab04cf6ff914e47b37b640
2015-06-07 10:47:14 -05:00
Eduard Burtescu
97ee3c496c servo: Merge #6301 - Use the correct log crate and setup env_logger in main (from eddyb:fix-logging-2); r=larsbergstrom
Fixes #6103.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1587d8a301983b881b038c7e443ba6d1deb1f72f
2015-06-06 15:49:56 -05:00
Brian Anderson
91ec3e7d6c servo: Merge #6297 - Convert inline(always) to inline in CodegenRust and jstraceable (from brson:inline); r=jdm
This results in a 14% compile time improvement.

See https://gist.github.com/brson/b48dd03b06c406be68e6

I'm not suggesting you merge this as-is, but you might consider whether removing some of these is worth pursuing.

Source-Repo: https://github.com/servo/servo
Source-Revision: 78665336e6a3d57e43610365f52ce038ba0d9e8b
2015-06-06 08:25:29 -05:00
Ms2ger
b475825c25 servo: Merge #6291 - Use if let in HTMLTableElement::SetCaption (from Ms2ger:caption); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 493f96b9ab73d41286407a78930f481a6f1b94e9
2015-06-06 07:45:43 -05:00
Wafflespeanut
712e7bdfbf servo: Merge #6292 - window.performance.now values are way too big #5690; r=jdm (from Wafflespeanut:timestamp); r=jdm
Changed the operator and updated the wpt-test for `hr-time`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 458a5324618b8e58565d686fdea3363a31e11973
2015-06-05 11:46:48 -05:00
Josh Matthews
1908b1626f servo: Merge #6247 - Trace the prototype array on the global object (from jdm:tracefix); r=Ms2ger
This should allow the jQuery testsuite to complete.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9edc296c46b05606c74920a42ba0effb5c953db0
2015-06-03 05:26:26 -05:00