servo/components/layout
Josh Matthews c890c9143c Make script thread initiate requests for images needed by layout.
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.
2017-02-22 14:19:35 -05:00
..
animation.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
block.rs Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
Cargo.toml Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
construct.rs Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
context.rs Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
data.rs Bug 1325734 - Remove Servo Layout's dependency on the initial-ness of the style. r=emilio 2017-01-09 11:51:36 -08:00
display_list_builder.rs Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
flex.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
floats.rs Migrated -Z trace-layout to serde_json 2016-11-07 15:54:07 +08:00
flow.rs Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
flow_list.rs Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
flow_ref.rs Migrated -Z trace-layout to serde_json 2016-11-07 15:54:07 +08:00
fragment.rs Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
generated_content.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
incremental.rs Make Restyle tracking more granular. 2016-12-09 14:46:40 -10:00
inline.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
layout_debug.rs Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
lib.rs Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
linked_list.rs Move util::linked_list to layout 2016-06-29 17:23:04 +02:00
list_item.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
model.rs Activate flexbox layout tracing 2016-12-28 15:31:45 +08:00
multicol.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
opaque_node.rs Introduce LayoutJS<Node>::opaque() to replace OpaqueNodeMethods::from_jsmanaged(). 2016-06-20 19:08:02 +02:00
parallel.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
persistent_list.rs Move util::persistent_list to layout 2016-02-20 19:20:38 +01:00
query.rs Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
sequential.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
table.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
table_caption.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
table_cell.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
table_colgroup.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
table_row.rs Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
table_rowgroup.rs Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
table_wrapper.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
text.rs Convert text-orientation to a Gecko-only property 2017-01-27 21:12:38 -08:00
traversal.rs Remove cached thread local context from LayoutContext 2017-02-08 08:47:54 +08:00
webrender_helpers.rs Update WR (pixel snapping improvements). 2017-02-13 23:46:28 +01:00
wrapper.rs Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:51:37 -08:00