diff options
Diffstat (limited to 'components/script/dom/htmlimageelement.rs')
-rw-r--r-- | components/script/dom/htmlimageelement.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index 098938c8285..e05a50e6027 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -110,13 +110,16 @@ impl HTMLImageElement { let trusted_node = Trusted::new(window.get_cx(), self, window.script_chan()); let (responder_sender, responder_receiver) = ipc::channel().unwrap(); let script_chan = window.script_chan(); + let wrapper = window.get_runnable_wrapper(); ROUTER.add_route(responder_receiver.to_opaque(), box move |message| { // Return the image via a message to the script task, which marks the element // as dirty and triggers a reflow. let image_response = message.to().unwrap(); - script_chan.send(CommonScriptMsg::RunnableMsg(UpdateReplacedElement, - box ImageResponseHandlerRunnable::new( - trusted_node.clone(), image_response))).unwrap(); + let runnable = ImageResponseHandlerRunnable::new( + trusted_node.clone(), image_response); + let runnable = wrapper.wrap_runnable(runnable); + script_chan.send(CommonScriptMsg::RunnableMsg( + UpdateReplacedElement, runnable)).unwrap(); }); image_cache.request_image(img_url, |