aboutsummaryrefslogtreecommitdiffstats
path: root/components/compositing/compositor_task.rs
Commit message (Collapse)AuthorAgeFilesLines
* task -> threadrohan.prinja2016-01-101-306/+0
|
* Move LayerKind and ScrollPolicy enums to gfx_traitsBrandon Fairchild2015-12-201-2/+2
| | | | | | This also moves LayerId and LayerProperties to gfx_traits. Fixes #8836.
* Moved ScriptToCompositorMsg enum and EventResult enum to script_traitsBeomjin Kim2015-12-201-1/+2
| | | | | Moved ScriptToCompositorMsg enum and EventResult enum to script_traits resolving issue #8835.
* Move PaintListener to gfx_traits, Fixes #8834Tomas Cernaj2015-12-111-2/+2
| | | | Adding layers and msg dependency to gfx_traits.
* Moved CompositorMsg enum into compositing crate.Beomjin Kim2015-12-111-1/+1
| | | | | | | moved from components/msg/constellation_msg.rs to components/compositing/lib.rs dependencies on compositing crate added in ports/cef/Cargo.lock
* Fix warningsSimon Sapin2015-12-031-1/+1
| | | | | | Fixing unused attributes warnings required updating serde_macros which required updating to rustc 1.6.0-nightly (a2866e387 2015-11-30) which required updating some other dependencies.
* compositing: Split Servo up into multiple sandboxed processes.Patrick Walton2015-11-191-9/+10
| | | | | Multiprocess mode is enabled with the `-M` switch, and sandboxing is enabled with the `-S` switch.
* Split ConstellationMsg into ScriptMsg and CompositorMsgKeith Yeung2015-11-161-2/+3
|
* Use Result::ok in CompositorReceiverUlysse Carion2015-11-061-4/+1
|
* Dispatch touch events and perform default touch actions.Matt Brubeck2015-10-221-1/+8
| | | | | This is currently limited to simple single-touch actions. It does not include momentum scrolling or pinch zooming.
* Replace libpng with image everywhere.Matt Brubeck2015-10-101-3/+2
|
* Simplify and unify compositor shutdown code pathsMartin Robinson2015-10-071-1/+0
| | | | | | | Unify all compositor shutdown code paths into two methods, one which starts the shutdown and the other that finishes it. This simplifies the way the compositor shuts down and prevents "leaking" pixmaps when exiting in uncommon ways.
* Remove constellation round trip for subpage mapping in compositor.Glenn Watson2015-10-071-6/+1
| | | | | | This makes use of the new functionality that allows iframes to generate their own pipeline IDs in order to remove any knowledge of subpage ids from the compositor. (This is the first of several commits removing subpage from parts of servo).
* layout: Make the compositor rather than layout determine the position ofPatrick Walton2015-09-291-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | each iframe. The old code that attempted to do this during layout wasn't able to work for multiple reasons: it couldn't know where the iframe was going to be on the page (because of nested iframes), and at the time it was building the display list for a fragment it couldn't know where that fragment was going to be in page coordinates. This patch rewrites that code so that both the sizes and positions of iframes are determined by the compositor. Layout layerizes all iframes and marks the iframe layers with the appropriate pipeline and subpage IDs so that the compositor can place them correctly. This approach is similar in spirit to Gecko's `RefLayer` infrastructure. The logic that determines when it is time to take the screenshot for reftests has been significantly revamped to deal with this change in delegation of responsibility. Additionally, this code removes the infrastructure that sends layout data back to the layout task to be destroyed, since it is now all thread-safe and can be destroyed on the script task. The failing tests now fail because of a pre-existing bug related to intrinsic heights and borders on inline replaced elements. They happened to pass before because we never rendered the iframes at all, which meant they never had a chance to draw the red border the tests expect to not render! Closes #7377.
* sorted the extern crate, mod & use declarationsRavi Shankar2015-09-241-8/+7
|
* Fix reported test-tidy errors for unmerged import blocksBrandon Fairchild2015-09-191-3/+2
| | | | This merges import blocks that were reported by tidy as unmerged.
* Introduce InitialCompositorStateAnthony Ramine2015-09-151-15/+17
|
* Remove 'get_*' on getters as per RFC 0344 on various componentsMathieu Rheaume2015-09-121-1/+1
|
* Add style_traits crate to improve crate separation,João Oliveira2015-09-041-1/+1
| | | | closes #7353
* Implement viewport functions for window #1718farodin912015-09-021-5/+25
|
* sort all usesJohann Tuffe2015-08-201-3/+3
|
* Fix existing syntactics nits.Josh Matthews2015-08-161-4/+4
|
* Implement Msg::Status with serialized url upon mouseoverBruno de Oliveira Abinader2015-07-301-0/+3
| | | | | | | Credits for Mike Blumenkrantz (@zmike), I just rebased against trunk and fixed the url serialization. Fixes #6178.
* Have BufferMap store NativeSurfaces and rename to SurfaceMapMartin Robinson2015-07-241-10/+10
| | | | | | | | | | We currently store LayerBuffers, because previously NativeSurfaces did not record their own size. Now we can store NativeSurfaces directly, which saves a bit of space in the surface cache and allows us to create LayerBuffers only in the PaintTask. This also means that instead of sending cached LayerBuffers, the compositor can just send cached NativeSurfaces to the PaintTask.
* Auto merge of #6640 - mrobinson:memory-profiling-for-compositor, r=nnethercotebors-servo2015-07-221-2/+5
|\ | | | | | | | | | | | | | | | | | | | | Add memory profiling for the compositor task Currently only the BufferMap is recorded, but a later change will also measure the memory usage of the compositor tree. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6640) <!-- Reviewable:end -->
| * Add memory profiling for the compositor taskMartin Robinson2015-07-161-2/+5
| | | | | | | | | | Currently only the BufferMap is recorded, but a later change will also measure the memory usage of the compositor tree.
* | compositing: Make the constellation messages serializable.Patrick Walton2015-07-181-2/+2
|/
* compositing: Move messages that go over the `ScriptListener` to go overPatrick Walton2015-07-141-23/+21
| | | | | | | | | an IPC channel instead. Because this used a boxed trait object to invoke messages across a process boundary, and boxed trait objects are not supported across IPC, we spawn a helper thread inside the compositor to perform the marshaling for us.
* Move LayerBuffer cache to the compositorMartin Robinson2015-07-081-1/+17
| | | | | | | | Now that NativeDisplay can be shared between the compositor and the paint task, we can move the LayerBuffer cache to the compositor. This allows surfaces to be potentially reused between different paint tasks and will eventually allow OpenGL contexts to be preserved between instances of GL rasterization.
* Update to latest rust-layersMartin Robinson2015-06-301-19/+5
| | | | | The compositing context, painting context and display metadata have all been collapsed into a single NativeDisplay class.
* Use euclid from crates.ioecoal952015-06-191-2/+2
|
* add window method for notifying when the <head> tag has been parsedMike Blumenkrantz2015-06-021-0/+3
|
* add handling for favicon link elementsMike Blumenkrantz2015-06-021-0/+3
| | | | fixes #6166
* Remove `get_` prefix on gettersCorey Farwell2015-06-021-1/+1
| | | | | | Part of #6224 I certainly didn't remove all of them; I avoided `unsafe` areas and also `components/script`
* add navigation state data to LoadComplete messages, finish cef load state cbsMike Blumenkrantz2015-05-271-3/+3
|
* add CompositorMsg::LoadStart, implement ↵Mike Blumenkrantz2015-05-271-0/+3
| | | | | | cef_load_handler::on_loading_state_change() only adds the loading:true callback this time...
* compositing: Support multiple events per frame.Patrick Walton2015-05-201-1/+1
| | | | Improves scrolling performance on Mac.
* Fix several hangs / panics during pipeline cleanup of in progress loads.Glenn Watson2015-05-191-1/+7
| | | | This fixes a hang found while testing the jQuery test suite.
* Remove some clones.Ms2ger2015-05-151-2/+2
|
* Various fixes for cleaning up iframes, compositor layers, pipelines and threads.Glenn Watson2015-05-141-0/+4
| | | | This allows most of the jquery test suite to run without exhausting thread resources.
* Fixes a number of race conditions and reliability issues with reftests and ↵Glenn Watson2015-05-141-72/+11
| | | | | | | | | | | | compositor. 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.
* Fix a compositor race condition that can result in the most recent buffer ↵Glenn Watson2015-05-121-4/+5
| | | | not being painted.
* Support WebDriver takeScreenshot command.James Graham2015-05-071-0/+4
| | | | | This adds support for compositing to a PNG without actually quiting the browser.
* Auto merge of #5361 - luniv:css-device-adapt, r=mbrubeckbors-servo2015-05-061-1/+4
|\ | | | | | | | | | | | | | | | | | | | | | | 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'). <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5361) <!-- Reviewable:end -->
| * Constrain the viewport & zoom when reflowingJames Gilbertson2015-05-061-1/+4
| |
* | Start using on_refresh_driver_tick #5681Guro Bokum2015-05-061-2/+2
|/ | | | Final
* Add a `profile_traits` crate to reduce compile times.Nicholas Nethercote2015-04-301-2/+2
| | | | | | | | | | 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`.
* Implement Clone for Copy types.Ms2ger2015-04-281-1/+1
|
* compositing: Keep the event loop awake when scrolling.Patrick Walton2015-04-101-0/+2
|
* layout: Implement CSS transitions per CSS-TRANSITIONS § 2.Patrick Walton2015-03-311-0/+3
| | | | | | | | Transition events are not yet supported, and the only animatable properties are `top`, `right`, `bottom`, and `left`. However, all other features of transitions are supported. There are no automated tests at present because I'm not sure how best to test it, but three manual tests are included.