diff options
author | yvt <i@yvt.jp> | 2021-07-10 17:24:27 +0900 |
---|---|---|
committer | yvt <i@yvt.jp> | 2021-07-10 17:55:42 +0900 |
commit | 01a7de50ab1843d85295f9dccad7f4c099e7208c (patch) | |
tree | ee53fb6e8889deb7b880ee969e6c662e6128d210 /components/script/dom/canvaspattern.rs | |
parent | ff8d2cdbbfc7a9dc7f38b7dd47cb350fde39388f (diff) | |
parent | 94b613fbdaa2b98f2179fc0bbda13c64e6fa0d38 (diff) | |
download | servo-01a7de50ab1843d85295f9dccad7f4c099e7208c.tar.gz servo-01a7de50ab1843d85295f9dccad7f4c099e7208c.zip |
Merge remote-tracking branch 'upstream/master' into feat-cow-infra
`tests/wpt/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html`
was reverted to the upstream version.
Diffstat (limited to 'components/script/dom/canvaspattern.rs')
-rw-r--r-- | components/script/dom/canvaspattern.rs | 68 |
1 files changed, 38 insertions, 30 deletions
diff --git a/components/script/dom/canvaspattern.rs b/components/script/dom/canvaspattern.rs index 6a6d6789918..3557f646ab9 100644 --- a/components/script/dom/canvaspattern.rs +++ b/components/script/dom/canvaspattern.rs @@ -1,33 +1,33 @@ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -use canvas_traits::{FillOrStrokeStyle, RepetitionStyle, SurfaceStyle}; -use dom::bindings::codegen::Bindings::CanvasPatternBinding; -use dom::bindings::js::Root; -use dom::bindings::reflector::{Reflector, reflect_dom_object}; -use dom::canvasgradient::ToFillOrStrokeStyle; -use dom::globalscope::GlobalScope; +use crate::dom::bindings::reflector::{reflect_dom_object, Reflector}; +use crate::dom::bindings::root::DomRoot; +use crate::dom::canvasgradient::ToFillOrStrokeStyle; +use crate::dom::globalscope::GlobalScope; +use canvas_traits::canvas::{FillOrStrokeStyle, RepetitionStyle, SurfaceStyle}; use dom_struct::dom_struct; -use euclid::size::Size2D; +use euclid::default::Size2D; // https://html.spec.whatwg.org/multipage/#canvaspattern #[dom_struct] pub struct CanvasPattern { reflector_: Reflector, surface_data: Vec<u8>, - surface_size: Size2D<i32>, + surface_size: Size2D<u32>, repeat_x: bool, repeat_y: bool, origin_clean: bool, } impl CanvasPattern { - fn new_inherited(surface_data: Vec<u8>, - surface_size: Size2D<i32>, - repeat: RepetitionStyle, - origin_clean: bool) - -> CanvasPattern { + fn new_inherited( + surface_data: Vec<u8>, + surface_size: Size2D<u32>, + repeat: RepetitionStyle, + origin_clean: bool, + ) -> CanvasPattern { let (x, y) = match repeat { RepetitionStyle::Repeat => (true, true), RepetitionStyle::RepeatX => (true, false), @@ -38,33 +38,41 @@ impl CanvasPattern { CanvasPattern { reflector_: Reflector::new(), surface_data: surface_data, - surface_size: surface_size, + surface_size, repeat_x: x, repeat_y: y, origin_clean: origin_clean, } } - pub fn new(global: &GlobalScope, - surface_data: Vec<u8>, - surface_size: Size2D<i32>, - repeat: RepetitionStyle, - origin_clean: bool) - -> Root<CanvasPattern> { - reflect_dom_object(box CanvasPattern::new_inherited(surface_data, surface_size, - repeat, origin_clean), - global, - CanvasPatternBinding::Wrap) + pub fn new( + global: &GlobalScope, + surface_data: Vec<u8>, + surface_size: Size2D<u32>, + repeat: RepetitionStyle, + origin_clean: bool, + ) -> DomRoot<CanvasPattern> { + reflect_dom_object( + Box::new(CanvasPattern::new_inherited( + surface_data, + surface_size, + repeat, + origin_clean, + )), + global, + ) } pub fn origin_is_clean(&self) -> bool { - self.origin_clean + self.origin_clean } } impl<'a> ToFillOrStrokeStyle for &'a CanvasPattern { fn to_fill_or_stroke_style(self) -> FillOrStrokeStyle { - FillOrStrokeStyle::Surface(SurfaceStyle::new(self.surface_data.clone(), - self.surface_size, - self.repeat_x, - self.repeat_y)) + FillOrStrokeStyle::Surface(SurfaceStyle::new( + self.surface_data.clone(), + self.surface_size, + self.repeat_x, + self.repeat_y, + )) } } |