Skip to content

Commit

Permalink
Avoid marking image element as complete before its image data is avai…
Browse files Browse the repository at this point in the history
…lable.
  • Loading branch information
jdm committed Mar 7, 2017
1 parent db79dfb commit f798507
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 1 deletion.
4 changes: 3 additions & 1 deletion components/script/dom/htmlimageelement.rs
Expand Up @@ -296,7 +296,9 @@ impl HTMLImageElement {
self.upcast::<EventTarget>().fire_event(atom!("error"));
}

LoadBlocker::terminate(&mut self.current_request.borrow_mut().blocker);
if trigger_image_load || trigger_image_error {
LoadBlocker::terminate(&mut self.current_request.borrow_mut().blocker);
}

// Trigger reflow
let window = window_from_node(self);
Expand Down
10 changes: 10 additions & 0 deletions tests/wpt/metadata/MANIFEST.json
Expand Up @@ -93299,6 +93299,12 @@
{}
]
],
"html/semantics/embedded-content/the-img-element/delay-load-event.html": [
[
"/html/semantics/embedded-content/the-img-element/delay-load-event.html",
{}
]
],
"html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html": [
[
"/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html",
Expand Down Expand Up @@ -176326,6 +176332,10 @@
"bdbfbe9a5908c6233bd7b9697a0762bd2e0f6ede",
"testharness"
],
"html/semantics/embedded-content/the-img-element/delay-load-event.html": [
"e4782535af755b29864fd3de67bbdd0de13f19d7",
"testharness"
],
"html/semantics/embedded-content/the-img-element/document-adopt-base-url.html": [
"a4b542eb344cca6bdcceceb3aa7006e900f5400f",
"reftest"
Expand Down
@@ -0,0 +1,17 @@
<html>
<head>
<title>Image element delays window's load event</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<img src="resources/cat.jpg?pipe=trickle(d2)">
<script>
async_test(function(t) {
var saw_img_load = false;
document.querySelector('img').onload = t.step_func(function() {
saw_img_load = true;
});
addEventListener('load', t.step_func_done(function() {
assert_true(saw_img_load);
}));
});
</script>

0 comments on commit f798507

Please sign in to comment.