aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/layout_task.rs
Commit message (Collapse)AuthorAgeFilesLines
* Fix obsolete format traits.Ms2ger2015-01-021-1/+1
| | | | They are to be removed from the language in the next rust upgrade.
* layout: to_string() -> into_string()Manish Goregaokar2014-12-271-1/+1
|
* gfx: Clip the background properly when `border-radius` is used.Patrick Walton2014-12-221-2/+4
| | | | Improves Reddit, GitHub, etc.
* gfx: Refactor the border drawing code and split out fragment displayPatrick Walton2014-12-221-2/+1
| | | | | | list building into multiple functions. This should have no functional changes; it's just code cleanup.
* script: Remove glob imports added in #4405Tetsuharu OHZEKI2014-12-191-21/+19
|
* compositing: Implement `cursor` per CSS3-UI § 8.1.1 in the CEF/Mac port.Patrick Walton2014-12-171-66/+90
| | | | | I'm not sure how we want to handle Linux cursors, and GLFW has no ability to set cursors (short of disabling it and managing it yourself).
* Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d.Ms2ger2014-12-171-38/+38
|
* Remove some manual deref() / deref_mut() calls.Ms2ger2014-12-161-5/+5
|
* style: Implement quirks mode rules.Patrick Walton2014-12-151-1/+11
|
* script: Add some workarounds for image cache task racesPatrick Walton2014-12-151-0/+4
|
* Replace almost "render" to "paint" in layout crate.Tetsuharu OHZEKI2014-12-081-2/+2
| | | | This doesn't touch some "render" words which are used as general means.
* Rename gfx::paint_task::MsgTetsuharu OHZEKI2014-12-081-2/+2
|
* Rename RenderChan -> PaintChanTetsuharu OHZEKI2014-12-081-8/+8
|
* Rename RenderLayer -> PaintLayerTetsuharu OHZEKI2014-12-081-3/+3
|
* Rename gfx/render_task.rs -> gfx/paint_task.rsTetsuharu OHZEKI2014-12-081-2/+2
|
* Change time::profile's meta booleans to enums.Timothy B. Terriberry2014-12-051-11/+19
| | | | | | | | This makes these parameters self-documenting. This patch does not attempt to push those enums into the data structures that feed calls to this function. Fixes #4158.
* layout: Implement `opacity` per CSS-COLOR § 3.2.Patrick Walton2014-12-031-9/+10
| | | | | | | | | This adds the infrastructure necessary to support stacking contexts that are not containing blocks for absolutely-positioned elements. Our infrastructure did not support that before. This minor revamp actually ended up simplifying the logic around display list building and stacking-relative position computation for absolutely-positioned flows, which was nice.
* gfx: Rewrite display list construction to make stacking-contexts morePatrick Walton2014-11-141-70/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | first-class. This implements the scheme described here: https://groups.google.com/forum/#!topic/mozilla.dev.servo/sZVPSfPVfkg This commit changes Servo to generate one display list per stacking context instead of one display list per layer. This is purely a refactoring; there are no functional changes. Performance is essentially the same as before. However, there should be numerous future benefits that this is intended to allow for: * It makes the code simpler to understand because the "new layer needed" vs. "no new layer needed" code paths are more consolidated. * It makes it easy to support CSS properties that did not fit into our previous flat display list model (without unconditionally layerizing them): o `opacity` should be easy to support because the stacking context provides the higher-level grouping of display items to which opacity is to be applied. o `transform` can be easily supported because the stacking context provides a place to stash the transformation matrix. This has the side benefit of nicely separating the transformation matrix from the clipping regions. * The `flatten` logic is now O(1) instead of O(n) and now only needs to be invoked for pseudo-stacking contexts (right now: just floats), instead of for every stacking context. * Layers are now a proper tree instead of a flat list as far as layout is concerned, bringing us closer to a production-quality compositing/layers framework. * This commit opens the door to incremental display list construction at the level of stacking contexts. Future performance improvements could come from optimizing allocation of display list items, and, of course, incremental display list construction.
* Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8aJack Moffitt2014-11-131-18/+17
|
* 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.
* Make media queries work with resize and page zoom.Glenn Watson2014-11-041-22/+16
|
* Have ContentBox(es)Queries consult the flow treeMartin Robinson2014-11-031-149/+206
| | | | | | | | | 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.
* layout: Make incremental reflow more fine-grained by introducing "reflowPatrick Walton2014-10-311-4/+6
| | | | | | out-of-flow" and "reconstruct flow" damage bits. This is needed for good performance on the maze solver.
* auto merge of #3839 : pcwalton/servo/fewer-moves-in-dls, r=glennwbors-servo2014-10-281-6/+5
|\ | | | | | | | | | | These were showing up in the profile. r? @glennw
| * layout: Use the new `append_from` method to get rid of a bunch of movesPatrick Walton2014-10-281-6/+5
| | | | | | | | | | | | in display list construction. These were showing up in the profile.
* | auto merge of #3837 : pcwalton/servo/layout-formatting-cleanups, r=metajackbors-servo2014-10-281-50/+83
|\ \ | |/ |/| | | | | | | These should have no effect on functionality. r? @metajack
| * layout: Make some formatting cleanups.Patrick Walton2014-10-281-50/+83
| | | | | | | | These should have no effect on functionality.
* | auto merge of #3828 : cgaebel/servo/layout-node-dumping, r=pcwaltonbors-servo2014-10-281-1/+4
|\ \ | |/ |/| | | r? @pcwalton
| * layout: Implement flow tree dumping with RUST_LOG=debug is on.Clark Gaebel2014-10-281-1/+4
| | | | | | | | r? @pcwalton
* | remove warningClark Gaebel2014-10-281-1/+1
| |
* | combine conditionsClark Gaebel2014-10-281-4/+2
| |
* | Layout: Fix resize (which just plain doesn't work right now).Clark Gaebel2014-10-281-13/+41
|/ | | | | | Currently, both restyle/flow construction _and_ reflow are skipped during resize. Reflow should not be in that list. This patch fixes that.
* Dynamically check DOMRefCell access from layout in debug buildsKeegan McAllister2014-10-241-2/+4
|
* layout: Don't destroy the flow tree when resizing the windowPatrick Walton2014-10-201-3/+1
|
* Fixes the table_percentage_width_a.html reftest with incremental reflow ↵Clark Gaebel2014-10-201-14/+3
| | | | turned on.
* Use opts as a global, to avoid cloning and passing the struct all over the code.Glenn Watson2014-10-201-21/+13
|
* auto merge of #3719 : mrobinson/servo/flow-dump, r=pcwaltonbors-servo2014-10-171-3/+4
|\ | | | | | | | | | | The flow tree is currently dumped for debugging purposes early on in the flow process, so many values are still zero. If we wait to dump it until later, the output will more accurately reflect the real flow tree.
| * Wait to dump flow tree until flow is completeMartin Robinson2014-10-171-3/+4
| | | | | | | | | | | | The flow tree is currently dumped for debugging purposes early on in the flow process, so many values are still zero. If we wait to dump it until later, the output will more accurately reflect the real flow tree.
* | Fixed the inline_element_border_a reftest with incremental layout turned on.Clark Gaebel2014-10-171-0/+4
| |
* | Fix image_dynamic_remove reftest with incremental layout turned outClark Gaebel2014-10-171-0/+1
|/ | | | | | | | This also adds some extra debugging infrastructure which I found useful tracking this bug down. A regression in the br reftests is also uncovered by this patch, which I'll work on fixing next. r? @pcwalton
* auto merge of #3692 : cgaebel/servo/fix-incremental-append-style, r=pcwaltonbors-servo2014-10-151-7/+3
|\ | | | | | | @pcwalton r?
| * Fix append_style reftests with incremental reflow turned on.Clark Gaebel2014-10-151-7/+3
| | | | | | | | @pcwalton r?
* | Use the Deref traits for FlowRefs.Clark Gaebel2014-10-151-12/+12
|/ | | | | This patch switches FlowRefs to using the Deref and DerefMut traits, instead of the custom `get` and `get_mut` functions.
* auto merge of #3668 : cgaebel/servo/sequential-reflow, r=pcwaltonbors-servo2014-10-141-57/+19
|\ | | | | | | | | | | | | | | | | | | | | | | Now that DOM/Flow traversals have been refactored out, the `recalc_style_for_subtree` function in `css/matching.rs` can be removed, in lieu of just running the standard `recalc_style_for_node` and `construct_flows` traversals sequentially. Now we no longer have the maintenance headache of duplicating selector matching logic in two places! \o/ This passes reftests with both default arguments, and with `-y 1`. r? @pcwalton
| * Removes duplicate CSS selector matching logic.Clark Gaebel2014-10-141-57/+19
| | | | | | | | | | | | | | | | | | | | Now that DOM/Flow traversals have been refactored out, the `recalc_style_for_subtree` function in `css/matching.rs` can be removed, in lieu of just running the standard `recalc_style_for_node` and `construct_flows` traversals sequentially. Now we no longer have the maintenance headache of duplicating selector matching logic in two places! \o/ r? @pcwalton
* | auto merge of #3610 : glennw/servo/media-queries, r=SimonSapinbors-servo2014-10-141-3/+10
|\ \ | |/ |/|
| * Implement media queries parser and matching. Improves mobile first sites ↵Glenn Watson2014-10-151-3/+10
| | | | | | | | like bootstrap3.
* | auto merge of #3640 : cgaebel/servo/incremental-flow-construction, r=pcwaltonbors-servo2014-10-141-9/+24
|\ \ | |/ |/| | | | | | | This also hides the not-yet-working parts of incremental reflow behind a runtime flag. As I get the failing reftests passing, I'll send pull requests for them one by one.
| * try to reset flows which need reflow, since reflow isn't yet idempotentClark Gaebel2014-10-141-9/+24
| |
* | auto merge of #3675 : glennw/servo/local-fonts, r=pcwaltonbors-servo2014-10-141-2/+2
|\ \ | |/ |/|