From 6e3c130e6cf887981b7e8b862e60b330e2cf972a Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sat, 28 Feb 2015 16:12:56 +0100 Subject: [PATCH] Inline DOMException::new_from_error. --- components/script/dom/bindings/error.rs | 22 +++++++++++++++++-- components/script/dom/domexception.rs | 28 ------------------------- 2 files changed, 20 insertions(+), 30 deletions(-) diff --git a/components/script/dom/bindings/error.rs b/components/script/dom/bindings/error.rs index 6188640ad6f..31cfdfbd293 100644 --- a/components/script/dom/bindings/error.rs +++ b/components/script/dom/bindings/error.rs @@ -6,7 +6,7 @@ use dom::bindings::conversions::ToJSValConvertible; use dom::bindings::global::GlobalRef; -use dom::domexception::DOMException; +use dom::domexception::{DOMException, DOMErrorName}; use js::jsapi::{JSContext, JSBool, JSObject}; use js::jsapi::{JS_IsExceptionPending, JS_SetPendingException, JS_ReportPendingException}; @@ -67,7 +67,25 @@ pub type ErrorResult = Fallible<()>; pub fn throw_dom_exception(cx: *mut JSContext, global: GlobalRef, result: Error) { assert!(unsafe { JS_IsExceptionPending(cx) } == 0); - let exception = DOMException::new_from_error(global, result).root(); + let code = match result { + Error::IndexSize => DOMErrorName::IndexSizeError, + Error::NotFound => DOMErrorName::NotFoundError, + Error::HierarchyRequest => DOMErrorName::HierarchyRequestError, + Error::InvalidCharacter => DOMErrorName::InvalidCharacterError, + Error::NotSupported => DOMErrorName::NotSupportedError, + Error::InvalidState => DOMErrorName::InvalidStateError, + Error::Syntax => DOMErrorName::SyntaxError, + Error::NamespaceError => DOMErrorName::NamespaceError, + Error::InvalidAccess => DOMErrorName::InvalidAccessError, + Error::Security => DOMErrorName::SecurityError, + Error::Network => DOMErrorName::NetworkError, + Error::Abort => DOMErrorName::AbortError, + Error::Timeout => DOMErrorName::TimeoutError, + Error::DataClone => DOMErrorName::DataCloneError, + Error::NoModificationAllowedError => DOMErrorName::NoModificationAllowedError, + Error::JSFailed => panic!(), + }; + let exception = DOMException::new(global, code).root(); let thrown = exception.to_jsval(cx); unsafe { JS_SetPendingException(cx, thrown); diff --git a/components/script/dom/domexception.rs b/components/script/dom/domexception.rs index 7987a324314..53511d4d721 100644 --- a/components/script/dom/domexception.rs +++ b/components/script/dom/domexception.rs @@ -5,7 +5,6 @@ use dom::bindings::codegen::Bindings::DOMExceptionBinding; use dom::bindings::codegen::Bindings::DOMExceptionBinding::DOMExceptionConstants; use dom::bindings::codegen::Bindings::DOMExceptionBinding::DOMExceptionMethods; -use dom::bindings::error::Error; use dom::bindings::global::GlobalRef; use dom::bindings::js::{JSRef, Temporary}; use dom::bindings::utils::{Reflector, reflect_dom_object}; @@ -40,29 +39,6 @@ pub enum DOMErrorName { EncodingError } -impl DOMErrorName { - fn from_error(error: Error) -> DOMErrorName { - match error { - Error::IndexSize => DOMErrorName::IndexSizeError, - Error::NotFound => DOMErrorName::NotFoundError, - Error::HierarchyRequest => DOMErrorName::HierarchyRequestError, - Error::InvalidCharacter => DOMErrorName::InvalidCharacterError, - Error::NotSupported => DOMErrorName::NotSupportedError, - Error::InvalidState => DOMErrorName::InvalidStateError, - Error::Syntax => DOMErrorName::SyntaxError, - Error::NamespaceError => DOMErrorName::NamespaceError, - Error::InvalidAccess => DOMErrorName::InvalidAccessError, - Error::Security => DOMErrorName::SecurityError, - Error::Network => DOMErrorName::NetworkError, - Error::Abort => DOMErrorName::AbortError, - Error::Timeout => DOMErrorName::TimeoutError, - Error::DataClone => DOMErrorName::DataCloneError, - Error::NoModificationAllowedError => DOMErrorName::NoModificationAllowedError, - Error::JSFailed => panic!(), - } - } -} - #[dom_struct] pub struct DOMException { reflector_: Reflector, @@ -80,10 +56,6 @@ impl DOMException { pub fn new(global: GlobalRef, code: DOMErrorName) -> Temporary { reflect_dom_object(box DOMException::new_inherited(code), global, DOMExceptionBinding::Wrap) } - - pub fn new_from_error(global: GlobalRef, code: Error) -> Temporary { - DOMException::new(global, DOMErrorName::from_error(code)) - } } impl<'a> DOMExceptionMethods for JSRef<'a, DOMException> {