diff options
Diffstat (limited to 'components/script/dom/offscreencanvas.rs')
-rw-r--r-- | components/script/dom/offscreencanvas.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/components/script/dom/offscreencanvas.rs b/components/script/dom/offscreencanvas.rs index d820149a7b0..2be33688afc 100644 --- a/components/script/dom/offscreencanvas.rs +++ b/components/script/dom/offscreencanvas.rs @@ -15,7 +15,7 @@ use crate::dom::bindings::cell::{ref_filter_map, DomRefCell, Ref}; use crate::dom::bindings::codegen::Bindings::OffscreenCanvasBinding::{ OffscreenCanvasMethods, OffscreenRenderingContext, }; -use crate::dom::bindings::error::Fallible; +use crate::dom::bindings::error::{Error, Fallible}; use crate::dom::bindings::reflector::{reflect_dom_object_with_proto, DomObject}; use crate::dom::bindings::root::{Dom, DomRoot}; use crate::dom::bindings::str::DOMString; @@ -157,18 +157,20 @@ impl OffscreenCanvasMethods for OffscreenCanvas { _cx: JSContext, id: DOMString, _options: HandleValue, - ) -> Option<OffscreenRenderingContext> { + ) -> Fallible<Option<OffscreenRenderingContext>> { match &*id { - "2d" => self + "2d" => Ok(self .get_or_init_2d_context() - .map(OffscreenRenderingContext::OffscreenCanvasRenderingContext2D), + .map(OffscreenRenderingContext::OffscreenCanvasRenderingContext2D)), /*"webgl" | "experimental-webgl" => self .get_or_init_webgl_context(cx, options) .map(OffscreenRenderingContext::WebGLRenderingContext), "webgl2" | "experimental-webgl2" => self .get_or_init_webgl2_context(cx, options) .map(OffscreenRenderingContext::WebGL2RenderingContext),*/ - _ => None, + _ => Err(Error::Type(String::from( + "Unrecognized OffscreenCanvas context type", + ))), } } |