aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/layout_interface.rs
Commit message (Collapse)AuthorAgeFilesLines
* Animate many more CSS propertiesJoseph Seaton2015-04-161-1/+1
|
* Move iframe and url fields from Reflow to LayoutTask and LayoutTaskFactoryaditya2015-04-021-4/+0
| | | | * Fix #5466
* auto merge of #5459 : jdm/servo/reflowquery, r=saneyukibors-servo2015-04-011-0/+1
|\
| * Make reflow queries always perform reflow. Fixes #5458.Josh Matthews2015-04-011-0/+1
| |
* | layout: Implement CSS transitions per CSS-TRANSITIONS § 2.Patrick Walton2015-03-311-6/+42
|/ | | | | | | | 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.
* Use u32 for reflow ids.Ms2ger2015-03-281-1/+1
|
* Rename lots of profiling-related things.Nicholas Nethercote2015-03-251-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ 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/+3
| | | | | | | | | - 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.
* Add memory reporting infrastructure and use it to measure the display list.Nicholas Nethercote2015-03-161-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Consider media attribute on link and style tagsMikko Perttunen2015-03-161-2/+3
| | | | | Don't add a stylesheet if the current device does not match the media query specified in a link or style tag.
* Reap layout data whenever a node is removed from the tree.Glenn Watson2015-03-031-2/+2
| | | | | | Also introduce a clear() function to layout data which will be used to clear items such as compositor layouts. Clear the layout data when a node becomes display:none.
* Upgrade to rustc ba2f13ef0 2015-02-04Simon Sapin2015-02-111-1/+1
|
* Import msg as msg rather than servo_msg.Ms2ger2015-02-101-1/+1
|
* Correct the documentation comment syntax in layout_interface.rs.Ms2ger2015-02-031-3/+3
|
* End the libstyle 'pub use' madness.Simon Sapin2015-01-301-1/+1
|
* Import the util crate as util rather than servo_util.Ms2ger2015-01-291-1/+1
| | | | | | | | 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-4/+4
|
* Stall PaintTask exit until it can release all buffersMartin Robinson2015-01-021-2/+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.
* script: Remove glob imports added in #4405Tetsuharu OHZEKI2014-12-191-14/+10
|
* Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d.Ms2ger2014-12-171-0/+4
|
* style: Implement quirks mode rules.Patrick Walton2014-12-151-0/+3
|
* Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8aJack Moffitt2014-11-131-1/+1
|
* Clip display list based on frame viewportMartin Robinson2014-11-111-0/+2
| | | | | | Instead of creating a display list for the entire page, only create one for an area that expands around the viewport. On my machine this makes incremental layout of http://timecube.com 50% faster.
* Have ContentBox(es)Queries consult the flow treeMartin Robinson2014-11-031-3/+12
| | | | | | | | | Instead of looking at the display tree, have ContentBox(es)Query consult the flow tree. This allow optimizing away parts of the display tree later. To do this we need to be more careful about how we send reflow requests, only querying the flow tree when possible. Fixes #3790.
* Use html5ever for HTML parsingKeegan McAllister2014-10-161-19/+3
|
* Incremental Style RecalcClark Gaebel2014-10-091-57/+2
| | | | | | | | | | | | | | | | | | | This patch puts in the initial framework for incremental reflow. Nodes' styles are no longer recalculated unless the node has changed. I've been hacking on the general problem of incremental reflow for the past couple weeks, and I've yet to get a full implementation that actually passes all the reftests + wikipedia + cnn. Therefore, I'm going to try to land the different parts of it one by one. This patch only does incremental style recalc, without incremental flow construction, inline-size bubbling, reflow, or display lists. Those will be coming in that order as I finish them. At least with this strategy, I can land a working version of incremental reflow, even if not yet complete. r? @pcwalton
* Use JSTraceable everywhereManish Goregaokar2014-09-241-7/+8
|
* Added more complex profiling metadata.Clark Gaebel2014-09-171-0/+2
|
* Move link rel=stylesheet fetching to layout taskMatt Brubeck2014-09-161-0/+3
| | | | Fixes #3346.
* Cargoify servoJack Moffitt2014-09-081-0/+204