Граф коммитов

411 Коммитов

Автор SHA1 Сообщение Дата
Ms2ger fa69e55d66 servo: Merge #6440 - Update rust-mozjs (from Ms2ger:finalizeInBackground); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: d85afb744a5538135eca2a2b67c5be3ccc8373be
2015-06-21 23:40:46 -06:00
Simon Sapin 2e3cf397c7 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
Ms2ger e104b4dc8b servo: Merge #6435 - Various CEF refactoring (from Ms2ger:cef); r=zmike
Source-Repo: https://github.com/servo/servo
Source-Revision: 6e04c12bceb04ab3bbf69f83664e9a7e546ea732
2015-06-20 11:17:49 -06:00
Michael Wu 7512d04e93 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
Glenn Watson 00cf610c8f servo: Merge #6424 - Update gleam to 0.1.1 (from glennw:update-gleam); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: a256f39796270cd3a5f40f33eaa4e407117b0cc6
2015-06-18 21:57:55 -06:00
ecoal95 b32a9cd993 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 bdf71e84d8 servo: Merge #6412 - Remove duplicate package (from metajack:cleanup-dupe-gleam); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 7355bf1061a21114654c1e8abe1d752624200799
2015-06-17 21:56:38 -06:00
Hyowon Kim 8d982b374e servo: Merge #6402 - Fill and stroke for all pattern types and check the zero size gradient (from hyowon:canvas_fill_stroke); r=pcwalton
Depends on servo/rust-azure#170 which has been already merged.
So this patch contains the update of rust-azure.
r? @nox
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: e1b28d893e54601bf497d0d5b83d77658ca16bac
2015-06-17 13:32:25 -06:00
Simon Sapin 1fe2355ac7 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
Simon Sapin 9f3f7f698e servo: Merge #6395 - Use cgl and gleam from crates.io (from SimonSapin:crates.io-cgl-gleam); r=metajack
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: 5d89235c5696a65bcf93a5da5244093294eb4fbe
2015-06-15 15:08:43 -06:00
Jack Moffitt a44285c32d servo: Merge #6306 - Use Cargo's target directory sharing (from 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.

Source-Repo: https://github.com/servo/servo
Source-Revision: d6263c9b6e969fde4c644034e684a39d68667ad9
2015-06-15 13:08:14 -06:00
Ms2ger 0899326ec7 servo: Merge #6393 - Improve the cef string multimap (from Ms2ger:cef-string-multimap); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bb39e835f16cf53a8135f873ed6e979640c0a8ba
2015-06-15 12:25:11 -06:00
Manish Goregaokar b6e7083252 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 ab51eb3db1 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
ecoal95 126dc71f5c 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 711c6ca962 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
Ms2ger ef47ae4530 servo: Merge #6370 - Update the Cargo.locks (from Ms2ger:locks); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: a9aa50683fec9ade7969e1ed29a9bc21d798f97e
2015-06-13 10:49:00 -06:00
ecoal95 11343d804e servo: Merge #6356 - Add WebGL android support (from emilio:webgl-android); r=jdm
This just bumps `offscreen_gl_context`, which added egl support
recently.

Source-Repo: https://github.com/servo/servo
Source-Revision: b0a80de92bf946696fdc9c227439796b094bfde7
2015-06-13 02:31:33 -06:00
Anthony Ramine ae3def062a servo: Merge #6348 - Update azure to b9bb83c733507f3f57e2c334499f38432056e26c (from nox:azure); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 5b318d53e223707fa2da16c5ad38f04ce7cf52de
2015-06-12 05:49:32 -06:00
Glenn Watson 172144e575 servo: Merge #6331 - Updates for changes in rust-geom and rust-layers (from glennw:remove-generic-again); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 752e03a502413f21cfb30e55d68110c50e034da6
2015-06-10 16:05:20 -06:00
Patrick Walton bab79d9ff9 servo: Merge #6330 - Revert "Updates for changes in rust-geom and rust-layers" (from servo:revert-6329-remove-generic)
Source-Repo: https://github.com/servo/servo
Source-Revision: 93a45c91d16c0ae2c6b7e507f66a7267206772ac
2015-06-10 14:15:01 -07:00
Glenn Watson 119937c831 servo: Merge #6329 - Updates for changes in rust-geom and rust-layers (from glennw:remove-generic)
Source-Repo: https://github.com/servo/servo
Source-Revision: 053296e1319239fbfe2842edb31bbf46eb8f28d7
2015-06-10 14:14:24 -07:00
Simon Sapin 3db1108120 servo: Merge #6326 - Pick up memory safety fix in rust-smallvec (from servo:sound-smallvec); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8c943b30ce4759b038b5ae581159481b8a92e801
2015-06-10 09:30:43 -06:00
Corey Farwell f95f1555cf 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
Mátyás Mustoha 86df863d26 servo: Merge #6324 - Add ARM build support (from mmatyas:arm_build); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 9df13b906902fa298264816e0c3c88aea64c77df
2015-06-10 06:46:13 -06:00
Anthony Ramine c164336f84 servo: Merge #6305 - Update gleam to 98f889861aa1c8dee088ac751ab03ca639715bbe (from nox:update-gleam); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 41095c01a771c44f57da7f63b533741bf037918a
2015-06-08 12:44:04 -05:00
Jack Moffitt 279afd6ff8 servo: Merge #6295 - Clean up dependencies (from metajack:cargo-cleanup); r=frewsxcv
Overlaps a bunch with #6288. Putting this here so @frewsxcv can take a look and we can figure out how to merge our work together.

Source-Repo: https://github.com/servo/servo
Source-Revision: 96311aa9b71abb31fd8e4283de9e1b58813108a3
2015-06-07 13:15:20 -05:00
Eduard Burtescu 1ef27572ef 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
Matt Brubeck f8eb6ac8d7 servo: Merge #6277 - Update expat-sys (from mbrubeck:expat); r=metajack
For servo/libexpat#5

Source-Repo: https://github.com/servo/servo
Source-Revision: cc8ad768b98059eea925985bd64147108a3a5a0f
2015-06-03 17:25:25 -05:00
Mike Blumenkrantz 6cb20728b5 servo: Merge #6219 - Favicon support: way more work than anyone expected or considered (from zmike:favicons_and_stringlOWWW-MY-HEAD); r=pcwalton
Getting these down to the embedding API level required that I redo the bindings generator again, so this is more commits than anticipated.

@mbrubeck @Manishearth @pcwalton but NOT @larsbergstrom so don't even look at this.

Source-Repo: https://github.com/servo/servo
Source-Revision: b0f3417cffb211d547853b8069e7a444a1d9964f
2015-06-03 00:27:41 -05:00
Mike Blumenkrantz 355dc1d801 servo: Merge #6269 - update glutin (from zmike:glutinup); r=metajack
r+? @larsbergstrom @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 94b4d12cc3ca8e66f4f4c9a29094a939683dda24
2015-06-02 23:07:22 -05:00
Manish Goregaokar def53ee6c3 servo: Merge #6254 - Move to latest hyper everywhere, more package updates (from servo:rustup_20150601); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 20f63459ef198bf96679cbb72355917e7a774265
2015-06-02 12:53:37 -05:00
James Graham 5e7bef5cd5 servo: Merge #6248 - Allow Window implementations to indicate that they don't support a clipboard (from jgraham:window_supports_clipboard); r=gw
This is important for the SERVO_HEADLESS configuration, because
creating a clipboard on linux creates an X context which then causes
reftest instability.

Source-Repo: https://github.com/servo/servo
Source-Revision: 64012cb10e7881038e3f359fb2df888732ead2fd
2015-06-02 05:26:47 -05:00
James Graham 35d7b3b717 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
Manish Goregaokar 2d55a77795 servo: Merge #6243 - Upgrade to rustc 1.2.0-dev (474c6e0ae 2015-05-30) (from servo:rustup_20150601); r=nox
cc @nox

r? @Ms2ger @kmcallister @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 83a0b7822181b26862f26fd0cd1da02da7ea6210
2015-06-01 11:45:42 -05:00
Jack Moffitt 1bf663cb58 servo: Merge #6220 - Switch task_info to use modern Cargo tools (from metajack:task-info-build-cleanup); r=nox
This is the first bit of build cleanup on my quest to make Cargo faster.

Source-Repo: https://github.com/servo/servo
Source-Revision: e6c4ca4960cc9f6ac9bd17c35a10b78350b70c73
2015-06-01 11:04:23 -05:00
ecoal95 73d5e20fe6 servo: Merge #6183 - Add WebGLContextAttributes support (from emilio:webglcontextattributes); r=nox
r? @jdm

I couldn't add the `getContextAttributes` method since `CodegenRust`
doesn't know how to return a dictionary value, I'll take a look at it ASAP.

I think the helper functions can return directly the renderer, since they're used just for that, but I wanted to hear your opinions about this.

By the way I'm interested in adding more serious tests for WebGL, and I think the [khronos conformance suit](https://github.com/KhronosGroup/WebGL/tree/master/conformance-suites/1.0.3) should be the best option.

Should I try to integrate it in wpt, or making a `tests/webgl` directory (or similar) inside the servo tree? (Maybe this question should be for @Ms2ger)

Source-Repo: https://github.com/servo/servo
Source-Revision: 0de09b936e5e37c15b7865157a98ad78b1077659
2015-06-01 08:37:48 -05:00
Tony Baker c40d341771 servo: Merge #6218 - Update dependencies for js, fontconfig-sys and mozjs_sys (from asbaker:update-dependencies-for-6088); r=SimonSapin
Fixes servo/servo#6088

Source-Repo: https://github.com/servo/servo
Source-Revision: 591614347f9ca5568974861e82c0c918e51e2974
2015-05-31 16:04:22 -05:00
Mike Blumenkrantz 45f8cc9ea0 servo: Merge #6209 - force cef browser resize check on initial load (from zmike:rendersizing); r=mbrubeck
ensure that the output render size matches the desired size

Source-Repo: https://github.com/servo/servo
Source-Revision: 09f2977cc945850a35f7a5ef1ed014bc42cb265a
2015-05-28 15:41:44 -05:00
Mátyás Mustoha 5f241b25b2 servo: Merge #6065 - Enable antialiasing for the canvas (from mmatyas:canvas_antialias); r=jdm
This patch turns on antialiasing for the canvas, and updates the painting code to use the updated Azure DrawOptions defined in servo/rust-azure#158.

Source-Repo: https://github.com/servo/servo
Source-Revision: c97c0a9f94208828c617cbd99efd8e3e410c69ee
2015-05-28 14:59:36 -05:00
Ms2ger c319a40e9e servo: Merge #6208 - Avoid a build warning in the glutin port without the window feature enabled (from Ms2ger:warning); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 952e953237220847c53b91eb8750939b233d3398
2015-05-28 12:45:13 -05:00
Jinwoo Song aafaa7ed0d servo: Merge #6198 - Use FT_Done_Library instead of FT_Done_Freetype (from Jinwoo-Song:freetype); r=metajack
It is recommended to use FT_Done_Library with FT_New_Library
from freetype document.

Fixes #6191.

r? @jdm @nnethercote
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: af81db54790efbeb86ee03e6ca63fb9046c6111a
2015-05-27 21:06:12 -05:00
Matt Brubeck abff7d2965 servo: Merge #6196 - Update azure and its dependencies (from mbrubeck:metadata); r=SimonSapin
#6088. r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: b1a773a15bd2e022aa45c3672e51467e994badfe
2015-05-27 14:57:41 -05:00
Mike Blumenkrantz 2dc4375f93 servo: Merge #6175 - Embedding: revenge of cargo (from zmike:embedding-REVENGE_OF_CARGO); r=larsbergstrom
Adds a bunch more embedding interfaces/callbacks/functionality

@larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 94ebfe81e454ca6dd68210b4475b4091e836dd1a
2015-05-27 14:17:32 -05:00
Simon Sapin c4ddaa287d servo: Merge #6186 - Use harfbuzz bindings from crates.io (from SimonSapin:harfbuzz-crates.io); r=Manishearth
https://github.com/servo/rust-harfbuzz/issues/39
https://www.mail-archive.com/dev-servo@lists.mozilla.org/msg01289.html

r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 54afa01dd665b8facbbba7d49974ac5532e3b83f
2015-05-26 15:16:40 -05:00
Mike Blumenkrantz d190af2390 servo: Merge #6125 - Renderrenderrenderrender: Now for embedding! (from zmike:renderrenderrenderrender); r=larsbergstrom
A collection of commits which improves embedding integration and rendering.

@larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 4a95bce9f260b183660dab44ef3044618be6840c
2015-05-24 19:26:00 -05:00
Corey Farwell 333cc6c59d 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
Simon Sapin b84cfbc5a9 servo: Merge #6159 - Remove usage of the mod_path compiler plugin (from SimonSapin:no_mod_path); r=Manishearth
https://github.com/rust-lang/rust/pull/20179 makes its use case much weaker.

r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: e04d9c32a98ff4673f413ed17f66e7466e2ff974
2015-05-22 03:13:13 -05:00
Manish Goregaokar bfbc7a20aa servo: Merge #6151 - Upgrade rust to 716f920b7e234b450f272346fea961832505c06e (from servo:rustup-2015_05_13); r=larsbergstrom
(Tue May 19 05:39:29 2015 +0000)

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ae5d1129f9fd1227678db9ad26471727dc9fa27
2015-05-20 18:23:13 -05:00
ecoal95 9dbd03da1c servo: Merge #6083 - First steps to layerize canvas (from emilio:layerize-canvas); r=pcwalton
I've done a bit of job to get this done. Right now readback is still used, but we have a `LayerId` -> `CanvasRenderer` map on the paint task, that we can use to get rid of that.

I'd want review, to see if this is a good approach (I know it's not the initial `CanvasId` -> renderer approach, but it's pretty similar, since a canvas involves a `PaintLayer`).

I had to do a bit of refactoring to avoid cyclic dependencies between canvas and gfx. I'd want you to review them too.

It's mergeable and doesn't break any tests :P

Some of my main concerns:
* Does the canvas render really need to be behind an `Arc<Mutex<T>>`?
* I can't clone a `NativeSurface` right now (that's why the `SendNativeSurface()` msg is unimplemented in the WebGL task). It should be easy to add that to rust-layers, supposing the caller is responsible to mark it as non-leaking, any reason to not do it?

cc @jdm @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: ad53e95080144485e74cd9b9d48ce75e20de4e36

--HG--
rename : servo/components/gfx/color.rs => servo/components/gfx_traits/color.rs
2015-05-20 15:42:06 -05:00
Patrick Walton a72b4c7c70 servo: Merge #6077 - compositing: Support multiple events per frame (from pcwalton:multiple-events-per-frame); r=glennw
Improves scrolling performance significantly on Mac.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 071f89aa5f11075894e0702860d88f1353ecd95e
2015-05-20 13:06:52 -05:00
Peter 67ce0c76d2 servo: Merge #6074 - Allows the unrooted_must_root lint to deal with struct variant enums, #6069 (from pgonda:lint-fix-struct-enum-variants); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: d68730a0fc755149c1093021e34e7d34693429b7
2015-05-20 10:29:48 -05:00
Patrick Walton b776a7f734 servo: Merge #6053 - compositing: Implement display ports and avoid creating display lists for items outside it (from pcwalton:displayports); r=glennw
This improves Servo's performance on large pages.

Please double-check the logic when it comes to nested layers—I'm sure I've messed up some of the geometry calculations :)

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 0880e54f987bac7c34c934ef6ee36f46475b06e3

--HG--
rename : servo/tests/html/lipsum.html => servo/tests/html/lipsum-large.html
2015-05-19 19:40:36 -05:00
Mike Blumenkrantz b8f26b8d1e servo: Merge #6120 - update glutin repo ref (from zmike:cmap); r=larsbergstrom
@larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 0a737d90f2aafa5653d2ce1a5c5a809ebf4aa3a1
2015-05-19 13:10:44 -05:00
Glenn Watson 7b091a0d36 servo: Merge #6109 - Fix android - it now renders the default wikipedia page correctly (from glennw:android-fix); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: ab145c43ac29183baf41da31ec853bcd8f5e47d0
2015-05-17 21:37:32 -05:00
Glenn Watson f5e0393a8a servo: Merge #6059 - Fix a few warnings in cef build (from glennw:warnings-police); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 09f5648153d9817aa4c89153030f69bf45ee7283
2015-05-14 22:53:17 -05:00
Mike Blumenkrantz 1e5677cd69 servo: Merge #6016 - Embedding windowing (from zmike:embedding-windowing); r=larsbergstrom
Depends on glutin PR #21

@glennw  @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: a97f81b83d8901073b52054aaf3bfb9d0e74be07
2015-05-14 20:06:04 -05:00
Patrick Walton 5a4865ead0 servo: Merge #6055 - gfx: Implement paint flashing, which will be useful for debugging invalidation (from pcwalton:paint-flashing); r=mbrubeck
r? @mbrubeck (or whoever)

Source-Repo: https://github.com/servo/servo
Source-Revision: 74ef5d6aa89eb138f029ab6aeb9ce0bbf8befede
2015-05-14 18:00:52 -05:00
Ms2ger a13d7d197e servo: Merge #6044 - Various cleanup (from Ms2ger:cleanup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7bda431e61d06113306c3f12d9f4240a58a7d34d
2015-05-14 07:16:42 -05:00
Glenn Watson 86c7655c62 servo: Merge #6031 - Fixes a number of race conditions and reliability issues with reftests and compositor (from glennw:reftest-race-conditions); r=larsberg,jdm
The basic idea is it's safe to output an image for reftest by testing:
 - That the compositor doesn't have any animations active.
 - That the compositor is not waiting on any outstanding paint messages to arrive.
 - That the script tasks are "idle" and therefore won't cause reflow.
    - This currently means page loaded, onload fired, reftest-wait not active, first reflow triggered.
    - It could easily be expanded to handle pending timers etc.
 - That the "epoch" that the layout tasks have last laid out after script went idle, is reflected by the compositor in all visible layers for that pipeline.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e61ebaa05e5babb7b2fdd1347b6cdd23df38e62
2015-05-13 18:37:54 -05:00
Mike Blumenkrantz 311e52ae96 servo: Merge #5995 - add parent window setting when creating windows with glutin (from zmike:glutin-parenting); r=jdm
needed for embedding api usage

Depends on https://github.com/servo/glutin/pull/20

Source-Repo: https://github.com/servo/servo
Source-Revision: a388a76d8238e6a009f4e62dbc930487adb96811
2015-05-13 15:27:47 -05:00
Mike Blumenkrantz f78090c52a servo: Merge #5992 - Random fixups (from zmike:random-fixups); r=larsbergstrom
Attempt to not panic as much if the resources/ dir is not where it's expected to be.

Source-Repo: https://github.com/servo/servo
Source-Revision: 76225bdccb5105764d979b4d739d4d8edfc98bfe
2015-05-12 13:26:22 -05:00
Simon Sapin e50563524e servo: Merge #6021 - Upgrade to Hyper 0.4.0 (from SimonSapin:hyperup); r=Manishearth
r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 8cacf20a075b3747509897599c37662721d18d1c
2015-05-12 12:42:49 -05:00
Brian Anderson 175ca64bec servo: Merge #6010 - More cleanup of the servo entry points (from brson:next); r=pcwalton
Just cleanup.

Source-Repo: https://github.com/servo/servo
Source-Revision: ca9c703bf5e7b6664ab956e15c7f53534f0f32cd
2015-05-12 03:26:54 -05:00
James Graham 862596c885 servo: Merge #6008 - Add support for getActiveElement webdriver command (from jgraham:webdriver_get_active_element); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 263b69cf7fd99bfc13eecc840f27cdcf1e8178cc
2015-05-11 12:33:26 -05:00
Ms2ger 48d01c7d0c servo: Merge #6004 - Replace TElement::get_link() by specific methods (from Ms2ger:get_link); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: be8539af885b5d668222bbbdd677922eb75be65f
2015-05-11 06:46:17 -05:00
Ms2ger de1db6c2cc servo: Merge #6001 - Merge the JS context and runtime structs into Runtime (from Ms2ger:runtime); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d1a0aacc60a27a6a9d0709c505d9621a5ebc2f78
2015-05-10 15:14:37 -05:00
Ms2ger e0fb53902c servo: Merge #5999 - Move get_attr and get_attrs into TElementAttributes (from Ms2ger:TElement); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: cf9338cb2eb1ff0c28e83d40e06b687828ab4c04
2015-05-10 11:26:25 -05:00
Ms2ger 1945de39f3 servo: Merge #6000 - Update js (from Ms2ger:update-js); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 54b1c9af11f77ae9e4e92531a12b2a1dc1aa10f7
2015-05-10 08:58:33 -05:00
Mike Blumenkrantz be4c48b847 servo: Merge #5985 - Embedding: wooden bikeshed (from zmike:embedding-woodenbikeshed); r=larsbergstrom
Some small changes.

@larsbergstrom or whoever cares the most at this exact moment.

Source-Repo: https://github.com/servo/servo
Source-Revision: 892a7404266983c6d51218bc18b8aa878d9a7a3e
2015-05-08 15:03:52 -05:00
Lars Bergstrom 3e724cd1f1 servo: Merge #5976 - Osx android fixes (from larsbergstrom:osx-android-fixes); r=glennw
r? @metajack

Thanks to @alexcrichton for all the work to figure out our problems here!

Source-Repo: https://github.com/servo/servo
Source-Revision: 02cf89f4d3fb991a27ecbaf8d3cafe5722750cc6
2015-05-07 19:51:25 -05:00
Mike Blumenkrantz b31ab650b7 servo: Merge #5955 - Embedding rebase rage (from zmike:embedding-REBASE_RAGE); r=larsbergstrom
This updates all the CEF interface stuff to the current CEF codebase.

Source-Repo: https://github.com/servo/servo
Source-Revision: 92f46e3149df7de59aa5aa6700c1878958e2f273

--HG--
rename : servo/ports/cef/interfaces/cef_url.rs => servo/ports/cef/interfaces/cef_parser.rs
2015-05-07 14:10:29 -05:00
ecoal95 75fa0ab0c7 servo: Merge #5957 - Remove Glutin dependency for WebGL (from emilio:glcontext-mac-support); r=jdm
Now we have mac support, and since android build is broken, we can
drop glutin from WebGL code.

Went back to upstream repo, see:
https://github.com/servo/rust-offscreen-rendering-context/pull/1#issuecomment-99234534

Source-Repo: https://github.com/servo/servo
Source-Revision: c7608f7691f892e985991d85e80f547dac1e9e8f
2015-05-07 07:51:04 -05:00
James Graham c9103d2b94 servo: Merge #5884 - Support WebDriver takeScreenshot command (from jgraham:webdriver_screenshot); r=jdm
This adds support for compositing to a PNG without actually quiting
the browser.

Cargo bits need to be updated after the upstream changes to rust-png land.

Source-Repo: https://github.com/servo/servo
Source-Revision: 63ba1cb69b80d70c1d893ba80edd802cd326316d
2015-05-07 04:59:04 -05:00
Simon Sapin 19b5a2331c servo: Merge #5968 - Deduplicate some dependencies (from SimonSapin:deduplicate-deps); r=Manishearth
This uses some dependencies from crates.io instead of git where the crates.io copy was already used in some other part of the dependency tree, so we had two copies of the same library.

The `android_glue` crate is the only one left where we have two copies, but solving that is more tricky since we hard-code a path in `components/servo/.cargo/config`.

r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 59cb1b03968a55dcce1774088890a3ecf4de0037
2015-05-07 02:31:15 -05:00
James Gilbertson 157566c480 servo: Merge #5361 - Implement CSS Device Adaption Level 1 (from luniv:css-device-adapt); r=mbrubeck
Spec: http://dev.w3.org/csswg/css-device-adapt/

Currently, the actual viewport is used by the layout task as part of the reflow, and the compositor uses the zoom constraints. I'm not sure if anywhere else currently needs access to the constraints (i.e. there's no CSSOM as far as I can tell).

I did not implement sections 9 (viewport <META>) or 10 (handling 'auto' for 'zoom').

Source-Repo: https://github.com/servo/servo
Source-Revision: ccf1e6b9a701cf4ff010fa1f1b4ba9d656d962af
2015-05-06 12:41:09 -05:00
Matt Brubeck 0b7916c7ab servo: Merge #5953 - Replace `libc` feature with external `libc` crate (from mbrubeck:libc); r=jdm
r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: b762758366928d15063ce661e75e9494d5720353
2015-05-06 03:43:02 -05:00
Glenn Watson 1599c829c0 servo: Merge #5956 - Update glutin to get fix for x crash on exit (from glennw:up-glutin); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: c303e9dcd599cd6cb59fb6468a9be7fa18eab065
2015-05-05 18:11:32 -05:00
William Galliher 178b16eed9 servo: Merge #5939 - Implement incomplete opening, sending, and closing behaviour for WebSock (from jdm:websocket); r=jdm
...ets using rust-websocket.

Authors:
Shivaji Vidhale <savidhal@ncsu.edu>
William Galliher <wpgallih@ncsu.edu>
Allen Chen <achen4@ncsu.edu>
Rucha Jogaikar <rsjogaik@ncsu.edu>

Source-Repo: https://github.com/servo/servo
Source-Revision: 6d2f70a4fd275510ca90c5da27bb841dd25d39bd
2015-05-05 12:57:48 -05:00
Himaja f9351542b0 servo: Merge #5947 - Extend the developer tools support (from jdm:devtools); r=jdm
Implement HTTP request/response notifications per https://github.com/servo/servo/wiki/More-developer-tools-student-project .

Rebased from #5920.

Source-Repo: https://github.com/servo/servo
Source-Revision: ab589da1f464ed00b0105bc4531690da0118ea5b
2015-05-05 11:52:44 -05:00
Simon Sapin 95c8716656 servo: Merge #5935 - Upgrade Rust (from servo:rustup_2015-04-25); r=Ms2ger
r? everybody

Source-Repo: https://github.com/servo/servo
Source-Revision: 49aed6555dbc008c1a378c5cbb303f5467232b6b
2015-05-05 09:11:30 -05:00
Nicholas Nethercote f6d34641fc servo: Merge #5912 - Add a `profile_traits` crate to reduce compile times (from nnethercote:profile_traits); r=Manishearth
A rebuild after touching components/profile/mem.rs now takes 48 seconds (and
only rebuilds `profile` and `servo`) which is much lower than it used to be.
In comparison, a rebuild after touching components/profile_traits/mem.rs takes
294 seconds and rebuilds many more crates.

This change also removes some unnecessary crate dependencies in `net` and
`net_traits`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 77f653da2c4120ea7ac1a946d97fc70059d513d4

--HG--
rename : servo/tests/unit/gfx/lib.rs => servo/components/profile_traits/lib.rs
2015-04-30 20:02:33 -05:00
Peter 76e9e84846 servo: Merge #5725 - added dispatching for mousedown and mouseup events, fixes #5705 (from pgonda:dispatch-mousedown-mouseup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 88ed4e58e16e1ccf2957e1838175b5195c5d7950
2015-04-30 12:22:03 -05:00
Ms2ger 33e1b9c8ab servo: Merge #5888 - Prepare for the rustup (from Ms2ger:prepare-rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: ab2d07db1fabd7ad9590aa7296038bbc91806c3f
2015-04-28 17:52:49 -05:00
Manish Goregaokar e158f4fca9 servo: Merge #5855 - Add move protection to `Root` and friends (from Manishearth:nomove); r=kmc,munksgaard
fixes #5724, #5737


uses https://github.com/Manishearth/rust-tenacious (can be moved in-tree if needed)

I can make it `Deny` by default too (I'll add a cargo feature to tenacious), though we might want it on
`Warn` until we get some mileage on it.

Source-Repo: https://github.com/servo/servo
Source-Revision: d7987e43c944eb9b156bf3244c08fce4cb570db4
2015-04-27 23:14:25 -05:00
Tim Cuthbertson 5f9aa8c53b servo: Merge #5865 - Implement implicit form submission from input elements (from timbertson:implicit-submit); r=Manishearth
With submission-blocking rules from https://html.spec.whatwg.org/multipage/forms.html#implicit-submission.

I wasn't sure if/where it would be relevant to add new tests (I couldn't find any existing tests in wpt to enable), so just let me know if this needs tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 56105e9f2fb390b431416473a616000636ad409c
2015-04-27 08:05:25 -05:00
ecoal95 086acefea5 servo: Merge #5863 - Refactor WebGL implementation (reopens #5769) (from emilio:webgl-refactor); r=jdm
GitHub doesn't allow me to reopen #5769, so I created this.

Sorry about the merge fail, my bad :/

cc/ @jdm @dmarcos

---

This PR uses customized GL context creation code, right now only working under Linux, so I expect the clearcolor test to fail on other platforms.

It addresses some other problems:

* Propagates context creation error to the top, returning null if not found.
* Uses GLContextAttributes, which will allow us to write WebGLContextAttributes easily.
* Doesn't allow a 2d context and a WebGL context coexist.
* Panics when resizing the context to larger dimensions (to be fixed soon, but better than blindly allowing it).
    Removes some unused dependencies

Source-Repo: https://github.com/servo/servo
Source-Revision: 9f2ad9376eaf598898387ea2c26f48c3ceb0330d
2015-04-26 21:28:35 -05:00
Ms2ger 126ec4d408 servo: Merge #5847 - Avoid as_slice() / at_mut_slice() (from Ms2ger:slice); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 1389be37823fccf4108f4e79d0a3a793f0bbe93e
2015-04-26 05:30:28 -05:00
James Graham 72de17b9be servo: Merge #5808 - Add script execution support via WebDriver (from jgraham:webdriver_execute_script); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 38ac11d0b8ae4244f49b59a6321a1a570ea01e03
2015-04-23 13:41:11 -05:00
Mátyás Mustoha e3f5a0bd67 servo: Merge #5802 - Fix some irregular indentation (from mmatyas:indentfix); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 43d666f94b9b1b8313d430785946b8d3e020fecf
2015-04-22 19:49:30 -05:00
Glenn Watson 835b3be20c servo: Merge #5767 - Refactored image cache task - details below (from glennw:image-cache); r=larsbergstrom,jdm
* Simpler image cache API for clients to use.
 * Significantly fewer threads.
   * One thread for image cache task (multiplexes commands, decoder threads and async resource requests).
   * 4 threads for decoder worker tasks.
 * Removed ReflowEvent hacks in script and layout tasks.
   * Image elements pass a Trusted<T> to image cache, which is used to dirty nodes via script task. Previous use of Untrusted addresses was unsafe.
   * Image requests such as background-image on layout / paint threads trigger repaint only rather than full reflow.
 * Add reflow batching for when multiple images load quickly.
   * Reduces the number of paints loading wikipedia from ~95 to ~35.
 * Reasonably simple to add proper prefetch support in a follow up PR.
 * Async loaded images always construct Image fragments now, instead of generic.
   * Image fragments support the image not being present.
 * Simpler implementation of synchronous image loading for reftests.
 * Removed image holder.
 * image.onload support.
 * image NaturalWidth and NaturalHeight support.
 * Updated WPT expectations.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac0645c2363b5a6ea3930b0857b3a27f1b6d033f
2015-04-22 19:16:46 -05:00
Ms2ger 7b37ef8efe servo: Merge #5801 - Stop using the deprecated range function (from Ms2ger:range); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 43e664cda1dd562935fe5e4fdd92e5abcf6fb8f9
2015-04-22 18:24:21 -05:00
Ms2ger aa5d13a759 servo: Merge #5793 - Only define feature gates when they're used (from Ms2ger:warnings); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: b2afc0106444286cc41aa9c4bbcead2836d19284
2015-04-22 10:07:12 -05:00
Matt Brubeck 542e1d4c53 servo: Merge #5788 - Use OpenGl ES on Android (from mbrubeck:gl-version); r=glennw
Fixes #5785. r? @glennw or @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 3a1bf45dea2ee7a9f4d8f299a2f1d05912b5e0a7
2015-04-21 20:09:12 -05:00
Glenn Watson 60e69eac2b servo: Merge #5748 - Hack workaround for X11 + threading issue (from glennw:x11-hack); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: f5d21faa8b9f95cee4128eca4b7fa5aa2389376b
2015-04-21 16:17:36 -05:00
Avi Weinstock b5e3a5f83c servo: Merge #5547 - X11 clipboard support (from aweinstock314:x11-clipboard); r=jdm
Manual re-opening of #5479 (since it seems that GitHub disables re-opening with the same number after a rebase).

Source-Repo: https://github.com/servo/servo
Source-Revision: 9974ebb2f969d2de8959fe74844b7410a5acd54e
2015-04-21 14:41:32 -05:00
Diego Marcos 1406b1f10e servo: Merge #5652 - Kicking off a WebGL implementation (from dmarcos:webgl); r=jdm
@jdm @ecoal95 I'm working on making VR happen in the Browser and I want to bring to Servo the [webVR APIs](https://github.com/MozVR/webvr-spec/blob/master/webvr.idl) we already have in Gecko. Before anything happens we need a working implementation of WebGL (and also the [fullscreen API](https://fullscreen.spec.whatwg.org/)). My implementation is very basic and probably naive (I just recently started to contribute to Servo). My patch is just a starting point:

- It only implements ```clearColor``` and ```clear``` methods of the [WebGL spec](https://www.khronos.org/registry/webgl/specs/latest/).
- It uses the readback strategy that ```canvasRenderingContext2D``` is using (The webgl task paints stuff independently on it's own buffer and the compositor task request the pixels back to the webgl task when it needs them) I'm sure there are much better ways to handle this. Latency and FPS are critical in VR so we have to figure out the fastest way to push pixels to the screen. I've read something about layerizing the canvas but I'm still not sure what that even means :)
- There's an included test you can try ```./mach run tests/ref/webgl-context/clearcolor.html```

@ecoal95 I know you'll be working on this for the next three months. With a foundation in place we will be able to make quick progress in parallel. This is exciting!

Source-Repo: https://github.com/servo/servo
Source-Revision: e4b620ea54c94e03095e4108bce94ec750416bba
2015-04-20 19:29:02 -05:00
Mátyás Mustoha c20ca909fc servo: Merge #5731 - Canvas: implement context state save/restore (from mmatyas:canvas_saverestore); r=jdm
This patch enables the use of `save()` and `restore()` for the canvas context, which is used by *a lot* of sites and scripts.

Depends on servo/rust-azure#153.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9c7c289acae3ea012338a5b25bc50a10e7f7074d
2015-04-19 17:40:33 -05:00
Lars Bergstrom 9ce6d5a1e2 servo: Merge #5736 - Update Gonk README with bootstrap information (from servo:larsbergstrom-gonk-readme); r=Manishearth
The bootstrap binaries have been approved for public use, so we do not need to request that everyone rebuild B2G in order to try out the B2S build.

r? @manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: e78683430fbab34339b6ff0cff20bbf88c61cf75
2015-04-17 16:26:39 -05:00
James Graham 50ca4e6223 servo: Merge #5610 - Add enough Webdriver support to enable Get() (from jgraham:jgraham/webdriver-get); r=jdm
This is incomplete in several ways:

* It assumes that there's only one constellation (i.e. top level browsing context), ever.
* The session support is very basic indeed (no capabilities)
* Passing channels over channels may not sit well with IPC
* The error handling is mostly missing

Source-Repo: https://github.com/servo/servo
Source-Revision: af2f46bddad7a0e87a46fc3e303f15b4343226c7
2015-04-16 12:35:25 -05:00