aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/sequential.rs
Commit message (Collapse)AuthorAgeFilesLines
* Strict import formatting (grouping and granularity) (#30325)Samson2023-09-111-8/+11
| | | | | * strict imports formatting * Reformat all imports
* Try to `use` WebRender types moreMartin Robinson2023-07-101-3/+3
| | | | | The newer versions of WebRender move types around between `webrender` and `webrender_api` and this will reduce the churn during the upgrade.
* Clean up debug optionsMartin Robinson2023-05-011-1/+1
|
* Fix some typosDirk Stolle2022-12-171-1/+1
| | | | Signed-off-by: Dirk Stolle <striezel-dev@web.de>
* Update webrender.Josh Matthews2020-05-111-2/+6
|
* Update euclid.Emilio Cobos Álvarez2019-07-231-2/+2
| | | | | | | | There are a few canvas2d-related dependencies that haven't updated, but they only use euclid internally so that's not blocking landing the rest of the changes. Given the size of this patch, I think it's useful to get this landed as-is.
* Remove sometimes-unused bounds field from base display item to prevent ↵Josh Matthews2019-07-091-1/+0
| | | | confusion.
* rustfmtJosh Matthews2019-07-091-1/+1
|
* Create a solid rectangle display list entry for the page background.Josh Matthews2019-07-091-2/+23
|
* WebRender units are no longer reexported.Patrick Walton2019-07-091-1/+1
|
* Rustfmt has changed its default style :/Simon Sapin2018-12-281-5/+6
|
* Update MPL license to https (part 4)Jan Andre Ikenmeyer2018-11-191-1/+1
|
* `cargo fix --edition-idioms`Simon Sapin2018-11-081-10/+10
|
* Reorder importsPyfisch2018-11-061-2/+2
|
* Sort `use` statementsSimon Sapin2018-11-061-3/+3
|
* `cargo fix --edition`Simon Sapin2018-11-061-9/+9
|
* Rustfmt layout cratePyfisch2018-09-011-28/+47
|
* Update euclid to 0.18Bastien Orivel2018-07-181-1/+1
|
* Use typed transforms in stacking contextsPyfisch2018-02-241-1/+2
|
* Create own file for background calculations in layoutPyfisch2018-01-061-1/+1
| | | | | | | | | | Move display_list_builder.rs and webrender_helpers.rs along with the new file to components/layout/display_list/ Remove apparently unused IdType enum. Only variant used was OverflowClip. See #19676
* Turn flow::base and friends into methodsMatt Brubeck2017-12-141-14/+14
|
* Bump bitflags to 1.0 in every servo crateBastien Orivel2017-10-301-7/+7
|
* Backed out changeset e64e659c077d: servo PR #18809 and revendor for reftest ↵Gecko Backout2017-10-191-7/+7
| | | | | | failures, e.g. in layout/reftests/bugs/392435-1.html. r=backout on a CLOSED TREE Backs out https://github.com/servo/servo/pull/18809
* Update bitflags to 1.0 in every servo crateBastien Orivel2017-10-191-7/+7
| | | | | It still needs dependencies update to remove all the other bitflags versions.
* Separate stacking context collection and display list building stateMartin Robinson2017-09-121-2/+3
| | | | | | | These are two different passes during layout, but previously they shared a state object. While some of the members are the same, many are different so we separate them out into two separate objects. We also change the HashMaps of these state objects to use the FnvHashMap.
* Auto merge of #18212 - mrobinson:position-sticky, r=emiliobors-servo2017-09-051-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for position:sticky This leverages the position:sticky support in WebRender to bring basic support for position:sticky in Servo. There are still some issues with nested sticky flows as well as a few other corner cases. Tests are imported from WPT and can be removed once we update to the latest version. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [x] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- 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/18212) <!-- Reviewable:end -->
| * Add support for position:stickyMartin Robinson2017-09-051-1/+1
| | | | | | | | | | | | | | | | This leverages the position:sticky support in WebRender to bring basic support for position:sticky in Servo. There are still some issues with nested sticky flows as well as a few other corner cases. Tests are imported from WPT and can be removed once we update to the latest version.
* | Eliminate the sequential/traversal parallel distinction in favor of a ↵Bobby Holley2017-08-251-2/+0
|/ | | | | | unified adaptive driver. MozReview-Commit-ID: ADVTNJntzmp
* Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10)Simon Sapin2017-08-151-1/+1
|
* Change the mis-named 'traverse_flow_tree_preorder' to 'reflow'Matt Brubeck2017-08-081-1/+2
|
* Code organization: Move all generic traversal code to layout::traversalMatt Brubeck2017-08-081-9/+4
|
* Add a generic inorder traversal methodMatt Brubeck2017-08-071-14/+2
|
* Make BaseFlow::stacking_relative_position a vector.Nicolas Silva2017-06-141-1/+1
|
* Bump euclid to 0.14.Nicolas Silva2017-06-141-6/+6
|
* Fix #6799: set stacking_context_position correctly onEloy Coto2017-05-301-10/+17
| | | | fragment_border_iterator
* FMTEloy Coto2017-05-251-21/+30
|
* Force reflow in the sequential fallback of block format contextPu Xingyu2017-04-231-5/+14
| | | | | | When reflowing a block format context during the inorder traversal, propagate restyle damage manually to its children since they were already reflowed.
* Remove cached thread local context from LayoutContextPu Xingyu2017-02-081-9/+6
| | | | | Remove cached thread local context from LayoutContext, use LayoutContext for assign_inline_sizes(), and simplify the parallel flow traversal code.
* Rework the way scroll roots are collectedMartin Robinson2017-01-101-4/+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.
* Introduce and use Scoped TLS.Bobby Holley2016-12-211-5/+3
| | | | | | | | | | | | | | | | It turns out that it's problematic to embed ThreadLocalStyleContext within LayoutContext, because parameterizing the former on TElement (which we do in the next patch) infects all the traversal stuff with the trait parameters, which we don't really want. In general, it probably makes sense to use separate scoped TLS types for the separate DOM and Flow tree passes, so we can add a different ScopedTLS type for the Flow pass if we ever need it. We also reorder the |scope| and |shared| parameters in parallel.rs, because it aligns more with the order in style/parallel.rs. I did this when I was adding a TLS parameter to all these functions, which I realized we don't need for now.
* Make the DomTraversalContext own the SharedStyleContext and share it ↵Bobby Holley2016-12-161-6/+7
| | | | | | | | | | immutably across the traversal. This allows us to get rid of a bunch of lifetimes and simplify a lot of code. It also lets us get rid of that nasty lifetime transmute, which is awesome. The situation with thread-local contexts is still suboptimal, but we fix that in subsequent patches.
* Removed util.Alan Jeffrey2016-12-141-1/+1
|
* Stop using associated types for the concrete TRestyleDamage implementation.Bobby Holley2016-11-071-1/+1
| | | | MozReview-Commit-ID: LfaZFCVlIb1
* Fold some DisplayList methods into DisplayListBuildStateMartin Robinson2016-11-021-11/+9
| | | | | | | This makes the API used to build display lists quite a bit simpler and reduces the amount of auxiliary data structures that need to be passed around. It is also important preparation work for separating scrolling areas from stacking contexts.
* Use a new id type for tracking scrolling areasMartin Robinson2016-10-301-1/+2
| | | | | | 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.
* Simplify stacking context collectionMartin Robinson2016-09-271-4/+1
| | | | | | | | | | 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.
* layout: Add a `REPOSITION` restyle damage type.Patrick Walton2016-09-261-2/+1
| | | | | | Separating out `REPOSITION` from `REPAINT` allows us to compute stacking-context-relative positions without rebuilding the display list. This saves a lot of time when responding to script-to-layout queries.
* Reorder `use` statementsUK9922016-09-091-2/+2
|
* Pass a &mut Flow to build_display_list_for_subtree.Ms2ger2016-08-251-5/+3
|
* Pass a &mut Flow to traverse_flow_tree_preorder.Ms2ger2016-08-251-3/+1
|