diff options
author | mmoss@google.com <mmoss@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-15 17:40:25 +0000 |
---|---|---|
committer | mmoss@google.com <mmoss@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-15 17:40:25 +0000 |
commit | 54069645cfe84bcbbab2994cb4be8aca37aec7ae (patch) | |
tree | 501a88758ec6a7e3834d5bd1fd9263c87e61f1f4 /webkit/port/platform | |
parent | bce89e6ed2c32bf287ebc1852770d7861f68bf3a (diff) | |
download | chromium_src-54069645cfe84bcbbab2994cb4be8aca37aec7ae.zip chromium_src-54069645cfe84bcbbab2994cb4be8aca37aec7ae.tar.gz chromium_src-54069645cfe84bcbbab2994cb4be8aca37aec7ae.tar.bz2 |
Move "stops sort" before first usage of m_stops.
Fixes: LayoutTests/fast/canvas/fillrect_gradient.html
Note: That test is fixed now, but it still won't pass because the baseline is actually wrong; a new baseline is on the way.
Review URL: http://codereview.chromium.org/14404
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6987 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/port/platform')
-rw-r--r-- | webkit/port/platform/graphics/skia/GradientSkia.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/webkit/port/platform/graphics/skia/GradientSkia.cpp b/webkit/port/platform/graphics/skia/GradientSkia.cpp index 8a5c7c0..1c33164 100644 --- a/webkit/port/platform/graphics/skia/GradientSkia.cpp +++ b/webkit/port/platform/graphics/skia/GradientSkia.cpp @@ -113,6 +113,13 @@ SkShader* Gradient::platformGradient() if (m_gradient)
return m_gradient;
+ // TODO: This and compareStops() are also in Gradient.cpp and
+ // CSSGradientValue.cpp; probably should refactor in WebKit.
+ if (!m_stopsSorted) {
+ if (m_stops.size())
+ std::stable_sort(m_stops.begin(), m_stops.end(), compareStops);
+ m_stopsSorted = true;
+ }
size_t count_used = total_stops_needed(m_stops.data(), m_stops.size());
ASSERT(count_used >= 2);
ASSERT(count_used >= m_stops.size());
@@ -122,13 +129,6 @@ SkShader* Gradient::platformGradient() SkColor* colors = (SkColor*)storage.get();
SkScalar* pos = (SkScalar*)(colors + count_used);
- // TODO: This and compareStops() are also in Gradient.cpp and
- // CSSGradientValue.cpp; probably should refactor in WebKit.
- if (!m_stopsSorted) {
- if (m_stops.size())
- std::stable_sort(m_stops.begin(), m_stops.end(), compareStops);
- m_stopsSorted = true;
- }
fill_stops(m_stops.data(), m_stops.size(), pos, colors);
if (m_radial) {
|