aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py21
-rw-r--r--components/script/dom/bindings/codegen/Configuration.py2
-rw-r--r--components/script/dom/domtokenlist.rs5
-rw-r--r--components/script/dom/location.rs2
-rw-r--r--components/script/dom/urlsearchparams.rs5
-rw-r--r--components/script/dom/webidls/DOMTokenList.webidl2
-rw-r--r--components/script/dom/webidls/URLSearchParams.webidl2
7 files changed, 15 insertions, 24 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index b63df28d349..d48db291dd4 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -4106,25 +4106,6 @@ class CGDOMJSProxyHandler_obj_toString(CGAbstractExternMethod):
CGAbstractExternMethod.__init__(self, descriptor, "obj_toString", "*mut JSString", args)
self.descriptor = descriptor
def getBody(self):
- stringifier = self.descriptor.operations['Stringifier']
- if stringifier:
- name = self.descriptor.binaryNameFor(stringifier.identifier.name)
- nativeName = MakeNativeName(name)
- signature = stringifier.signatures()[0]
- returnType = signature[0]
- extendedAttributes = self.descriptor.getExtendedAttributes(stringifier)
- infallible = 'infallible' in extendedAttributes
- if not infallible:
- error = CGGeneric(
- ('ThrowMethodFailedWithDetails(cx, rv, "%s", "toString");\n' +
- "return NULL;") % self.descriptor.interface.identifier.name)
- else:
- error = None
- call = CGCallGenerator(error, [], "", returnType, extendedAttributes, self.descriptor, nativeName, False, object="UnwrapProxy(proxy)")
- return call.define() + """\
-JSString* jsresult;
-return xpc_qsStringToJsstring(cx, result, &jsresult) ? jsresult : NULL;"""
-
return """proxyhandler::object_to_string(cx, "%s")""" % self.descriptor.name
def definition_body(self):
@@ -4264,7 +4245,7 @@ class CGInterfaceTrait(CGThing):
if descriptor.proxy:
for name, operation in descriptor.operations.iteritems():
- if not operation:
+ if not operation or operation.isStringifier():
continue
assert len(operation.signatures()) == 1
diff --git a/components/script/dom/bindings/codegen/Configuration.py b/components/script/dom/bindings/codegen/Configuration.py
index 5ea521e15b8..8741cb9eacf 100644
--- a/components/script/dom/bindings/codegen/Configuration.py
+++ b/components/script/dom/bindings/codegen/Configuration.py
@@ -254,7 +254,7 @@ class Descriptor(DescriptorProvider):
self._binaryNames = desc.get('binaryNames', {})
self._binaryNames.setdefault('__legacycaller', 'LegacyCall')
- self._binaryNames.setdefault('__stringifier', 'Stringify')
+ self._binaryNames.setdefault('__stringifier', 'Stringifier')
for member in self.interface.members:
if not member.isAttr() and not member.isMethod():
diff --git a/components/script/dom/domtokenlist.rs b/components/script/dom/domtokenlist.rs
index 7ee5e632900..0a42db03d5d 100644
--- a/components/script/dom/domtokenlist.rs
+++ b/components/script/dom/domtokenlist.rs
@@ -159,4 +159,9 @@ impl<'a> DOMTokenListMethods for JSRef<'a, DOMTokenList> {
}
}
}
+
+ // https://dom.spec.whatwg.org/#stringification-behavior
+ fn Stringifier(self) -> DOMString {
+ self.element.root().r().get_string_attribute(&self.local_name)
+ }
}
diff --git a/components/script/dom/location.rs b/components/script/dom/location.rs
index 97da0a3066a..20ead7dc298 100644
--- a/components/script/dom/location.rs
+++ b/components/script/dom/location.rs
@@ -53,7 +53,7 @@ impl<'a> LocationMethods for JSRef<'a, Location> {
}
// https://url.spec.whatwg.org/#URLUtils-stringification-behavior
- fn Stringify(self) -> DOMString {
+ fn Stringifier(self) -> DOMString {
self.Href().0
}
diff --git a/components/script/dom/urlsearchparams.rs b/components/script/dom/urlsearchparams.rs
index f19e936ce54..91c25794716 100644
--- a/components/script/dom/urlsearchparams.rs
+++ b/components/script/dom/urlsearchparams.rs
@@ -106,6 +106,11 @@ impl<'a> URLSearchParamsMethods for JSRef<'a, URLSearchParams> {
self.data.borrow_mut().insert(name, vec!(value));
self.update_steps();
}
+
+ // https://url.spec.whatwg.org/#stringification-behavior
+ fn Stringifier(self) -> DOMString {
+ DOMString::from_utf8(self.serialize(None)).unwrap()
+ }
}
pub trait URLSearchParamsHelpers {
diff --git a/components/script/dom/webidls/DOMTokenList.webidl b/components/script/dom/webidls/DOMTokenList.webidl
index 764f18d6dfa..61a3bebff15 100644
--- a/components/script/dom/webidls/DOMTokenList.webidl
+++ b/components/script/dom/webidls/DOMTokenList.webidl
@@ -17,5 +17,5 @@ interface DOMTokenList {
[Throws]
boolean toggle(DOMString token, optional boolean force);
- //stringifier;
+ stringifier;
};
diff --git a/components/script/dom/webidls/URLSearchParams.webidl b/components/script/dom/webidls/URLSearchParams.webidl
index 3d61263cbc9..f0ddafad291 100644
--- a/components/script/dom/webidls/URLSearchParams.webidl
+++ b/components/script/dom/webidls/URLSearchParams.webidl
@@ -15,5 +15,5 @@ interface URLSearchParams {
// sequence<DOMString> getAll(DOMString name);
boolean has(DOMString name);
void set(DOMString name, DOMString value);
- //stringifier;
+ stringifier;
};