mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
Ensure that any image tasks queued before a cached image is available are ignored.
This commit is contained in:
parent
097c85e44d
commit
896a2de2ac
1 changed files with 4 additions and 1 deletions
|
@ -964,6 +964,9 @@ impl HTMLImageElement {
|
||||||
CanRequestImages::No,
|
CanRequestImages::No,
|
||||||
);
|
);
|
||||||
if let Ok(ImageOrMetadataAvailable::ImageAvailable(image, url)) = response {
|
if let Ok(ImageOrMetadataAvailable::ImageAvailable(image, url)) = response {
|
||||||
|
// Cancel any outstanding tasks that were queued before the src was
|
||||||
|
// set on this element.
|
||||||
|
self.generation.set(self.generation.get() + 1);
|
||||||
// Step 6.3
|
// Step 6.3
|
||||||
let metadata = ImageMetadata {
|
let metadata = ImageMetadata {
|
||||||
height: image.height,
|
height: image.height,
|
||||||
|
@ -971,7 +974,7 @@ impl HTMLImageElement {
|
||||||
};
|
};
|
||||||
// Step 6.3.2 abort requests
|
// Step 6.3.2 abort requests
|
||||||
self.abort_request(State::CompletelyAvailable, ImageRequestPhase::Current);
|
self.abort_request(State::CompletelyAvailable, ImageRequestPhase::Current);
|
||||||
self.abort_request(State::CompletelyAvailable, ImageRequestPhase::Pending);
|
self.abort_request(State::Unavailable, ImageRequestPhase::Pending);
|
||||||
let mut current_request = self.current_request.borrow_mut();
|
let mut current_request = self.current_request.borrow_mut();
|
||||||
current_request.final_url = Some(url);
|
current_request.final_url = Some(url);
|
||||||
current_request.image = Some(image.clone());
|
current_request.image = Some(image.clone());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue