aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_layout_interface/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* Fix unsafe AtomicRefCell<PersistentLayoutData> transmute due to memory ↵Imanol Fernandez2017-05-121-0/+5
| | | | alignment differences
* Upgrade to html5ever 0.16Simon Sapin2017-05-021-1/+1
|
* Eliminate ScrollRootIdMartin Robinson2017-04-201-0/+1
| | | | | | | Just use WebRender's ClipId directly. This will allow us to create and use ReferenceFrames in the future, if we need to do that. It will also make it easier to have Servo responsible for creating the root scrolling area, which will allow removing some old hacks in the future.
* Make image cache per-document rather than globalFernando Jiménez Moreno2017-03-271-1/+1
|
* Make script thread initiate requests for images needed by layout.Josh Matthews2017-02-221-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In support of this goal, the layout thread collects information about CSS images that are missing image data and hands it off to the script thread after layout completes. The script thread stores a list of nodes that will need to be reflowed after the associated network request is complete. The script thread ensures that the nodes are not GCed while a request is ongoing, which the layout thread is incapable of guaranteeing. The image cache's API has also been redesigned in support of this work. No network requests are made by the new image cache, since it does not possess the document-specific information necessary to initiate them. Instead, there is now a single, synchronous query operation that optionally reserves a slot when a cache entry for a URL cannot be found. This reserved slot is then the responsibility of the queryer to populate with the contents of the network response for the URL once it is complete. Any subsequent queries for the same URL will be informed that the response is pending until that occurs. The changes to layout also remove the synchronous image loading code path, which means that reftests now test the same code that non-test binaries execute. The decision to take a screenshot now considers whether there are any outstanding image requests for layout in order to avoid intermittent failures in reftests that use CSS images.
* Kill the plugins crate and its clippy supportAnthony Ramine2017-02-211-2/+0
| | | | | | Sometimes clippy gets outdated by months, and its current support setup means that each Servo component need to opt into it by depending on the plugins crate manually, and not all components do that.
* Update rustc to 1.16.0-nightly (7821a9b99 2017-01-23).Ms2ger2017-01-241-4/+0
|
* Upgrade to rustc 1.16.0-nightly (6f1ae663e 2017-01-06)Simon Sapin2017-01-061-1/+0
|
* Switch to crates.io for atomic_refcell.Bobby Holley2017-01-031-1/+2
|
* Bug 1317016 - Basic infrastructure for RestyleHint-driven traversal.Bobby Holley2016-11-241-11/+2
| | | | MozReview-Commit-ID: 7wH5XcILVmX
* Rename selector_impl.rs to selector_parser.rsSimon Sapin2016-11-201-1/+1
| | | | This makes it consistent with an upcoming update of the selectors crate.
* Auto merge of #14246 - emilio:servo-url, r=SimonSapinbors-servo2016-11-171-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Urlmageddon <!-- Please describe your changes on the following line: --> Still needs a bunch of code in net to be converted in order to get more advantage of this for images and stuff, but meanwhile this should help quite a bit with #13778. Still wanted to get this in. r? @SimonSapin <!-- 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/14246) <!-- Reviewable:end -->
| * Urlmageddon: Use refcounted urls more often.Emilio Cobos Álvarez2016-11-171-1/+1
| |
* | Eliminate HAS_CHANGED in favor of explicit RestyleDamage.Bobby Holley2016-11-161-1/+5
|/
* Stop using associated types for the concrete TRestyleDamage implementation.Bobby Holley2016-11-071-2/+1
| | | | MozReview-Commit-ID: LfaZFCVlIb1
* Update to string-cache 0.3Simon Sapin2016-11-031-2/+2
|
* Remove #![feature(custom_attribute)]Anthony Ramine2016-11-031-1/+0
|
* Remove #![feature(custom_derive)]Anthony Ramine2016-11-031-1/+0
|
* Use heapsize_derive instead of heapsize_pluginSimon Sapin2016-11-031-1/+2
|
* Rename NodeData and associated data structures to Element*.Bobby Holley2016-10-291-4/+4
| | | | MozReview-Commit-ID: 96VsmsoZtjZ
* Eliminate untraversed node types from LayoutNodeType.Bobby Holley2016-10-271-5/+0
| | | | MozReview-Commit-ID: 926ReI1BSsf
* Rearrange some data structures in preparation for the new incremental ↵Bobby Holley2016-10-211-4/+4
| | | | | | restyle algorithm. MozReview-Commit-ID: 8iOALQylOuK
* Remove old rendering backend.Glenn Watson2016-10-181-1/+0
| | | | | | | | | | | | | | This removes paint threads, rust-layers dependency, and changes optional webrender types to be required. The use_webrender option has been removed, however I've left the "-w" command line option in place so that wpt runner can continue to pass that. Once it's removed from there we can also remove the -w option. Once this stage is complete, it should be fine to change the display list building code to generate webrender display lists directly and avoid the conversion step.
* Move children_to_process to layout.Bobby Holley2016-10-081-0/+36
| | | | | | | | | | | We don't need this for Gecko, and it's hard to implement in that case because there's nowhere obvious to put it (we don't plan to create TSDs for non-dirty nodes, and non-dirty nodes can have dirty children which require the children_to_process atomic). There are various solutions here, but punting is the easiest. We'll need to rethink this if/when we need to do a bottom-up traversal for Gecko.
* add SVGElement, SVGGraphicsElement interfaces and SVGSVGElement elementAlexandrov Sergey2016-10-061-0/+6
|
* Rename PrivateStyleData to PersistentStyleData and use AtomicRefCell instead ↵Bobby Holley2016-10-021-5/+5
| | | | | | | | of RefCell as a container. This allows us to eliminate the unsafe borrows. \o/ MozReview-Commit-ID: 29hpGaWUFQz
* Remove some type aliases that are now just re-exports.Simon Sapin2016-07-201-1/+1
|
* Use our copy of RefCell for style data.Simon Sapin2016-06-231-1/+1
| | | | | This allows removing `#![feature(as_unsafe_cell)]` in geckolib and make progress towards #11815.
* Move CSSErrorReporter to script_layout_interface.Ms2ger2016-06-201-0/+5
|
* Move the remainder of layout_interface into script_layout_interface.Ms2ger2016-06-201-0/+4
|
* Move is_image_data to script_layout_interface.Ms2ger2016-06-201-0/+5
|
* Move LayoutRPC to script_layout_interface.Ms2ger2016-06-201-0/+4
|
* Move TrustedNodeAddress to script_layout_interface.Ms2ger2016-06-201-0/+9
|
* Move LayoutNode and related traits to script_layout_interface.Ms2ger2016-06-201-0/+8
|
* Move HTMLCanvasData to script_layout_interface.Ms2ger2016-06-201-0/+10
|
* Introduce LayoutNodeType and LayoutElementType enums.Ms2ger2016-06-201-0/+27
|
* Introduce PartialStyleAndLayoutData.Ms2ger2016-06-201-1/+9
|
* Move OpaqueStyleAndLayoutData to script_layout_interface.Ms2ger2016-06-201-0/+18
|
* Introduce a script_layout_interface crate and move RestyleDamage to it.Ms2ger2016-06-201-0/+18