diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 37da7703e08..c5182c6fd83 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -555,9 +555,10 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingCo y0: Finite, x1: Finite, y1: Finite, + can_gc: CanGc, ) -> DomRoot { self.canvas_state - .create_linear_gradient(&self.global(), x0, y0, x1, y1, CanGc::note()) + .create_linear_gradient(&self.global(), x0, y0, x1, y1, can_gc) } // https://html.spec.whatwg.org/multipage/#dom-context-2d-createradialgradient @@ -569,17 +570,10 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingCo x1: Finite, y1: Finite, r1: Finite, + can_gc: CanGc, ) -> Fallible> { - self.canvas_state.create_radial_gradient( - &self.global(), - x0, - y0, - r0, - x1, - y1, - r1, - CanGc::note(), - ) + self.canvas_state + .create_radial_gradient(&self.global(), x0, y0, r0, x1, y1, r1, can_gc) } // https://html.spec.whatwg.org/multipage/#dom-context-2d-createpattern @@ -587,9 +581,10 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingCo &self, image: CanvasImageSource, repetition: DOMString, + can_gc: CanGc, ) -> Fallible>> { self.canvas_state - .create_pattern(&self.global(), image, repetition, CanGc::note()) + .create_pattern(&self.global(), image, repetition, can_gc) } // https://html.spec.whatwg.org/multipage/#dom-context-2d-linewidth diff --git a/components/script/dom/offscreencanvasrenderingcontext2d.rs b/components/script/dom/offscreencanvasrenderingcontext2d.rs index 67a4db61b35..e4282b43d90 100644 --- a/components/script/dom/offscreencanvasrenderingcontext2d.rs +++ b/components/script/dom/offscreencanvasrenderingcontext2d.rs @@ -173,8 +173,9 @@ impl OffscreenCanvasRenderingContext2DMethods y0: Finite, x1: Finite, y1: Finite, + can_gc: CanGc, ) -> DomRoot { - self.context.CreateLinearGradient(x0, y0, x1, y1) + self.context.CreateLinearGradient(x0, y0, x1, y1, can_gc) } // https://html.spec.whatwg.org/multipage/#dom-context-2d-createradialgradient @@ -186,8 +187,10 @@ impl OffscreenCanvasRenderingContext2DMethods x1: Finite, y1: Finite, r1: Finite, + can_gc: CanGc, ) -> Fallible> { - self.context.CreateRadialGradient(x0, y0, r0, x1, y1, r1) + self.context + .CreateRadialGradient(x0, y0, r0, x1, y1, r1, can_gc) } // https://html.spec.whatwg.org/multipage/#dom-context-2d-createpattern @@ -195,8 +198,9 @@ impl OffscreenCanvasRenderingContext2DMethods &self, image: CanvasImageSource, repetition: DOMString, + can_gc: CanGc, ) -> Fallible>> { - self.context.CreatePattern(image, repetition) + self.context.CreatePattern(image, repetition, can_gc) } // https://html.spec.whatwg.org/multipage/#dom-context-2d-save diff --git a/components/script_bindings/codegen/Bindings.conf b/components/script_bindings/codegen/Bindings.conf index 03919f3bcf3..45055c4c4fb 100644 --- a/components/script_bindings/codegen/Bindings.conf +++ b/components/script_bindings/codegen/Bindings.conf @@ -76,7 +76,7 @@ DOMInterfaces = { }, 'CanvasRenderingContext2D': { - 'canGc': ['GetTransform','GetImageData', 'CreateImageData', 'CreateImageData_', 'SetFont', 'FillText', 'MeasureText', 'SetStrokeStyle', 'SetFillStyle', 'SetShadowColor'], + 'canGc': ['GetTransform','GetImageData', 'CreateImageData', 'CreateImageData_', 'SetFont', 'FillText', 'MeasureText', 'SetStrokeStyle', 'SetFillStyle', 'SetShadowColor', 'CreateLinearGradient', 'CreatePattern', 'CreateRadialGradient'], }, 'CharacterData': { @@ -419,7 +419,7 @@ DOMInterfaces = { }, 'OffscreenCanvasRenderingContext2D': { - 'canGc': ['CreateImageData', 'CreateImageData_', 'GetImageData', 'GetTransform', 'SetFont', 'FillText', 'MeasureText', 'SetStrokeStyle', 'SetFillStyle', 'SetShadowColor'], + 'canGc': ['CreateImageData', 'CreateImageData_', 'GetImageData', 'GetTransform', 'SetFont', 'FillText', 'MeasureText', 'SetStrokeStyle', 'SetFillStyle', 'SetShadowColor', 'CreateLinearGradient', 'CreatePattern', 'CreateRadialGradient'], }, 'PaintRenderingContext2D': {