feat: blob URL support (#10045)

This commit adds blob URL support. Blob URLs are stored in a process
global storage, that can be accessed from all workers, and the module
loader. Blob URLs can be created using `URL.createObjectURL` and revoked
using `URL.revokeObjectURL`.

This commit does not add support for `fetch`ing blob URLs. This will be
added in a follow up commit.
This commit is contained in:
Luca Casonato 2021-04-07 15:22:14 +02:00 committed by GitHub
parent 2865f39bec
commit 966ce7de8a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 488 additions and 33 deletions

View file

@ -2,6 +2,7 @@
use deno_core::error::AnyError;
use deno_core::FsModuleLoader;
use deno_runtime::deno_file::BlobUrlStore;
use deno_runtime::permissions::Permissions;
use deno_runtime::worker::MainWorker;
use deno_runtime::worker::WorkerOptions;
@ -39,6 +40,7 @@ async fn main() -> Result<(), AnyError> {
no_color: false,
get_error_class_fn: Some(&get_error_class_name),
location: None,
blob_url_store: BlobUrlStore::default(),
};
let js_path =