Summary: | marker shorthand property only sets marker-start | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Rémi Zara <remi_zara> | ||||||
Component: | SVG | Assignee: | Nobody <webkit-unassigned> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | ap | ||||||
Priority: | P2 | ||||||||
Version: | 420+ | ||||||||
Hardware: | Mac | ||||||||
OS: | OS X 10.4 | ||||||||
Attachments: |
|
Description
Rémi Zara
2006-12-27 10:30:14 PST
Created attachment 12067 [details] the marker shorthand property sets start mid and end This patch fixes the test mentioned in comment #0, which will be imported when bug 12000 is fixed. Comment on attachment 12067 [details]
the marker shorthand property sets start mid and end
The patch in general looks fine.
Why is:
+ CSSValue *value = parsedProperties[numParsedProperties-1]->value();
needed instead of just using the already defined "value" local?
Created attachment 12071 [details] Updated patch Fixes a style issue. Added updated result from tests (imported in bug 12000). The patch uses the normal processing to compute the CSSValue for marker-start. This is done in a recursive call to parseValue. The value variable is no more in the right scope. The resulting CSSValue is then affected to marker-mid and marker-end. Comment on attachment 12071 [details]
Updated patch
This looks right. The code in parse4Values is similar, and I assume you looked there to understand the proper technique.
+ CSSValue *value = parsedProperties[numParsedProperties - 1]->value();
I know the code you copied from is formatted this way, but it should be CSSValue* with the * next to the type.
r=me
I tried to land this patch, but was getting a crash each time when trying to open svg/W3C-SVG-1.1/painting-marker-03-f.svg Please don't use non-ASCII characters in the ChangeLog - unfortunately, the format only supports ASCII. Thread 0 Crashed: 0 com.apple.WebCore 0x014b1cf0 WebCore::drawStartAndMidMarkers(void*, WebCore::PathElement const*) + 104 (RenderPath.cpp:388) 1 com.apple.WebCore 0x014d650c WebCore::CGPathApplierToPathApplier(void*, CGPathElement const*) + 464 (PathCG.cpp:229) 2 com.apple.CoreGraphics 0x90435c70 CGPathApply + 548 3 com.apple.WebCore 0x014d6574 WebCore::Path::apply(void*, void (*)(void*, WebCore::PathElement const*)) const + 84 (PathCG.cpp:237) 4 com.apple.WebCore 0x014b2054 WebCore::RenderPath::drawMarkersIfNeeded(WebCore::GraphicsContext*, WebCore::FloatRect const&, WebCore::Path const&) const + 628 (RenderPath.cpp:424) 5 com.apple.WebCore 0x014b2684 WebCore::RenderPath::paint(WebCore::RenderObject::PaintInfo&, int, int) + 1528 (RenderPath.cpp:206) Actually, the test gives me a crash even without this patch (r18452). |