aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/main/layout/table_wrapper.rs
Commit message (Collapse)AuthorAgeFilesLines
* Split layout code into a separate crate.Josh Matthews2014-06-281-324/+0
|
* Upgrade Rust.Jack Moffitt2014-06-051-2/+2
|
* layout: Reference count flows, and forbid unsafe code in many places.Patrick Walton2014-06-031-0/+2
|
* Rename `box_.rs` to `fragment.rs`Brendan Zabarauskas2014-05-281-1/+1
|
* Rename functions, fields and adjust comments to use `fragment` instead of `box`Brendan Zabarauskas2014-05-281-17/+17
| | | | I tried to make sure to keep 'box' where it made sense, and alter comments so they still make sense.
* Convert usages of `Box` in type identifiers to `Fragment`Brendan Zabarauskas2014-05-281-2/+2
|
* Make ComputedStyle fields private and add getters.Simon Sapin2014-05-231-7/+7
| | | | This isolates layout code from upcoming refactoring in properties.rs.mako.
* Use fmt::Show for outputting debug informationBrendan Zabarauskas2014-05-061-6/+8
|
* Remove unused teardown methodsBrendan Zabarauskas2014-05-051-5/+0
| | | | According to @pcwalton these used to be important for memory safety but are no longer needed now.
* Convert Vec::new() to vec!()Matt Murphy2014-05-041-6/+6
|
* ~[] to Vec in layout flow, block, table, row, rowgroup, wrapperMatt Murphy2014-05-041-8/+8
|
* Replace most ~"string"s with "string".to_owned().Ms2ger2014-05-041-2/+2
|
* layout: Rewrite display list building to be parallel and to handlePatrick Walton2014-05-021-26/+9
| | | | | | | | | | | | | | | | | | | | | | | | | overflow correctly, and opportunistically lay out blocks in parallel even if floats are present. This commit fixes the `inline-height-test` in Acid2 by implementing proper overflow as well as the inline "strut". (See CSS 2.1 § 10.8.1.) Acid2 was accidentally being rendered properly before because tables' descendant flows were not being laid out properly. Display list building is now parallel and is done by bubbling up display items and layers from parent to child. Speedups of around 60%-70% are observed on Wikipedia with a 4-core HyperThreaded Core i7. More optimizations are possible; this is just a start. To minimize the amount of data that needs to be bubbled up, as well as to make proper handling of `overflow: hidden` clipping easier, the `StackingContext` abstraction is now purely internal to the display list. That is, instead of placing items into a stacking context directly, display items are placed into display lists alongside a stacking level. When a stacking context is complete, it is flattened with the the `flatten` method, which shuffles the display items that make up the context into their proper order while handling clipping properly.
* layout: Re-enable parallel layout by removing all `RefCell` instancesPatrick Walton2014-05-021-8/+7
| | | | | | | | | | | | | from `Flow`s; in the process, remove `InlineInfo` in favor of the range-based design that was originally planned and halfway implemented. Now, the DOM tree structure for inline flows is reflected not by a series of arrays but instead by a flat list of ranges into the list of boxes. As part of this, the `border` and `padding` fields, which were incorrect in the case of inlines and necessitated separate `noncontent_inline_foo` methods, have been merged into a single `border_padding` field that is always guaranteed to be correct after width assignment, even for inlines.
* This batch of changes upgrades Servo to work with the Rust upgrade as ofLars Bergstrom2014-04-271-7/+7
| | | | | | April 10, 2014. The main changes are to privacy, to work around the issues with incorrect bounds on the libstd `Arc<Mutex<T>>`, and the various API changes strewn throughout the libraries.
* Make box_ not Option in block flows.(fixes #2012)lpy2014-04-061-27/+18
|
* layout: Address review feedback.Patrick Walton2014-04-031-13/+6
|
* layout: Implement enough of automatic table layout to pass Acid2.Junyoung Cho2014-04-031-102/+93
|
* Construct table-related flow and calculate fixed layoutJunyoung Cho2014-03-241-0/+368