aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2015-10-30 23:55:34 +0530
committerbors-servo <lbergstrom+bors@mozilla.com>2015-10-30 23:55:34 +0530
commit1dfc0481efd4687658ab34e68c883caeadd8b20f (patch)
treef440bf8c40e8e681239796585f417bcbef2ba14b /components/script
parentd8cb2762af389309ff9684f04194e4773ce33c3e (diff)
parent48c232f72b966ef3561249987caa26b22bc367d2 (diff)
downloadservo-1dfc0481efd4687658ab34e68c883caeadd8b20f.tar.gz
servo-1dfc0481efd4687658ab34e68c883caeadd8b20f.zip
Auto merge of #8267 - Ms2ger:cleanup, r=frewsxcv
Various improvements. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8267) <!-- Reviewable:end -->
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py4
-rw-r--r--components/script/dom/testbinding.rs4
-rw-r--r--components/script/dom/textencoder.rs12
-rw-r--r--components/script/dom/urlsearchparams.rs43
-rw-r--r--components/script/dom/webidls/TestBinding.webidl1
-rw-r--r--components/script/dom/webidls/URLSearchParams.webidl14
-rw-r--r--components/script/dom/xmlhttprequest.rs2
-rw-r--r--components/script/script_task.rs21
-rw-r--r--components/script/webdriver_handlers.rs4
9 files changed, 55 insertions, 50 deletions
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index 51a4653279f..0aa15a8d5a6 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -2000,6 +2000,7 @@ def UnionTypes(descriptors, dictionaries, callbacks, config):
'dom::bindings::conversions::StringificationBehavior',
'dom::bindings::error::throw_not_in_union',
'dom::bindings::js::Root',
+ 'dom::bindings::str::USVString',
'dom::types::*',
'js::jsapi::JSContext',
'js::jsapi::{HandleValue, MutableHandleValue}',
@@ -3492,6 +3493,9 @@ def getUnionTypeTemplateVars(type, descriptorProvider):
elif type.isDOMString():
name = type.name
typeName = "DOMString"
+ elif type.isUSVString():
+ name = type.name
+ typeName = "USVString"
elif type.isPrimitive():
name = type.name
typeName = builtinNames[type.tag()]
diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs
index 7c2038eab3b..057b3c2172b 100644
--- a/components/script/dom/testbinding.rs
+++ b/components/script/dom/testbinding.rs
@@ -12,6 +12,8 @@ use dom::bindings::codegen::Bindings::TestBindingBinding::TestEnum::_empty;
use dom::bindings::codegen::UnionTypes::BlobOrString;
use dom::bindings::codegen::UnionTypes::EventOrString;
use dom::bindings::codegen::UnionTypes::EventOrString::eString;
+use dom::bindings::codegen::UnionTypes::EventOrUSVString;
+use dom::bindings::codegen::UnionTypes::EventOrUSVString::eUSVString;
use dom::bindings::codegen::UnionTypes::HTMLElementOrLong;
use dom::bindings::codegen::UnionTypes::HTMLElementOrLong::eLong;
use dom::bindings::global::{GlobalField, GlobalRef};
@@ -77,6 +79,8 @@ impl TestBindingMethods for TestBinding {
fn SetUnionAttribute(&self, _: HTMLElementOrLong) {}
fn Union2Attribute(&self) -> EventOrString { eString("".to_owned()) }
fn SetUnion2Attribute(&self, _: EventOrString) {}
+ fn Union3Attribute(&self) -> EventOrUSVString { eUSVString(USVString("".to_owned())) }
+ fn SetUnion3Attribute(&self, _: EventOrUSVString) {}
fn ArrayAttribute(&self, _: *mut JSContext) -> *mut JSObject { NullValue().to_object_or_null() }
fn AnyAttribute(&self, _: *mut JSContext) -> JSVal { NullValue() }
fn SetAnyAttribute(&self, _: *mut JSContext, _: HandleValue) {}
diff --git a/components/script/dom/textencoder.rs b/components/script/dom/textencoder.rs
index 913b7c4fe86..e6aa9a3d747 100644
--- a/components/script/dom/textencoder.rs
+++ b/components/script/dom/textencoder.rs
@@ -22,22 +22,20 @@ use util::str::DOMString;
#[dom_struct]
pub struct TextEncoder {
reflector_: Reflector,
- encoding: DOMString,
#[ignore_heap_size_of = "Defined in rust-encoding"]
encoder: EncodingRef,
}
impl TextEncoder {
- fn new_inherited(encoding: DOMString, encoder: EncodingRef) -> TextEncoder {
+ fn new_inherited(encoder: EncodingRef) -> TextEncoder {
TextEncoder {
reflector_: Reflector::new(),
- encoding: encoding,
encoder: encoder,
}
}
- pub fn new(global: GlobalRef, encoding: DOMString, encoder: EncodingRef) -> Root<TextEncoder> {
- reflect_dom_object(box TextEncoder::new_inherited(encoding, encoder),
+ pub fn new(global: GlobalRef, encoder: EncodingRef) -> Root<TextEncoder> {
+ reflect_dom_object(box TextEncoder::new_inherited(encoder),
global,
TextEncoderBinding::Wrap)
}
@@ -55,7 +53,7 @@ impl TextEncoder {
match encoding.name() {
"utf-8" | "utf-16be" | "utf-16le" => {
- Ok(TextEncoder::new(global, encoding.name().to_owned(), encoding))
+ Ok(TextEncoder::new(global, encoding))
}
_ => {
debug!("Encoding Not UTF");
@@ -68,7 +66,7 @@ impl TextEncoder {
impl TextEncoderMethods for TextEncoder {
// https://encoding.spec.whatwg.org/#dom-textencoder-encoding
fn Encoding(&self) -> DOMString {
- self.encoding.clone()
+ self.encoder.name().to_owned()
}
#[allow(unsafe_code)]
diff --git a/components/script/dom/urlsearchparams.rs b/components/script/dom/urlsearchparams.rs
index 6ddfe4f5278..887869eafa4 100644
--- a/components/script/dom/urlsearchparams.rs
+++ b/components/script/dom/urlsearchparams.rs
@@ -5,11 +5,12 @@
use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::URLSearchParamsBinding;
use dom::bindings::codegen::Bindings::URLSearchParamsBinding::URLSearchParamsMethods;
-use dom::bindings::codegen::UnionTypes::StringOrURLSearchParams;
-use dom::bindings::codegen::UnionTypes::StringOrURLSearchParams::{eString, eURLSearchParams};
+use dom::bindings::codegen::UnionTypes::USVStringOrURLSearchParams;
+use dom::bindings::codegen::UnionTypes::USVStringOrURLSearchParams::{eUSVString, eURLSearchParams};
use dom::bindings::error::Fallible;
use dom::bindings::global::GlobalRef;
use dom::bindings::js::Root;
+use dom::bindings::str::USVString;
use dom::bindings::utils::{Reflector, reflect_dom_object};
use encoding::types::EncodingRef;
use url::form_urlencoded::{parse, serialize_with_encoding};
@@ -20,7 +21,7 @@ use util::str::DOMString;
pub struct URLSearchParams {
reflector_: Reflector,
// https://url.spec.whatwg.org/#concept-urlsearchparams-list
- list: DOMRefCell<Vec<(DOMString, DOMString)>>,
+ list: DOMRefCell<Vec<(String, String)>>,
}
impl URLSearchParams {
@@ -37,14 +38,14 @@ impl URLSearchParams {
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-urlsearchparams
- pub fn Constructor(global: GlobalRef, init: Option<StringOrURLSearchParams>) ->
+ pub fn Constructor(global: GlobalRef, init: Option<USVStringOrURLSearchParams>) ->
Fallible<Root<URLSearchParams>> {
// Step 1.
let query = URLSearchParams::new(global);
match init {
- Some(eString(init)) => {
+ Some(eUSVString(init)) => {
// Step 2.
- *query.r().list.borrow_mut() = parse(init.as_bytes());
+ *query.r().list.borrow_mut() = parse(init.0.as_bytes());
},
Some(eURLSearchParams(init)) => {
// Step 3.
@@ -59,27 +60,27 @@ impl URLSearchParams {
impl URLSearchParamsMethods for URLSearchParams {
// https://url.spec.whatwg.org/#dom-urlsearchparams-append
- fn Append(&self, name: DOMString, value: DOMString) {
+ fn Append(&self, name: USVString, value: USVString) {
// Step 1.
- self.list.borrow_mut().push((name, value));
+ self.list.borrow_mut().push((name.0, value.0));
// Step 2.
self.update_steps();
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-delete
- fn Delete(&self, name: DOMString) {
+ fn Delete(&self, name: USVString) {
// Step 1.
- self.list.borrow_mut().retain(|&(ref k, _)| k != &name);
+ self.list.borrow_mut().retain(|&(ref k, _)| k != &name.0);
// Step 2.
self.update_steps();
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-get
- fn Get(&self, name: DOMString) -> Option<DOMString> {
+ fn Get(&self, name: USVString) -> Option<USVString> {
let list = self.list.borrow();
list.iter().filter_map(|&(ref k, ref v)| {
- if k == &name {
- Some(v.clone())
+ if k == &name.0 {
+ Some(USVString(v.clone()))
} else {
None
}
@@ -87,31 +88,31 @@ impl URLSearchParamsMethods for URLSearchParams {
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-has
- fn Has(&self, name: DOMString) -> bool {
+ fn Has(&self, name: USVString) -> bool {
let list = self.list.borrow();
- list.iter().find(|&&(ref k, _)| k == &name).is_some()
+ list.iter().any(|&(ref k, _)| k == &name.0)
}
// https://url.spec.whatwg.org/#dom-urlsearchparams-set
- fn Set(&self, name: DOMString, value: DOMString) {
+ fn Set(&self, name: USVString, value: USVString) {
let mut list = self.list.borrow_mut();
let mut index = None;
let mut i = 0;
list.retain(|&(ref k, _)| {
if index.is_none() {
- if k == &name {
+ if k == &name.0 {
index = Some(i);
} else {
i += 1;
}
true
} else {
- k != &name
+ k != &name.0
}
});
match index {
- Some(index) => list[index].1 = value,
- None => list.push((name, value)),
+ Some(index) => list[index].1 = value.0,
+ None => list.push((name.0, value.0)),
};
self.update_steps();
}
@@ -125,7 +126,7 @@ impl URLSearchParamsMethods for URLSearchParams {
impl URLSearchParams {
// https://url.spec.whatwg.org/#concept-urlencoded-serializer
- pub fn serialize(&self, encoding: Option<EncodingRef>) -> DOMString {
+ pub fn serialize(&self, encoding: Option<EncodingRef>) -> String {
let list = self.list.borrow();
serialize_with_encoding(list.iter(), encoding)
}
diff --git a/components/script/dom/webidls/TestBinding.webidl b/components/script/dom/webidls/TestBinding.webidl
index 181909721aa..f845be7dc15 100644
--- a/components/script/dom/webidls/TestBinding.webidl
+++ b/components/script/dom/webidls/TestBinding.webidl
@@ -89,6 +89,7 @@ interface TestBinding {
attribute Blob interfaceAttribute;
attribute (HTMLElement or long) unionAttribute;
attribute (Event or DOMString) union2Attribute;
+ attribute (Event or USVString) union3Attribute;
readonly attribute Uint8ClampedArray arrayAttribute;
attribute any anyAttribute;
attribute object objectAttribute;
diff --git a/components/script/dom/webidls/URLSearchParams.webidl b/components/script/dom/webidls/URLSearchParams.webidl
index 4ab1cd43019..4804056273f 100644
--- a/components/script/dom/webidls/URLSearchParams.webidl
+++ b/components/script/dom/webidls/URLSearchParams.webidl
@@ -7,14 +7,14 @@
* https://url.spec.whatwg.org/#interface-urlsearchparams
*/
-[Constructor(optional (DOMString or URLSearchParams) init/* = ""*/)]
+[Constructor(optional (USVString or URLSearchParams) init/* = ""*/)]
interface URLSearchParams {
- void append(DOMString name, DOMString value);
- void delete(DOMString name);
- DOMString? get(DOMString name);
- // sequence<DOMString> getAll(DOMString name);
- boolean has(DOMString name);
- void set(DOMString name, DOMString value);
+ void append(USVString name, USVString value);
+ void delete(USVString name);
+ USVString? get(USVString name);
+ // sequence<USVString> getAll(USVString name);
+ boolean has(USVString name);
+ void set(USVString name, USVString value);
// iterable<USVString, USVString>;
stringifier;
};
diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs
index a68d9478270..6bf36809ff6 100644
--- a/components/script/dom/xmlhttprequest.rs
+++ b/components/script/dom/xmlhttprequest.rs
@@ -1110,7 +1110,7 @@ impl Extractable for SendParam {
},
eURLSearchParams(ref usp) => {
// Default encoding is UTF-8.
- usp.r().serialize(None).as_bytes().to_owned()
+ usp.r().serialize(None).into_bytes()
},
}
}
diff --git a/components/script/script_task.rs b/components/script/script_task.rs
index 30bb371667b..02046df717e 100644
--- a/components/script/script_task.rs
+++ b/components/script/script_task.rs
@@ -1656,18 +1656,15 @@ impl ScriptTask {
}
fn notify_devtools(&self, title: DOMString, url: Url, ids: (PipelineId, Option<WorkerId>)) {
- match self.devtools_chan {
- None => {}
- Some(ref chan) => {
- let page_info = DevtoolsPageInfo {
- title: title,
- url: url,
- };
- chan.send(ScriptToDevtoolsControlMsg::NewGlobal(
- ids,
- self.devtools_sender.clone(),
- page_info)).unwrap();
- }
+ if let Some(ref chan) = self.devtools_chan {
+ let page_info = DevtoolsPageInfo {
+ title: title,
+ url: url,
+ };
+ chan.send(ScriptToDevtoolsControlMsg::NewGlobal(
+ ids,
+ self.devtools_sender.clone(),
+ page_info)).unwrap();
}
}
diff --git a/components/script/webdriver_handlers.rs b/components/script/webdriver_handlers.rs
index 5e9b87be23a..9669ce0fd2b 100644
--- a/components/script/webdriver_handlers.rs
+++ b/components/script/webdriver_handlers.rs
@@ -114,7 +114,7 @@ pub fn handle_get_frame_id(page: &Rc<Page>,
pub fn handle_find_element_css(page: &Rc<Page>, _pipeline: PipelineId, selector: String,
reply: IpcSender<Result<Option<String>, ()>>) {
- reply.send(match page.document().r().QuerySelector(selector.clone()) {
+ reply.send(match page.document().r().QuerySelector(selector) {
Ok(node) => {
Ok(node.map(|x| x.upcast::<Node>().get_unique_id()))
}
@@ -126,7 +126,7 @@ pub fn handle_find_elements_css(page: &Rc<Page>,
_pipeline: PipelineId,
selector: String,
reply: IpcSender<Result<Vec<String>, ()>>) {
- reply.send(match page.document().r().QuerySelectorAll(selector.clone()) {
+ reply.send(match page.document().r().QuerySelectorAll(selector) {
Ok(ref nodes) => {
let mut result = Vec::with_capacity(nodes.r().Length() as usize);
for i in 0..nodes.r().Length() {