diff options
author | Ms2ger <Ms2ger@gmail.com> | 2016-09-05 17:14:28 +0200 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2016-09-05 17:14:28 +0200 |
commit | b3050855e7cb63b6398540ddb7a5e808ac55be3c (patch) | |
tree | 10d3d8e9a1f411df23940dec30112054264c9a89 /components/script | |
parent | 5f702d6e7f26710b7a24cce3c013a040255f7096 (diff) | |
download | servo-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.rs | 4 | ||||
-rw-r--r-- | components/script/dom/bindings/global.rs | 10 |
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 { |