diff options
Diffstat (limited to 'components')
-rw-r--r-- | components/script/dom/bindings/error.rs | 10 | ||||
-rw-r--r-- | components/script/dom/eventtarget.rs | 4 | ||||
-rw-r--r-- | components/script/dom/workerglobalscope.rs | 6 |
3 files changed, 12 insertions, 8 deletions
diff --git a/components/script/dom/bindings/error.rs b/components/script/dom/bindings/error.rs index a9ee93663e7..ed0b81c4d64 100644 --- a/components/script/dom/bindings/error.rs +++ b/components/script/dom/bindings/error.rs @@ -121,12 +121,10 @@ pub unsafe fn throw_dom_exception(cx: *mut JSContext, global: GlobalRef, result: } /// Report a pending exception, thereby clearing it. -pub fn report_pending_exception(cx: *mut JSContext, obj: *mut JSObject) { - unsafe { - if JS_IsExceptionPending(cx) { - let _ac = JSAutoCompartment::new(cx, obj); - JS_ReportPendingException(cx); - } +pub unsafe fn report_pending_exception(cx: *mut JSContext, obj: *mut JSObject) { + if JS_IsExceptionPending(cx) { + let _ac = JSAutoCompartment::new(cx, obj); + JS_ReportPendingException(cx); } } diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index ebacde4de4d..9f41abee7d7 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -425,7 +425,9 @@ impl EventTarget { }; if !rv || handler.ptr.is_null() { // Step 1.8.2 - report_pending_exception(cx, self.reflector().get_jsobject().get()); + unsafe { + report_pending_exception(cx, self.reflector().get_jsobject().get()); + } // Step 1.8.1 / 1.8.3 return None; } diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs index 89b4ed59bf9..b10916a4b6e 100644 --- a/components/script/dom/workerglobalscope.rs +++ b/components/script/dom/workerglobalscope.rs @@ -416,6 +416,7 @@ impl WorkerGlobalScopeMethods for WorkerGlobalScope { impl WorkerGlobalScope { + #[allow(unsafe_code)] pub fn execute_script(&self, source: DOMString) { let mut rval = RootedValue::new(self.runtime.cx(), UndefinedValue()); match self.runtime.evaluate_script( @@ -428,7 +429,10 @@ impl WorkerGlobalScope { // TODO: An error needs to be dispatched to the parent. // https://github.com/servo/servo/issues/6422 println!("evaluate_script failed"); - report_pending_exception(self.runtime.cx(), self.reflector().get_jsobject().get()); + unsafe { + report_pending_exception( + self.runtime.cx(), self.reflector().get_jsobject().get()); + } } } } |