diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 05a4b875852..4167bf9d4cd 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -50,10 +50,11 @@ use util::vec::byte_swap; #[must_root] #[derive(JSTraceable, Clone, HeapSizeOf)] +#[allow(dead_code)] enum CanvasFillOrStrokeStyle { Color(RGBA), Gradient(JS), - // Pattern(JS), // https://github.com/servo/servo/pull/6157 + Pattern(JS), } // https://html.spec.whatwg.org/multipage/#canvasrenderingcontext2d @@ -922,6 +923,9 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D { CanvasFillOrStrokeStyle::Gradient(ref gradient) => { StringOrCanvasGradientOrCanvasPattern::eCanvasGradient(Root::from_ref(&*gradient)) }, + CanvasFillOrStrokeStyle::Pattern(ref pattern) => { + StringOrCanvasGradientOrCanvasPattern::eCanvasPattern(Root::from_ref(&*pattern)) + } } } @@ -966,6 +970,9 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D { CanvasFillOrStrokeStyle::Gradient(ref gradient) => { StringOrCanvasGradientOrCanvasPattern::eCanvasGradient(Root::from_ref(&*gradient)) }, + CanvasFillOrStrokeStyle::Pattern(ref pattern) => { + StringOrCanvasGradientOrCanvasPattern::eCanvasPattern(Root::from_ref(&*pattern)) + } } } diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 8b080816bed..3ac785d5da7 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -5313,6 +5313,12 @@ "url": "/_mozilla/mozilla/canvas.initial.reset.2dstate.html" } ], + "mozilla/canvas/fill_and_stroke_getters_setters.html": [ + { + "path": "mozilla/canvas/fill_and_stroke_getters_setters.html", + "url": "/_mozilla/mozilla/canvas/fill_and_stroke_getters_setters.html" + } + ], "mozilla/caption.html": [ { "path": "mozilla/caption.html", diff --git a/tests/wpt/mozilla/meta/mozilla/canvas/fill_and_stroke_getters_setters.html.ini b/tests/wpt/mozilla/meta/mozilla/canvas/fill_and_stroke_getters_setters.html.ini new file mode 100644 index 00000000000..5d1f876fbed --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/canvas/fill_and_stroke_getters_setters.html.ini @@ -0,0 +1,6 @@ +[fill_and_stroke_getters_setters.html] + type: testharness + [strokeStyle roundtrips with \[object CanvasPattern\]] + expected: FAIL + [fillStyle roundtrips with \[object CanvasPattern\]] + expected: FAIL diff --git a/tests/wpt/mozilla/tests/mozilla/canvas/fill_and_stroke_getters_setters.html b/tests/wpt/mozilla/tests/mozilla/canvas/fill_and_stroke_getters_setters.html new file mode 100644 index 00000000000..7ddaa5bfbf0 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/canvas/fill_and_stroke_getters_setters.html @@ -0,0 +1,27 @@ + + +fillStyle/strokeStyle setters store the value for retrieval by getters + + + +