mirror of
https://github.com/servo/servo.git
synced 2025-09-30 16:49:16 +01:00
Refactored image cache task - details below.
* Simpler image cache API for clients to use. * Significantly fewer threads. * One thread for image cache task (multiplexes commands, decoder threads and async resource requests). * 4 threads for decoder worker tasks. * Removed ReflowEvent hacks in script and layout tasks. * Image elements pass a Trusted<T> to image cache, which is used to dirty nodes via script task. Previous use of Untrusted addresses was unsafe. * Image requests such as background-image on layout / paint threads trigger repaint only rather than full reflow. * Add reflow batching for when multiple images load quickly. * Reduces the number of paints loading wikipedia from ~95 to ~35. * Reasonably simple to add proper prefetch support in a follow up PR. * Async loaded images always construct Image fragments now, instead of generic. * Image fragments support the image not being present. * Simpler implementation of synchronous image loading for reftests. * Removed image holder. * image.onload support. * image NaturalWidth and NaturalHeight support. * Updated WPT expectations.
This commit is contained in:
parent
e278e5b9a2
commit
d8aef7208e
33 changed files with 2785 additions and 1679 deletions
|
@ -11,22 +11,14 @@
|
|||
async_test(function() {
|
||||
var img = window.document.getElementsByTagName("img")[0];
|
||||
|
||||
var wait_for_img_load = this.step_func(function (f) {
|
||||
if (img.width != 0) {
|
||||
f();
|
||||
} else {
|
||||
window.setTimeout(function() { wait_for_img_load(f) }, 1);
|
||||
}
|
||||
});
|
||||
|
||||
wait_for_img_load(this.step_func_done(function() {
|
||||
img.onload = this.step_func_done(function() {
|
||||
assert_equals(img.width, 500);
|
||||
assert_equals(img.height, 378);
|
||||
img.width = 200;
|
||||
img.height = 100;
|
||||
assert_equals(img.width, 200);
|
||||
assert_equals(img.height, 100);
|
||||
}));
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue