servo/components
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
..
atoms Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
bluetooth Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
bluetooth_traits Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
canvas Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
canvas_traits Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
compositing Rename ScreenPx to DeviceIndependentPixel. 2017-02-22 14:37:24 +10:00
config Rename ScreenPx to DeviceIndependentPixel. 2017-02-22 14:37:24 +10:00
constellation Auto merge of #15670 - nox:die-plugins-die, r=Manishearth 2017-02-21 05:15:15 -08:00
debugger Removed util. 2016-12-14 18:04:37 -06:00
deny_public_fields Change #[privatize] into #[derive(DenyPublicFields)] 2017-02-15 10:24:01 +01:00
devtools Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
devtools_traits Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
domobject_derive Replace inheritance_integrity by trait shenanigans 2017-02-15 22:11:20 +01:00
geometry Rename ScreenPx to DeviceIndependentPixel. 2017-02-22 14:37:24 +10:00
gfx Auto merge of #15670 - nox:die-plugins-die, r=Manishearth 2017-02-21 05:15:15 -08:00
gfx_traits Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
jstraceable_derive Remove a useless cfg attribute 2017-02-21 11:10:30 +01:00
layout Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
layout_thread Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
layout_traits Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
msg Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
net Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
net_traits Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
profile Auto merge of #15458 - connorimes:hbs-0.4, r=emilio 2017-02-22 09:05:37 -08:00
profile_traits Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
rand squash: convert less interesting debug! logs to traces 2017-01-18 22:21:41 -07:00
range Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
remutex squash: convert less interesting debug! logs to traces 2017-01-18 22:21:41 -07:00
script Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
script_layout_interface Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
script_plugins Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
script_traits Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
selectors Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
servo Make script thread initiate requests for images needed by layout. 2017-02-22 14:19:35 -05:00
style Fill computed property values where the propery is missing in initial and final keyframes. 2017-02-22 19:04:50 +09:00
style_traits Rename ScreenPx to DeviceIndependentPixel. 2017-02-22 14:37:24 +10:00
url Add ImmutableOrigin to allow for serializing origins 2017-02-22 11:11:59 -06:00
webdriver_server Kill the plugins crate and its clippy support 2017-02-21 11:50:36 +01:00
webvr Remove unused features from webvr traits 2017-02-21 11:00:03 +01:00
webvr_traits Remove unused features from webvr traits 2017-02-21 11:00:03 +01:00