WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-84824-20120426192155.patch (text/plain), 10.72 KB, created by
Rob Buis
on 2012-04-26 16:22:37 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Rob Buis
Created:
2012-04-26 16:22:37 PDT
Size:
10.72 KB
patch
obsolete
>Subversion Revision: 115130 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index e074c91cd2c05115b1ece832b00ced6e8655c064..239dc32c13b52684b84e26a6f1e4f5afab1519b9 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,26 @@ >+2012-04-26 Rob Buis <rbuis@rim.com> >+ >+ SVG inline style of 'marker-*' does not override >+ https://bugs.webkit.org/show_bug.cgi?id=84824 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Properly handle CSSValueNone for clip-path, filter, mask and marker-* properties. Instead >+ of bailing out, set the none value explicitly, since an earlier match may have set it to >+ something other than none. >+ >+ Tests: svg/custom/inline-style-overrides-clipPath-expected.svg >+ svg/custom/inline-style-overrides-clipPath.svg >+ svg/custom/inline-style-overrides-filter-expected.svg >+ svg/custom/inline-style-overrides-filter.svg >+ svg/custom/inline-style-overrides-markers-expected.svg >+ svg/custom/inline-style-overrides-markers.svg >+ svg/custom/inline-style-overrides-mask-expected.svg >+ svg/custom/inline-style-overrides-mask.svg >+ >+ * css/SVGCSSStyleSelector.cpp: >+ (WebCore::StyleResolver::applySVGProperty): >+ > 2012-04-24 Andreas Kling <kling@webkit.org> > > REGRESSION(r115099): html5lib/runner.html crashes. >diff --git a/Source/WebCore/css/SVGCSSStyleSelector.cpp b/Source/WebCore/css/SVGCSSStyleSelector.cpp >index d7c6ad609c11a27252b38194725dca6965d6d97c..d71f767b2a319e9977bce485448300b4e5431ef1 100644 >--- a/Source/WebCore/css/SVGCSSStyleSelector.cpp >+++ b/Source/WebCore/css/SVGCSSStyleSelector.cpp >@@ -357,8 +357,6 @@ void StyleResolver::applySVGProperty(CSSPropertyID id, CSSValue* value) > int type = primitiveValue->primitiveType(); > if (type == CSSPrimitiveValue::CSS_URI) > s = primitiveValue->getStringValue(); >- else >- return; > > svgstyle->setMarkerStartResource(SVGURIReference::fragmentIdentifierFromIRIString(s, m_element->document())); > break; >@@ -373,8 +371,6 @@ void StyleResolver::applySVGProperty(CSSPropertyID id, CSSValue* value) > int type = primitiveValue->primitiveType(); > if (type == CSSPrimitiveValue::CSS_URI) > s = primitiveValue->getStringValue(); >- else >- return; > > svgstyle->setMarkerMidResource(SVGURIReference::fragmentIdentifierFromIRIString(s, m_element->document())); > break; >@@ -389,8 +385,6 @@ void StyleResolver::applySVGProperty(CSSPropertyID id, CSSValue* value) > int type = primitiveValue->primitiveType(); > if (type == CSSPrimitiveValue::CSS_URI) > s = primitiveValue->getStringValue(); >- else >- return; > > svgstyle->setMarkerEndResource(SVGURIReference::fragmentIdentifierFromIRIString(s, m_element->document())); > break; >@@ -428,8 +422,6 @@ void StyleResolver::applySVGProperty(CSSPropertyID id, CSSValue* value) > int type = primitiveValue->primitiveType(); > if (type == CSSPrimitiveValue::CSS_URI) > s = primitiveValue->getStringValue(); >- else >- return; > > svgstyle->setFilterResource(SVGURIReference::fragmentIdentifierFromIRIString(s, m_element->document())); > break; >@@ -444,8 +436,6 @@ void StyleResolver::applySVGProperty(CSSPropertyID id, CSSValue* value) > int type = primitiveValue->primitiveType(); > if (type == CSSPrimitiveValue::CSS_URI) > s = primitiveValue->getStringValue(); >- else >- return; > > svgstyle->setMaskerResource(SVGURIReference::fragmentIdentifierFromIRIString(s, m_element->document())); > break; >@@ -460,8 +450,6 @@ void StyleResolver::applySVGProperty(CSSPropertyID id, CSSValue* value) > int type = primitiveValue->primitiveType(); > if (type == CSSPrimitiveValue::CSS_URI) > s = primitiveValue->getStringValue(); >- else >- return; > > svgstyle->setClipperResource(SVGURIReference::fragmentIdentifierFromIRIString(s, m_element->document())); > break; >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index def926dd5ce97d02d71775615daa3f39c512d752..7e3b4e42fdfc0a16252d4b595f005d9f78d6de87 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,21 @@ >+2012-04-26 Rob Buis <rbuis@rim.com> >+ >+ SVG inline style of 'marker-*' does not override >+ https://bugs.webkit.org/show_bug.cgi?id=84824 >+ >+ Add tests for clip-path, filter, mask and marker-* properties. >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * svg/custom/inline-style-overrides-clipPath-expected.svg: Added. >+ * svg/custom/inline-style-overrides-clipPath.svg: Added. >+ * svg/custom/inline-style-overrides-filter-expected.svg: Added. >+ * svg/custom/inline-style-overrides-filter.svg: Added. >+ * svg/custom/inline-style-overrides-markers-expected.svg: Added. >+ * svg/custom/inline-style-overrides-markers.svg: Added. >+ * svg/custom/inline-style-overrides-mask-expected.svg: Added. >+ * svg/custom/inline-style-overrides-mask.svg: Added. >+ > 2012-04-24 Rob Buis <rbuis@rim.com> > > REGRESSION (r115083-r115087): 6 tests failing on Lion Release (WebKit2 Tests) >diff --git a/LayoutTests/svg/custom/inline-style-overrides-clipPath-expected.svg b/LayoutTests/svg/custom/inline-style-overrides-clipPath-expected.svg >new file mode 100644 >index 0000000000000000000000000000000000000000..7d15fe42236cdd8e607e16b55c6e2398803c201f >--- /dev/null >+++ b/LayoutTests/svg/custom/inline-style-overrides-clipPath-expected.svg >@@ -0,0 +1,3 @@ >+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> >+ <rect width="100" height="100" style="fill:green"/> >+</svg> >diff --git a/LayoutTests/svg/custom/inline-style-overrides-clipPath.svg b/LayoutTests/svg/custom/inline-style-overrides-clipPath.svg >new file mode 100644 >index 0000000000000000000000000000000000000000..9476b98e3dd2dae0c74ba733aa5e56df0c79f2e1 >--- /dev/null >+++ b/LayoutTests/svg/custom/inline-style-overrides-clipPath.svg >@@ -0,0 +1,16 @@ >+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> >+ <style type="text/css"><![CDATA[ >+ rect { >+ fill: green; >+ clip-path: url(#path); >+ } >+ ]]> >+ </style> >+ <defs> >+ <clipPath id="path"> >+ <rect width="50" height="50" /> >+ </clipPath> >+ </defs> >+ >+ <rect width="100" height="100" style="clip-path: none;" /> >+</svg> >diff --git a/LayoutTests/svg/custom/inline-style-overrides-filter-expected.svg b/LayoutTests/svg/custom/inline-style-overrides-filter-expected.svg >new file mode 100644 >index 0000000000000000000000000000000000000000..7d15fe42236cdd8e607e16b55c6e2398803c201f >--- /dev/null >+++ b/LayoutTests/svg/custom/inline-style-overrides-filter-expected.svg >@@ -0,0 +1,3 @@ >+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> >+ <rect width="100" height="100" style="fill:green"/> >+</svg> >diff --git a/LayoutTests/svg/custom/inline-style-overrides-filter.svg b/LayoutTests/svg/custom/inline-style-overrides-filter.svg >new file mode 100644 >index 0000000000000000000000000000000000000000..cabe8da4fecc0b5c9208415ae2693f064a7f4b45 >--- /dev/null >+++ b/LayoutTests/svg/custom/inline-style-overrides-filter.svg >@@ -0,0 +1,16 @@ >+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> >+ <style type="text/css"><![CDATA[ >+ rect { >+ fill: green; >+ filter: url(#filter); >+ } >+ ]]> >+ </style> >+ <defs> >+ <filter id="filter" filterUnits="userSpaceOnUse" x="0" y="0" width="100" height="100"> >+ <feGaussianBlur in="SourceAlpha" stdDeviation="4" /> >+ </filter> >+ </defs> >+ >+ <rect width="100" height="100" style="filter: none;" /> >+</svg> >diff --git a/LayoutTests/svg/custom/inline-style-overrides-markers-expected.svg b/LayoutTests/svg/custom/inline-style-overrides-markers-expected.svg >new file mode 100644 >index 0000000000000000000000000000000000000000..817b02e7146e1f1b59b6ab72abd43748dc987aa6 >--- /dev/null >+++ b/LayoutTests/svg/custom/inline-style-overrides-markers-expected.svg >@@ -0,0 +1 @@ >+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"/> >diff --git a/LayoutTests/svg/custom/inline-style-overrides-markers.svg b/LayoutTests/svg/custom/inline-style-overrides-markers.svg >new file mode 100644 >index 0000000000000000000000000000000000000000..4ca59af09b4b409304dbb387aa9eb9ae44e40f36 >--- /dev/null >+++ b/LayoutTests/svg/custom/inline-style-overrides-markers.svg >@@ -0,0 +1,21 @@ >+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> >+ <style type="text/css"><![CDATA[ >+ line { >+ stroke: green; >+ stroke-width: 50px; >+ marker-start: url(#marker); >+ marker-mid: url(#marker); >+ marker-end: url(#marker); >+ } >+ ]]> >+ </style> >+ <defs> >+ <marker id="marker" viewBox="0 0 10 10" refX="1" refY="5" >+ markerUnits="strokeWidth" orient="auto" >+ markerWidth="2" markerHeight="2"> >+ <polyline points="0,0 10,0 10,10 0,10 0,0" fill="red" /> >+ </marker> >+ </defs> >+ >+ <line x1="100" y1="100" x2="100" y2="100" style="marker-start: none;marker-mid: none;marker-end: none;" /> >+</svg> >diff --git a/LayoutTests/svg/custom/inline-style-overrides-mask-expected.svg b/LayoutTests/svg/custom/inline-style-overrides-mask-expected.svg >new file mode 100644 >index 0000000000000000000000000000000000000000..7d15fe42236cdd8e607e16b55c6e2398803c201f >--- /dev/null >+++ b/LayoutTests/svg/custom/inline-style-overrides-mask-expected.svg >@@ -0,0 +1,3 @@ >+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> >+ <rect width="100" height="100" style="fill:green"/> >+</svg> >diff --git a/LayoutTests/svg/custom/inline-style-overrides-mask.svg b/LayoutTests/svg/custom/inline-style-overrides-mask.svg >new file mode 100644 >index 0000000000000000000000000000000000000000..c8522dfd445673fab60946e2bddc90dfa56450e3 >--- /dev/null >+++ b/LayoutTests/svg/custom/inline-style-overrides-mask.svg >@@ -0,0 +1,17 @@ >+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> >+ <style type="text/css"><![CDATA[ >+ #rect { >+ fill: green; >+ mask: url(#mask); >+ } >+ ]]> >+ </style> >+ <defs> >+ <mask id="mask" maskUnits="userSpaceOnUse" x="0" y="0" width="100" height="100"> >+ <rect x="0" y="0" width="100" height="100" fill="black"/> >+ </mask> >+ </defs> >+ >+ <rect width="100" height="100" style="fill: red;" /> >+ <rect id="rect" width="100" height="100" style="mask: none;" /> >+</svg>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
zimmermann
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 84824
:
138732
|
139089
| 139092