aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/table.rs
Commit message (Collapse)AuthorAgeFilesLines
* Fix up script and layout.Bobby Holley2017-05-021-2/+1
|
* Fix fixed table layout column width distributionKeith Yeung2017-04-271-41/+44
|
* Remove cached thread local context from LayoutContextPu Xingyu2017-02-081-4/+5
| | | | | Remove cached thread local context from LayoutContext, use LayoutContext for assign_inline_sizes(), and simplify the parallel flow traversal code.
* Fix block-direction border collapsing calculationMatt Brubeck2017-01-241-7/+12
| | | | | | Previously the block-start collapsed borders from rows/cells were written to `preliminary_collapsed_borders` but never read. This fixes the block-direction part of #14834.
* Rework the way scroll roots are collectedMartin Robinson2017-01-101-6/+2
| | | | | | | | | | | | Collect scroll roots during the collect_stacking_context phase instead of during display list construction. This will be useful in order to collect containing block scroll roots as well as to give scroll roots sequential ids in the future. This change also pulls stacking context children out of the StackingContext struct itself, which should reduce very slightly the memory used by the finished display list. This also simplifies the DisplayListBuilder because it no longer has to maintain a stack of ScrollRootIds and StackingContextIds and can instead just rely on the program stack.
* Account for rowspan in inline layout of table columns/cellsMatt Brubeck2016-12-141-1/+21
|
* Remove unnecessary Flow::column_sizes methodsMatt Brubeck2016-11-301-8/+0
|
* Stop using associated types for the concrete TRestyleDamage implementation.Bobby Holley2016-11-071-1/+1
| | | | MozReview-Commit-ID: LfaZFCVlIb1
* Migrated -Z trace-layout to serde_jsonShing Lyu2016-11-071-3/+3
|
* Use a new id type for tracking scrolling areasMartin Robinson2016-10-301-2/+5
| | | | | | This is a step in disassociating scrolling areas from stacking contexts. Now scroll areas are defined by unique ids, which means that in the future stacking context will be able to contain more than one.
* layout: Minor style cleanup.Patrick Walton2016-10-261-4/+4
|
* layout: Assign border and padding to tables instead of table wrappers.Patrick Walton2016-10-261-15/+28
| | | | | This is more straightforward when anonymous table object generation is involved.
* layout: Refactor `Flow::from_fragment`-style constructors to bePatrick Walton2016-10-261-1/+1
| | | | consistent.
* Simplify stacking context collectionMartin Robinson2016-09-271-6/+2
| | | | | | | | | | Simplify the way that stacking contexts are collected. Instead of passing the StackingContextId down the tree, pass the parent StackingContext itself. This will allow future patches to get more information about the parent stacking context (such as location). Also remove the return value of collect_stacking_contexts, which was unused.
* Auto merge of #13192 - notriddle:master, r=pcwaltonbors-servo2016-09-081-15/+28
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Account for percentages in fixed table layout Don't just use the minimum length all the time. --- - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #13166 (github issue number if applicable). - [X] There are tests for these changes <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/13192) <!-- Reviewable:end -->
| * Account for percentages in fixed table layoutMichael Howell2016-09-071-15/+28
| | | | | | | | Fixes #13166
* | Reorder `use` statementsUK9922016-09-091-1/+1
|/
* Handle row borders in border collapsing logic.Gabriel Poesia2016-08-301-18/+14
| | | | Fixes #11527.
* Pass SharedLayoutContext to Flow::compute_absolute_position.Ms2ger2016-08-241-2/+2
|
* Remove some type aliases that are now just re-exports.Simon Sapin2016-07-201-1/+1
|
* Remove the ComputedValue traits and style_struct_traitsSimon Sapin2016-07-201-1/+1
|
* Move util::print_tree to gfx_traitsAnthony Ramine2016-07-041-1/+1
|
* Pass SharedStyleContext to assign_inline_sizes.Ms2ger2016-06-221-4/+3
|
* Pass SharedStyleContext to propagate_assigned_inline_size_to_children.Ms2ger2016-06-221-1/+1
|
* Pass SharedStyleContext to compute_used_inline_size.Ms2ger2016-06-221-3/+4
|
* Pass SharedStyleContext to compute_inline_size_constraint_inputs.Ms2ger2016-06-221-1/+2
|
* Remove unnecessary mut in TableFlowMatt Brubeck2016-06-201-1/+1
|
* Introduce a script_layout_interface crate and move RestyleDamage to it.Ms2ger2016-06-201-1/+1
|
* script: Keep the DOM-side viewport up to date when scrolling happens inPatrick Walton2016-05-311-1/+2
| | | | | | | | | | | | | | | WebRender. This happens asynchronously, just as it does in non-WebRender mode. This functionality is a prerequisite for doing proper display-list-based hit testing in WebRender, since it moves the scroll offsets into Servo (and, specifically, into the script thread, enabling iframe event forwarding) instead of keeping them private to WebRender. Requires servo/webrender_traits#55 and servo/webrender#277. Partially addresses #11108.
* Report use statements that use {} with only one entryCullen Rhodes2016-05-271-2/+2
|
* Rename imm_child_iter() and child_iter(). Fixes #10286malayaleecoder2016-04-091-5/+5
|
* Renamed TComputedValues to ComputedValuesPer Lundberg2016-03-291-1/+1
| | | | This is a followup to #10210, and a continuation of #10185.
* ComputedValues is now ServoComputedValuesPer Lundberg2016-03-271-2/+2
| | | | This is the first part of #10185. More to follow. I have built this locally with both servo and geckolib without errors; let's see if it succeeds on all platforms as well.
* layout: Rewrite the block formatting context/float inline-sizePatrick Walton2016-03-251-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | speculation code. The old code tried to do the speculation as a single bottom-up pass after intrinsic inline-size calculation, which was unable to handle cases like this: <div> <div style="float: left">Foo</div> </div> <div> <div style="overflow: hidden">Bar</div> </div> No single bottom-up pass could possibly handle this case, because the inline-size of the float flowing out of the "Foo" block could never make it down to the "Bar" block, where it is needed for speculation. On the pages I tried, this regresses layout performance by 1%-2%. I first noticed this breaking some pages, like the Google SERPs, several months ago.
* Parameterize the rest of the style system on TNode.Bobby Holley2016-03-241-1/+1
|
* gfx: Box stacking contexts to minimize `memmove` traffic.Patrick Walton2016-03-031-1/+1
| | | | | | `memmove` was showing up high in the profile when concatenating and shorting display lists. This change drastically reduces the `memmove` cost in exchange for some minor additional allocation cost.
* Auto merge of #9756 - mrobinson:flat-display-lists-webrender, r=pcwaltonbors-servo2016-03-021-6/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flatten display list structure Instead of producing a tree of stacking contexts, display list generation now produces a flat list of display items and a tree of stacking contexts. This will eventually allow display list construction to produce and modify WebRender vertex buffers directly, removing the overhead of display list conversion. This change also moves layerization of the display list to the paint thread, since it isn't currently useful for WebRender. To accomplish this, display list generation now takes three passes of the flow tree: 1. Calculation of absolute positions. 2. Collection of a tree of stacking contexts. 3. Creation of a list of display items. After collection of display items, they are sorted based upon the index of their parent stacking contexts and their position in CSS 2.1 Appendeix E stacking order. This is a big change, but it actually simplifies display list generation. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9756) <!-- Reviewable:end -->
| * Flatten display list structureMartin Robinson2016-03-011-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of producing a tree of stacking contexts, display list generation now produces a flat list of display items and a tree of stacking contexts. This will eventually allow display list construction to produce and modify WebRender vertex buffers directly, removing the overhead of display list conversion. This change also moves layerization of the display list to the paint thread, since it isn't currently useful for WebRender. To accomplish this, display list generation now takes three passes of the flow tree: 1. Calculation of absolute positions. 2. Collection of a tree of stacking contexts. 3. Creation of a list of display items. After collection of display items, they are sorted based upon the index of their parent stacking contexts and their position in CSS 2.1 Appendeix E stacking order. This is a big change, but it actually simplifies display list generation.
* | Fix border collapsing at the end of a table-row-groupMatt Brubeck2016-03-011-127/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the border-end calculation for table rows whose borders are collapsed with rows in different rowgroups. The border collapsing code now uses an iterator that yields all the rows as a flat sequence, regardless of how they are grouped in rowgroups. It gets rid of `TableRowGroupFlow::preliminary_collapsed_borders` which was never correct. (It was read but never written.) This may fix #8120 but I'm not 100% certain. (I haven't managed to reproduce the intermittent failure locally, and my reduced test case still fails but in a different way.)
* | Fix confusing `push_or_mutate` APIMatt Brubeck2016-02-291-6/+7
|/ | | | | | | | | | This fixes a bug when recalculating border collapsing for an existing table now. The bug was caused by using `push_or_mutate` which has no effect if there is already a value at the specified index. The fix switches incorrect `push_or_mutate` calls to use `push_or_set` instead. It also renames `push_or_mutate` to `get_mut_or_push` which I think is a less-confusing name for this method.
* Move util::logical_geometry to styleAnthony Ramine2016-02-181-1/+1
|
* layout: Separate out overflow-for-scrolling from overflow-for-paint.Patrick Walton2016-02-031-3/+3
| | | | Closes #9484.
* Improve readability of flow tree dumpMartin Robinson2015-11-231-0/+5
| | | | | | | Use the PrintTree utility to improve the readability of flow tree dumps. Blocks and fragments are now split over two dump levels, because otherwise they are impenetrable. Also start printing the restyle damage of fragments.
* Remove dead code from layout.Ms2ger2015-11-181-7/+0
|
* Auto merge of #8327 - Ms2ger:unused-arg, r=frewsxcvbors-servo2015-11-051-8/+4
|\ | | | | | | | | | | | | | | Remove unused argument from TableLikeFlow::assign_block_size_for_table_like_flow. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8327) <!-- Reviewable:end -->
| * Remove unused argument from ↵Ms2ger2015-11-041-8/+4
| | | | | | | | TableLikeFlow::assign_block_size_for_table_like_flow.
* | Eliminate LAYERS_NEEDED_FOR_DESCENDANTS flagMartin Robinson2015-11-041-5/+1
|/ | | | | | | This flag is no longer necessary, because stacking contexts can now create layers lazily for content that needs to be stacked above a layer. This should reduce the number of layers on pages, hopefully reducing overdraw.
* Change overflow calculation to be calculated after compute_absolute_position.Glenn Watson2015-11-031-3/+2
| | | | | | Also include absolutely positioned elements in the overflow rect calculation. Fixes #7797.
* Cleanup code that was warned by rust-clippyCorey Farwell2015-10-111-11/+6
|
* Split Au type into separate crate, with minimal dependencies.Glenn Watson2015-10-011-1/+1
|