aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/main/layout
Commit message (Collapse)AuthorAgeFilesLines
...
| * Remove unused teardown methodsBrendan Zabarauskas2014-05-0510-63/+0
| | | | | | | | According to @pcwalton these used to be important for memory safety but are no longer needed now.
* | auto merge of #2337 : bjz/servo/smallvec, r=pcwaltonbors-servo2014-05-055-30/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | We can't replace the ones in the `style` crate because some functions expect generic `SmallVec`s. I also did some reorganisation of the `smallvec` macros. cc @pcwalton
| * | Replace most of the SmallVec0 usages with std::vec::VecBrendan Zabarauskas2014-05-055-30/+27
| |/ | | | | | | We can't replace the ones in the `style` crate because some functions expect generic `SmallVec`s.
* / Remove OptVector.Ms2ger2014-05-051-63/+0
|/
* Convert Vec::new() to vec!()Matt Murphy2014-05-0411-56/+56
|
* ~[] to Vec in table, table_colgroup, and textMatt Murphy2014-05-043-14/+13
|
* ~[] to Vec in layout flow, block, table, row, rowgroup, wrapperMatt Murphy2014-05-046-70/+70
|
* ~[] to Vec in mainMatt Murphy2014-05-041-2/+2
|
* ~[] to Vec in main/layout/wrapper.rsMatt Murphy2014-05-041-5/+5
|
* ~[] to Vec in main/layout/layout_task.rs, script/dom/clientrectlist.rs,Matt Murphy2014-05-041-1/+1
| | | | script/layout_interface.rs
* ~[] to Vec in main/layout/box_.rs, gfx/text/util.rs, main/layout/text.rsMatt Murphy2014-05-042-9/+10
|
* ~[] to Vec in main/layout/construct.rs and associated filesMatt Murphy2014-05-042-3/+54
|
* ~[] to std::vec::Vec in layoutMatt Murphy2014-05-042-11/+11
|
* ~[] to Vec in FontStyle and FontGroupMatt Murphy2014-05-041-2/+2
|
* Replace most ~"string"s with "string".to_owned().Ms2ger2014-05-0410-13/+13
|
* Replace all ~"" with "".to_owned().Ms2ger2014-05-034-5/+5
|
* Move all methods on T to JSRef<T> or JS<T> as appropriate.Josh Matthews2014-05-031-15/+21
|
* Remove JS::get/get_mut to enforce sound rooting practices.Josh Matthews2014-05-032-6/+5
|
* Implement safe rooting strategy via Unrooted, Root, JSRef, and JS.Josh Matthews2014-05-031-2/+2
|
* Stop passing owned strings to fail!().Ms2ger2014-05-031-1/+1
| | | | The ~"string" expression is being removed in upstream rust.
* layout: Guess the width of block formatting contexts so that we canPatrick Walton2014-05-022-81/+144
| | | | speculatively lay them out in parallel
* layout: Rewrite display list building to be parallel and to handlePatrick Walton2014-05-0217-965/+1214
| | | | | | | | | | | | | | | | | | | | | | | | | 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-0217-1584/+1291
| | | | | | | | | | | | | 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.
* Replace Au::zero_* with generic methodsMatt Brubeck2014-05-024-8/+9
|
* Make get_content_boxes return Vec.Ms2ger2014-04-281-2/+2
|
* Make get_nodes_under_mouse return Vec.Ms2ger2014-04-281-2/+2
|
* Remove unused_mut warningManish Goregaokar2014-04-281-1/+1
|
* This batch of changes upgrades Servo to work with the Rust upgrade as ofLars Bergstrom2014-04-2723-410/+412
| | | | | | 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.
* Implement Element.localName.(fixes #2188)lpy2014-04-231-1/+1
|
* auto merge of #2097 : SimonSapin/servo/pseudo-cleanup, r=pcwaltonbors-servo2014-04-162-32/+18
|\
| * fixup! Rename ElementType to PseudoElementType, to avoid confusion with ↵Simon Sapin2014-04-141-1/+1
| | | | | | | | ElementTypeId.
| * fixup! Merge new_with_pseudo_without_self() and new_with_pseudo() into ↵Simon Sapin2014-04-141-1/+1
| | | | | | | | with_pseudo()
| * Merge new_with_pseudo_without_self() and new_with_pseudo() into with_pseudo()Simon Sapin2014-04-141-14/+7
| |
| * Rename ElementType to PseudoElementType, to avoid confusion with ElementTypeId.Simon Sapin2014-04-142-11/+11
| |
| * Use #[deriving(Clone)] for ThreadSafeLayoutNodeSimon Sapin2014-04-141-9/+2
| |
* | box_: Remove unused code that resurfaced with the Rust upgradePatrick Walton2014-04-151-72/+0
|/
* auto merge of #2071 : hyunjunekim/servo/try, r=larsbergstrombors-servo2014-04-111-0/+3
|\ | | | | | | If <span> element has pseudo style, draw pseudo element.
| * inline pseudo elementhyunjunekim2014-04-091-0/+3
| |
* | auto merge of #2085 : lpy/servo/issue2079, r=jdmbors-servo2014-04-111-17/+0
|\ \ | | | | | | | | | see #2079
| * | Replace @s with Rc types.(fixes #2079)lpy2014-04-121-17/+0
| | |
* | | auto merge of #2070 : larsbergstrom/servo/android_201404c, ↵bors-servo2014-04-101-0/+75
|\ \ \ | | | | | | | | | | | | | | | | | | | | r=larsbergstrom,metajack r? @metajack
| * | | Update the configuration files to properly build rust. Revert rust-stb-image ↵Lars Bergstrom2014-04-101-3/+3
| | | | | | | | | | | | | | | | submodule misupdate.
| * | | fix android for rust updateaydin.kim2014-04-101-0/+5
| | | |
| * | | Android fixes for February Rust UpgradeLars Bergstrom2014-04-101-0/+70
| | |/ | |/|
* | | auto merge of #2020 : lpy/servo/issue2012, r=larsbergstrombors-servo2014-04-107-398/+282
|\ \ \ | |_|/ |/| | | | | see #2012
| * | Make box_ not Option in block flows.(fixes #2012)lpy2014-04-067-398/+282
| | |
* | | auto merge of #2045 : Manishearth/servo/pub-struct-2044, r=SimonSapinbors-servo2014-04-094-7/+7
|\ \ \ | |_|/ |/| | | | | See #2044
| * | fix visibility warnings in main crate (#2044)Manish Goregaokar2014-04-064-7/+7
| |/
* / Remove trailing whitespace.Ms2ger2014-04-071-12/+12
|/
* auto merge of #2038 : SimonSapin/servo/min-height-collapse, r=pcwaltonbors-servo2014-04-041-2/+11
|\ | | | | | | | | | | [Relevant spec](http://dev.w3.org/csswg/css2/box.html#collapsing-margins): > top and bottom margins of a box that does not establish a new block formatting context and that has zero computed 'min-height', zero or 'auto' computed 'height', and no in-flow children