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}
Committed: https://chromium.googlesource.com/chromium/src/+/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/421629)
3 years, 8 months ago
(2017-04-04 20:51:06 UTC)
#9
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/421888)
3 years, 8 months ago
(2017-04-04 23:16:26 UTC)
#13
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/422403)
3 years, 8 months ago
(2017-04-05 16:21:54 UTC)
#17
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/422673)
3 years, 8 months ago
(2017-04-05 18:14:20 UTC)
#21
Description was changed from ========== Add support for repeating-conic-gradient() WIP BUG= ========== to ========== Add ...
3 years, 8 months ago
(2017-04-05 18:16:58 UTC)
#22
Description was changed from
==========
Add support for repeating-conic-gradient()
WIP
BUG=
==========
to
==========
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
==========
3 years, 8 months ago
(2017-04-05 18:21:16 UTC)
#24
Pending baselines, otherwise good to go.
fs
lgtm https://codereview.chromium.org/2792163002/diff/140001/third_party/WebKit/Source/core/css/CSSGradientValue.cpp File third_party/WebKit/Source/core/css/CSSGradientValue.cpp (right): https://codereview.chromium.org/2792163002/diff/140001/third_party/WebKit/Source/core/css/CSSGradientValue.cpp#newcode516 third_party/WebKit/Source/core/css/CSSGradientValue.cpp:516: if (repeatSpan < std::numeric_limits<float>::epsilon()) { Should we be ...
3 years, 8 months ago
(2017-04-05 19:19:57 UTC)
#25
https://codereview.chromium.org/2792163002/diff/140001/third_party/WebKit/Source/core/css/CSSGradientValue.cpp File third_party/WebKit/Source/core/css/CSSGradientValue.cpp (right): https://codereview.chromium.org/2792163002/diff/140001/third_party/WebKit/Source/core/css/CSSGradientValue.cpp#newcode516 third_party/WebKit/Source/core/css/CSSGradientValue.cpp:516: if (repeatSpan < std::numeric_limits<float>::epsilon()) { On 2017/04/05 19:19:57, fs ...
3 years, 8 months ago
(2017-04-05 19:33:57 UTC)
#26
https://codereview.chromium.org/2792163002/diff/140001/third_party/WebKit/Sou...
File third_party/WebKit/Source/core/css/CSSGradientValue.cpp (right):
https://codereview.chromium.org/2792163002/diff/140001/third_party/WebKit/Sou...
third_party/WebKit/Source/core/css/CSSGradientValue.cpp:516: if (repeatSpan <
std::numeric_limits<float>::epsilon()) {
On 2017/04/05 19:19:57, fs wrote:
> Should we be worried about small (greater than eps, but still small) values
(=>
> huge amounts of stops) here?
Yup, that's not ideal. The current Skia impl is using a 256 LUT (so it'll just
look ugly), but we're planning to switch to an analytical impl - then lots of
stops will slow things down.
But while we have the hood up, I think we could also add native sweep repeat to
Skia and then we can remove this kludge.
fs
https://codereview.chromium.org/2792163002/diff/140001/third_party/WebKit/Source/core/css/CSSGradientValue.cpp File third_party/WebKit/Source/core/css/CSSGradientValue.cpp (right): https://codereview.chromium.org/2792163002/diff/140001/third_party/WebKit/Source/core/css/CSSGradientValue.cpp#newcode516 third_party/WebKit/Source/core/css/CSSGradientValue.cpp:516: if (repeatSpan < std::numeric_limits<float>::epsilon()) { On 2017/04/05 at 19:33:57, ...
3 years, 8 months ago
(2017-04-05 20:04:11 UTC)
#27
https://codereview.chromium.org/2792163002/diff/140001/third_party/WebKit/Sou...
File third_party/WebKit/Source/core/css/CSSGradientValue.cpp (right):
https://codereview.chromium.org/2792163002/diff/140001/third_party/WebKit/Sou...
third_party/WebKit/Source/core/css/CSSGradientValue.cpp:516: if (repeatSpan <
std::numeric_limits<float>::epsilon()) {
On 2017/04/05 at 19:33:57, f(malita) wrote:
> On 2017/04/05 19:19:57, fs wrote:
> > Should we be worried about small (greater than eps, but still small) values
(=>
> > huge amounts of stops) here?
>
> Yup, that's not ideal. The current Skia impl is using a 256 LUT (so it'll
just look ugly), but we're planning to switch to an analytical impl - then lots
of stops will slow things down.
>
> But while we have the hood up, I think we could also add native sweep repeat
to Skia and then we can remove this kludge.
We're good then it sounds like.
f(malita)
The CQ bit was checked by fmalita@chromium.org
3 years, 8 months ago
(2017-04-05 21:00:48 UTC)
#28
CQ is committing da patch. Bot data: {"patchset_id": 160001, "attempt_start_ts": 1491426048489040, "parent_rev": "e749951e2d9689e61ba9b72ada59ab04166e4927", "commit_rev": "65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a"}
3 years, 8 months ago
(2017-04-05 22:36:55 UTC)
#31
CQ is committing da patch.
Bot data: {"patchset_id": 160001, "attempt_start_ts": 1491426048489040,
"parent_rev": "e749951e2d9689e61ba9b72ada59ab04166e4927", "commit_rev":
"65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a"}
commit-bot: I haz the power
Description was changed from ========== Add support for repeating-conic-gradient() Since the underlying SkSweepGradient implementation doesn't ...
3 years, 8 months ago
(2017-04-05 22:37:43 UTC)
#32
Message was sent while issue was closed.
Description was changed from
==========
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
==========
to
==========
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}
Committed:
https://chromium.googlesource.com/chromium/src/+/65a58f0cd7291f90e7edd10ea42c...
==========
commit-bot: I haz the power
Committed patchset #9 (id:160001) as https://chromium.googlesource.com/chromium/src/+/65a58f0cd7291f90e7edd10ea42c7c8de24f3d1a
3 years, 8 months ago
(2017-04-05 22:37:44 UTC)
#33
Issue 2792163002: Add support for repeating-conic-gradient()
(Closed)
Created 3 years, 8 months ago by f(malita)
Modified 3 years, 8 months ago
Reviewers: fs, Stephen Chennney
Base URL:
Comments: 3