mirror of
https://github.com/servo/servo.git
synced 2025-08-02 04:00:32 +01:00
Remove readable streams from webidl/codegen (#34835)
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
This commit is contained in:
parent
5b6c75e358
commit
fd39d0d658
5 changed files with 6 additions and 241 deletions
|
@ -920,41 +920,6 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
|
||||||
|
|
||||||
return handleOptional(templateBody, declType, handleDefault("None"))
|
return handleOptional(templateBody, declType, handleDefault("None"))
|
||||||
|
|
||||||
if type.isReadableStream():
|
|
||||||
assert not isEnforceRange and not isClamp
|
|
||||||
|
|
||||||
if failureCode is None:
|
|
||||||
unwrapFailureCode = '''throw_type_error(*cx, "This object is not \
|
|
||||||
an instance of ReadableStream.");\n'''
|
|
||||||
else:
|
|
||||||
unwrapFailureCode = failureCode
|
|
||||||
|
|
||||||
templateBody = fill(
|
|
||||||
"""
|
|
||||||
{
|
|
||||||
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,
|
|
||||||
Err(()) => {
|
|
||||||
$*{failureCode}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
""",
|
|
||||||
failureCode=f"{unwrapFailureCode}\n",
|
|
||||||
)
|
|
||||||
|
|
||||||
templateBody = wrapObjectTemplate(templateBody, "None",
|
|
||||||
isDefinitelyObject, type, failureCode)
|
|
||||||
|
|
||||||
declType = CGGeneric("DomRoot<dom::readablestream::ReadableStream>")
|
|
||||||
|
|
||||||
return handleOptional(templateBody, declType,
|
|
||||||
handleDefault("None"))
|
|
||||||
|
|
||||||
elif type.isSpiderMonkeyInterface():
|
elif type.isSpiderMonkeyInterface():
|
||||||
raise TypeError("Can't handle SpiderMonkey interface arguments other than typed arrays yet")
|
raise TypeError("Can't handle SpiderMonkey interface arguments other than typed arrays yet")
|
||||||
|
|
||||||
|
@ -5061,9 +5026,6 @@ def getUnionTypeTemplateVars(type, descriptorProvider):
|
||||||
elif type.isObject():
|
elif type.isObject():
|
||||||
name = type.name
|
name = type.name
|
||||||
typeName = "Heap<*mut JSObject>"
|
typeName = "Heap<*mut JSObject>"
|
||||||
elif type.isReadableStream():
|
|
||||||
name = type.name
|
|
||||||
typeName = "DomRoot<ReadableStream>"
|
|
||||||
elif is_typed_array(type):
|
elif is_typed_array(type):
|
||||||
name = type.name
|
name = type.name
|
||||||
typeName = f"typedarray::Heap{name}"
|
typeName = f"typedarray::Heap{name}"
|
||||||
|
|
|
@ -30,7 +30,7 @@ def main():
|
||||||
from Configuration import Configuration
|
from Configuration import Configuration
|
||||||
from CodegenRust import CGBindingRoot
|
from CodegenRust import CGBindingRoot
|
||||||
|
|
||||||
parser = WebIDL.Parser(make_dir(os.path.join(out_dir, "cache")), use_builtin_readable_stream=False)
|
parser = WebIDL.Parser(make_dir(os.path.join(out_dir, "cache")))
|
||||||
webidls = [name for name in os.listdir(webidls_dir) if name.endswith(".webidl")]
|
webidls = [name for name in os.listdir(webidls_dir) if name.endswith(".webidl")]
|
||||||
for webidl in webidls:
|
for webidl in webidls:
|
||||||
filename = os.path.join(webidls_dir, webidl)
|
filename = os.path.join(webidls_dir, webidl)
|
||||||
|
|
44
third_party/WebIDL/WebIDL.py
vendored
44
third_party/WebIDL/WebIDL.py
vendored
|
@ -2667,9 +2667,6 @@ class IDLType(IDLObject):
|
||||||
def isRecord(self):
|
def isRecord(self):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def isReadableStream(self):
|
|
||||||
return False
|
|
||||||
|
|
||||||
def isArrayBuffer(self):
|
def isArrayBuffer(self):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -2698,7 +2695,7 @@ class IDLType(IDLObject):
|
||||||
def isSpiderMonkeyInterface(self):
|
def isSpiderMonkeyInterface(self):
|
||||||
"""Returns a boolean indicating whether this type is an 'interface'
|
"""Returns a boolean indicating whether this type is an 'interface'
|
||||||
type that is implemented in SpiderMonkey."""
|
type that is implemented in SpiderMonkey."""
|
||||||
return self.isInterface() and (self.isBufferSource() or self.isReadableStream())
|
return self.isInterface() and self.isBufferSource()
|
||||||
|
|
||||||
def isAny(self):
|
def isAny(self):
|
||||||
return self.tag() == IDLType.Tags.any
|
return self.tag() == IDLType.Tags.any
|
||||||
|
@ -2920,9 +2917,6 @@ class IDLNullableType(IDLParametrizedType):
|
||||||
def isRecord(self):
|
def isRecord(self):
|
||||||
return self.inner.isRecord()
|
return self.inner.isRecord()
|
||||||
|
|
||||||
def isReadableStream(self):
|
|
||||||
return self.inner.isReadableStream()
|
|
||||||
|
|
||||||
def isArrayBuffer(self):
|
def isArrayBuffer(self):
|
||||||
return self.inner.isArrayBuffer()
|
return self.inner.isArrayBuffer()
|
||||||
|
|
||||||
|
@ -3449,9 +3443,6 @@ class IDLTypedefType(IDLType):
|
||||||
def isRecord(self):
|
def isRecord(self):
|
||||||
return self.inner.isRecord()
|
return self.inner.isRecord()
|
||||||
|
|
||||||
def isReadableStream(self):
|
|
||||||
return self.inner.isReadableStream()
|
|
||||||
|
|
||||||
def isDictionary(self):
|
def isDictionary(self):
|
||||||
return self.inner.isDictionary()
|
return self.inner.isDictionary()
|
||||||
|
|
||||||
|
@ -3828,7 +3819,6 @@ class IDLBuiltinType(IDLType):
|
||||||
"Uint32Array",
|
"Uint32Array",
|
||||||
"Float32Array",
|
"Float32Array",
|
||||||
"Float64Array",
|
"Float64Array",
|
||||||
"ReadableStream",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
TagLookup = {
|
TagLookup = {
|
||||||
|
@ -3864,7 +3854,6 @@ class IDLBuiltinType(IDLType):
|
||||||
Types.Uint32Array: IDLType.Tags.uint32array,
|
Types.Uint32Array: IDLType.Tags.uint32array,
|
||||||
Types.Float32Array: IDLType.Tags.float32array,
|
Types.Float32Array: IDLType.Tags.float32array,
|
||||||
Types.Float64Array: IDLType.Tags.float64array,
|
Types.Float64Array: IDLType.Tags.float64array,
|
||||||
Types.ReadableStream: IDLType.Tags.interface,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PrettyNames = {
|
PrettyNames = {
|
||||||
|
@ -3900,7 +3889,6 @@ class IDLBuiltinType(IDLType):
|
||||||
Types.Uint32Array: "Uint32Array",
|
Types.Uint32Array: "Uint32Array",
|
||||||
Types.Float32Array: "Float32Array",
|
Types.Float32Array: "Float32Array",
|
||||||
Types.Float64Array: "Float64Array",
|
Types.Float64Array: "Float64Array",
|
||||||
Types.ReadableStream: "ReadableStream",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__slots__ = (
|
__slots__ = (
|
||||||
|
@ -4072,19 +4060,11 @@ class IDLBuiltinType(IDLType):
|
||||||
and self._typeTag <= IDLBuiltinType.Types.Float64Array
|
and self._typeTag <= IDLBuiltinType.Types.Float64Array
|
||||||
)
|
)
|
||||||
|
|
||||||
def isReadableStream(self):
|
|
||||||
return self._typeTag == IDLBuiltinType.Types.ReadableStream
|
|
||||||
|
|
||||||
def isInterface(self):
|
def isInterface(self):
|
||||||
# TypedArray things are interface types per the TypedArray spec,
|
# TypedArray things are interface types per the TypedArray spec,
|
||||||
# but we handle them as builtins because SpiderMonkey implements
|
# but we handle them as builtins because SpiderMonkey implements
|
||||||
# all of it internally.
|
# all of it internally.
|
||||||
return (
|
return self.isArrayBuffer() or self.isArrayBufferView() or self.isTypedArray()
|
||||||
self.isArrayBuffer()
|
|
||||||
or self.isArrayBufferView()
|
|
||||||
or self.isTypedArray()
|
|
||||||
or self.isReadableStream()
|
|
||||||
)
|
|
||||||
|
|
||||||
def isNonCallbackInterface(self):
|
def isNonCallbackInterface(self):
|
||||||
# All the interfaces we can be are non-callback
|
# All the interfaces we can be are non-callback
|
||||||
|
@ -4178,7 +4158,6 @@ class IDLBuiltinType(IDLType):
|
||||||
# ArrayBuffer is distinguishable from everything
|
# ArrayBuffer is distinguishable from everything
|
||||||
# that's not an ArrayBuffer or a callback interface
|
# that's not an ArrayBuffer or a callback interface
|
||||||
(self.isArrayBuffer() and not other.isArrayBuffer())
|
(self.isArrayBuffer() and not other.isArrayBuffer())
|
||||||
or (self.isReadableStream() and not other.isReadableStream())
|
|
||||||
or
|
or
|
||||||
# ArrayBufferView is distinguishable from everything
|
# ArrayBufferView is distinguishable from everything
|
||||||
# that's not an ArrayBufferView or typed array.
|
# that's not an ArrayBufferView or typed array.
|
||||||
|
@ -4385,11 +4364,6 @@ BuiltinTypes = {
|
||||||
"Float64Array",
|
"Float64Array",
|
||||||
IDLBuiltinType.Types.Float64Array,
|
IDLBuiltinType.Types.Float64Array,
|
||||||
),
|
),
|
||||||
IDLBuiltinType.Types.ReadableStream: IDLBuiltinType(
|
|
||||||
BuiltinLocation("<builtin type>"),
|
|
||||||
"ReadableStream",
|
|
||||||
IDLBuiltinType.Types.ReadableStream,
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -7272,9 +7246,6 @@ class Tokenizer(object):
|
||||||
def t_IDENTIFIER(self, t):
|
def t_IDENTIFIER(self, t):
|
||||||
r"[_-]?[A-Za-z][0-9A-Z_a-z-]*"
|
r"[_-]?[A-Za-z][0-9A-Z_a-z-]*"
|
||||||
t.type = self.keywords.get(t.value, "IDENTIFIER")
|
t.type = self.keywords.get(t.value, "IDENTIFIER")
|
||||||
# If Builtin readable streams are disabled, mark ReadableStream as an identifier.
|
|
||||||
if t.type == "READABLESTREAM" and not self._use_builtin_readable_streams:
|
|
||||||
t.type = "IDENTIFIER"
|
|
||||||
return t
|
return t
|
||||||
|
|
||||||
def t_STRING(self, t):
|
def t_STRING(self, t):
|
||||||
|
@ -7367,7 +7338,6 @@ class Tokenizer(object):
|
||||||
"setlike": "SETLIKE",
|
"setlike": "SETLIKE",
|
||||||
"iterable": "ITERABLE",
|
"iterable": "ITERABLE",
|
||||||
"namespace": "NAMESPACE",
|
"namespace": "NAMESPACE",
|
||||||
"ReadableStream": "READABLESTREAM",
|
|
||||||
"constructor": "CONSTRUCTOR",
|
"constructor": "CONSTRUCTOR",
|
||||||
"symbol": "SYMBOL",
|
"symbol": "SYMBOL",
|
||||||
"async": "ASYNC",
|
"async": "ASYNC",
|
||||||
|
@ -7388,8 +7358,7 @@ class Tokenizer(object):
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
def __init__(self, outputdir, lexer=None, use_builtin_readable_streams=True):
|
def __init__(self, outputdir, lexer=None):
|
||||||
self._use_builtin_readable_streams = use_builtin_readable_streams
|
|
||||||
if lexer:
|
if lexer:
|
||||||
self.lexer = lexer
|
self.lexer = lexer
|
||||||
else:
|
else:
|
||||||
|
@ -8878,7 +8847,6 @@ class Parser(Tokenizer):
|
||||||
"""
|
"""
|
||||||
DistinguishableType : PrimitiveType Null
|
DistinguishableType : PrimitiveType Null
|
||||||
| ARRAYBUFFER Null
|
| ARRAYBUFFER Null
|
||||||
| READABLESTREAM Null
|
|
||||||
| OBJECT Null
|
| OBJECT Null
|
||||||
| UNDEFINED Null
|
| UNDEFINED Null
|
||||||
"""
|
"""
|
||||||
|
@ -8886,8 +8854,6 @@ class Parser(Tokenizer):
|
||||||
type = BuiltinTypes[IDLBuiltinType.Types.object]
|
type = BuiltinTypes[IDLBuiltinType.Types.object]
|
||||||
elif p[1] == "ArrayBuffer":
|
elif p[1] == "ArrayBuffer":
|
||||||
type = BuiltinTypes[IDLBuiltinType.Types.ArrayBuffer]
|
type = BuiltinTypes[IDLBuiltinType.Types.ArrayBuffer]
|
||||||
elif p[1] == "ReadableStream":
|
|
||||||
type = BuiltinTypes[IDLBuiltinType.Types.ReadableStream]
|
|
||||||
elif p[1] == "undefined":
|
elif p[1] == "undefined":
|
||||||
type = BuiltinTypes[IDLBuiltinType.Types.undefined]
|
type = BuiltinTypes[IDLBuiltinType.Types.undefined]
|
||||||
else:
|
else:
|
||||||
|
@ -9229,8 +9195,8 @@ class Parser(Tokenizer):
|
||||||
[Location(self.lexer, p.lineno, p.lexpos, self._filename)],
|
[Location(self.lexer, p.lineno, p.lexpos, self._filename)],
|
||||||
)
|
)
|
||||||
|
|
||||||
def __init__(self, outputdir="", lexer=None, use_builtin_readable_stream=True):
|
def __init__(self, outputdir="", lexer=None):
|
||||||
Tokenizer.__init__(self, outputdir, lexer, use_builtin_readable_stream)
|
Tokenizer.__init__(self, outputdir, lexer)
|
||||||
|
|
||||||
logger = SqueakyCleanLogger()
|
logger = SqueakyCleanLogger()
|
||||||
try:
|
try:
|
||||||
|
|
162
third_party/WebIDL/readable-stream.patch
vendored
162
third_party/WebIDL/readable-stream.patch
vendored
|
@ -1,162 +0,0 @@
|
||||||
--- WebIDL.py
|
|
||||||
+++ WebIDL.py
|
|
||||||
@@ -2498,6 +2498,9 @@ class IDLType(IDLObject):
|
|
||||||
def isRecord(self):
|
|
||||||
return False
|
|
||||||
|
|
||||||
+ def isReadableStream(self):
|
|
||||||
+ return False
|
|
||||||
+
|
|
||||||
def isArrayBuffer(self):
|
|
||||||
return False
|
|
||||||
|
|
||||||
@@ -2526,7 +2529,7 @@ class IDLType(IDLObject):
|
|
||||||
def isSpiderMonkeyInterface(self):
|
|
||||||
"""Returns a boolean indicating whether this type is an 'interface'
|
|
||||||
type that is implemented in SpiderMonkey."""
|
|
||||||
- return self.isInterface() and self.isBufferSource()
|
|
||||||
+ return self.isInterface() and (self.isBufferSource() or self.isReadableStream())
|
|
||||||
|
|
||||||
def isAny(self):
|
|
||||||
return self.tag() == IDLType.Tags.any
|
|
||||||
@@ -2743,6 +2746,9 @@ class IDLNullableType(IDLParametrizedType):
|
|
||||||
def isRecord(self):
|
|
||||||
return self.inner.isRecord()
|
|
||||||
|
|
||||||
+ def isReadableStream(self):
|
|
||||||
+ return self.inner.isReadableStream()
|
|
||||||
+
|
|
||||||
def isArrayBuffer(self):
|
|
||||||
return self.inner.isArrayBuffer()
|
|
||||||
|
|
||||||
@@ -3252,6 +3258,9 @@ class IDLTypedefType(IDLType):
|
|
||||||
def isRecord(self):
|
|
||||||
return self.inner.isRecord()
|
|
||||||
|
|
||||||
+ def isReadableStream(self):
|
|
||||||
+ return self.inner.isReadableStream()
|
|
||||||
+
|
|
||||||
def isDictionary(self):
|
|
||||||
return self.inner.isDictionary()
|
|
||||||
|
|
||||||
@@ -3597,6 +3606,7 @@ class IDLBuiltinType(IDLType):
|
|
||||||
"Uint32Array",
|
|
||||||
"Float32Array",
|
|
||||||
"Float64Array",
|
|
||||||
+ "ReadableStream",
|
|
||||||
)
|
|
||||||
|
|
||||||
TagLookup = {
|
|
||||||
@@ -3632,6 +3642,7 @@ class IDLBuiltinType(IDLType):
|
|
||||||
Types.Uint32Array: IDLType.Tags.interface,
|
|
||||||
Types.Float32Array: IDLType.Tags.interface,
|
|
||||||
Types.Float64Array: IDLType.Tags.interface,
|
|
||||||
+ Types.ReadableStream: IDLType.Tags.interface,
|
|
||||||
}
|
|
||||||
|
|
||||||
PrettyNames = {
|
|
||||||
@@ -3667,6 +3678,7 @@ class IDLBuiltinType(IDLType):
|
|
||||||
Types.Uint32Array: "Uint32Array",
|
|
||||||
Types.Float32Array: "Float32Array",
|
|
||||||
Types.Float64Array: "Float64Array",
|
|
||||||
+ Types.ReadableStream: "ReadableStream",
|
|
||||||
}
|
|
||||||
|
|
||||||
def __init__(
|
|
||||||
@@ -3830,11 +3842,19 @@ class IDLBuiltinType(IDLType):
|
|
||||||
and self._typeTag <= IDLBuiltinType.Types.Float64Array
|
|
||||||
)
|
|
||||||
|
|
||||||
+ def isReadableStream(self):
|
|
||||||
+ return self._typeTag == IDLBuiltinType.Types.ReadableStream
|
|
||||||
+
|
|
||||||
def isInterface(self):
|
|
||||||
# TypedArray things are interface types per the TypedArray spec,
|
|
||||||
# but we handle them as builtins because SpiderMonkey implements
|
|
||||||
# all of it internally.
|
|
||||||
- return self.isArrayBuffer() or self.isArrayBufferView() or self.isTypedArray()
|
|
||||||
+ return (
|
|
||||||
+ self.isArrayBuffer()
|
|
||||||
+ or self.isArrayBufferView()
|
|
||||||
+ or self.isTypedArray()
|
|
||||||
+ or self.isReadableStream()
|
|
||||||
+ )
|
|
||||||
|
|
||||||
def isNonCallbackInterface(self):
|
|
||||||
# All the interfaces we can be are non-callback
|
|
||||||
@@ -3928,6 +3948,7 @@ class IDLBuiltinType(IDLType):
|
|
||||||
# ArrayBuffer is distinguishable from everything
|
|
||||||
# that's not an ArrayBuffer or a callback interface
|
|
||||||
(self.isArrayBuffer() and not other.isArrayBuffer())
|
|
||||||
+ or (self.isReadableStream() and not other.isReadableStream())
|
|
||||||
or
|
|
||||||
# ArrayBufferView is distinguishable from everything
|
|
||||||
# that's not an ArrayBufferView or typed array.
|
|
||||||
@@ -4134,6 +4155,11 @@ BuiltinTypes = {
|
|
||||||
"Float64Array",
|
|
||||||
IDLBuiltinType.Types.Float64Array,
|
|
||||||
),
|
|
||||||
+ IDLBuiltinType.Types.ReadableStream: IDLBuiltinType(
|
|
||||||
+ BuiltinLocation("<builtin type>"),
|
|
||||||
+ "ReadableStream",
|
|
||||||
+ IDLBuiltinType.Types.ReadableStream,
|
|
||||||
+ ),
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -6883,6 +6909,9 @@ class Tokenizer(object):
|
|
||||||
def t_IDENTIFIER(self, t):
|
|
||||||
r"[_-]?[A-Za-z][0-9A-Z_a-z-]*"
|
|
||||||
t.type = self.keywords.get(t.value, "IDENTIFIER")
|
|
||||||
+ # If Builtin readable streams are disabled, mark ReadableStream as an identifier.
|
|
||||||
+ if t.type == "READABLESTREAM" and not self._use_builtin_readable_streams:
|
|
||||||
+ t.type = "IDENTIFIER"
|
|
||||||
return t
|
|
||||||
|
|
||||||
def t_STRING(self, t):
|
|
||||||
@@ -6973,6 +7002,7 @@ class Tokenizer(object):
|
|
||||||
"setlike": "SETLIKE",
|
|
||||||
"iterable": "ITERABLE",
|
|
||||||
"namespace": "NAMESPACE",
|
|
||||||
+ "ReadableStream": "READABLESTREAM",
|
|
||||||
"constructor": "CONSTRUCTOR",
|
|
||||||
"symbol": "SYMBOL",
|
|
||||||
"async": "ASYNC",
|
|
||||||
@@ -6993,7 +7023,8 @@ class Tokenizer(object):
|
|
||||||
],
|
|
||||||
)
|
|
||||||
|
|
||||||
- def __init__(self, outputdir, lexer=None):
|
|
||||||
+ def __init__(self, outputdir, lexer=None, use_builtin_readable_streams=True):
|
|
||||||
+ self._use_builtin_readable_streams = use_builtin_readable_streams
|
|
||||||
if lexer:
|
|
||||||
self.lexer = lexer
|
|
||||||
else:
|
|
||||||
@@ -8482,6 +8513,7 @@ class Parser(Tokenizer):
|
|
||||||
"""
|
|
||||||
DistinguishableType : PrimitiveType Null
|
|
||||||
| ARRAYBUFFER Null
|
|
||||||
+ | READABLESTREAM Null
|
|
||||||
| OBJECT Null
|
|
||||||
| UNDEFINED Null
|
|
||||||
"""
|
|
||||||
@@ -8489,6 +8521,8 @@ class Parser(Tokenizer):
|
|
||||||
type = BuiltinTypes[IDLBuiltinType.Types.object]
|
|
||||||
elif p[1] == "ArrayBuffer":
|
|
||||||
type = BuiltinTypes[IDLBuiltinType.Types.ArrayBuffer]
|
|
||||||
+ elif p[1] == "ReadableStream":
|
|
||||||
+ type = BuiltinTypes[IDLBuiltinType.Types.ReadableStream]
|
|
||||||
elif p[1] == "undefined":
|
|
||||||
type = BuiltinTypes[IDLBuiltinType.Types.undefined]
|
|
||||||
else:
|
|
||||||
@@ -8827,8 +8861,8 @@ class Parser(Tokenizer):
|
|
||||||
[Location(self.lexer, p.lineno, p.lexpos, self._filename)],
|
|
||||||
)
|
|
||||||
|
|
||||||
- def __init__(self, outputdir="", lexer=None):
|
|
||||||
- Tokenizer.__init__(self, outputdir, lexer)
|
|
||||||
+ def __init__(self, outputdir="", lexer=None, use_builtin_readable_stream=True):
|
|
||||||
+ Tokenizer.__init__(self, outputdir, lexer, use_builtin_readable_stream)
|
|
||||||
|
|
||||||
logger = SqueakyCleanLogger()
|
|
||||||
try:
|
|
1
third_party/WebIDL/update.sh
vendored
1
third_party/WebIDL/update.sh
vendored
|
@ -4,7 +4,6 @@ patch < debug.patch
|
||||||
patch < callback-location.patch
|
patch < callback-location.patch
|
||||||
patch < union-typedef.patch
|
patch < union-typedef.patch
|
||||||
patch < inline.patch
|
patch < inline.patch
|
||||||
patch < readable-stream.patch
|
|
||||||
patch < like-as-iterable.patch
|
patch < like-as-iterable.patch
|
||||||
patch < builtin-array.patch
|
patch < builtin-array.patch
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue