aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_traits/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Separate script and layout messages, issue #8843Joe Kachmar2015-12-261-1/+1
|
* Move ScriptMsg from msg crate into script_traitsTomas Cernaj2015-12-091-1/+1
|
* Add check up on extern crate order and sort extern crates alphabeticallyGuillaume Gomez2015-11-281-2/+2
|
* compositing: Split Servo up into multiple sandboxed processes.Patrick Walton2015-11-191-3/+3
| | | | | 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-1/+2
|
* sorted the extern crate, mod & use declarationsRavi Shankar2015-09-241-2/+1
|
* sort all usesJohann Tuffe2015-08-201-1/+1
|
* Store a Sender<ConstellationControlMsg> in LayoutTask.Ms2ger2015-08-121-2/+2
|
* compositing: Use an `OptionalIpcSender` for communication between thePatrick Walton2015-07-311-1/+2
| | | | layout and paint tasks.
* gfx: Split the paint messages into layout and chrome messages, and makePatrick Walton2015-07-311-2/+2
| | | | the layout messages serializable.
* script: Split `Pipeline::create` into chrome process and contentPatrick Walton2015-07-141-14/+2
| | | | | | | | | | | | process parts. This will make it easier to adapt to IPC. The trickiest part here was to make script tasks spawn new layout tasks directly instead of having the pipeline do it for them. The latter approach will not work in multiprocess mode, because layout and script must run in the same address space and the pipeline cannot inject tasks into another process.
* layout: Make the `LayoutControlChan` use IPC.Patrick Walton2015-07-141-5/+12
|
* Use euclid from crates.ioecoal952015-06-191-2/+2
|
* compositing: Implement display ports and avoid creating display listsPatrick Walton2015-05-191-3/+8
| | | | | | for items outside it. This improves Servo's performance on large pages.
* Fixes a number of race conditions and reliability issues with reftests and ↵Glenn Watson2015-05-141-0/+2
| | | | | | | | | | | | 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.
* Make stylesheets block page load.Josh Matthews2015-05-111-2/+0
|
* Add a `profile_traits` crate to reduce compile times.Nicholas Nethercote2015-04-301-3/+3
| | | | | | | | | | 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`.
* Uniformise the various Msg types [#5882]Prabhjyot Singh Sodhi2015-04-301-2/+2
|
* Refactored image cache task - details below.Glenn Watson2015-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | * 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.
* Split out shared networking code into net_traits crateGilles Leblanc2015-04-031-4/+4
| | | | Fixes #4476
* Move iframe and url fields from Reflow to LayoutTask and LayoutTaskFactoryaditya2015-04-021-0/+1
| | | | * Fix #5466
* layout: Implement CSS transitions per CSS-TRANSITIONS § 2.Patrick Walton2015-03-311-0/+1
| | | | | | | | 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.
* Rename lots of profiling-related things.Nicholas Nethercote2015-03-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ BEFORE AFTER ------------------------------------------------------------------------ util::memory util::mem - heap_size_of - heap_size_of (unchanged) - SizeOf - HeapSizeOf - size_of_excluding_self - heap_size_of_children prof::mem prof::mem - MemoryProfilerChan - ProfilerChan - MemoryReport - Report - MemoryReportsChan - ReportsChan - MemoryReporter - Reporter - MemoryProfilerMsg - ProfilerMsg - {R,UnR}egisterMemoryReporter - {R,UnR}egisterReporter - MemoryProfiler - Prof - ReportsForest - ReportsForest (unchanged) - ReportsTree - ReportsTree (unchanged) - SystemMemoryReporter - SystemReporter prof::time prof::time - TimeProfilerChan - ProfilerChan - TimerMetadata - TimerMetadata (unchanged) - Formatable - Formattable [spelling!] - TimeProfilerMsg - ProfilerMsg - TimeProfilerCategory - ProfilerCategory - TimeProfilerBuckets - ProfilerBuckets - TimeProfiler - Profiler - TimerMetadataFrameType - TimerMetadataFrameType (unchanged) - TimerMetadataReflowType - TimerMetadataReflowType (unchanged) - ProfilerMetadata - ProfilerMetadata (unchanged) In a few places both prof::time and prof::mem are used, and so module-qualification is needed to avoid overlap, e.g. time::Profiler and mem::Profiler. Likewise with std::mem and prof::mem. This is not a big deal.
* Move profiler code from `util` into a new crate `profile`.Nicholas Nethercote2015-03-241-3/+4
| | | | | | | | | - 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.
* Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-dev.Ms2ger2015-03-181-2/+0
|
* Add memory reporting infrastructure and use it to measure the display list.Nicholas Nethercote2015-03-161-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset implements the beginnings of fine-grained measurement of Servo's data structures. - It adds a new `SizeOf` trait, which is used to measure the memory used by heap data structures, and implements it for some std types: Box, String, Option, Arc, Vec, and DList. - It adds a new `MemoryReporter` trait which is used to report memory measurements from other threads to the memory profiler. Reporters are registered and unregistered with the memory profiler, and the memory profiler makes measurement requests of reporters when necessary. - It plumbs a MemoryProfilerChan through to the layout task so it can register a memory reporter. - It implements the `SizeOf` trait for `DisplayList` and associated types, and adds a memory reporter that uses it. The display list hits 14.77 MiB when viewing tests/html/perf-rainbow.html, and 2.51 MiB when viewing the Guardians of the Galaxy Wikipedia page from servo-static-suite. Example output: 0.29: display-list::http://www.reddit.com/ 0.00: display-list::http://static.adzerk.net/reddit/ads.html?sr=-reddit.com,loggedout&bust2#http://www.reddit.com 0.00: display-list::http://www.reddit.com/static/createadframe.html There are a number of FIXME comments indicating sub-optimal things. This is a big enough change for now that doing them as follow-ups seems best.
* Import net as net rather than servo_net.Ms2ger2015-02-101-3/+3
|
* Import msg as msg rather than servo_msg.Ms2ger2015-02-101-2/+2
|
* Allow unused variables, imports, and mutable.Josh Matthews2015-02-091-2/+0
|
* Import the util crate as util rather than servo_util.Ms2ger2015-01-291-2/+2
| | | | | | | | 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.
* Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev.Josh Matthews2015-01-281-1/+1
|
* Allow `missing_copy_implementations`Matthew Rasmus2015-01-081-0/+1
|
* Remove obsolete attributes.Ms2ger2015-01-031-3/+0
|
* Stall PaintTask exit until it can release all buffersMartin Robinson2015-01-021-3/+2
| | | | | | | | | | | | | | | | | 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.
* Rename RenderChan -> PaintChanTetsuharu OHZEKI2014-12-081-2/+2
|
* Rename gfx/render_task.rs -> gfx/paint_task.rsTetsuharu OHZEKI2014-12-081-1/+1
|
* Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8aJack Moffitt2014-11-131-1/+2
|
* Use opts as a global, to avoid cloning and passing the struct all over the code.Glenn Watson2014-10-201-2/+0
|
* Upgrade to rustc 0.12.0-pre (4d2af3861 2014-09-17 15:51:11 +0000)Keegan McAllister2014-09-201-3/+3
|
* Move link rel=stylesheet fetching to layout taskMatt Brubeck2014-09-161-0/+2
| | | | Fixes #3346.
* Reinstate errors for unused variables and imports.Jack Moffitt2014-09-131-0/+2
|
* Cargoify servoJack Moffitt2014-09-081-0/+54