Commit Graph

39 Commits

Author SHA1 Message Date
ecoal95
0656a2b904 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
2015-05-20 15:42:06 -05:00
Patrick Walton
d647fc4d06 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
Glenn Watson
6cd31b7d9f servo: Merge #5890 - Various fixes for cleaning up iframes, compositor layers, pipelines and threads (from glennw:iframe-cleanup); r=jdm
This allows most of the jquery test suite to run without exhausting thread resources.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7e022b25a8ab87897180dcf1b6aff8d9b57adcb4
2015-05-13 22:34:59 -05:00
James Gilbertson
8a584c6fcf 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
Simon Sapin
b72bb5e7d5 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
afeab10374 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
2015-04-30 20:02:33 -05:00
James Graham
b71012fbc1 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
Avi Weinstock
effc56f690 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
James Graham
3ea2485816 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
Manish Goregaokar
2674bab6a8 servo: Merge #5465 - Split out shared networking code into net_traits crate (from gilles-leblanc:issue-4476-b); r=jdm
Fixes #4476

Source-Repo: https://github.com/servo/servo
Source-Revision: d707d1b78e3393a1ed164af8ec855bd0ff119e55
2015-04-03 13:00:46 -06:00
Ms2ger
efe6efc6c8 servo: Merge #5492 - Introduce a MouseButton enum (from Ms2ger:MouseButton)
Source-Repo: https://github.com/servo/servo
Source-Revision: 02be76bd4855a226669e8fcd1a638ff53e8f83d5
2015-04-03 13:29:12 +02:00
Ms2ger
95298609f7 servo: Merge #5432 - Use the new io's stderr handle to write out the hard-fail warning (from Ms2ger:stderr-comp); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ce3f777a12212604ec5cb56a0145f3cf8fca9ea7
2015-03-28 12:10:06 -06:00
Ms2ger
49789f9058 servo: Merge #5381 - Stop using old_path (from Ms2ger:old_path); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fefdd9afbaa661b1282babc27e3e5ca7c9ea669d
2015-03-26 09:36:56 -06:00
Nicholas Nethercote
dab428b57b servo: Merge #5335 - Move profiler code from util into a new crate profile (from nnethercote:profile-crate); r=glennw
- Most of util::memory has been moved into profile::mem, though the
  `SizeOf` trait and related things remain in util::memory. The
  `SystemMemoryReporter` code is now in a submodule
  profile::mem::system_reporter.

- util::time has been moved entirely into profile::time.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1268ec9c6633684270015e7b2619181aeb47b8b
2015-03-24 03:15:49 -06:00
Ms2ger
0e9f5150d2 servo: Merge #5324 - Remove allow(missing_copy_implementations) attributes (from Ms2ger:missing_copy_implementations); r=jdm
This is now the default.

Source-Repo: https://github.com/servo/servo
Source-Revision: b1a35f549baad871a3691ae485af2efecd2d73f7
2015-03-23 08:45:50 -06:00
Simon Sapin
5cb6c4ea43 servo: Merge #5262 - Fix some post-rustup warnings (from servo:fix-warnings); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 124a78fb2e4d324a7d0ed54da1cca17839d406b7
2015-03-18 15:21:49 -06:00
Ms2ger
e82686e900 servo: Merge #4993 - Move compositing to libc from crates.io (from Ms2ger:libc-compositing); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d8c9f2b92fb4be83895c4fe43ede2d6e83d2c274
2015-02-20 18:21:51 -07:00
Ms2ger
02ab4f60c3 servo: Merge #4922 - Fix some warnings (from servo:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 66f4faf44fbc6e8703d4336219a20dd3b19fb493
2015-02-13 05:33:49 -07:00
Simon Sapin
8fbd363d52 servo: Merge #4893 - Upgrade to rustc ba2f13ef0 2015-02-04 (from servo:rustup_2015-01-31); r=Ms2ger,glennw
Ready for review.

Final link step on android fails, but we know how to fix it and will add it to this branch soon.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc08f289ab909de44fa09a07b2c43b70ce379b9
2015-02-11 17:24:45 -07:00
Ms2ger
0a912ace80 servo: Merge #4887 - Import net as net rather than servo_net (from Ms2ger:servo_net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e3a4d493117ffd09ce75270b36012845ebb9c08c
2015-02-10 05:15:45 -07:00
Ms2ger
f3a69a15a3 servo: Merge #4886 - Import msg as msg rather than servo_msg (from Ms2ger:servo_msg); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: 29d3b872de4abb693b75e71fc0b987c52b0fd1f6
2015-02-10 03:51:46 -07:00
Josh Matthews
6b82a6f27f servo: Merge #4881 - Allow unused variables, imports, and mutable (from jdm:allowunused); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 7048291dc0db4efecf9c13779feeb5e022210123
2015-02-09 16:45:47 -07:00
Ms2ger
155838196e servo: Merge #4766 - Import the util crate as util rather than servo_util (from Ms2ger:util); r=Manishearth
This used to conflict with the util crate from the standard library, which
has long since been removed.

The import in layout has not been changed because of a conflict with the
util mod there.

Source-Repo: https://github.com/servo/servo
Source-Revision: 27e0f16407629422b5e047e067d458142372c97e
2015-01-29 05:12:49 -07:00
Josh Matthews
b11f7d94dc servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f9012864a2cd927cf17a8e11dfa6922add1b7df
2015-01-27 18:15:50 -07:00
Matthew Rasmus
8a04144529 servo: Merge #4575 - Post-rustup warning fixes (from mttr:warnings); r=jdm
Notes:

* This adds `#![allow(missing_copy_implementations)]` to components/*/lib.rs. I'm not sure how to approach the missing Copy warnings (are there things for which Copy should NOT be implemented, and how can I tell?) so I stuck this in to make life easier when looking through the warnings. I can easily remove this if necessary.
* This leaves the following type of warnings, which I couldn't figure out how to approach (I'll investigate it later if no one else wants to).
```
css/matching.rs:72:23: 72:35 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:72         this_as_query.equiv(other)
                                         ^~~~~~~~~~~~
css/matching.rs:95:10: 95:49 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:95 impl<'a> Equiv<ApplicableDeclarationsCacheEntry> for ApplicableDeclarationsCacheQuery<'a> {
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 0793137631cbe4ebbff8fb85639206ce8e41bbb7
2015-01-08 16:03:55 -07:00
Ms2ger
924a818c1c servo: Merge #4574 - Remove if_let feature gates (from Ms2ger:if_let); r=Manishearth
This feature is now supported unconditionally.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4cd9eb1253a764e8794f004a96112f4127687708
2015-01-08 14:42:53 -07:00
Ms2ger
2979891740 servo: Merge #4542 - Prepare for the rust upgrade (from servo:pre-rustup_20141221); r=saneyuki
In particular, this contains changes to qualify enums where rust will require it, and to stop using some features that will be removed.

Source-Repo: https://github.com/servo/servo
Source-Revision: ba8cf6b0e6145265f9472d4855f078d8b5943fe7
2015-01-04 12:39:47 -07:00
Ms2ger
9695007fe1 servo: Merge #4538 - Remove obsolete attributes (from Ms2ger:attributes); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d8b6cec722e67f1fd39f154f4f0a298f2227501f
2015-01-03 10:39:48 -07:00
Martin Robinson
6c0ac241fb servo: Merge #4536 - Stall PaintTask exit until it can release all buffers (from mrobinson:pixmap); r=pcwalton
It is possible for a PaintTask to start exiting soon after sending new
buffers to the compositor. In that case, the compositor should return
the now unnecessary buffers to the PaintTask so that it can properly
free them.

To accomplish this, the compositor now keeps a hash map of paint task
channels per pipeline id. When a PaintTask exists, the constellation
informs the compositor that it can forget about it. Additionally, the
PaintTask should not wait for any buffers when the engine is doing a
complete shutdown. In that case, the compositor is already halted and
has simply let all buffers leak. We pipe through the shutdown type when
destroying the pipeline to make this decision.

Fixes #2641.

Source-Repo: https://github.com/servo/servo
Source-Revision: a31acffb0405b2c38b39c39c6d552f2ba79b6326
2015-01-02 20:21:47 -07:00
Glenn Watson
76fdb515a4 servo: Merge #4035 - Remove rust-alert as it's broken on mac, and unimplemented on other platforms (from glennw:remove-rust-alert); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 554f696db81665f92e9976a15d986b0fd0f99edf
2014-11-18 21:30:27 -07:00
Glenn Watson
71f726977a servo: Merge #3948 - Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a (from servo:rustup-20141105_2); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: c5e1b0d32e17fad29799023c85e2e73ac89c3af7
2014-11-12 20:48:31 -07:00
Patrick Walton
e4fe54ce48 servo: Merge #3761 - Invert control flow, fix resizing, and improve checkerboarding significantly (from pcwalton:smooth-scrolling); r=larsbergstrom
r? @glennw @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: ffae1104989c0177b483d591a482e5cd877183c2
2014-11-04 18:12:32 -07:00
Glenn Watson
63ee42e590 servo: Merge #3851 - Update to use new GL bindings (from glennw:servo_gl); r=glennw,metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: f9b84fd8704e249682cc12dfeb2da61b39a88d92
2014-10-29 23:33:35 -06:00
Martin Robinson
7c7d8e8894 servo: Merge #3819 - Combine all layer methods into a CompositorLayer trait (from mrobinson:clean-up-events); r=pcwalton
There are many function and methods that operate on a single layer, that can really just be methods on a CompositorLayer trait. This greatly simplifies the way that Compositor interacts with its child layers. This PR is just code motion.

Source-Repo: https://github.com/servo/servo
Source-Revision: 541077286c9b5268c1e4731d0cbe1066cd5f1310
2014-10-28 09:39:43 -06:00
Matt Brubeck
b28677c053 servo: Merge #3563 - Move windowing code out of compositor, take 2. r=larsberg (from mbrubeck:app2)
Source-Repo: https://github.com/servo/servo
Source-Revision: 205067f10bc412608827e9a314a760acfb2ae15e
2014-10-10 13:12:37 -07:00
Simon Sapin
e245f210fb servo: Merge #3438 - Upgrade Rust (from servo:rustup)
Source-Repo: https://github.com/servo/servo
Source-Revision: 045328c8e94f5bdfcd67105c5dfa9209f4cd501c
2014-09-20 15:35:08 -07:00
Josh Matthews
468a8a5fa0 servo: Merge #3172 - Dump initial prototype of devtools server into the build. Expect lies if (from jdm:devtools)
Source-Repo: https://github.com/servo/servo
Source-Revision: b82c0dced08ccda8c3c7f35643c3891bc45b058c
2014-09-19 09:15:03 -04:00
Jack Moffitt
788c9e2676 servo: Merge #3327 - Reinstate errors for unused variables and imports (from metajack:cargo-profiles)
Source-Repo: https://github.com/servo/servo
Source-Revision: 6c179127a311d2c1dcd4441098a176faafe51f52
2014-09-14 09:56:58 -04:00
Jack Moffitt
132ee35633 servo: Merge #3230 - Cargoify servo (from servo:cargoify)
Source-Repo: https://github.com/servo/servo
Source-Revision: b1305bb7d051f83850c51bb0da0ccc86a5e07922
2014-09-09 08:18:18 -06:00