| Index: third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp
|
| diff --git a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp
|
| index 17059a8eece1cd63d32529a1662d0e29c43d5e3f..4de2d08641352246284152889d9a9c3e9b1c1505 100644
|
| --- a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp
|
| +++ b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp
|
| @@ -187,13 +187,13 @@ DEFINE_TRACE(CanvasRenderingContext2DState)
|
| CSSFontSelectorClient::trace(visitor);
|
| }
|
|
|
| -void CanvasRenderingContext2DState::setLineDashOffset(float offset)
|
| +void CanvasRenderingContext2DState::setLineDashOffset(double offset)
|
| {
|
| m_lineDashOffset = offset;
|
| m_lineDashDirty = true;
|
| }
|
|
|
| -void CanvasRenderingContext2DState::setLineDash(const Vector<float>& dash)
|
| +void CanvasRenderingContext2DState::setLineDash(const Vector<double>& dash)
|
| {
|
| m_lineDash = dash;
|
| // Spec requires the concatenation of two copies the dash list when the
|
| @@ -204,10 +204,10 @@ void CanvasRenderingContext2DState::setLineDash(const Vector<float>& dash)
|
| m_lineDashDirty = true;
|
| }
|
|
|
| -static bool hasANonZeroElement(const Vector<float>& lineDash)
|
| +static bool hasANonZeroElement(const Vector<double>& lineDash)
|
| {
|
| for (size_t i = 0; i < lineDash.size(); i++) {
|
| - if (lineDash[i] != 0.0f)
|
| + if (lineDash[i] != 0.0)
|
| return true;
|
| }
|
| return false;
|
| @@ -221,7 +221,9 @@ void CanvasRenderingContext2DState::updateLineDash() const
|
| if (!hasANonZeroElement(m_lineDash)) {
|
| m_strokePaint.setPathEffect(0);
|
| } else {
|
| - RefPtr<SkPathEffect> dashPathEffect = adoptRef(SkDashPathEffect::Create(m_lineDash.data(), m_lineDash.size(), m_lineDashOffset));
|
| + Vector<float> lineDash(m_lineDash.size());
|
| + std::copy(m_lineDash.begin(), m_lineDash.end(), lineDash.begin());
|
| + RefPtr<SkPathEffect> dashPathEffect = adoptRef(SkDashPathEffect::Create(lineDash.data(), lineDash.size(), m_lineDashOffset));
|
| m_strokePaint.setPathEffect(dashPathEffect.get());
|
| }
|
|
|
| @@ -301,7 +303,7 @@ bool CanvasRenderingContext2DState::shouldAntialias() const
|
| return m_fillPaint.isAntiAlias();
|
| }
|
|
|
| -void CanvasRenderingContext2DState::setGlobalAlpha(float alpha)
|
| +void CanvasRenderingContext2DState::setGlobalAlpha(double alpha)
|
| {
|
| m_globalAlpha = alpha;
|
| m_strokeStyleDirty = true;
|
| @@ -368,7 +370,7 @@ SkImageFilter* CanvasRenderingContext2DState::getFilter(Element* styleResolution
|
| // StrokePaint respectively for filters that reference SVG.
|
| StyleBuilder::applyProperty(CSSPropertyWebkitFilter, resolverState, m_filterValue.get());
|
| RefPtrWillBeRawPtr<FilterEffectBuilder> filterEffectBuilder = FilterEffectBuilder::create();
|
| - const float effectiveZoom = 1.0f; // Deliberately ignore zoom on the canvas element
|
| + const double effectiveZoom = 1.0; // Deliberately ignore zoom on the canvas element
|
| filterEffectBuilder->build(styleResolutionHost, filterStyle->filter(), effectiveZoom);
|
|
|
| SkiaImageFilterBuilder imageFilterBuilder;
|
| @@ -412,7 +414,7 @@ SkDrawLooper* CanvasRenderingContext2DState::shadowAndForegroundDrawLooper() con
|
| SkImageFilter* CanvasRenderingContext2DState::shadowOnlyImageFilter() const
|
| {
|
| if (!m_shadowOnlyImageFilter) {
|
| - float sigma = skBlurRadiusToSigma(m_shadowBlur);
|
| + double sigma = skBlurRadiusToSigma(m_shadowBlur);
|
| m_shadowOnlyImageFilter = adoptRef(SkDropShadowImageFilter::Create(m_shadowOffset.width(), m_shadowOffset.height(), sigma, sigma, m_shadowColor, SkDropShadowImageFilter::kDrawShadowOnly_ShadowMode));
|
| }
|
| return m_shadowOnlyImageFilter.get();
|
| @@ -421,7 +423,7 @@ SkImageFilter* CanvasRenderingContext2DState::shadowOnlyImageFilter() const
|
| SkImageFilter* CanvasRenderingContext2DState::shadowAndForegroundImageFilter() const
|
| {
|
| if (!m_shadowAndForegroundImageFilter) {
|
| - float sigma = skBlurRadiusToSigma(m_shadowBlur);
|
| + double sigma = skBlurRadiusToSigma(m_shadowBlur);
|
| m_shadowAndForegroundImageFilter = adoptRef(SkDropShadowImageFilter::Create(m_shadowOffset.width(), m_shadowOffset.height(), sigma, sigma, m_shadowColor, SkDropShadowImageFilter::kDrawShadowAndForeground_ShadowMode));
|
| }
|
| return m_shadowAndForegroundImageFilter.get();
|
| @@ -435,19 +437,19 @@ void CanvasRenderingContext2DState::shadowParameterChanged()
|
| m_shadowAndForegroundImageFilter.clear();
|
| }
|
|
|
| -void CanvasRenderingContext2DState::setShadowOffsetX(float x)
|
| +void CanvasRenderingContext2DState::setShadowOffsetX(double x)
|
| {
|
| m_shadowOffset.setWidth(x);
|
| shadowParameterChanged();
|
| }
|
|
|
| -void CanvasRenderingContext2DState::setShadowOffsetY(float y)
|
| +void CanvasRenderingContext2DState::setShadowOffsetY(double y)
|
| {
|
| m_shadowOffset.setHeight(y);
|
| shadowParameterChanged();
|
| }
|
|
|
| -void CanvasRenderingContext2DState::setShadowBlur(float shadowBlur)
|
| +void CanvasRenderingContext2DState::setShadowBlur(double shadowBlur)
|
| {
|
| m_shadowBlur = shadowBlur;
|
| shadowParameterChanged();
|
|
|