aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/codegen/parser/bytestring.patch
blob: 823f14cf996d616673f5d24a2e6b18a33bd6c87a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--- WebIDL.py
+++ WebIDL.py
@@ -3391,6 +3391,11 @@ class IDLValue(IDLObject):
             # extra normalization step.
             assert self.type.isDOMString()
             return self
+        elif self.type.isString() and type.isByteString():
+            # Allow ByteStrings to use default value just like
+            # DOMString.  No coercion is required here.
+            assert self.type.isDOMString()
+            return self
         raise WebIDLError("Cannot coerce type %s to type %s." %
                           (self.type, type), [location])

@@ -5759,6 +5764,14 @@ class Parser(Tokenizer):
         booleanType = BuiltinTypes[IDLBuiltinType.Types.boolean]
         p[0] = IDLValue(location, booleanType, p[1])

+    def p_ConstValueByteString(self, p):
+        """
+            ConstValue : BYTESTRING
+        """
+        location = self.getLocation(p, 1)
+        bytestringType = BuiltinTypes[IDLBuiltinType.Types.bytestring]
+        p[0] = IDLValue(location, bytestringType, p[1])
+
     def p_ConstValueInteger(self, p):
         """
             ConstValue : INTEGER