diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2015-10-30 23:55:34 +0530 |
---|---|---|
committer | bors-servo <lbergstrom+bors@mozilla.com> | 2015-10-30 23:55:34 +0530 |
commit | 1dfc0481efd4687658ab34e68c883caeadd8b20f (patch) | |
tree | f440bf8c40e8e681239796585f417bcbef2ba14b /components/script | |
parent | d8cb2762af389309ff9684f04194e4773ce33c3e (diff) | |
parent | 48c232f72b966ef3561249987caa26b22bc367d2 (diff) | |
download | servo-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.py | 4 | ||||
-rw-r--r-- | components/script/dom/testbinding.rs | 4 | ||||
-rw-r--r-- | components/script/dom/textencoder.rs | 12 | ||||
-rw-r--r-- | components/script/dom/urlsearchparams.rs | 43 | ||||
-rw-r--r-- | components/script/dom/webidls/TestBinding.webidl | 1 | ||||
-rw-r--r-- | components/script/dom/webidls/URLSearchParams.webidl | 14 | ||||
-rw-r--r-- | components/script/dom/xmlhttprequest.rs | 2 | ||||
-rw-r--r-- | components/script/script_task.rs | 21 | ||||
-rw-r--r-- | components/script/webdriver_handlers.rs | 4 |
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() { |