Bug 262594
| Summary: | Serialize the path() function with double quotes | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Ahmad Saleem <ahmad.saleem792> |
| Component: | CSS | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | CC: | ntim, simon.fraser |
| Priority: | P2 | Keywords: | BrowserCompat, WPTImpact |
| Version: | Safari Technology Preview | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Ahmad Saleem
Hi Team,
While trying to understand some failures in SVG (worst one - Path), I noticed following Blink commit might be mergeable or can be explored:
Blink Commit: https://chromium-review.googlesource.com/c/chromium/src/+/1213171
WebKit Source: https://searchfox.org/wubkat/source/Source/WebCore/css/CSSBasicShapes.cpp#397
String CSSPathValue::customCSSText() const
{
String pathString;
buildStringFromByteStream(m_pathData, pathString, UnalteredParsing);
StringBuilder result;
if (m_windRule == WindRule::EvenOdd)
result.append("path(evenodd, "_s);
else
result.append("path("_s);
serializeString(pathString, result);
result.append(')');
return result.toString();
}
^ We need to update to ensure that it accounts for 'double quotes'.
__
It will lead to progressing some failing test cases on WPT.
Just wanted to raise, so we can fix it.
CCing - some CSS folks - @Tim & @Simon to get their input.
Thanks!
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Ahmad Saleem
This compiles but don't progress test:
String CSSPathValue::customCSSText() const
{
String pathString;
buildStringFromByteStream(m_pathData, pathString, UnalteredParsing);
StringBuilder result;
if (m_windRule == WindRule::EvenOdd)
result.append("path(evenodd, "_s);
else
result.append("path(\""_s);
serializeString(pathString, result);
result.append("\")"_s);
return result.toString();
}
at least while running few in Minibrowsers.
Ahmad Saleem
Latest in Chrome / Blink:
String CSSPathValue::CustomCSSText() const {
StringBuilder result;
result.Append("path(");
if (style_path_->GetWindRule() == RULE_EVENODD) {
result.Append("evenodd, ");
}
result.Append("\"");
result.Append(BuildStringFromByteStream(ByteStream(), serialization_format_));
result.Append("\")");
return result.ReleaseString();
}