New issue
Advanced search Search tips

Issue 706973 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature

Blocking:
issue 502970



Sign in to add a comment

Add experimental support for [repeating-]conic-gradient painting

Project Member Reported by fmalita@chromium.org, Mar 30 2017

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Mar 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d25c21ff39a3dfc462ac0bbbb402f8e314acf576

commit d25c21ff39a3dfc462ac0bbbb402f8e314acf576
Author: fmalita <fmalita@chromium.org>
Date: Fri Mar 31 20:40:48 2017

Initial conic-gradient() implementation

Introduce a new Gradient specialization (ConicGradient), and wire it to Skia's
SkSweepGradient.

Only non-repeating conic gradients are supported for now.

Tests based on Lea Verou's excellent https://leaverou.github.io/conic-gradient/.

BUG= 706973 

Review-Url: https://codereview.chromium.org/2787113002
Cr-Commit-Position: refs/heads/master@{#461213}

[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/fast/gradients/conic-gradient-expected.png
[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/fast/gradients/conic-gradient-expected.txt
[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/fast/gradients/conic-gradient-positioning-expected.txt
[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/fast/gradients/conic-gradient-positioning.html
[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/fast/gradients/conic-gradient.html
[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/platform/linux/fast/gradients/conic-gradient-positioning-expected.png
[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/conic-gradient-expected.png
[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/conic-gradient-expected.txt
[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/conic-gradient-positioning-expected.png
[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/conic-gradient-positioning-expected.txt
[add] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/LayoutTests/platform/win/fast/gradients/conic-gradient-positioning-expected.png
[modify] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/Source/core/css/CSSGradientValue.cpp
[modify] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/Source/platform/graphics/Gradient.cpp
[modify] https://crrev.com/d25c21ff39a3dfc462ac0bbbb402f8e314acf576/third_party/WebKit/Source/platform/graphics/Gradient.h

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a

commit 65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a
Author: fmalita <fmalita@chromium.org>
Date: Wed Apr 05 22:36:48 2017

Add support for repeating-conic-gradient()

Since the underlying SkSweepGradient implementation doesn't support
repeating color stops, generate synthetic stops to cover the whole
unit interval.  Interpolate colors for 0 and 1 when stops are not coincident.

We can also remove the ConicGradient spread method ctor arg, as it serves no
purpose.

BUG= 706973 

Review-Url: https://codereview.chromium.org/2792163002
Cr-Commit-Position: refs/heads/master@{#462250}

[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/fast/gradients/conic-gradient-out-of-range.html
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/fast/gradients/repeating-conic-gradient-expected.png
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/fast/gradients/repeating-conic-gradient-expected.txt
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/fast/gradients/repeating-conic-gradient.html
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/platform/linux/fast/gradients/conic-gradient-out-of-range-expected.png
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/platform/linux/fast/gradients/conic-gradient-out-of-range-expected.txt
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/conic-gradient-out-of-range-expected.png
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/conic-gradient-out-of-range-expected.txt
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/repeating-conic-gradient-expected.png
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/platform/mac/fast/gradients/repeating-conic-gradient-expected.txt
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/platform/win/fast/gradients/conic-gradient-out-of-range-expected.png
[add] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/LayoutTests/platform/win/fast/gradients/conic-gradient-out-of-range-expected.txt
[modify] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/Source/core/css/CSSGradientValue.cpp
[modify] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/Source/platform/graphics/Gradient.cpp
[modify] https://crrev.com/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a/third_party/WebKit/Source/platform/graphics/Gradient.h

Status: Fixed (was: Started)

Sign in to add a comment