mirror of
https://github.com/servo/servo.git
synced 2025-08-07 14:35:33 +01:00
Auto merge of #8477 - asajeffrey:opaque-domstring, r=asajeffrey
Opaque DOMString This patch makes DOMString an opaque wrapper round String (currently it's a transparent wrapper). The changes are: * Replacing DOMString(foo) by DOMString::from(foo). * Replacing foo.0 by String::from(foo). * Adding functions clear, push_str and extend for in-place mutation of DOMStrings. * Replacing DOMString by String in other threads (devtools, storage and filereader). * Making DOMString implement !Send. * Removing the pub attribute from the contents of DOMString. This enables experimenting with other string representations in the DOM. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8477) <!-- Reviewable:end -->
This commit is contained in:
commit
62acdd303b
75 changed files with 373 additions and 334 deletions
|
@ -825,7 +825,7 @@ def getJSToNativeConversionInfo(type, descriptorProvider, failureCode=None,
|
|||
default = "None"
|
||||
else:
|
||||
assert defaultValue.type.tag() == IDLType.Tags.domstring
|
||||
default = 'DOMString("%s".to_owned())' % defaultValue.value
|
||||
default = 'DOMString::from("%s")' % defaultValue.value
|
||||
if type.nullable():
|
||||
default = "Some(%s)" % default
|
||||
|
||||
|
|
|
@ -159,7 +159,8 @@ impl FromJSValConvertible for USVString {
|
|||
}
|
||||
let latin1 = JS_StringHasLatin1Chars(jsstr);
|
||||
if latin1 {
|
||||
return Ok(USVString(jsstring_to_str(cx, jsstr).0));
|
||||
// FIXME(ajeffrey): Convert directly from DOMString to USVString
|
||||
return Ok(USVString(String::from(jsstring_to_str(cx, jsstr))));
|
||||
}
|
||||
let mut length = 0;
|
||||
let chars = JS_GetTwoByteStringCharsAndLength(cx, ptr::null(), jsstr, &mut length);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue