diff options
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/url.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/components/script/dom/url.rs b/components/script/dom/url.rs index 9952739243b..cc6c83e2c18 100644 --- a/components/script/dom/url.rs +++ b/components/script/dom/url.rs @@ -129,13 +129,15 @@ impl URL { let origin = get_blob_origin(&global.get_url()); if let Ok(url) = ServoUrl::parse(&url) { - if let Ok((id, _)) = parse_blob_url(&url) { - let resource_threads = global.resource_threads(); - let (tx, rx) = ipc::channel(global.time_profiler_chan().clone()).unwrap(); - let msg = FileManagerThreadMsg::RevokeBlobURL(id, origin, tx); - let _ = resource_threads.send(CoreResourceMsg::ToFileManager(msg)); - - let _ = rx.recv().unwrap(); + if url.fragment().is_none() && origin == get_blob_origin(&url) { + if let Ok((id, _)) = parse_blob_url(&url) { + let resource_threads = global.resource_threads(); + let (tx, rx) = ipc::channel(global.time_profiler_chan().clone()).unwrap(); + let msg = FileManagerThreadMsg::RevokeBlobURL(id, origin, tx); + let _ = resource_threads.send(CoreResourceMsg::ToFileManager(msg)); + + let _ = rx.recv().unwrap(); + } } } } |