mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
script: Throw a TypeError
when trying to create an OffscreenCanvas
with an unknown context type (#34276)
* fixing test failures that involves throwing TypeError Signed-off-by: L Ashwin B <lashwinib@gmail.com> * handle all unknown values in a single fallback case Signed-off-by: L Ashwin B <lashwinib@gmail.com> * updating few more test- expectations Signed-off-by: L Ashwin B <lashwinib@gmail.com> --------- Signed-off-by: L Ashwin B <lashwinib@gmail.com>
This commit is contained in:
parent
bd9843405a
commit
1f0b88934b
17 changed files with 23 additions and 32 deletions
|
@ -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",
|
||||
))),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ interface OffscreenCanvas : EventTarget {
|
|||
attribute [EnforceRange] unsigned long long width;
|
||||
attribute [EnforceRange] unsigned long long height;
|
||||
|
||||
OffscreenRenderingContext? getContext(DOMString contextId, optional any options = null);
|
||||
[Throws] OffscreenRenderingContext? getContext(DOMString contextId, optional any options = null);
|
||||
//ImageBitmap transferToImageBitmap();
|
||||
//Promise<Blob> convertToBlob(optional ImageEncodeOptions options);
|
||||
};
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
[2d.canvas.context.casesensitive.html]
|
||||
[Context name "2D" is unrecognised; matching is case sensitive]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[2d.canvas.context.casesensitive.worker.html]
|
||||
[Context name "2D" is unrecognised; matching is case sensitive]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[2d.canvas.context.emptystring.html]
|
||||
[getContext with empty string returns null]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[2d.canvas.context.emptystring.worker.html]
|
||||
[getContext with empty string returns null]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[2d.canvas.context.invalid.args.html]
|
||||
[Calling getContext with invalid arguments.]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[2d.canvas.context.invalid.args.worker.html]
|
||||
[Calling getContext with invalid arguments.]
|
||||
expected: FAIL
|
|
@ -5,9 +5,6 @@
|
|||
[Test that webglcontext.canvas should return the original OffscreenCanvas]
|
||||
expected: FAIL
|
||||
|
||||
[Test that getContext with un-supported string throws a TypeError.]
|
||||
expected: FAIL
|
||||
|
||||
[Test that OffscreenCanvasRenderingContext2D with alpha disabled makes the OffscreenCanvas opaque]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -5,9 +5,6 @@
|
|||
[Test that webglcontext.canvas should return the original OffscreenCanvas]
|
||||
expected: FAIL
|
||||
|
||||
[Test that getContext with un-supported string throws a TypeError.]
|
||||
expected: FAIL
|
||||
|
||||
[Test that OffscreenCanvasRenderingContext2D with alpha disabled makes the OffscreenCanvas opaque]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
[context-creation-worker.html]
|
||||
expected: ERROR
|
||||
[WebGL test #0: Some tests failed]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
[context-creation.html]
|
||||
expected: ERROR
|
||||
[WebGL test #0: WebGL context creation failed]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[methods-worker.html]
|
||||
expected: ERROR
|
||||
[WebGL test #0: Some tests failed]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
[methods.html]
|
||||
expected: ERROR
|
||||
[WebGL test #0: Some WebGL methods not found]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
[context-creation.html]
|
||||
expected: ERROR
|
||||
[WebGL test #0: WebGL2 context creation failed]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[methods-2-worker.html]
|
||||
expected: ERROR
|
||||
[WebGL test #0: Some tests failed]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
[methods-2.html]
|
||||
expected: ERROR
|
||||
[WebGL test #0: Some WebGL2 methods not found]
|
||||
expected: FAIL
|
||||
|
||||
[WebGL test #0: successfullyParsed should be true (of type boolean). Was undefined (of type undefined).]
|
||||
expected: FAIL
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue