[Webkit-unassigned] [Bug 6002] WebKit does not properly handle SVG <cursor> element

bugzilla-daemon at opendarwin.org bugzilla-daemon at opendarwin.org
Fri Sep 22 03:03:54 PDT 2006


http://bugzilla.opendarwin.org/show_bug.cgi?id=6002


macdome at opendarwin.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #10701|review?                     |review+
               Flag|                            |




------- Comment #35 from macdome at opendarwin.org  2006-09-22 03:03 PDT -------
(From update of attachment 10701)
I don't think we want this:
+#if SVG_SUPPORT
+            if (uri.startsWith("#")) {
+                if (!list)
+                    list = new CSSValueList; 
+                list->append(new CSSPrimitiveValue(uri,
CSSPrimitiveValue::CSS_URI));
+                value = valueList->next();
+            } else
+#endif

That treats url(#foo) differently from url(foo.png).  The latter allows CSS3
hotspots, the former does not.  I'm not sure which should win out (the <cursor>
specified hotspot or the css3  one, but I don't think it should be an error.)

I'm surprised this is only an error in strict mode:
+                if (strict && value && !(value->unit == Value::Operator &&
value->iValue == ','))
+                    return false;

If it's only going to be an error in strict mode, maybe it only needs to be
required in strict mode?  Or maybe in non-strict mode an ; is also allowed?

I think this function should have a different name to denote its different
behavior:
style->addCursor(primitiveValue->getStringValue().substring(1))
perhaps addSVGCursor ?

You might also want to call the parameter fragmentId:
+void RenderStyle::addCursor(const String& id)

Great patch.  This has been an awfully long journey to get this landed, but I
think you're basically there.  I don't need to see the code again.   But if you
could make those tweaks before landing that would be great.  I still need to
check the test case.

r=me.


-- 
Configure bugmail: http://bugzilla.opendarwin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list