aboutsummaryrefslogtreecommitdiffstats
path: root/components/script
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2016-09-05 17:14:28 +0200
committerMs2ger <Ms2ger@gmail.com>2016-09-05 17:14:28 +0200
commitb3050855e7cb63b6398540ddb7a5e808ac55be3c (patch)
tree10d3d8e9a1f411df23940dec30112054264c9a89 /components/script
parent5f702d6e7f26710b7a24cce3c013a040255f7096 (diff)
downloadservo-b3050855e7cb63b6398540ddb7a5e808ac55be3c.tar.gz
servo-b3050855e7cb63b6398540ddb7a5e808ac55be3c.zip
Implement report_an_error on GlobalRef.
Diffstat (limited to 'components/script')
-rw-r--r--components/script/dom/bindings/error.rs4
-rw-r--r--components/script/dom/bindings/global.rs10
2 files changed, 11 insertions, 3 deletions
diff --git a/components/script/dom/bindings/error.rs b/components/script/dom/bindings/error.rs
index c111bb62a2a..88ed079d2ba 100644
--- a/components/script/dom/bindings/error.rs
+++ b/components/script/dom/bindings/error.rs
@@ -245,9 +245,7 @@ pub unsafe fn report_pending_exception(cx: *mut JSContext, dispatch_event: bool)
if dispatch_event {
let global = global_root_from_context(cx);
- if let GlobalRef::Window(window) = global.r() {
- window.report_an_error(error_info, value.handle());
- }
+ global.r().report_an_error(error_info, value.handle());
}
}
}
diff --git a/components/script/dom/bindings/global.rs b/components/script/dom/bindings/global.rs
index bfc3212a9c4..af4cd59a86f 100644
--- a/components/script/dom/bindings/global.rs
+++ b/components/script/dom/bindings/global.rs
@@ -10,11 +10,13 @@
use devtools_traits::{ScriptToDevtoolsControlMsg, WorkerId};
use dom::bindings::codegen::Bindings::WindowBinding::WindowMethods;
use dom::bindings::conversions::root_from_object;
+use dom::bindings::error::ErrorInfo;
use dom::bindings::js::Root;
use dom::bindings::reflector::{Reflectable, Reflector};
use dom::window::{self, ScriptHelpers};
use dom::workerglobalscope::WorkerGlobalScope;
use ipc_channel::ipc::IpcSender;
+use js::jsapi::HandleValue;
use js::jsapi::{CurrentGlobalOrNull, GetGlobalForObjectCrossCompartment};
use js::jsapi::{JSContext, JSObject, JS_GetClass, MutableHandleValue};
use js::{JSCLASS_IS_DOMJSCLASS, JSCLASS_IS_GLOBAL};
@@ -285,6 +287,14 @@ impl<'a> GlobalRef<'a> {
GlobalRef::Worker(ref worker) => worker.get_runnable_wrapper(),
}
}
+
+ /// https://html.spec.whatwg.org/multipage/#report-the-error
+ pub fn report_an_error(&self, error_info: ErrorInfo, value: HandleValue) {
+ match *self {
+ GlobalRef::Window(ref window) => window.report_an_error(error_info, value),
+ GlobalRef::Worker(_) => (),
+ }
+ }
}
impl GlobalRoot {