Diff
Modified: trunk/LayoutTests/ChangeLog (214786 => 214787)
--- trunk/LayoutTests/ChangeLog 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/LayoutTests/ChangeLog 2017-04-03 13:17:11 UTC (rev 214787)
@@ -1,3 +1,17 @@
+2017-04-03 Per Arne Vollan <pvol...@apple.com>
+
+ Implement stroke-miterlimit.
+ https://bugs.webkit.org/show_bug.cgi?id=169078
+
+ Reviewed by Dean Jackson.
+
+ * fast/css/stroke-miterlimit-default-expected.html: Added.
+ * fast/css/stroke-miterlimit-default.html: Added.
+ * fast/css/stroke-miterlimit-large-expected-mismatch.html: Added.
+ * fast/css/stroke-miterlimit-large.html: Added.
+ * fast/css/stroke-miterlimit-zero-expected-mismatch.html: Added.
+ * fast/css/stroke-miterlimit-zero.html: Added.
+
2017-04-02 Alexey Proskuryakov <a...@apple.com>
Remove accidentally added DumpJSConsoleLogInStdErr from http/tests/fetch/fetch-in-worker-crash.html expectation.
Added: trunk/LayoutTests/fast/css/stroke-miterlimit-default-expected.html (0 => 214787)
--- trunk/LayoutTests/fast/css/stroke-miterlimit-default-expected.html (rev 0)
+++ trunk/LayoutTests/fast/css/stroke-miterlimit-default-expected.html 2017-04-03 13:17:11 UTC (rev 214787)
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+ <style>
+ div {
+ font-size: 200px;
+ color: gray;
+ }
+
+ .test-stroke {
+ text-shadow: none;
+ -webkit-text-stroke: 30px red;
+ }
+ </style>
+</head>
+<body>
+
+<div class="test-stroke">Miter</div>
+
+</body>
+</html>
Added: trunk/LayoutTests/fast/css/stroke-miterlimit-default.html (0 => 214787)
--- trunk/LayoutTests/fast/css/stroke-miterlimit-default.html (rev 0)
+++ trunk/LayoutTests/fast/css/stroke-miterlimit-default.html 2017-04-03 13:17:11 UTC (rev 214787)
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+ <style>
+ div {
+ font-size: 200px;
+ color: gray;
+ }
+
+ .test-stroke {
+ text-shadow: none;
+ -webkit-text-stroke: 30px red;
+ }
+ </style>
+</head>
+<body>
+
+<div class="test-stroke" style="stroke-miterlimit: 4;">Miter</div>
+
+</body>
+</html>
Added: trunk/LayoutTests/fast/css/stroke-miterlimit-large-expected-mismatch.html (0 => 214787)
--- trunk/LayoutTests/fast/css/stroke-miterlimit-large-expected-mismatch.html (rev 0)
+++ trunk/LayoutTests/fast/css/stroke-miterlimit-large-expected-mismatch.html 2017-04-03 13:17:11 UTC (rev 214787)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+ <style>
+ div {
+ position: absolute;
+ font-size: 200px;
+ color: gray;
+ }
+
+ .test-stroke {
+ text-shadow: none;
+ -webkit-text-stroke: 30px red;
+ }
+
+ .obscurer {
+ width: 600px;
+ height: 200px;
+ background-color: blue;
+ }
+ </style>
+</head>
+<body>
+
+<div class="test-stroke" style="stroke-miterlimit: 4;">Miter</div>
+<div class="obscurer" style="left: 0px; top: 20px;"></div>
+
+</body>
+</html>
Added: trunk/LayoutTests/fast/css/stroke-miterlimit-large.html (0 => 214787)
--- trunk/LayoutTests/fast/css/stroke-miterlimit-large.html (rev 0)
+++ trunk/LayoutTests/fast/css/stroke-miterlimit-large.html 2017-04-03 13:17:11 UTC (rev 214787)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+ <style>
+ div {
+ position: absolute;
+ font-size: 200px;
+ color: gray;
+ }
+
+ .test-stroke {
+ text-shadow: none;
+ -webkit-text-stroke: 30px red;
+ }
+
+ .obscurer {
+ width: 600px;
+ height: 200px;
+ background-color: blue;
+ }
+ </style>
+</head>
+<body>
+
+<div class="test-stroke" style="stroke-miterlimit: 10;">Miter</div>
+<div class="obscurer" style="left: 0px; top: 20px;"></div>
+
+</body>
+</html>
Added: trunk/LayoutTests/fast/css/stroke-miterlimit-zero-expected-mismatch.html (0 => 214787)
--- trunk/LayoutTests/fast/css/stroke-miterlimit-zero-expected-mismatch.html (rev 0)
+++ trunk/LayoutTests/fast/css/stroke-miterlimit-zero-expected-mismatch.html 2017-04-03 13:17:11 UTC (rev 214787)
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+ <style>
+ div {
+ font-size: 200px;
+ color: gray;
+ }
+
+ .test-stroke {
+ text-shadow: none;
+ -webkit-text-stroke: 30px red;
+ }
+ </style>
+</head>
+<body>
+
+<div class="test-stroke" style="stroke-miterlimit: 4;">Miter</div>
+
+</body>
+</html>
Added: trunk/LayoutTests/fast/css/stroke-miterlimit-zero.html (0 => 214787)
--- trunk/LayoutTests/fast/css/stroke-miterlimit-zero.html (rev 0)
+++ trunk/LayoutTests/fast/css/stroke-miterlimit-zero.html 2017-04-03 13:17:11 UTC (rev 214787)
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+ <style>
+ div {
+ font-size: 200px;
+ color: gray;
+ }
+
+ .test-stroke {
+ text-shadow: none;
+ -webkit-text-stroke: 30px red;
+ }
+ </style>
+</head>
+<body>
+
+<div class="test-stroke" style="stroke-miterlimit: 0;">Miter</div>
+
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (214786 => 214787)
--- trunk/Source/WebCore/ChangeLog 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/ChangeLog 2017-04-03 13:17:11 UTC (rev 214787)
@@ -1,3 +1,57 @@
+2017-04-03 Per Arne Vollan <pvol...@apple.com>
+
+ Implement stroke-miterlimit.
+ https://bugs.webkit.org/show_bug.cgi?id=169078
+
+ Reviewed by Dean Jackson.
+
+ Support stroke-miterlimit for text rendering, see https://drafts.fxtf.org/paint/.
+
+ Tests: fast/css/stroke-miterlimit-default.html
+ fast/css/stroke-miterlimit-large.html
+ fast/css/stroke-miterlimit-zero.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::ComputedStyleExtractor::propertyValue):
+ * css/CSSProperties.json:
+ * css/SVGCSSComputedStyleDeclaration.cpp:
+ (WebCore::ComputedStyleExtractor::svgPropertyValue):
+ * rendering/TextPaintStyle.cpp:
+ (WebCore::computeTextPaintStyle):
+ (WebCore::updateGraphicsContext):
+ * rendering/TextPaintStyle.h:
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff):
+ * rendering/style/RenderStyle.h:
+ (WebCore::RenderStyle::strokeMiterLimit):
+ (WebCore::RenderStyle::setStrokeMiterLimit):
+ (WebCore::RenderStyle::initialStrokeMiterLimit):
+ (WebCore::RenderStyle::setStrokeDashOffset):
+ * rendering/style/RenderStyleConstants.cpp:
+ * rendering/style/RenderStyleConstants.h:
+ * rendering/style/SVGRenderStyle.cpp:
+ (WebCore::SVGRenderStyle::diff):
+ * rendering/style/SVGRenderStyle.h:
+ (WebCore::SVGRenderStyle::initialStrokeDashArray):
+ (WebCore::SVGRenderStyle::strokeDashArray):
+ (WebCore::SVGRenderStyle::initialStrokeMiterLimit): Deleted.
+ (WebCore::SVGRenderStyle::strokeMiterLimit): Deleted.
+ (WebCore::SVGRenderStyle::setStrokeMiterLimit): Deleted.
+ * rendering/style/SVGRenderStyleDefs.cpp:
+ (WebCore::StyleStrokeData::StyleStrokeData):
+ (WebCore::StyleStrokeData::operator==):
+ * rendering/style/SVGRenderStyleDefs.h:
+ * rendering/style/StyleRareInheritedData.cpp:
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+ (WebCore::StyleRareInheritedData::operator==):
+ * rendering/style/StyleRareInheritedData.h:
+ * rendering/svg/RenderSVGShape.cpp:
+ (WebCore::RenderSVGShape::hasSmoothStroke):
+ * rendering/svg/SVGRenderSupport.cpp:
+ (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
+ * rendering/svg/SVGRenderTreeAsText.cpp:
+ (WebCore::writeStyle):
+
2017-04-03 Alejandro G. Castro <a...@igalia.com>
[OWR] Fix class structure for the OWR mock classes after last modifications
Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (214786 => 214787)
--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -3917,6 +3917,8 @@
return CSSPrimitiveValue::create(style->joinStyle());
case CSSPropertyStrokeWidth:
return zoomAdjustedPixelValueForLength(style->strokeWidth(), *style);
+ case CSSPropertyStrokeMiterlimit:
+ return CSSPrimitiveValue::create(style->strokeMiterLimit(), CSSPrimitiveValue::CSS_NUMBER);
/* Unimplemented CSS 3 properties (including CSS3 shorthand properties) */
case CSSPropertyAll:
@@ -4018,7 +4020,6 @@
case CSSPropertyShapeRendering:
case CSSPropertyStroke:
case CSSPropertyStrokeDasharray:
- case CSSPropertyStrokeMiterlimit:
case CSSPropertyStrokeOpacity:
case CSSPropertyAlignmentBaseline:
case CSSPropertyBaselineShift:
Modified: trunk/Source/WebCore/css/CSSProperties.json (214786 => 214787)
--- trunk/Source/WebCore/css/CSSProperties.json 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/css/CSSProperties.json 2017-04-03 13:17:11 UTC (rev 214787)
@@ -3023,8 +3023,7 @@
"inherited": true,
"codegen-properties": {
"name-for-methods": "StrokeMiterLimit",
- "converter": "Number<float>",
- "svg": true
+ "converter": "Number<float>"
},
"specification": {
"category": "svg",
Modified: trunk/Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp (214786 => 214787)
--- trunk/Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -113,8 +113,6 @@
return CSSPrimitiveValue::create(svgStyle.colorRendering());
case CSSPropertyShapeRendering:
return CSSPrimitiveValue::create(svgStyle.shapeRendering());
- case CSSPropertyStrokeMiterlimit:
- return CSSPrimitiveValue::create(svgStyle.strokeMiterLimit(), CSSPrimitiveValue::CSS_NUMBER);
case CSSPropertyStrokeOpacity:
return CSSPrimitiveValue::create(svgStyle.strokeOpacity(), CSSPrimitiveValue::CSS_NUMBER);
case CSSPropertyAlignmentBaseline:
Modified: trunk/Source/WebCore/rendering/TextPaintStyle.cpp (214786 => 214787)
--- trunk/Source/WebCore/rendering/TextPaintStyle.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/TextPaintStyle.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -72,6 +72,7 @@
paintStyle.paintOrder = lineStyle.paintOrder();
paintStyle.lineJoin = lineStyle.joinStyle();
paintStyle.lineCap = lineStyle.capStyle();
+ paintStyle.miterLimit = lineStyle.strokeMiterLimit();
if (paintInfo.forceTextColor()) {
paintStyle.fillColor = paintInfo.forcedTextColor();
@@ -200,6 +201,8 @@
context.setStrokeThickness(paintStyle.strokeWidth);
context.setLineJoin(paintStyle.lineJoin);
context.setLineCap(paintStyle.lineCap);
+ if (paintStyle.lineJoin == MiterJoin)
+ context.setMiterLimit(paintStyle.miterLimit);
}
}
Modified: trunk/Source/WebCore/rendering/TextPaintStyle.h (214786 => 214787)
--- trunk/Source/WebCore/rendering/TextPaintStyle.h 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/TextPaintStyle.h 2017-04-03 13:17:11 UTC (rev 214787)
@@ -52,6 +52,7 @@
PaintOrder paintOrder { PaintOrder::Normal };
LineJoin lineJoin { MiterJoin };
LineCap lineCap { ButtCap };
+ float miterLimit { defaultMiterLimit };
};
TextPaintStyle computeTextPaintStyle(const Frame&, const RenderStyle&, const PaintInfo&);
Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (214786 => 214787)
--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -642,6 +642,13 @@
if (textStrokeWidth() != other.textStrokeWidth())
return true;
+
+ // These properties affect the cached stroke bounding box rects.
+ if (m_rareInheritedData->capStyle != other.m_rareInheritedData->capStyle
+ || m_rareInheritedData->joinStyle != other.m_rareInheritedData->joinStyle
+ || m_rareInheritedData->strokeWidth != other.m_rareInheritedData->strokeWidth
+ || m_rareInheritedData->miterLimit != other.m_rareInheritedData->miterLimit)
+ return true;
}
if (m_inheritedData->lineHeight != other.m_inheritedData->lineHeight
@@ -910,12 +917,6 @@
return svgChange;
}
- // These properties affect the cached stroke bounding box rects.
- if (m_rareInheritedData->capStyle != other.m_rareInheritedData->capStyle
- || m_rareInheritedData->joinStyle != other.m_rareInheritedData->joinStyle
- || m_rareInheritedData->strokeWidth != other.m_rareInheritedData->strokeWidth)
- return StyleDifferenceLayout;
-
if (changeRequiresLayout(other, changedContextSensitiveProperties))
return StyleDifferenceLayout;
Modified: trunk/Source/WebCore/rendering/style/RenderStyle.h (214786 => 214787)
--- trunk/Source/WebCore/rendering/style/RenderStyle.h 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.h 2017-04-03 13:17:11 UTC (rev 214787)
@@ -1245,7 +1245,7 @@
void setApplePayButtonType(ApplePayButtonType type) { SET_VAR(m_rareNonInheritedData, applePayButtonType, static_cast<unsigned>(type)); }
#endif
- // Support for paint-order, stroke-linecap, and stroke-linejoin from https://drafts.fxtf.org/paint/.
+ // Support for paint-order, stroke-linecap, stroke-linejoin, and stroke-miterlimit from https://drafts.fxtf.org/paint/.
void setPaintOrder(PaintOrder order) { SET_VAR(m_rareInheritedData, paintOrder, static_cast<unsigned>(order)); }
PaintOrder paintOrder() const { return static_cast<PaintOrder>(m_rareInheritedData->paintOrder); }
static PaintOrder initialPaintOrder() { return PaintOrder::Normal; }
@@ -1268,7 +1268,11 @@
bool hasExplicitlySetStrokeWidth() const { return m_rareInheritedData->hasSetStrokeWidth; };
bool hasPositiveStrokeWidth() const;
-
+ float strokeMiterLimit() const { return m_rareInheritedData->miterLimit; }
+ void setStrokeMiterLimit(float f) { SET_VAR(m_rareInheritedData, miterLimit, f); }
+ static float initialStrokeMiterLimit() { return defaultMiterLimit; }
+
+
const SVGRenderStyle& svgStyle() const { return m_svgStyle; }
SVGRenderStyle& accessSVGStyle() { return m_svgStyle.access(); }
@@ -1287,8 +1291,6 @@
void setStrokeDashArray(Vector<SVGLengthValue> array) { accessSVGStyle().setStrokeDashArray(array); }
const Length& strokeDashOffset() const { return svgStyle().strokeDashOffset(); }
void setStrokeDashOffset(Length&& d) { accessSVGStyle().setStrokeDashOffset(WTFMove(d)); }
- float strokeMiterLimit() const { return svgStyle().strokeMiterLimit(); }
- void setStrokeMiterLimit(float f) { accessSVGStyle().setStrokeMiterLimit(f); }
const Length& cx() const { return svgStyle().cx(); }
void setCx(Length&& cx) { accessSVGStyle().setCx(WTFMove(cx)); }
Modified: trunk/Source/WebCore/rendering/style/RenderStyleConstants.cpp (214786 => 214787)
--- trunk/Source/WebCore/rendering/style/RenderStyleConstants.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/style/RenderStyleConstants.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -101,4 +101,6 @@
return between >= PageBreakBetween;
}
+const float defaultMiterLimit = 4;
+
} // namespace WebCore
Modified: trunk/Source/WebCore/rendering/style/RenderStyleConstants.h (214786 => 214787)
--- trunk/Source/WebCore/rendering/style/RenderStyleConstants.h 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/style/RenderStyleConstants.h 2017-04-03 13:17:11 UTC (rev 214787)
@@ -743,4 +743,6 @@
Markers
};
+extern const float defaultMiterLimit;
+
} // namespace WebCore
Modified: trunk/Source/WebCore/rendering/style/SVGRenderStyle.cpp (214786 => 214787)
--- trunk/Source/WebCore/rendering/style/SVGRenderStyle.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/style/SVGRenderStyle.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -188,7 +188,6 @@
if (m_strokeData->paintType != other.m_strokeData->paintType
|| m_strokeData->paintColor != other.m_strokeData->paintColor
|| m_strokeData->paintUri != other.m_strokeData->paintUri
- || m_strokeData->miterLimit != other.m_strokeData->miterLimit
|| m_strokeData->dashArray != other.m_strokeData->dashArray
|| m_strokeData->dashOffset != other.m_strokeData->dashOffset
|| m_strokeData->visitedLinkPaintColor != other.m_strokeData->visitedLinkPaintColor
Modified: trunk/Source/WebCore/rendering/style/SVGRenderStyle.h (214786 => 214787)
--- trunk/Source/WebCore/rendering/style/SVGRenderStyle.h 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/style/SVGRenderStyle.h 2017-04-03 13:17:11 UTC (rev 214787)
@@ -71,7 +71,6 @@
static Color initialStrokePaintColor() { return Color(); }
static String initialStrokePaintUri() { return String(); }
static Vector<SVGLengthValue> initialStrokeDashArray() { return { }; }
- static float initialStrokeMiterLimit() { return 4; }
static float initialStopOpacity() { return 1; }
static Color initialStopColor() { return Color(0, 0, 0); }
static float initialFloodOpacity() { return 1; }
@@ -116,7 +115,6 @@
void setStrokePaint(SVGPaintType, const Color&, const String& uri, bool applyToRegularStyle = true, bool applyToVisitedLinkStyle = false);
void setStrokeDashArray(const Vector<SVGLengthValue>&);
- void setStrokeMiterLimit(float);
void setStrokeDashOffset(const Length&);
void setKerning(const SVGLengthValue&);
void setStopOpacity(float);
@@ -161,7 +159,6 @@
const Color& strokePaintColor() const { return m_strokeData->paintColor; }
const String& strokePaintUri() const { return m_strokeData->paintUri; }
Vector<SVGLengthValue> strokeDashArray() const { return m_strokeData->dashArray; }
- float strokeMiterLimit() const { return m_strokeData->miterLimit; }
const Length& strokeDashOffset() const { return m_strokeData->dashOffset; }
SVGLengthValue kerning() const { return m_textData->kerning; }
float stopOpacity() const { return m_stopData->opacity; }
@@ -374,12 +371,6 @@
m_strokeData.access().dashArray = array;
}
-inline void SVGRenderStyle::setStrokeMiterLimit(float limit)
-{
- if (!(m_strokeData->miterLimit == limit))
- m_strokeData.access().miterLimit = limit;
-}
-
inline void SVGRenderStyle::setStrokeDashOffset(const Length& offset)
{
if (!(m_strokeData->dashOffset == offset))
Modified: trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp (214786 => 214787)
--- trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -76,7 +76,6 @@
StyleStrokeData::StyleStrokeData()
: opacity(SVGRenderStyle::initialStrokeOpacity())
- , miterLimit(SVGRenderStyle::initialStrokeMiterLimit())
, dashOffset(RenderStyle::initialZeroLength())
, dashArray(SVGRenderStyle::initialStrokeDashArray())
, paintType(SVGRenderStyle::initialStrokePaintType())
@@ -91,7 +90,6 @@
inline StyleStrokeData::StyleStrokeData(const StyleStrokeData& other)
: RefCounted<StyleStrokeData>()
, opacity(other.opacity)
- , miterLimit(other.miterLimit)
, dashOffset(other.dashOffset)
, dashArray(other.dashArray)
, paintType(other.paintType)
@@ -111,7 +109,6 @@
bool StyleStrokeData::operator==(const StyleStrokeData& other) const
{
return opacity == other.opacity
- && miterLimit == other.miterLimit
&& dashOffset == other.dashOffset
&& dashArray == other.dashArray
&& paintType == other.paintType
Modified: trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.h (214786 => 214787)
--- trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.h 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/style/SVGRenderStyleDefs.h 2017-04-03 13:17:11 UTC (rev 214787)
@@ -137,7 +137,6 @@
}
float opacity;
- float miterLimit;
Length dashOffset;
Vector<SVGLengthValue> dashArray;
Modified: trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp (214786 => 214787)
--- trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/style/StyleRareInheritedData.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -130,6 +130,7 @@
, joinStyle(RenderStyle::initialJoinStyle())
, hasSetStrokeWidth(false)
, strokeWidth(RenderStyle::initialOneLength())
+ , miterLimit(RenderStyle::initialStrokeMiterLimit())
, hyphenationLimitBefore(-1)
, hyphenationLimitAfter(-1)
, hyphenationLimitLines(-1)
@@ -217,6 +218,7 @@
, joinStyle(o.joinStyle)
, hasSetStrokeWidth(o.hasSetStrokeWidth)
, strokeWidth(o.strokeWidth)
+ , miterLimit(o.miterLimit)
, hyphenationString(o.hyphenationString)
, hyphenationLimitBefore(o.hyphenationLimitBefore)
, hyphenationLimitAfter(o.hyphenationLimitAfter)
@@ -328,6 +330,7 @@
&& joinStyle == o.joinStyle
&& hasSetStrokeWidth == o.hasSetStrokeWidth
&& strokeWidth == o.strokeWidth
+ && miterLimit == o.miterLimit
&& customProperties == o.customProperties
&& arePointingToEqualData(listStyleImage, o.listStyleImage);
}
Modified: trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h (214786 => 214787)
--- trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/style/StyleRareInheritedData.h 2017-04-03 13:17:11 UTC (rev 214787)
@@ -141,6 +141,7 @@
unsigned joinStyle : 2; // LineJoin
unsigned hasSetStrokeWidth : 1;
Length strokeWidth;
+ float miterLimit;
AtomicString hyphenationString;
short hyphenationLimitBefore;
Modified: trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp (214786 => 214787)
--- trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -445,7 +445,7 @@
{
const SVGRenderStyle& svgStyle = style().svgStyle();
return svgStyle.strokeDashArray().isEmpty()
- && svgStyle.strokeMiterLimit() == svgStyle.initialStrokeMiterLimit()
+ && style().strokeMiterLimit() == style().initialStrokeMiterLimit()
&& style().joinStyle() == style().initialJoinStyle()
&& style().capStyle() == style().initialCapStyle();
}
Modified: trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp (214786 => 214787)
--- trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -431,7 +431,7 @@
context->setLineCap(style.capStyle());
context->setLineJoin(style.joinStyle());
if (style.joinStyle() == MiterJoin)
- context->setMiterLimit(svgStyle.strokeMiterLimit());
+ context->setMiterLimit(style.strokeMiterLimit());
const Vector<SVGLengthValue>& dashes = svgStyle.strokeDashArray();
if (dashes.isEmpty())
Modified: trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp (214786 => 214787)
--- trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp 2017-04-03 13:08:46 UTC (rev 214786)
+++ trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp 2017-04-03 13:17:11 UTC (rev 214787)
@@ -196,7 +196,7 @@
writeIfNotDefault(ts, "opacity", svgStyle.strokeOpacity(), 1.0f);
writeIfNotDefault(ts, "stroke width", strokeWidth, 1.0);
- writeIfNotDefault(ts, "miter limit", svgStyle.strokeMiterLimit(), 4.0f);
+ writeIfNotDefault(ts, "miter limit", style.strokeMiterLimit(), 4.0f);
writeIfNotDefault(ts, "line cap", style.capStyle(), ButtCap);
writeIfNotDefault(ts, "line join", style.joinStyle(), MiterJoin);
writeIfNotDefault(ts, "dash offset", dashOffset, 0.0);