diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index 9404b20a3c1..30ee6747dda 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -1173,6 +1173,7 @@ impl HTMLImageElement { // Step 2 for fn react_to_decode_image_sync_steps(&self) { let document = document_from_node(self); + let elem = self.upcast::(); // Step 2.1 of if !document.is_fully_active() || matches!(self.current_request.borrow().state, State::Broken) @@ -1183,6 +1184,10 @@ impl HTMLImageElement { State::CompletelyAvailable ) { self.resolve_image_decode_promises(); + } else if !elem.has_attribute(&local_name!("src")) && + !elem.has_attribute(&local_name!("srcset")) + { + self.reject_image_decode_promises(); } }