aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/layout_interface.rs
Commit message (Collapse)AuthorAgeFilesLines
* Auto merge of #9245 - Ms2ger:reexports, r=noxbors-servo2016-01-111-2/+1
|\ | | | | | | | | | | | | | | Stop reexporting style types from layout_interface. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9245) <!-- Reviewable:end -->
| * Stop reexporting ReflowGoal from layout_interface.Ms2ger2016-01-111-1/+1
| |
| * Stop reexporting Animation from layout_interface.Ms2ger2016-01-111-1/+0
| |
* | Move Epoch to gfx_traitsJohn DeSilva2016-01-101-2/+1
|/ | | | | Resolves #9222. Moved Epoch from components/msg/compositor_msg to components/gfx_traits/lib. Updated use statements to reflect the move.
* task -> threadrohan.prinja2016-01-101-14/+14
|
* Auto merge of #9077 - bholley:split_layout_context_etc, r=SimonSapinbors-servo2015-12-301-35/+2
|\ | | | | | | | | | | | | | | Split the style-related bits out of LayoutContext and hoist more stuff into style/ <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9077) <!-- Reviewable:end -->
| * Hoist style-related context bits into style/.Bobby Holley2015-12-291-35/+2
| | | | | | | | | | | | | | | | We do a few things-here: * Hoist non-layout-dependent fields in SharedLayoutData and LocalLayoutData into style/. * Hoist parts of css/matching.rs into style/. * Hoist parts of layout/animation.rs into style/animation.rs. * Remove the duplicated-but-slightly-different definition of OpaqueNode.
* | Auto merge of #9051 - bholley:split_style_and_layout_wrappers, r=SimonSapinbors-servo2015-12-301-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | Split layout wrappers into style+layout and layout-only functionality This is a step towards removing the dependency of stylo on layout/. This PR depends on #9004. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9051) <!-- Reviewable:end -->
| * Separate style+layout and layout-specific wrapper functionality.Bobby Holley2015-12-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | This patch does a number of things, unfortunately all at once: * Hoists a large subset of the layout wrapper functionality into the style system. * Merges TElementAttributes into the newly-created TElement. * Reorganizes LayoutData by style vs layout, and removes LayoutDataShared. * Simplifies the API for borrowing style/layout data. There's still more to do to make the style system usable standalone, but this is a good start.
* | Separate script and layout messages, issue #8843Joe Kachmar2015-12-261-2/+2
|/
* Move LayerKind and ScrollPolicy enums to gfx_traitsBrandon Fairchild2015-12-201-1/+1
| | | | | | This also moves LayerId and LayerProperties to gfx_traits. Fixes #8836.
* Auto merge of #8903 - KiChjang:layout-reporter-redirect, r=noxbors-servo2015-12-161-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | fix for Layout memory reporter uses pre-redirect url Rebase of #7612. Fixes #6872. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8903) <!-- Reviewable:end -->
| * fix for Layout memory reporter uses pre-redirect url #6872Arnaud Marant2015-12-091-0/+3
| |
* | Move ScriptMsg from msg crate into script_traitsTomas Cernaj2015-12-091-3/+2
|/
* compositing: Split Servo up into multiple sandboxed processes.Patrick Walton2015-11-191-3/+6
| | | | | Multiprocess mode is enabled with the `-M` switch, and sandboxing is enabled with the `-S` switch.
* Split ConstellationMsg into ScriptMsg and CompositorMsgKeith Yeung2015-11-161-1/+2
|
* Auto merge of #8548 - Ms2ger:unused-tna, r=pcwaltonbors-servo2015-11-171-2/+2
|\ | | | | | | | | | | | | | | | | | | | | Remove the unused arguments to hit_test and mouse_over. I don't think this code is called when there is no document element, but I added assertions to make sure we notice in case I was wrong. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8548) <!-- Reviewable:end -->
| * Remove the unused arguments to hit_test and mouse_over.Ms2ger2015-11-161-2/+2
| | | | | | | | | | I don't think this code is called when there is no document element, but I added assertions to make sure we notice in case I was wrong.
* | Remove AutoJoinScriptTask.Ms2ger2015-11-161-0/+6
|/ | | | | | | I don't believe there is a case where it would make sense to drop the ScriptReflow struct without joining the script thread. This approach should be somewhat more robust, and avoids the code smell of a RAII guard in an otherwise unused variable.
* Auto merge of #8039 - tschneidereit:script-owns-stylesheets, r=jdmbors-servo2015-11-081-11/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move Stylesheet loading and ownership from the layout task into HTML elements Stylesheets for `HTMLLinkElement`s are now loaded by the resource task, triggered by the element in question. Stylesheets are owned by the elements they're associated with, which can be `HTMLStyleElement`, `HTMLLinkElement`, and `HTMLMetaElement` (for `<meta name="viewport">). Additionally, the quirks mode stylesheet (just as the user and user agent stylesheets a couple of commits ago), is implemented as a lazy static, loaded once per process and shared between all documents. This all has various nice consequences: - Stylesheet loading becomes a non-blocking operation. - Stylesheets are removed when the element they're associated with is removed from the document. - It'll be possible to implement the CSSOM APIs that require direct access to the stylesheets (i.e., ~ all of them). - Various subtle correctness issues are fixed. One piece of interesting follow-up work would be to move parsing of external stylesheets to the resource task, too. Right now, it happens in the link element once loading is complete, so blocks the script task. Moving it to the resource task would probably be fairly straight-forward as it doesn't require access to any external state. Depends on #7979 because without that loading stylesheets asynchronously breaks lots of content. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8039) <!-- Reviewable:end -->
| * Move Stylesheet loading and ownership from the layout task into HTML elementsTill Schneidereit2015-11-071-11/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Stylesheets for `HTMLLinkElement`s are now loaded by the resource task, triggered by the element in question. Stylesheets are owned by the elements they're associated with, which can be `HTMLStyleElement`, `HTMLLinkElement`, and `HTMLMetaElement` (for `<meta name="viewport">). Additionally, the quirks mode stylesheet (just as the user and user agent stylesheets a couple of commits ago), is implemented as a lazy static, loaded once per process and shared between all documents. This all has various nice consequences: - Stylesheet loading becomes a non-blocking operation. - Stylesheets are removed when the element they're associated with is removed from the document. - It'll be possible to implement the CSSOM APIs that require direct access to the stylesheets (i.e., ~ all of them). - Various subtle correctness issues are fixed. One piece of interesting follow-up work would be to move parsing of external stylesheets to the resource task, too. Right now, it happens in the link element once loading is complete, so blocks the script task. Moving it to the resource task would probably be fairly straight-forward as it doesn't require access to any external state.
* | Remove the unused PipelineExitType field from layout_interface::Msg::ExitNow.Ms2ger2015-11-051-2/+2
|/
* Auto merge of #8239 - Ms2ger:ScriptReflow, r=pcwaltonbors-servo2015-11-031-4/+0
|\ | | | | | | | | | | | | | | Remove unused code around ScriptReflow. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8239) <!-- Reviewable:end -->
| * Remove unused fields from ScriptReflow.Ms2ger2015-10-311-4/+0
| |
* | Un-boxed ScriptReflowOlivia Nordquist2015-10-311-1/+1
|/
* Pass the document instead of the documentElement to reflow.Bobby Holley2015-10-271-1/+1
|
* Handle <meta name=viewport> elements when added to documentJames Gilbertson2015-09-301-0/+4
|
* Split Au type into separate crate, with minimal dependencies.Glenn Watson2015-10-011-1/+1
|
* layout: Load Web fonts asynchronously.Patrick Walton2015-09-271-0/+7
| | | | | | Improves page load times significantly. Closes #7343.
* sorted the extern crate, mod & use declarationsRavi Shankar2015-09-241-3/+1
|
* Fix reported test-tidy errors for unmerged import blocksBrandon Fairchild2015-09-191-1/+0
| | | | This merges import blocks that were reported by tidy as unmerged.
* sort all usesJohann Tuffe2015-08-201-2/+2
|
* Fix existing syntactics nits.Josh Matthews2015-08-161-2/+2
|
* Store a Sender<ConstellationControlMsg> in ScriptReflow.Ms2ger2015-08-121-2/+2
|
* Implement offsetParent/Top/Left/Width/Height.Glenn Watson2015-08-031-0/+17
|
* style: Switch animation timestamps to be doubles instead of floats.Patrick Walton2015-08-011-3/+3
| | | | | 32-bit floats are not enough to hold timestamps since the epoch and result in jank.
* Implement getComputedStyleDavid Zbarsky2015-07-291-0/+7
|
* Auto merge of #6662 - tschneidereit:client-geometry, r=glennw,pcwatsonbors-servo2015-07-271-0/+6
|\ | | | | | | | | | | | | | | | | | | | | | | Implement Element.client{Top,Left,Width,Height} This isn't done, but contains a working implementation of at least `clientTop`. Feedback would be much appreciated: it's probably far from ideal. Implementing `clientLeft` is straight-forward, I think, but `clientWidth` and `clientHeight` require accessing the `border_box` - and I don't know how that works, yet. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6662) <!-- Reviewable:end -->
| * Address review commentsTill Schneidereit2015-07-211-1/+1
| |
| * Implement client{Top, Left, Height, Width} element propertiesTill Schneidereit2015-07-191-0/+6
| |
* | profile: Make the time and memory profilers run over IPC.Patrick Walton2015-07-241-9/+1
|/ | | | | Uses the `Router` abstraction inside `ipc-channel` to avoid spawning new threads.
* script: Split `Pipeline::create` into chrome process and contentPatrick Walton2015-07-141-5/+26
| | | | | | | | | | | | process parts. This will make it easier to adapt to IPC. The trickiest part here was to make script tasks spawn new layout tasks directly instead of having the pipeline do it for them. The latter approach will not work in multiprocess mode, because layout and script must run in the same address space and the pipeline cannot inject tasks into another process.
* layout: Make the `LayoutControlChan` use IPC.Patrick Walton2015-07-141-1/+2
|
* Use euclid from crates.ioecoal952015-06-191-2/+2
|
* compositing: Implement display ports and avoid creating display listsPatrick Walton2015-05-191-0/+5
| | | | | | for items outside it. This improves Servo's performance on large pages.
* Fixes a number of race conditions and reliability issues with reftests and ↵Glenn Watson2015-05-141-0/+4
| | | | | | | | | | | | compositor. The basic idea is it's safe to output an image for reftest by testing: - That the compositor doesn't have any animations active. - That the compositor is not waiting on any outstanding paint messages to arrive. - That the script tasks are "idle" and therefore won't cause reflow. - This currently means page loaded, onload fired, reftest-wait not active, first reflow triggered. - It could easily be expanded to handle pending timers etc. - That the "epoch" that the layout tasks have last laid out after script went idle, is reflected by the compositor in all visible layers for that pipeline.
* Make link elements fire a load event.Josh Matthews2015-05-111-1/+2
|
* Make stylesheets block page load.Josh Matthews2015-05-111-1/+2
|
* Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8.Simon Sapin2015-05-051-5/+4
|
* Auto merge of #5913 - glennw:bounding-rect, r=pcwaltonbors-servo2015-05-011-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | * Fix queries involving stacking contexts * The code was double accumulating stacking context origins. * Handle queries of inline elements. * The node addresses being compared were incorrect (CharacterData vs. Span) * Handle ScriptQuery reflows correctly. * The layout task was skipping the compute absolute positions traversal, so failed before window.onload. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5913) <!-- Reviewable:end -->