mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-30 08:18:49 +00:00
LibWeb: Update revokeObjectURL for reported spec bugs
The spec intends to pass through a URL record object as it needs to be serialized on removal. This has no functional impact on our implementation other than the double parsing of every URL being revoked. It is also missing an error check for an invalid URL being passed through. This does not impact our implementation currently as we just end up using an empty URL which is not part of the blob entry map. This will cause problems once DOMURL::parse is updated to return an Optional<URL::URL> however.
This commit is contained in:
parent
228750a9d2
commit
b81d6945dc
Notes:
github-actions[bot]
2025-01-22 12:35:04 +00:00
Author: https://github.com/shannonbooth
Commit: b81d6945dc
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3339
Reviewed-by: https://github.com/AtkinsSJ ✅
3 changed files with 9 additions and 4 deletions
|
@ -132,6 +132,10 @@ void DOMURL::revoke_object_url(JS::VM&, StringView url)
|
|||
// 1. Let url record be the result of parsing url.
|
||||
auto url_record = parse(url);
|
||||
|
||||
// Spec Bug: https://github.com/w3c/FileAPI/issues/207, missing check for URL failure parsing.
|
||||
if (!url_record.is_valid())
|
||||
return;
|
||||
|
||||
// 2. If url record’s scheme is not "blob", return.
|
||||
if (url_record.scheme() != "blob"sv)
|
||||
return;
|
||||
|
@ -151,7 +155,8 @@ void DOMURL::revoke_object_url(JS::VM&, StringView url)
|
|||
return;
|
||||
|
||||
// 7. Remove an entry from the Blob URL Store for url.
|
||||
FileAPI::remove_entry_from_blob_url_store(url);
|
||||
// FIXME: Spec bug: https://github.com/w3c/FileAPI/issues/207, urlRecord should instead be passed through.
|
||||
FileAPI::remove_entry_from_blob_url_store(url_record);
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-url-canparse
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue