diff options
Diffstat (limited to 'components/script/dom/bindings/codegen')
-rw-r--r-- | components/script/dom/bindings/codegen/Bindings.conf | 16 | ||||
-rw-r--r-- | components/script/dom/bindings/codegen/CodegenRust.py | 5 | ||||
-rw-r--r-- | components/script/dom/bindings/codegen/run.py | 2 |
3 files changed, 20 insertions, 3 deletions
diff --git a/components/script/dom/bindings/codegen/Bindings.conf b/components/script/dom/bindings/codegen/Bindings.conf index f4e2c9e2dfb..d0635ead024 100644 --- a/components/script/dom/bindings/codegen/Bindings.conf +++ b/components/script/dom/bindings/codegen/Bindings.conf @@ -538,6 +538,22 @@ DOMInterfaces = { 'canGc': ['SimulateDeviceConnection', 'DisconnectAllDevices'], }, +'ReadableStream': { + 'canGc': ['GetReader', 'Cancel', 'Tee'], +}, + +"ReadableStreamDefaultController": { + "canGc": ["Enqueue"] +}, + +"ReadableStreamBYOBReader": { + "canGc": ["Read", "Closed", "Cancel"] +}, + +"ReadableStreamDefaultReader": { + "canGc": ["Read", "Cancel"] +}, + } Dictionaries = { diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py index e25ed68d3e8..a0f926b4c50 100644 --- a/components/script/dom/bindings/codegen/CodegenRust.py +++ b/components/script/dom/bindings/codegen/CodegenRust.py @@ -933,6 +933,7 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None, """ { use crate::realms::{AlreadyInRealm, InRealm}; + use crate::dom::readablestream::ReadableStream; let in_realm_proof = AlreadyInRealm::assert_for_cx(cx); match ReadableStream::from_js(cx, $${val}.get().to_object(), InRealm::Already(&in_realm_proof)) { Ok(val) => val, @@ -949,7 +950,7 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None, templateBody = wrapObjectTemplate(templateBody, "None", isDefinitelyObject, type, failureCode) - declType = CGGeneric("DomRoot<ReadableStream>") + declType = CGGeneric("DomRoot<dom::readablestream::ReadableStream>") return handleOptional(templateBody, declType, handleDefault("None")) @@ -7718,7 +7719,7 @@ class CGCallback(CGClass): f"unsafe {{ self.{method.name}({', '.join(argnamesWithoutThis)}) }}") return [ClassMethod(f'{method.name}_', method.returnType, args, bodyInHeader=True, - templateArgs=["T: DomObject"], + templateArgs=["T: ThisReflector"], body=bodyWithThis, visibility='pub'), ClassMethod(f'{method.name}__', method.returnType, argsWithoutThis, diff --git a/components/script/dom/bindings/codegen/run.py b/components/script/dom/bindings/codegen/run.py index 2dee39814b2..400d022a167 100644 --- a/components/script/dom/bindings/codegen/run.py +++ b/components/script/dom/bindings/codegen/run.py @@ -30,7 +30,7 @@ def main(): from Configuration import Configuration from CodegenRust import CGBindingRoot - parser = WebIDL.Parser(make_dir(os.path.join(out_dir, "cache"))) + parser = WebIDL.Parser(make_dir(os.path.join(out_dir, "cache")), use_builtin_readable_stream=False) webidls = [name for name in os.listdir(webidls_dir) if name.endswith(".webidl")] for webidl in webidls: filename = os.path.join(webidls_dir, webidl) |