From 1c4ae53a8866c2e8a1ac600469bc53eb9bd1889c Mon Sep 17 00:00:00 2001 From: Pyfisch Date: Mon, 17 Apr 2017 11:08:37 +0200 Subject: [PATCH] Pass repeating gradients to webrender. --- components/layout/webrender_helpers.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/components/layout/webrender_helpers.rs b/components/layout/webrender_helpers.rs index 5d77bc1b565..70479d43837 100644 --- a/components/layout/webrender_helpers.rs +++ b/components/layout/webrender_helpers.rs @@ -370,10 +370,15 @@ impl WebRenderDisplayItemConverter for DisplayItem { let start_point = item.gradient.start_point.to_pointf(); let end_point = item.gradient.end_point.to_pointf(); let clip = item.base.clip.to_clip_region(builder); + let extend_mode = if item.gradient.repeating { + ExtendMode::Repeat + } else { + ExtendMode::Clamp + }; let gradient = builder.create_gradient(start_point, end_point, item.gradient.stops.clone(), - ExtendMode::Clamp); + extend_mode); builder.push_gradient(rect, clip, gradient, @@ -385,10 +390,15 @@ impl WebRenderDisplayItemConverter for DisplayItem { let center = item.gradient.center.to_pointf(); let radius = item.gradient.radius.to_sizef(); let clip = item.base.clip.to_clip_region(builder); + let extend_mode = if item.gradient.repeating { + ExtendMode::Repeat + } else { + ExtendMode::Clamp + }; let gradient = builder.create_radial_gradient(center, radius, item.gradient.stops.clone(), - ExtendMode::Clamp); + extend_mode); builder.push_radial_gradient(rect, clip, gradient,