aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/layout_task.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Return the result from process_content_boxes_request.Ms2ger2015-10-261-1/+1
|
* Return the result from process_node_geometry_request.Ms2ger2015-10-261-6/+6
|
* Return the result from process_resolved_style_request.Ms2ger2015-10-261-21/+18
|
* Return the result from process_offset_parent_query.Ms2ger2015-10-261-8/+8
|
* Remove a pointless clone() from add_font_face_rules.Ms2ger2015-10-251-1/+0
|
* Remove an unnecessary Atom::clone() call.Ms2ger2015-10-251-2/+2
|
* Auto merge of #8155 - Ms2ger:join, r=jdmbors-servo2015-10-231-4/+0
|\ | | | | | | | | | | | | | | | | | | Remove Window::layout_join_port. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8155) <!-- Reviewable:end -->
| * Remove the ConstellationControlMsg::ReflowComplete message.Ms2ger2015-10-221-4/+0
| |
* | Use the select!{} macro in LayoutTask::handle_request.Ms2ger2015-10-221-47/+17
|/
* Remove HAS_DIRTY_SIBLINGS.Bobby Holley2015-10-211-1/+0
| | | | | | This isn't doing anything right now, and we're not even setting it properly in dirty_impl the |dirty_subtree(self)| was causing us to hit the skip case for step 3.
* Fix issues found by rust-clippyCorey Farwell2015-10-121-1/+1
|
* Auto merge of #7807 - glennw:pid, r=jdmbors-servo2015-10-061-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible for iframes to create their own pipeline ID. This doesn't change any functionality, but it's the first step towards removing SubpageId. Adding this change now will allow us to gradually change over code referencing subpage id rather than in one massive PR. Introduces a namespace for pipeline ID generation - there is a namespace for the constellation thread, and one per script thread. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7807) <!-- Reviewable:end -->
| * Make it possible for iframes to create their own pipeline ID.Glenn Watson2015-10-061-1/+1
| | | | | | | | | | | | | | | | This doesn't change any functionality, but it's the first step towards removing SubpageId. Adding this change now will allow us to gradually change over code referencing subpage id rather than in one massive PR. Introduces a namespace for pipeline ID generation - there is a namespace for the constellation thread, and one per script thread.
* | Rework how StackingContexts are dynamically added to layersMartin Robinson2015-10-051-9/+7
| | | | | | | | | | | | | | | | | | StackingContexts are added to layers when it is necessary to maintain their ordering on top of other layered StackingContexts. Instead of tracking the information about a layer scattered around into different structs, combine it all into LayerInfo. LayerInfo will be used in the future to hold layer information for DisplayItems that are layerized independently of StackingContexts.
* | Handle <meta name=viewport> elements when added to documentJames Gilbertson2015-09-301-2/+18
|/
* Split Au type into separate crate, with minimal dependencies.Glenn Watson2015-10-011-1/+3
|
* layout: Make the compositor rather than layout determine the position ofPatrick Walton2015-09-291-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | each iframe. The old code that attempted to do this during layout wasn't able to work for multiple reasons: it couldn't know where the iframe was going to be on the page (because of nested iframes), and at the time it was building the display list for a fragment it couldn't know where that fragment was going to be in page coordinates. This patch rewrites that code so that both the sizes and positions of iframes are determined by the compositor. Layout layerizes all iframes and marks the iframe layers with the appropriate pipeline and subpage IDs so that the compositor can place them correctly. This approach is similar in spirit to Gecko's `RefLayer` infrastructure. The logic that determines when it is time to take the screenshot for reftests has been significantly revamped to deal with this change in delegation of responsibility. Additionally, this code removes the infrastructure that sends layout data back to the layout task to be destroyed, since it is now all thread-safe and can be destroyed on the script task. The failing tests now fail because of a pre-existing bug related to intrinsic heights and borders on inline replaced elements. They happened to pass before because we never rendered the iframes at all, which meant they never had a chance to draw the red border the tests expect to not render! Closes #7377.
* layout: Load Web fonts asynchronously.Patrick Walton2015-09-271-17/+101
| | | | | | Improves page load times significantly. Closes #7343.
* Delete dead code.Eli Friedman2015-09-261-18/+0
| | | | | (#[cfg(debug)] is false in every normal servo configuration, and the code in question doesn't compile.)
* Auto merge of #7724 - glennw:expire-anims, r=pcwaltonbors-servo2015-09-231-3/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that animations expire correctly and stop compositing occurring after they finish. There were two problems here: (1) The animation state update function was only called when nodes were dirty or there were new animations. (2) When all animations for a node expired, the entry from the hash table was not removed. The result was that once an animation began, the compositor would be running as fast as it can forever. Fixes #7721. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7724) <!-- Reviewable:end -->
| * Ensure that animations expire correctly and stop compositing occurring after ↵Glenn Watson2015-09-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | they finish. There were two problems here: (1) The animation state update function was only called when nodes were dirty or there were new animations. (2) When all animations for a node expired, the entry from the hash table was not removed. The result was that once an animation began, the compositor would be running as fast as it can forever. Fixes #7721.
* | sorted the extern crate, mod & use declarationsRavi Shankar2015-09-241-7/+7
|/
* Fix reported test-tidy errors for unmerged import blocksBrandon Fairchild2015-09-191-15/+14
| | | | This merges import blocks that were reported by tidy as unmerged.
* Ensure unique LayerIds for pseudo-elementsMartin Robinson2015-09-171-1/+1
| | | | | | | | Currently pseudo-elements, like the fragments created for ::before and ::after, with layers will have the same LayerId as the body of their owning fragments. Instead all LayerIds should be unique. Fixes #2010.
* Initial support for custom properties in CSSStyleDeclarationSimon Sapin2015-09-171-1/+1
|
* layout: Reformat some long lines and fix some whitespace issues.Patrick Walton2015-09-171-19/+39
|
* Improve printing of DisplayListsMartin Robinson2015-09-161-2/+1
| | | | | Use box tree characters to make DisplayLists easier to scan when printing them out.
* layout: Allow the overflow area of the `<body>` to be scrolled.Patrick Walton2015-09-101-1/+5
| | | | Fixes scrolling on Twitter.
* Handle cases where the layout root is None. Fixes #6375.Glenn Watson2015-09-081-92/+91
|
* Auto merge of #7487 - mrobinson:paint-layer-upgrade, r=pcwaltonbors-servo2015-09-041-8/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Have PaintLayers own StackingContexts instead of the opposite Previously, StackingContexts might have a PaintLayer. We switch the ownership, for several reasons: * We want PaintLayers to potentially contain something other than a StackingContext soon. * We want to delay the creation of PaintLayers until the last minute, so that we can synthesize new layers for sandwiched content. This commit also implements the second goal. Instead of creating PaintLayers during layout itself, wait until we are sorting and layerizing a completed DisplayList. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7487) <!-- Reviewable:end -->
| * Have PaintLayers own StackingContexts instead of the oppositeMartin Robinson2015-09-041-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, StackingContexts might have a PaintLayer. We switch the ownership, for several reasons: * We want PaintLayers to potentially contain something other than a StackingContext soon. * We want to delay the creation of PaintLayers until the last minute, so that we can synthesize new layers for sandwiched content. This commit also implements the second goal. Instead of creating PaintLayers during layout itself, wait until we are sorting and layerizing a completed DisplayList.
* | Elide most 'a lifetimesManish Goregaokar2015-09-041-1/+1
|/
* Don’t mark flow_ref::deref_mut as unsafe.Simon Sapin2015-08-211-9/+9
| | | | See discussion in https://github.com/servo/servo/pull/7237
* Replace the unsound `impl DerefMut for FlowRef` with an unsafe function.Simon Sapin2015-08-201-11/+13
| | | | See #6503.
* sort all usesJohann Tuffe2015-08-201-8/+8
|
* layout: Don't panic if `requestAnimationFrame()` is called before first layout.Patrick Walton2015-08-201-8/+17
| | | | Closes #7115.
* flow::Flow should follow *_mut naming conventionsCorey Farwell2015-08-181-1/+1
| | | | Fixes #7148
* Fix existing syntactics nits.Josh Matthews2015-08-161-2/+2
|
* Replace uses of `for foo in bar.iter()` and `for foo in bar.iter_mut()`João Oliveira2015-08-151-4/+3
| | | | closes #7197
* Store a Sender<ConstellationControlMsg> in LayoutTask.Ms2ger2015-08-121-7/+6
|
* Store a Sender<ConstellationControlMsg> in ScriptReflow.Ms2ger2015-08-121-2/+1
|
* layout: Implement basic `overflow: scroll` functionality.Patrick Walton2015-08-101-1/+2
| | | | | | | | | | | | | | | Known issues: * Display list optimization can sometimes optimize out elements that should be shown. This affects the Enyo demo. * The `overflow: scroll` container doesn't clip the inner layer properly when borders, border radius, etc. are present. * `overflow-x: scroll` and `overflow-y: scroll` don't work individually; elements are scrolled all at once. * Scrolling only works on absolutely-positioned elements.
* layout: Remove the now-useless `dirty` field from the layout context.Patrick Walton2015-08-101-8/+0
| | | | | | | At this point the only thing it does is to try to avoid adding display items that are outside the root scrollable area, which is both wrong (since it's incompatible with having scrollable areas outside the root) and is useless (because we have displayports now).
* servo: Update `ipc-channel` to pick up `bincode` support.Patrick Walton2015-08-081-2/+2
| | | | Large improvement in page load times, especially in debug builds.
* Support @font-face in user and user agent stylesheets.Simon Sapin2015-08-071-6/+15
|
* Create a run_with_memory_reporting method to reduce the boilerplate ↵Ms2ger2015-08-061-19/+4
| | | | associated with registering memory reporters.
* Auto merge of #6836 - nick-thompson:layout_refactor, r=Ms2gerbors-servo2015-08-061-294/+10
|\ | | | | | | | | | | | | | | | | | | Extract layout query code into layout/query.rs Fix for #6787. I left the commits split up for ease of review, happy to squash when this gets accepted. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6836) <!-- Reviewable:end -->
| * Extract layout query code into query.rsNick Thompson2015-08-051-294/+10
| |
* | No need for paint layer in stacking context to be an arc.Glenn Watson2015-08-051-3/+3
|/
* Implement offsetParent/Top/Left/Width/Height.Glenn Watson2015-08-031-8/+125
|