diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2017-06-18 13:21:32 +0200 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2017-06-18 13:21:49 +0200 |
commit | 7af5a7fd5409ab8db0274eb829136e5953e718ed (patch) | |
tree | ee7103d6651e45943609118f93cc8789ebbb4d86 /components/script | |
parent | a5bb55790fe34de6e6dc561314d2a9491972585e (diff) | |
download | servo-7af5a7fd5409ab8db0274eb829136e5953e718ed.tar.gz servo-7af5a7fd5409ab8db0274eb829136e5953e718ed.zip |
Untry script
Diffstat (limited to 'components/script')
36 files changed, 199 insertions, 199 deletions
diff --git a/components/script/body.rs b/components/script/body.rs index 80c9be5d49f..841868889d0 100644 --- a/components/script/body.rs +++ b/components/script/body.rs @@ -148,8 +148,8 @@ fn run_form_data_algorithm(root: &GlobalScope, bytes: Vec<u8>, mime: &[u8]) -> F } else { "" }; - let mime: Mime = try!(mime_str.parse().map_err( - |_| Error::Type("Inappropriate MIME-type for Body".to_string()))); + let mime: Mime = mime_str.parse().map_err( + |_| Error::Type("Inappropriate MIME-type for Body".to_string()))?; match mime { // TODO // ... Parser for Mime(TopLevel::Multipart, SubLevel::FormData, _) diff --git a/components/script/dom/bindings/conversions.rs b/components/script/dom/bindings/conversions.rs index d77f6ea931c..a44a3f54c30 100644 --- a/components/script/dom/bindings/conversions.rs +++ b/components/script/dom/bindings/conversions.rs @@ -390,7 +390,7 @@ pub unsafe fn private_from_proto_check<F>(mut obj: *mut JSObject, -> Result<*const libc::c_void, ()> where F: Fn(&'static DOMClass) -> bool { - let dom_class = try!(get_dom_class(obj).or_else(|_| { + let dom_class = get_dom_class(obj).or_else(|_| { if IsWrapper(obj) { trace!("found wrapper"); obj = UnwrapObject(obj, /* stopAtWindowProxy = */ 0); @@ -406,7 +406,7 @@ pub unsafe fn private_from_proto_check<F>(mut obj: *mut JSObject, trace!("not a dom wrapper"); Err(()) } - })); + })?; if proto_check(dom_class) { trace!("good prototype"); diff --git a/components/script/dom/bindings/mozmap.rs b/components/script/dom/bindings/mozmap.rs index abfedf02caf..19f65ec05f8 100644 --- a/components/script/dom/bindings/mozmap.rs +++ b/components/script/dom/bindings/mozmap.rs @@ -69,7 +69,7 @@ impl<T, C> FromJSValConvertible for MozMap<T> return Err(()); } - let property = match try!(T::from_jsval(cx, property.handle(), config.clone())) { + let property = match T::from_jsval(cx, property.handle(), config.clone())? { ConversionResult::Success(property) => property, ConversionResult::Failure(message) => return Ok(ConversionResult::Failure(message)), }; diff --git a/components/script/dom/bindings/structuredclone.rs b/components/script/dom/bindings/structuredclone.rs index 53f3b63e085..5644784e10c 100644 --- a/components/script/dom/bindings/structuredclone.rs +++ b/components/script/dom/bindings/structuredclone.rs @@ -114,7 +114,7 @@ unsafe fn write_blob(blob: Root<Blob>, w: *mut JSStructuredCloneWriter) -> Result<(), ()> { let structured_writer = StructuredCloneWriter { w: w }; - let blob_vec = try!(blob.get_bytes()); + let blob_vec = blob.get_bytes()?; assert!(JS_WriteUint32Pair(w, StructuredCloneTags::DomBlob as u32, 0)); structured_writer.write_slice(&blob_vec); structured_writer.write_str(&blob.type_string()); diff --git a/components/script/dom/bindings/xmlname.rs b/components/script/dom/bindings/xmlname.rs index e688052fba8..fc330b7563d 100644 --- a/components/script/dom/bindings/xmlname.rs +++ b/components/script/dom/bindings/xmlname.rs @@ -32,7 +32,7 @@ pub fn validate_and_extract(namespace: Option<DOMString>, let namespace = namespace_from_domstring(namespace); // Step 2. - try!(validate_qualified_name(qualified_name)); + validate_qualified_name(qualified_name)?; let colon = ':'; diff --git a/components/script/dom/bluetooth.rs b/components/script/dom/bluetooth.rs index 3c3b88a27ac..846b1ff666c 100644 --- a/components/script/dom/bluetooth.rs +++ b/components/script/dom/bluetooth.rs @@ -328,7 +328,7 @@ fn canonicalize_filter(filter: &BluetoothLEScanFilterInit) -> Fallible<Bluetooth for service in services { // Step 3.2 - 3.3. - let uuid = try!(BluetoothUUID::service(service.clone())).to_string(); + let uuid = BluetoothUUID::service(service.clone())?.to_string(); // Step 3.4. if uuid_is_blocklisted(uuid.as_ref(), Blocklist::All) { @@ -393,7 +393,7 @@ fn canonicalize_filter(filter: &BluetoothLEScanFilterInit) -> Fallible<Bluetooth // Step 7.3: No need to convert to IDL values since this is only used by native code. // Step 7.4 - 7.5. - map.insert(manufacturer_id, try!(canonicalize_bluetooth_data_filter_init(bdfi))); + map.insert(manufacturer_id, canonicalize_bluetooth_data_filter_init(bdfi)?); } Some(map) }, @@ -417,7 +417,7 @@ fn canonicalize_filter(filter: &BluetoothLEScanFilterInit) -> Fallible<Bluetooth }; // Step 9.3 - 9.4. - let service = try!(BluetoothUUID::service(service_name)).to_string(); + let service = BluetoothUUID::service(service_name)?.to_string(); // Step 9.5. if uuid_is_blocklisted(service.as_ref(), Blocklist::All) { @@ -427,7 +427,7 @@ fn canonicalize_filter(filter: &BluetoothLEScanFilterInit) -> Fallible<Bluetooth // Step 9.6: No need to convert to IDL values since this is only used by native code. // Step 9.7 - 9.8. - map.insert(service, try!(canonicalize_bluetooth_data_filter_init(bdfi))); + map.insert(service, canonicalize_bluetooth_data_filter_init(bdfi)?); } Some(map) }, diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 293e81b6e1c..be7c8e945c2 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -1137,18 +1137,18 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D { // https://html.spec.whatwg.org/multipage/#img-error // If the image argument is an HTMLImageElement object that is in the broken state, // then throw an InvalidStateError exception - try!(self.fetch_image_data(image).ok_or(Error::InvalidState)) + self.fetch_image_data(image).ok_or(Error::InvalidState)? }, HTMLImageElementOrHTMLCanvasElementOrCanvasRenderingContext2D::HTMLCanvasElement(ref canvas) => { let _ = canvas.get_or_init_2d_context(); - try!(canvas.fetch_all_data().ok_or(Error::InvalidState)) + canvas.fetch_all_data().ok_or(Error::InvalidState)? }, HTMLImageElementOrHTMLCanvasElementOrCanvasRenderingContext2D::CanvasRenderingContext2D(ref context) => { let canvas = context.Canvas(); let _ = canvas.get_or_init_2d_context(); - try!(canvas.fetch_all_data().ok_or(Error::InvalidState)) + canvas.fetch_all_data().ok_or(Error::InvalidState)? } }; diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index f4de73747c4..1be316991da 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -293,11 +293,11 @@ impl DedicatedWorkerGlobalScope { } let ret = sel.wait(); if ret == worker_handle.id() { - Ok(MixedMessage::FromWorker(try!(worker_port.recv()))) + Ok(MixedMessage::FromWorker(worker_port.recv()?)) } else if ret == timer_event_handle.id() { - Ok(MixedMessage::FromScheduler(try!(timer_event_port.recv()))) + Ok(MixedMessage::FromScheduler(timer_event_port.recv()?)) } else if ret == devtools_handle.id() { - Ok(MixedMessage::FromDevtools(try!(devtools_port.recv()))) + Ok(MixedMessage::FromDevtools(devtools_port.recv()?)) } else { panic!("unexpected select result!") } @@ -384,7 +384,7 @@ impl DedicatedWorkerGlobalScopeMethods for DedicatedWorkerGlobalScope { #[allow(unsafe_code)] // https://html.spec.whatwg.org/multipage/#dom-dedicatedworkerglobalscope-postmessage unsafe fn PostMessage(&self, cx: *mut JSContext, message: HandleValue) -> ErrorResult { - let data = try!(StructuredCloneData::write(cx, message)); + let data = StructuredCloneData::write(cx, message)?; let worker = self.worker.borrow().as_ref().unwrap().clone(); self.parent_sender .send(CommonScriptMsg::RunnableMsg(WorkerEvent, diff --git a/components/script/dom/dissimilaroriginwindow.rs b/components/script/dom/dissimilaroriginwindow.rs index a4e230e90a2..6a106fab14c 100644 --- a/components/script/dom/dissimilaroriginwindow.rs +++ b/components/script/dom/dissimilaroriginwindow.rs @@ -146,7 +146,7 @@ impl DissimilarOriginWindowMethods for DissimilarOriginWindow { // Step 1-2, 6-8. // TODO(#12717): Should implement the `transfer` argument. - let data = try!(StructuredCloneData::write(cx, message)); + let data = StructuredCloneData::write(cx, message)?; // Step 9. self.post_message(origin, data); diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 5db39cf4feb..da3b5db052c 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -1454,7 +1454,7 @@ impl Document { for node in nodes { match node { NodeOrString::Node(node) => { - try!(fragment.AppendChild(&node)); + fragment.AppendChild(&node)?; }, NodeOrString::String(string) => { let node = Root::upcast::<Node>(self.CreateTextNode(string)); @@ -2819,8 +2819,8 @@ impl DocumentMethods for Document { namespace: Option<DOMString>, qualified_name: DOMString) -> Fallible<Root<Element>> { - let (namespace, prefix, local_name) = try!(validate_and_extract(namespace, - &qualified_name)); + let (namespace, prefix, local_name) = validate_and_extract(namespace, + &qualified_name)?; let name = QualName::new(prefix, namespace, local_name); Ok(Element::create(name, self, ElementCreator::ScriptCreated)) } @@ -2845,8 +2845,8 @@ impl DocumentMethods for Document { namespace: Option<DOMString>, qualified_name: DOMString) -> Fallible<Root<Attr>> { - let (namespace, prefix, local_name) = try!(validate_and_extract(namespace, - &qualified_name)); + let (namespace, prefix, local_name) = validate_and_extract(namespace, + &qualified_name)?; let value = AttrValue::String("".to_owned()); let qualified_name = LocalName::from(qualified_name); Ok(Attr::new(&self.window, diff --git a/components/script/dom/domimplementation.rs b/components/script/dom/domimplementation.rs index e0f9d69a45a..8c1bee4f334 100644 --- a/components/script/dom/domimplementation.rs +++ b/components/script/dom/domimplementation.rs @@ -57,7 +57,7 @@ impl DOMImplementationMethods for DOMImplementation { pubid: DOMString, sysid: DOMString) -> Fallible<Root<DocumentType>> { - try!(validate_qualified_name(&qualified_name)); + validate_qualified_name(&qualified_name)?; Ok(DocumentType::new(qualified_name, Some(pubid), Some(sysid), &self.document)) } diff --git a/components/script/dom/domtokenlist.rs b/components/script/dom/domtokenlist.rs index b07a4357e83..b4be05e2f3b 100644 --- a/components/script/dom/domtokenlist.rs +++ b/components/script/dom/domtokenlist.rs @@ -84,7 +84,7 @@ impl DOMTokenListMethods for DOMTokenList { fn Add(&self, tokens: Vec<DOMString>) -> ErrorResult { let mut atoms = self.element.get_tokenlist_attribute(&self.local_name); for token in &tokens { - let token = try!(self.check_token_exceptions(&token)); + let token = self.check_token_exceptions(&token)?; if !atoms.iter().any(|atom| *atom == token) { atoms.push(token); } @@ -97,7 +97,7 @@ impl DOMTokenListMethods for DOMTokenList { fn Remove(&self, tokens: Vec<DOMString>) -> ErrorResult { let mut atoms = self.element.get_tokenlist_attribute(&self.local_name); for token in &tokens { - let token = try!(self.check_token_exceptions(&token)); + let token = self.check_token_exceptions(&token)?; atoms.iter().position(|atom| *atom == token).map(|index| atoms.remove(index)); } self.element.set_atomic_tokenlist_attribute(&self.local_name, atoms); @@ -107,7 +107,7 @@ impl DOMTokenListMethods for DOMTokenList { // https://dom.spec.whatwg.org/#dom-domtokenlist-toggle fn Toggle(&self, token: DOMString, force: Option<bool>) -> Fallible<bool> { let mut atoms = self.element.get_tokenlist_attribute(&self.local_name); - let token = try!(self.check_token_exceptions(&token)); + let token = self.check_token_exceptions(&token)?; match atoms.iter().position(|atom| *atom == token) { Some(index) => match force { Some(true) => Ok(true), diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 7e01bc66764..c0570ad83cc 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -144,9 +144,9 @@ pub struct Element { impl fmt::Debug for Element { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - try!(write!(f, "<{}", self.local_name)); + write!(f, "<{}", self.local_name)?; if let Some(ref id) = *self.id_attribute.borrow() { - try!(write!(f, " id={}", id)); + write!(f, " id={}", id)?; } write!(f, ">") } @@ -1532,7 +1532,7 @@ impl ElementMethods for Element { qualified_name: DOMString, value: DOMString) -> ErrorResult { let (namespace, prefix, local_name) = - try!(validate_and_extract(namespace, &qualified_name)); + validate_and_extract(namespace, &qualified_name)?; let qualified_name = LocalName::from(qualified_name); let value = self.parse_attribute(&namespace, &local_name, value); self.set_first_matching_attribute( @@ -1929,7 +1929,7 @@ impl ElementMethods for Element { /// https://w3c.github.io/DOM-Parsing/#widl-Element-innerHTML fn SetInnerHTML(&self, value: DOMString) -> ErrorResult { // Step 1. - let frag = try!(self.parse_fragment(value)); + let frag = self.parse_fragment(value)?; // Step 2. // https://github.com/w3c/DOM-Parsing/issues/1 let target = if let Some(template) = self.downcast::<HTMLTemplateElement>() { @@ -1974,9 +1974,9 @@ impl ElementMethods for Element { }; // Step 5. - let frag = try!(parent.parse_fragment(value)); + let frag = parent.parse_fragment(value)?; // Step 6. - try!(context_parent.ReplaceChild(frag.upcast(), context_node)); + context_parent.ReplaceChild(frag.upcast(), context_node)?; Ok(()) } @@ -2095,8 +2095,8 @@ impl ElementMethods for Element { // https://dom.spec.whatwg.org/#dom-element-insertadjacentelement fn InsertAdjacentElement(&self, where_: DOMString, element: &Element) -> Fallible<Option<Root<Element>>> { - let where_ = try!(AdjacentPosition::try_from(&*where_)); - let inserted_node = try!(self.insert_adjacent(where_, element.upcast())); + let where_ = AdjacentPosition::try_from(&*where_)?; + let inserted_node = self.insert_adjacent(where_, element.upcast())?; Ok(inserted_node.map(|node| Root::downcast(node).unwrap())) } @@ -2107,7 +2107,7 @@ impl ElementMethods for Element { let text = Text::new(data, &document_from_node(self)); // Step 2. - let where_ = try!(AdjacentPosition::try_from(&*where_)); + let where_ = AdjacentPosition::try_from(&*where_)?; self.insert_adjacent(where_, text.upcast()).map(|_| ()) } @@ -2115,7 +2115,7 @@ impl ElementMethods for Element { fn InsertAdjacentHTML(&self, position: DOMString, text: DOMString) -> ErrorResult { // Step 1. - let position = try!(AdjacentPosition::try_from(&*position)); + let position = AdjacentPosition::try_from(&*position)?; let context = match position { AdjacentPosition::BeforeBegin | AdjacentPosition::AfterEnd => { @@ -2137,7 +2137,7 @@ impl ElementMethods for Element { &context.owner_doc(), context.downcast::<Element>()); // Step 3. - let fragment = try!(context.parse_fragment(text)); + let fragment = context.parse_fragment(text)?; // Step 4. self.insert_adjacent(position, fragment.upcast()).map(|_| ()) diff --git a/components/script/dom/headers.rs b/components/script/dom/headers.rs index 728588533a4..516100d6edc 100644 --- a/components/script/dom/headers.rs +++ b/components/script/dom/headers.rs @@ -52,7 +52,7 @@ impl Headers { pub fn Constructor(global: &GlobalScope, init: Option<HeadersInit>) -> Fallible<Root<Headers>> { let dom_headers_new = Headers::new(global); - try!(dom_headers_new.fill(init)); + dom_headers_new.fill(init)?; Ok(dom_headers_new) } } @@ -63,7 +63,7 @@ impl HeadersMethods for Headers { // Step 1 let value = normalize_value(value); // Step 2 - let (mut valid_name, valid_value) = try!(validate_name_and_value(name, value)); + let (mut valid_name, valid_value) = validate_name_and_value(name, value)?; valid_name = valid_name.to_lowercase(); // Step 3 if self.guard.get() == Guard::Immutable { @@ -95,7 +95,7 @@ impl HeadersMethods for Headers { // https://fetch.spec.whatwg.org/#dom-headers-delete fn Delete(&self, name: ByteString) -> ErrorResult { // Step 1 - let valid_name = try!(validate_name(name)); + let valid_name = validate_name(name)?; // Step 2 if self.guard.get() == Guard::Immutable { return Err(Error::Type("Guard is immutable".to_string())); @@ -121,7 +121,7 @@ impl HeadersMethods for Headers { // https://fetch.spec.whatwg.org/#dom-headers-get fn Get(&self, name: ByteString) -> Fallible<Option<ByteString>> { // Step 1 - let valid_name = &try!(validate_name(name)); + let valid_name = &validate_name(name)?; Ok(self.header_list.borrow().get_raw(&valid_name).map(|v| { ByteString::new(v[0].clone()) })) @@ -130,7 +130,7 @@ impl HeadersMethods for Headers { // https://fetch.spec.whatwg.org/#dom-headers-has fn Has(&self, name: ByteString) -> Fallible<bool> { // Step 1 - let valid_name = try!(validate_name(name)); + let valid_name = validate_name(name)?; // Step 2 Ok(self.header_list.borrow_mut().get_raw(&valid_name).is_some()) } @@ -140,7 +140,7 @@ impl HeadersMethods for Headers { // Step 1 let value = normalize_value(value); // Step 2 - let (mut valid_name, valid_value) = try!(validate_name_and_value(name, value)); + let (mut valid_name, valid_value) = validate_name_and_value(name, value)?; valid_name = valid_name.to_lowercase(); // Step 3 if self.guard.get() == Guard::Immutable { @@ -172,10 +172,10 @@ impl Headers { // Step 1 Some(HeadersInit::Headers(h)) => { for header in h.header_list.borrow().iter() { - try!(self.Append( + self.Append( ByteString::new(Vec::from(header.name())), ByteString::new(Vec::from(header.value_string().into_bytes())) - )); + )?; } Ok(()) }, @@ -185,7 +185,7 @@ impl Headers { if seq.len() == 2 { let val = seq.pop().unwrap(); let name = seq.pop().unwrap(); - try!(self.Append(name, val)); + self.Append(name, val)?; } else { return Err(Error::Type( format!("Each header object must be a sequence of length 2 - found one with length {}", @@ -198,7 +198,7 @@ impl Headers { for (key, value) in m.iter() { let key_vec = key.as_ref().to_string().into(); let headers_key = ByteString::new(key_vec); - try!(self.Append(headers_key, value.clone())); + self.Append(headers_key, value.clone())?; } Ok(()) }, @@ -360,7 +360,7 @@ pub fn is_forbidden_header_name(name: &str) -> bool { // [4] https://www.rfc-editor.org/errata_search.php?rfc=7230 fn validate_name_and_value(name: ByteString, value: ByteString) -> Fallible<(String, Vec<u8>)> { - let valid_name = try!(validate_name(name)); + let valid_name = validate_name(name)?; if !is_field_content(&value) { return Err(Error::Type("Value is not valid".to_string())); } diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs index 2454b634040..a95ff766171 100644 --- a/components/script/dom/htmlcanvaselement.rs +++ b/components/script/dom/htmlcanvaselement.rs @@ -297,9 +297,9 @@ impl HTMLCanvasElementMethods for HTMLCanvasElement { // Step 3. let raw_data = match *self.context.borrow() { Some(CanvasContext::Context2d(ref context)) => { - let image_data = try!(context.GetImageData(Finite::wrap(0f64), Finite::wrap(0f64), + let image_data = context.GetImageData(Finite::wrap(0f64), Finite::wrap(0f64), Finite::wrap(self.Width() as f64), - Finite::wrap(self.Height() as f64))); + Finite::wrap(self.Height() as f64))?; image_data.get_data_array() } None => { diff --git a/components/script/dom/htmloptionscollection.rs b/components/script/dom/htmloptionscollection.rs index 42d6aebde35..f3b839a8a2a 100644 --- a/components/script/dom/htmloptionscollection.rs +++ b/components/script/dom/htmloptionscollection.rs @@ -49,7 +49,7 @@ impl HTMLOptionsCollection { for _ in 0..count { let element = HTMLOptionElement::new(local_name!("option"), None, &document); let node = element.upcast::<Node>(); - try!(root.AppendChild(node)); + root.AppendChild(node)?; }; Ok(()) } @@ -90,7 +90,7 @@ impl HTMLOptionsCollectionMethods for HTMLOptionsCollection { // Step 4 if n > 0 { - try!(self.add_new_elements(n as u32)); + self.add_new_elements(n as u32)?; } // Step 5 diff --git a/components/script/dom/htmltableelement.rs b/components/script/dom/htmltableelement.rs index 3e0310dad9a..7f3d9974a74 100644 --- a/components/script/dom/htmltableelement.rs +++ b/components/script/dom/htmltableelement.rs @@ -103,7 +103,7 @@ impl HTMLTableElement { let reference_element = node.child_elements().find(reference_predicate); let reference_node = reference_element.r().map(|e| e.upcast()); - try!(node.InsertBefore(section.upcast(), reference_node)); + node.InsertBefore(section.upcast(), reference_node)?; } Ok(()) diff --git a/components/script/dom/imagedata.rs b/components/script/dom/imagedata.rs index a8a5e1ed4e7..70f6d8ea992 100644 --- a/components/script/dom/imagedata.rs +++ b/components/script/dom/imagedata.rs @@ -65,8 +65,8 @@ impl ImageData { if let Some(jsobject) = opt_jsobject { let cx = global.get_cx(); typedarray!(in(cx) let array_res: Uint8ClampedArray = jsobject); - let mut array = try!(array_res - .map_err(|_| Error::Type("Argument to Image data is not an Uint8ClampedArray".to_owned()))); + let mut array = array_res + .map_err(|_| Error::Type("Argument to Image data is not an Uint8ClampedArray".to_owned()))?; let byte_len = array.as_slice().len() as u32; if byte_len % 4 != 0 { diff --git a/components/script/dom/location.rs b/components/script/dom/location.rs index cac2322be82..c725e6cee54 100644 --- a/components/script/dom/location.rs +++ b/components/script/dom/location.rs @@ -70,7 +70,7 @@ impl Location { impl LocationMethods for Location { // https://html.spec.whatwg.org/multipage/#dom-location-assign fn Assign(&self, url: USVString) -> ErrorResult { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; // TODO: per spec, we should use the _API base URL_ specified by the // _entry settings object_. let base_url = self.window.get_url(); @@ -84,7 +84,7 @@ impl LocationMethods for Location { // https://html.spec.whatwg.org/multipage/#dom-location-reload fn Reload(&self) -> ErrorResult { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; self.window.load_url(self.get_url(), true, true, None); Ok(()) } @@ -105,7 +105,7 @@ impl LocationMethods for Location { // https://html.spec.whatwg.org/multipage/#dom-location-hash fn GetHash(&self) -> Fallible<USVString> { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; Ok(UrlHelper::Hash(&self.get_url())) } @@ -114,46 +114,46 @@ impl LocationMethods for Location { if value.0.is_empty() { value = USVString("#".to_owned()); } - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; self.set_url_component(value, UrlHelper::SetHash); Ok(()) } // https://html.spec.whatwg.org/multipage/#dom-location-host fn GetHost(&self) -> Fallible<USVString> { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; Ok(UrlHelper::Host(&self.get_url())) } // https://html.spec.whatwg.org/multipage/#dom-location-host fn SetHost(&self, value: USVString) -> ErrorResult { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; self.set_url_component(value, UrlHelper::SetHost); Ok(()) } // https://html.spec.whatwg.org/multipage/#dom-location-origin fn GetOrigin(&self) -> Fallible<USVString> { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; Ok(UrlHelper::Origin(&self.get_url())) } // https://html.spec.whatwg.org/multipage/#dom-location-hostname fn GetHostname(&self) -> Fallible<USVString> { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; Ok(UrlHelper::Hostname(&self.get_url())) } // https://html.spec.whatwg.org/multipage/#dom-location-hostname fn SetHostname(&self, value: USVString) -> ErrorResult { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; self.set_url_component(value, UrlHelper::SetHostname); Ok(()) } // https://html.spec.whatwg.org/multipage/#dom-location-href fn GetHref(&self) -> Fallible<USVString> { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; Ok(UrlHelper::Href(&self.get_url())) } @@ -170,57 +170,57 @@ impl LocationMethods for Location { // https://html.spec.whatwg.org/multipage/#dom-location-pathname fn GetPathname(&self) -> Fallible<USVString> { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; Ok(UrlHelper::Pathname(&self.get_url())) } // https://html.spec.whatwg.org/multipage/#dom-location-pathname fn SetPathname(&self, value: USVString) -> ErrorResult { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; self.set_url_component(value, UrlHelper::SetPathname); Ok(()) } // https://html.spec.whatwg.org/multipage/#dom-location-port fn GetPort(&self) -> Fallible<USVString> { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; Ok(UrlHelper::Port(&self.get_url())) } // https://html.spec.whatwg.org/multipage/#dom-location-port fn SetPort(&self, value: USVString) -> ErrorResult { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; self.set_url_component(value, UrlHelper::SetPort); Ok(()) } // https://html.spec.whatwg.org/multipage/#dom-location-protocol fn GetProtocol(&self) -> Fallible<USVString> { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; Ok(UrlHelper::Protocol(&self.get_url())) } // https://html.spec.whatwg.org/multipage/#dom-location-protocol fn SetProtocol(&self, value: USVString) -> ErrorResult { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; self.set_url_component(value, UrlHelper::SetProtocol); Ok(()) } // https://html.spec.whatwg.org/multipage/#dom-location-href fn Stringifier(&self) -> Fallible<DOMString> { - Ok(DOMString::from(try!(self.GetHref()).0)) + Ok(DOMString::from(self.GetHref()?.0)) } // https://html.spec.whatwg.org/multipage/#dom-location-search fn GetSearch(&self) -> Fallible<USVString> { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; Ok(UrlHelper::Search(&self.get_url())) } // https://html.spec.whatwg.org/multipage/#dom-location-search fn SetSearch(&self, value: USVString) -> ErrorResult { - try!(self.check_same_origin_domain()); + self.check_same_origin_domain()?; self.set_url_component(value, UrlHelper::SetSearch); Ok(()) } diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 88ad070bba7..cace0497433 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -631,7 +631,7 @@ impl Node { let viable_previous_sibling = first_node_not_in(self.preceding_siblings(), &nodes); // Step 4. - let node = try!(self.owner_doc().node_from_nodes_and_strings(nodes)); + let node = self.owner_doc().node_from_nodes_and_strings(nodes)?; // Step 5. let viable_previous_sibling = match viable_previous_sibling { @@ -640,7 +640,7 @@ impl Node { }; // Step 6. - try!(Node::pre_insert(&node, &parent, viable_previous_sibling.r())); + Node::pre_insert(&node, &parent, viable_previous_sibling.r())?; Ok(()) } @@ -660,10 +660,10 @@ impl Node { let viable_next_sibling = first_node_not_in(self.following_siblings(), &nodes); // Step 4. - let node = try!(self.owner_doc().node_from_nodes_and_strings(nodes)); + let node = self.owner_doc().node_from_nodes_and_strings(nodes)?; // Step 5. - try!(Node::pre_insert(&node, &parent, viable_next_sibling.r())); + Node::pre_insert(&node, &parent, viable_next_sibling.r())?; Ok(()) } @@ -680,13 +680,13 @@ impl Node { // Step 3. let viable_next_sibling = first_node_not_in(self.following_siblings(), &nodes); // Step 4. - let node = try!(self.owner_doc().node_from_nodes_and_strings(nodes)); + let node = self.owner_doc().node_from_nodes_and_strings(nodes)?; if self.parent_node == Some(&*parent) { // Step 5. - try!(parent.ReplaceChild(&node, self)); + parent.ReplaceChild(&node, self)?; } else { // Step 6. - try!(Node::pre_insert(&node, &parent, viable_next_sibling.r())); + Node::pre_insert(&node, &parent, viable_next_sibling.r())?; } Ok(()) } @@ -695,7 +695,7 @@ impl Node { pub fn prepend(&self, nodes: Vec<NodeOrString>) -> ErrorResult { // Step 1. let doc = self.owner_doc(); - let node = try!(doc.node_from_nodes_and_strings(nodes)); + let node = doc.node_from_nodes_and_strings(nodes)?; // Step 2. let first_child = self.first_child.get(); Node::pre_insert(&node, self, first_child.r()).map(|_| ()) @@ -705,7 +705,7 @@ impl Node { pub fn append(&self, nodes: Vec<NodeOrString>) -> ErrorResult { // Step 1. let doc = self.owner_doc(); - let node = try!(doc.node_from_nodes_and_strings(nodes)); + let node = doc.node_from_nodes_and_strings(nodes)?; // Step 2. self.AppendChild(&node).map(|_| ()) } @@ -751,7 +751,7 @@ impl Node { #[allow(unsafe_code)] pub fn query_selector_all(&self, selectors: DOMString) -> Fallible<Root<NodeList>> { let window = window_from_node(self); - let iter = try!(self.query_selector_iter(selectors)); + let iter = self.query_selector_iter(selectors)?; Ok(NodeList::new_simple_list(&window, iter)) } @@ -852,7 +852,7 @@ impl Node { { let tr_node = tr.upcast::<Node>(); if index == -1 { - try!(self.InsertBefore(tr_node, None)); + self.InsertBefore(tr_node, None)?; } else { let items = get_items(); let node = match items.elements_iter() @@ -863,7 +863,7 @@ impl Node { None => return Err(Error::IndexSize), Some(node) => node, }; - try!(self.InsertBefore(tr_node, node.r())); + self.InsertBefore(tr_node, node.r())?; } } @@ -1566,7 +1566,7 @@ impl Node { pub fn pre_insert(node: &Node, parent: &Node, child: Option<&Node>) -> Fallible<Root<Node>> { // Step 1. - try!(Node::ensure_pre_insertion_validity(node, parent, child)); + Node::ensure_pre_insertion_validity(node, parent, child)?; // Steps 2-3. let reference_child_root; diff --git a/components/script/dom/nodeiterator.rs b/components/script/dom/nodeiterator.rs index 91b590a3647..93e50ca46a9 100644 --- a/components/script/dom/nodeiterator.rs +++ b/components/script/dom/nodeiterator.rs @@ -107,7 +107,7 @@ impl NodeIteratorMethods for NodeIterator { before_node = false; // Step 3-2. - let result = try!(self.accept_node(&node)); + let result = self.accept_node(&node)?; // Step 3-3. if result == NodeFilterConstants::FILTER_ACCEPT { @@ -122,7 +122,7 @@ impl NodeIteratorMethods for NodeIterator { // Step 3-1. for following_node in node.following_nodes(&self.root_node) { // Step 3-2. - let result = try!(self.accept_node(&following_node)); + let result = self.accept_node(&following_node)?; // Step 3-3. if result == NodeFilterConstants::FILTER_ACCEPT { @@ -151,7 +151,7 @@ impl NodeIteratorMethods for NodeIterator { before_node = true; // Step 3-2. - let result = try!(self.accept_node(&node)); + let result = self.accept_node(&node)?; // Step 3-3. if result == NodeFilterConstants::FILTER_ACCEPT { @@ -166,7 +166,7 @@ impl NodeIteratorMethods for NodeIterator { // Step 3-1. for preceding_node in node.preceding_nodes(&self.root_node) { // Step 3-2. - let result = try!(self.accept_node(&preceding_node)); + let result = self.accept_node(&preceding_node)?; // Step 3-3. if result == NodeFilterConstants::FILTER_ACCEPT { diff --git a/components/script/dom/range.rs b/components/script/dom/range.rs index b5521e93d55..fa849a0fc1a 100644 --- a/components/script/dom/range.rs +++ b/components/script/dom/range.rs @@ -269,25 +269,25 @@ impl RangeMethods for Range { // https://dom.spec.whatwg.org/#dom-range-setstartbefore fn SetStartBefore(&self, node: &Node) -> ErrorResult { - let parent = try!(node.GetParentNode().ok_or(Error::InvalidNodeType)); + let parent = node.GetParentNode().ok_or(Error::InvalidNodeType)?; self.SetStart(&parent, node.index()) } // https://dom.spec.whatwg.org/#dom-range-setstartafter fn SetStartAfter(&self, node: &Node) -> ErrorResult { - let parent = try!(node.GetParentNode().ok_or(Error::InvalidNodeType)); + let parent = node.GetParentNode().ok_or(Error::InvalidNodeType)?; self.SetStart(&parent, node.index() + 1) } // https://dom.spec.whatwg.org/#dom-range-setendbefore fn SetEndBefore(&self, node: &Node) -> ErrorResult { - let parent = try!(node.GetParentNode().ok_or(Error::InvalidNodeType)); + let parent = node.GetParentNode().ok_or(Error::InvalidNodeType)?; self.SetEnd(&parent, node.index()) } // https://dom.spec.whatwg.org/#dom-range-setendafter fn SetEndAfter(&self, node: &Node) -> ErrorResult { - let parent = try!(node.GetParentNode().ok_or(Error::InvalidNodeType)); + let parent = node.GetParentNode().ok_or(Error::InvalidNodeType)?; self.SetEnd(&parent, node.index() + 1) } @@ -303,7 +303,7 @@ impl RangeMethods for Range { // https://dom.spec.whatwg.org/#dom-range-selectnode fn SelectNode(&self, node: &Node) -> ErrorResult { // Steps 1, 2. - let parent = try!(node.GetParentNode().ok_or(Error::InvalidNodeType)); + let parent = node.GetParentNode().ok_or(Error::InvalidNodeType)?; // Step 3. let index = node.index(); // Step 4. @@ -446,7 +446,7 @@ impl RangeMethods for Range { let data = cdata.SubstringData(start_offset, end_offset - start_offset).unwrap(); let clone = cdata.clone_with_data(data, &start_node.owner_doc()); // Step 4.3. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; // Step 4.4 return Ok(fragment); } @@ -454,7 +454,7 @@ impl RangeMethods for Range { // Steps 5-12. let (first_contained_child, last_contained_child, contained_children) = - try!(self.contained_children()); + self.contained_children()?; if let Some(child) = first_contained_child { // Step 13. @@ -464,12 +464,12 @@ impl RangeMethods for Range { let data = cdata.SubstringData(start_offset, start_node.len() - start_offset).unwrap(); let clone = cdata.clone_with_data(data, &start_node.owner_doc()); // Step 13.3. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; } else { // Step 14.1. let clone = child.CloneNode(false); // Step 14.2. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; // Step 14.3. let subrange = Range::new(&clone.owner_doc(), &start_node, @@ -477,9 +477,9 @@ impl RangeMethods for Range { &child, child.len()); // Step 14.4. - let subfragment = try!(subrange.CloneContents()); + let subfragment = subrange.CloneContents()?; // Step 14.5. - try!(clone.AppendChild(subfragment.upcast())); + clone.AppendChild(subfragment.upcast())?; } } @@ -488,7 +488,7 @@ impl RangeMethods for Range { // Step 15.1. let clone = child.CloneNode(true); // Step 15.2. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; } if let Some(child) = last_contained_child { @@ -499,12 +499,12 @@ impl RangeMethods for Range { let data = cdata.SubstringData(0, end_offset).unwrap(); let clone = cdata.clone_with_data(data, &start_node.owner_doc()); // Step 16.3. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; } else { // Step 17.1. let clone = child.CloneNode(false); // Step 17.2. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; // Step 17.3. let subrange = Range::new(&clone.owner_doc(), &child, @@ -512,9 +512,9 @@ impl RangeMethods for Range { &end_node, end_offset); // Step 17.4. - let subfragment = try!(subrange.CloneContents()); + let subfragment = subrange.CloneContents()?; // Step 17.5. - try!(clone.AppendChild(subfragment.upcast())); + clone.AppendChild(subfragment.upcast())?; } } @@ -547,11 +547,11 @@ impl RangeMethods for Range { let text = end_data.SubstringData(start_offset, end_offset - start_offset); clone.downcast::<CharacterData>().unwrap().SetData(text.unwrap()); // Step 4.3. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; // Step 4.4. - try!(end_data.ReplaceData(start_offset, + end_data.ReplaceData(start_offset, end_offset - start_offset, - DOMString::new())); + DOMString::new())?; // Step 4.5. return Ok(fragment); } @@ -559,7 +559,7 @@ impl RangeMethods for Range { // Steps 5-12. let (first_contained_child, last_contained_child, contained_children) = - try!(self.contained_children()); + self.contained_children()?; let (new_node, new_offset) = if start_node.is_inclusive_ancestor_of(&end_node) { // Step 13. @@ -584,16 +584,16 @@ impl RangeMethods for Range { start_node.len() - start_offset); clone.downcast::<CharacterData>().unwrap().SetData(text.unwrap()); // Step 15.3. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; // Step 15.4. - try!(start_data.ReplaceData(start_offset, + start_data.ReplaceData(start_offset, start_node.len() - start_offset, - DOMString::new())); + DOMString::new())?; } else { // Step 16.1. let clone = child.CloneNode(false); // Step 16.2. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; // Step 16.3. let subrange = Range::new(&clone.owner_doc(), &start_node, @@ -601,15 +601,15 @@ impl RangeMethods for Range { &child, child.len()); // Step 16.4. - let subfragment = try!(subrange.ExtractContents()); + let subfragment = subrange.ExtractContents()?; // Step 16.5. - try!(clone.AppendChild(subfragment.upcast())); + clone.AppendChild(subfragment.upcast())?; } } // Step 17. for child in contained_children { - try!(fragment.upcast::<Node>().AppendChild(&child)); + fragment.upcast::<Node>().AppendChild(&child)?; } if let Some(child) = last_contained_child { @@ -621,14 +621,14 @@ impl RangeMethods for Range { let text = end_data.SubstringData(0, end_offset); clone.downcast::<CharacterData>().unwrap().SetData(text.unwrap()); // Step 18.3. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; // Step 18.4. - try!(end_data.ReplaceData(0, end_offset, DOMString::new())); + end_data.ReplaceData(0, end_offset, DOMString::new())?; } else { // Step 19.1. let clone = child.CloneNode(false); // Step 19.2. - try!(fragment.upcast::<Node>().AppendChild(&clone)); + fragment.upcast::<Node>().AppendChild(&clone)?; // Step 19.3. let subrange = Range::new(&clone.owner_doc(), &child, @@ -636,15 +636,15 @@ impl RangeMethods for Range { &end_node, end_offset); // Step 19.4. - let subfragment = try!(subrange.ExtractContents()); + let subfragment = subrange.ExtractContents()?; // Step 19.5. - try!(clone.AppendChild(subfragment.upcast())); + clone.AppendChild(subfragment.upcast())?; } } // Step 20. - try!(self.SetStart(&new_node, new_offset)); - try!(self.SetEnd(&new_node, new_offset)); + self.SetStart(&new_node, new_offset)?; + self.SetEnd(&new_node, new_offset)?; // Step 21. Ok(fragment) @@ -690,16 +690,16 @@ impl RangeMethods for Range { }; // Step 6. - try!(Node::ensure_pre_insertion_validity(node, + Node::ensure_pre_insertion_validity(node, &parent, - reference_node.r())); + reference_node.r())?; // Step 7. let split_text; let reference_node = match start_node.downcast::<Text>() { Some(text) => { - split_text = try!(text.SplitText(start_offset)); + split_text = text.SplitText(start_offset)?; let new_reference = Root::upcast::<Node>(split_text); assert!(new_reference.GetParentNode().r() == Some(&parent)); Some(new_reference) @@ -729,7 +729,7 @@ impl RangeMethods for Range { }; // Step 12. - try!(Node::pre_insert(node, &parent, reference_node.r())); + Node::pre_insert(node, &parent, reference_node.r())?; // Step 13. if self.Collapsed() { @@ -839,16 +839,16 @@ impl RangeMethods for Range { } // Step 3. - let fragment = try!(self.ExtractContents()); + let fragment = self.ExtractContents()?; // Step 4. Node::replace_all(None, new_parent); // Step 5. - try!(self.InsertNode(new_parent)); + self.InsertNode(new_parent)?; // Step 6. - try!(new_parent.AppendChild(fragment.upcast())); + new_parent.AppendChild(fragment.upcast())?; // Step 7. self.SelectNode(new_parent) @@ -915,7 +915,7 @@ impl RangeMethods for Range { let element = Element::fragment_parsing_context(&owner_doc, element.r()); // Step 3. - let fragment_node = try!(element.parse_fragment(fragment)); + let fragment_node = element.parse_fragment(fragment)?; // Step 4. for node in fragment_node.upcast::<Node>().traverse_preorder() { diff --git a/components/script/dom/request.rs b/components/script/dom/request.rs index 65882c1b4ed..5894eae8de7 100644 --- a/components/script/dom/request.rs +++ b/components/script/dom/request.rs @@ -308,12 +308,12 @@ impl Request { headers_copy = Root::from_ref(&*init_headers); } &HeadersInit::ByteStringSequenceSequence(ref init_sequence) => { - try!(headers_copy.fill(Some( - HeadersInit::ByteStringSequenceSequence(init_sequence.clone())))); + headers_copy.fill(Some( + HeadersInit::ByteStringSequenceSequence(init_sequence.clone())))?; }, &HeadersInit::StringByteStringRecord(ref init_map) => { - try!(headers_copy.fill(Some( - HeadersInit::StringByteStringRecord(init_map.clone())))); + headers_copy.fill(Some( + HeadersInit::StringByteStringRecord(init_map.clone())))?; }, } } @@ -351,10 +351,10 @@ impl Request { // but an input with headers is given, set request's // headers as the input's Headers. if let RequestInfo::Request(ref input_request) = input { - try!(r.Headers().fill(Some(HeadersInit::Headers(input_request.Headers())))); + r.Headers().fill(Some(HeadersInit::Headers(input_request.Headers())))?; } }, - Some(HeadersInit::Headers(_)) => try!(r.Headers().fill(Some(HeadersInit::Headers(headers_copy)))), + Some(HeadersInit::Headers(_)) => r.Headers().fill(Some(HeadersInit::Headers(headers_copy)))?, _ => {}, } @@ -391,8 +391,8 @@ impl Request { // Step 34.3 if let Some(contents) = content_type { if !r.Headers().Has(ByteString::new(b"Content-Type".to_vec())).unwrap() { - try!(r.Headers().Append(ByteString::new(b"Content-Type".to_vec()), - ByteString::new(contents.as_bytes().to_vec()))); + r.Headers().Append(ByteString::new(b"Content-Type".to_vec()), + ByteString::new(contents.as_bytes().to_vec()))?; } } } @@ -446,7 +446,7 @@ impl Request { *r_clone.request.borrow_mut() = req.clone(); r_clone.body_used.set(body_used); *r_clone.mime_type.borrow_mut() = mime_type; - try!(r_clone.Headers().fill(Some(HeadersInit::Headers(r.Headers())))); + r_clone.Headers().fill(Some(HeadersInit::Headers(r.Headers())))?; r_clone.Headers().set_guard(headers_guard); Ok(r_clone) } diff --git a/components/script/dom/response.rs b/components/script/dom/response.rs index 089a8acca6c..c2b2dd20346 100644 --- a/components/script/dom/response.rs +++ b/components/script/dom/response.rs @@ -101,7 +101,7 @@ impl Response { r.Headers().empty_header_list(); // Step 6.2 - try!(r.Headers().fill(Some(headers_member.clone()))); + r.Headers().fill(Some(headers_member.clone()))?; } // Step 7 @@ -119,8 +119,8 @@ impl Response { // Step 7.4 if let Some(content_type_contents) = content_type { if !r.Headers().Has(ByteString::new(b"Content-Type".to_vec())).unwrap() { - try!(r.Headers().Append(ByteString::new(b"Content-Type".to_vec()), - ByteString::new(content_type_contents.as_bytes().to_vec()))); + r.Headers().Append(ByteString::new(b"Content-Type".to_vec()), + ByteString::new(content_type_contents.as_bytes().to_vec()))?; } }; } @@ -174,7 +174,7 @@ impl Response { // Step 6 let url_bytestring = ByteString::from_str(url.as_str()).unwrap_or(ByteString::new(b"".to_vec())); - try!(r.Headers().Set(ByteString::new(b"Location".to_vec()), url_bytestring)); + r.Headers().Set(ByteString::new(b"Location".to_vec()), url_bytestring)?; // Step 4 continued // Headers Guard is set to Immutable here to prevent error in Step 6 @@ -305,7 +305,7 @@ impl ResponseMethods for Response { // Step 2 let new_response = Response::new(&self.global()); new_response.Headers().set_guard(self.Headers().get_guard()); - try!(new_response.Headers().fill(Some(HeadersInit::Headers(self.Headers())))); + new_response.Headers().fill(Some(HeadersInit::Headers(self.Headers())))?; // https://fetch.spec.whatwg.org/#concept-response-clone // Instead of storing a net_traits::Response internally, we diff --git a/components/script/dom/serviceworker.rs b/components/script/dom/serviceworker.rs index b59c1da1afc..7e17a9040e7 100644 --- a/components/script/dom/serviceworker.rs +++ b/components/script/dom/serviceworker.rs @@ -89,7 +89,7 @@ impl ServiceWorkerMethods for ServiceWorker { return Err(Error::InvalidState); } // Step 7 - let data = try!(StructuredCloneData::write(cx, message)); + let data = StructuredCloneData::write(cx, message)?; let msg_vec = DOMMessage(data.move_to_arraybuffer()); let _ = self.global() diff --git a/components/script/dom/serviceworkerglobalscope.rs b/components/script/dom/serviceworkerglobalscope.rs index 953a6ae8328..ebcc34aac0e 100644 --- a/components/script/dom/serviceworkerglobalscope.rs +++ b/components/script/dom/serviceworkerglobalscope.rs @@ -303,11 +303,11 @@ impl ServiceWorkerGlobalScope { let ret = sel.wait(); if ret == worker_handle.id() { - Ok(MixedMessage::FromServiceWorker(try!(worker_port.recv()))) + Ok(MixedMessage::FromServiceWorker(worker_port.recv()?)) }else if ret == devtools_handle.id() { - Ok(MixedMessage::FromDevtools(try!(devtools_port.recv()))) + Ok(MixedMessage::FromDevtools(devtools_port.recv()?)) } else if ret == timer_port_handle.id() { - Ok(MixedMessage::FromTimeoutThread(try!(timer_event_port.recv()))) + Ok(MixedMessage::FromTimeoutThread(timer_event_port.recv()?)) } else { panic!("unexpected select result!") } diff --git a/components/script/dom/servoparser/html.rs b/components/script/dom/servoparser/html.rs index 2f0bdd8f7f1..6d8f894a074 100644 --- a/components/script/dom/servoparser/html.rs +++ b/components/script/dom/servoparser/html.rs @@ -135,7 +135,7 @@ impl<'a> Serialize for &'a Node { let ar: AttrRef = (&qname, &**value); ar }); - try!(serializer.start_elem(name.clone(), attr_refs)); + serializer.start_elem(name.clone(), attr_refs)?; } let children = if let Some(tpl) = node.downcast::<HTMLTemplateElement>() { @@ -146,18 +146,18 @@ impl<'a> Serialize for &'a Node { }; for handle in children { - try!((&*handle).serialize(serializer, IncludeNode)); + (&*handle).serialize(serializer, IncludeNode)?; } if traversal_scope == IncludeNode { - try!(serializer.end_elem(name.clone())); + serializer.end_elem(name.clone())?; } Ok(()) }, (ChildrenOnly, NodeTypeId::Document(_)) => { for handle in node.children() { - try!((&*handle).serialize(serializer, IncludeNode)); + (&*handle).serialize(serializer, IncludeNode)?; } Ok(()) }, diff --git a/components/script/dom/treewalker.rs b/components/script/dom/treewalker.rs index 2409d65af4f..8515d7b6ae7 100644 --- a/components/script/dom/treewalker.rs +++ b/components/script/dom/treewalker.rs @@ -104,7 +104,7 @@ impl TreeWalkerMethods for TreeWalker { node = n; // "2. If node is not null and filtering node returns FILTER_ACCEPT, // then set the currentNode attribute to node, return node." - if NodeFilterConstants::FILTER_ACCEPT == try!(self.accept_node(&node)) { + if NodeFilterConstants::FILTER_ACCEPT == self.accept_node(&node)? { self.current_node.set(&node); return Ok(Some(node)) } @@ -163,7 +163,7 @@ impl TreeWalkerMethods for TreeWalker { // "4. If result is FILTER_ACCEPT, then // set the currentNode attribute to node and return node." loop { - let result = try!(self.accept_node(&node)); + let result = self.accept_node(&node)?; match result { NodeFilterConstants::FILTER_REJECT => break, _ if node.GetFirstChild().is_some() => @@ -192,7 +192,7 @@ impl TreeWalkerMethods for TreeWalker { } // "5. Filter node and if the return value is FILTER_ACCEPT, then // set the currentNode attribute to node and return node." - if NodeFilterConstants::FILTER_ACCEPT == try!(self.accept_node(&node)) { + if NodeFilterConstants::FILTER_ACCEPT == self.accept_node(&node)? { self.current_node.set(&node); return Ok(Some(node)) } @@ -220,7 +220,7 @@ impl TreeWalkerMethods for TreeWalker { // "1. Set node to its first child." node = child; // "2. Filter node and set result to the return value." - result = try!(self.accept_node(&node)); + result = self.accept_node(&node)?; // "3. If result is FILTER_ACCEPT, then // set the currentNode attribute to node and return node." if NodeFilterConstants::FILTER_ACCEPT == result { @@ -238,7 +238,7 @@ impl TreeWalkerMethods for TreeWalker { Some(n) => { node = n; // "3. Filter node and set result to the return value." - result = try!(self.accept_node(&node)); + result = self.accept_node(&node)?; // "4. If result is FILTER_ACCEPT, then // set the currentNode attribute to node and return node." if NodeFilterConstants::FILTER_ACCEPT == result { @@ -275,7 +275,7 @@ impl TreeWalker { // 4. Main: Repeat these substeps: 'main: loop { // "1. Filter node and let result be the return value." - let result = try!(self.accept_node(&node)); + let result = self.accept_node(&node)?; match result { // "2. If result is FILTER_ACCEPT, then set the currentNode // attribute to node and return node." @@ -350,7 +350,7 @@ impl TreeWalker { // "1. Set node to sibling." node = sibling_op.unwrap(); // "2. Filter node and let result be the return value." - let result = try!(self.accept_node(&node)); + let result = self.accept_node(&node)?; // "3. If result is FILTER_ACCEPT, then set the currentNode // attribute to node and return node." if NodeFilterConstants::FILTER_ACCEPT == result { @@ -378,7 +378,7 @@ impl TreeWalker { // "5. Filter node and if the return value is FILTER_ACCEPT, then return null." Some(n) => { node = n; - if NodeFilterConstants::FILTER_ACCEPT == try!(self.accept_node(&node)) { + if NodeFilterConstants::FILTER_ACCEPT == self.accept_node(&node)? { return Ok(None) } } diff --git a/components/script/dom/vrdisplay.rs b/components/script/dom/vrdisplay.rs index da5c12e8c54..ef611b6224f 100644 --- a/components/script/dom/vrdisplay.rs +++ b/components/script/dom/vrdisplay.rs @@ -636,8 +636,8 @@ fn validate_layer(cx: *mut JSContext, let ctx = layer.source.as_ref().map(|ref s| s.get_or_init_webgl_context(cx, None)).unwrap_or(None); if let Some(ctx) = ctx { let mut data = WebVRLayer::default(); - try!(parse_bounds(&layer.leftBounds, &mut data.left_bounds)); - try!(parse_bounds(&layer.rightBounds, &mut data.right_bounds)); + parse_bounds(&layer.leftBounds, &mut data.left_bounds)?; + parse_bounds(&layer.rightBounds, &mut data.right_bounds)?; Ok((data, ctx)) } else { Err("VRLayer source must be a WebGL Context") diff --git a/components/script/dom/webgl_validations/tex_image_2d.rs b/components/script/dom/webgl_validations/tex_image_2d.rs index f77d80c2715..0694af9512b 100644 --- a/components/script/dom/webgl_validations/tex_image_2d.rs +++ b/components/script/dom/webgl_validations/tex_image_2d.rs @@ -285,7 +285,7 @@ impl<'a> WebGLValidator for TexImage2DValidator<'a> { width, height, border, - } = try!(self.common_validator.validate()); + } = self.common_validator.validate()?; // GL_INVALID_VALUE is generated if target is one of the six cube map 2D // image targets and the width and height parameters are not equal. diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs index f2043cf3eb2..c8bbba63f53 100644 --- a/components/script/dom/webglrenderingcontext.rs +++ b/components/script/dom/webglrenderingcontext.rs @@ -1496,7 +1496,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { typedarray!(in(cx) let array_buffer: ArrayBuffer = data); let data_vec = match array_buffer { Ok(mut data) => data.as_slice().to_vec(), - Err(_) => try!(fallible_array_buffer_view_to_vec(cx, data)), + Err(_) => fallible_array_buffer_view_to_vec(cx, data)?, }; let bound_buffer = match target { @@ -1564,7 +1564,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { typedarray!(in(cx) let array_buffer: ArrayBuffer = data); let data_vec = match array_buffer { Ok(mut data) => data.as_slice().to_vec(), - Err(_) => try!(fallible_array_buffer_view_to_vec(cx, data)), + Err(_) => fallible_array_buffer_view_to_vec(cx, data)?, }; let bound_buffer = match target { @@ -1596,7 +1596,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.8 unsafe fn CompressedTexImage2D(&self, cx: *mut JSContext, _target: u32, _level: i32, _internal_format: u32, _width: i32, _height: i32, _border: i32, pixels: *mut JSObject) -> Fallible<()> { - let _data = try!(fallible_array_buffer_view_to_vec(cx, pixels) ); + let _data = fallible_array_buffer_view_to_vec(cx, pixels)?; // FIXME: No compressed texture format is currently supported, so error out as per // https://www.khronos.org/registry/webgl/specs/latest/1.0/#COMPRESSED_TEXTURE_SUPPORT self.webgl_error(InvalidEnum); @@ -1608,7 +1608,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { unsafe fn CompressedTexSubImage2D(&self, cx: *mut JSContext, _target: u32, _level: i32, _xoffset: i32, _yoffset: i32, _width: i32, _height: i32, _format: u32, pixels: *mut JSObject) -> Fallible<()> { - let _data = try!(fallible_array_buffer_view_to_vec(cx, pixels)); + let _data = fallible_array_buffer_view_to_vec(cx, pixels)?; // FIXME: No compressed texture format is currently supported, so error out as per // https://www.khronos.org/registry/webgl/specs/latest/1.0/#COMPRESSED_TEXTURE_SUPPORT self.webgl_error(InvalidEnum); @@ -2682,7 +2682,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Int32>(cx, data, ConversionBehavior::Default)); + let data_vec = typed_array_or_sequence_to_vec::<Int32>(cx, data, ConversionBehavior::Default)?; if self.validate_uniform_parameters(uniform, UniformSetterType::Int, &data_vec) { self.ipc_renderer @@ -2700,7 +2700,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if self.validate_uniform_parameters(uniform, UniformSetterType::Float, &data_vec) { self.ipc_renderer @@ -2729,7 +2729,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if self.validate_uniform_parameters(uniform, UniformSetterType::FloatVec2, @@ -2762,7 +2762,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Int32>(cx, data, ConversionBehavior::Default)); + let data_vec = typed_array_or_sequence_to_vec::<Int32>(cx, data, ConversionBehavior::Default)?; if self.validate_uniform_parameters(uniform, UniformSetterType::IntVec2, @@ -2795,7 +2795,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if self.validate_uniform_parameters(uniform, UniformSetterType::FloatVec3, @@ -2828,7 +2828,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Int32>(cx, data, ConversionBehavior::Default)); + let data_vec = typed_array_or_sequence_to_vec::<Int32>(cx, data, ConversionBehavior::Default)?; if self.validate_uniform_parameters(uniform, UniformSetterType::IntVec3, @@ -2862,7 +2862,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Int32>(cx, data, ConversionBehavior::Default)); + let data_vec = typed_array_or_sequence_to_vec::<Int32>(cx, data, ConversionBehavior::Default)?; if self.validate_uniform_parameters(uniform, UniformSetterType::IntVec4, @@ -2895,7 +2895,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { uniform: Option<&WebGLUniformLocation>, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if self.validate_uniform_parameters(uniform, UniformSetterType::FloatVec4, @@ -2916,7 +2916,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { transpose: bool, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if self.validate_uniform_parameters(uniform, UniformSetterType::FloatMat2, &data_vec) { @@ -2936,7 +2936,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { transpose: bool, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if self.validate_uniform_parameters(uniform, UniformSetterType::FloatMat3, &data_vec) { @@ -2956,7 +2956,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { transpose: bool, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if self.validate_uniform_parameters(uniform, UniformSetterType::FloatMat4, &data_vec) { @@ -2996,7 +2996,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { #[allow(unsafe_code)] unsafe fn VertexAttrib1fv(&self, cx: *mut JSContext, indx: u32, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if data_vec.len() < 1 { return Ok(self.webgl_error(InvalidOperation)); } @@ -3013,7 +3013,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { #[allow(unsafe_code)] unsafe fn VertexAttrib2fv(&self, cx: *mut JSContext, indx: u32, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if data_vec.len() < 2 { return Ok(self.webgl_error(InvalidOperation)); } @@ -3030,7 +3030,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { #[allow(unsafe_code)] unsafe fn VertexAttrib3fv(&self, cx: *mut JSContext, indx: u32, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if data_vec.len() < 3 { return Ok(self.webgl_error(InvalidOperation)); } @@ -3047,7 +3047,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { #[allow(unsafe_code)] unsafe fn VertexAttrib4fv(&self, cx: *mut JSContext, indx: u32, data: *mut JSObject) -> Fallible<()> { assert!(!data.is_null()); - let data_vec = try!(typed_array_or_sequence_to_vec::<Float32>(cx, data, ())); + let data_vec = typed_array_or_sequence_to_vec::<Float32>(cx, data, ())?; if data_vec.len() < 4 { return Ok(self.webgl_error(InvalidOperation)); } @@ -3134,7 +3134,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { let data = if data_ptr.is_null() { None } else { - Some(try!(fallible_array_buffer_view_to_vec(cx, data_ptr))) + Some(fallible_array_buffer_view_to_vec(cx, data_ptr)?) }; let validator = TexImage2DValidator::new(self, target, level, @@ -3261,7 +3261,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext { let data = if data_ptr.is_null() { None } else { - Some(try!(fallible_array_buffer_view_to_vec(cx, data_ptr))) + Some(fallible_array_buffer_view_to_vec(cx, data_ptr)?) }; let validator = TexImage2DValidator::new(self, target, level, diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index ec69eb93346..b533789e611 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -316,7 +316,7 @@ impl WebSocketMethods for WebSocket { // https://html.spec.whatwg.org/multipage/#dom-websocket-send fn Send(&self, data: USVString) -> ErrorResult { let data_byte_len = data.0.as_bytes().len() as u64; - let send_data = try!(self.send_impl(data_byte_len)); + let send_data = self.send_impl(data_byte_len)?; if send_data { let mut other_sender = self.sender.borrow_mut(); @@ -334,7 +334,7 @@ impl WebSocketMethods for WebSocket { If the buffer limit is reached in the first place, there are likely other major problems */ let data_byte_len = blob.Size(); - let send_data = try!(self.send_impl(data_byte_len)); + let send_data = self.send_impl(data_byte_len)?; if send_data { let mut other_sender = self.sender.borrow_mut(); diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 1f6a7c26eea..0d4dca7d845 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -765,7 +765,7 @@ impl WindowMethods for Window { // Step 1-2, 6-8. // TODO(#12717): Should implement the `transfer` argument. - let data = try!(StructuredCloneData::write(cx, message)); + let data = StructuredCloneData::write(cx, message)?; // Step 9. self.post_message(origin, data); @@ -993,9 +993,9 @@ impl WindowMethods for Window { // check-tidy: no specs after this line fn OpenURLInDefaultBrowser(&self, href: DOMString) -> ErrorResult { - let url = try!(ServoUrl::parse(&href).map_err(|e| { + let url = ServoUrl::parse(&href).map_err(|e| { Error::Type(format!("Couldn't parse URL: {}", e)) - })); + })?; match open::that(url.as_str()) { Ok(_) => Ok(()), Err(e) => Err(Error::Type(format!("Couldn't open URL: {}", e))), diff --git a/components/script/dom/worker.rs b/components/script/dom/worker.rs index 1fb354189e3..68655c89981 100644 --- a/components/script/dom/worker.rs +++ b/components/script/dom/worker.rs @@ -167,7 +167,7 @@ impl WorkerMethods for Worker { #[allow(unsafe_code)] // https://html.spec.whatwg.org/multipage/#dom-worker-postmessage unsafe fn PostMessage(&self, cx: *mut JSContext, message: HandleValue) -> ErrorResult { - let data = try!(StructuredCloneData::write(cx, message)); + let data = StructuredCloneData::write(cx, message)?; let address = Trusted::new(self); // NOTE: step 9 of https://html.spec.whatwg.org/multipage/#dom-messageport-postmessage diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index bd4af97d347..76cb5810986 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -501,7 +501,7 @@ impl XMLHttpRequestMethods for XMLHttpRequest { // Step 4 (first half) let extracted_or_serialized = match data { Some(DocumentOrBodyInit::Document(ref doc)) => { - let data = Vec::from(try!(serialize_document(&doc)).as_ref()); + let data = Vec::from(serialize_document(&doc)?.as_ref()); let content_type = if doc.is_html_document() { "text/html;charset=UTF-8" } else { @@ -719,7 +719,7 @@ impl XMLHttpRequestMethods for XMLHttpRequest { _ => {}, } // Step 2 - let override_mime = try!(mime.parse::<Mime>().map_err(|_| Error::Syntax)); + let override_mime = mime.parse::<Mime>().map_err(|_| Error::Syntax)?; // Step 3 let mime_no_params = Mime(override_mime.clone().0, override_mime.clone().1, vec![]); *self.override_mime_type.borrow_mut() = Some(mime_no_params); diff --git a/components/script/layout_wrapper.rs b/components/script/layout_wrapper.rs index 1d28242e926..aaaf5cce107 100644 --- a/components/script/layout_wrapper.rs +++ b/components/script/layout_wrapper.rs @@ -371,9 +371,9 @@ pub struct ServoLayoutElement<'le> { impl<'le> fmt::Debug for ServoLayoutElement<'le> { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - try!(write!(f, "<{}", self.element.local_name())); + write!(f, "<{}", self.element.local_name())?; if let &Some(ref id) = unsafe { &*self.element.id_attribute() } { - try!(write!(f, " id={}", id)); + write!(f, " id={}", id)?; } write!(f, "> ({:#x})", self.as_node().opaque().0) } |