aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-06-07 07:07:03 -0500
committerbors-servo <lbergstrom+bors@mozilla.com>2016-06-07 07:07:03 -0500
commit6be0494287455c5c30ef6f898b511b4348efbeef (patch)
tree0b3b905942a715bf63814337c17e5d178adbc587 /components/script/dom
parentb64b21ace0e9b3639906c9dc988c66ea596f3d88 (diff)
parent27620320f364d5345de3631ec605d1c3b376208f (diff)
downloadservo-6be0494287455c5c30ef6f898b511b4348efbeef.tar.gz
servo-6be0494287455c5c30ef6f898b511b4348efbeef.zip
Auto merge of #11654 - nox:error, r=Ms2ger
Make report_pending_exception unsafe <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11654) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/bindings/error.rs10
-rw-r--r--components/script/dom/eventtarget.rs4
-rw-r--r--components/script/dom/workerglobalscope.rs6
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());
+ }
}
}
}