[Webkit-unassigned] [Bug 12579] WebKit fails SVG xml:base test

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Mar 4 22:49:01 PST 2007


http://bugs.webkit.org/show_bug.cgi?id=12579


darin at apple.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #13474|review?                     |review-
               Flag|                            |




------- Comment #2 from darin at apple.com  2007-03-04 22:49 PDT -------
(From update of attachment 13474)
The Node class is one of the ones that has some automatically generated
bindings along with some manually-done legacy ones. Because of this, you should
put the baseURL property into Node.idl instead of making the changes to
kjs_dom.cpp and kjs_dom.h so you don't create more legacy for us to deal with
later.

To me it looks like baseURI should be a virtual function. It's a little strange
to use a case statement instead. Or at least there should be an inner part
that's a virtual function.

+            xmlbase = KURL(static_cast<const
Element*>(this)->getAttribute(XMLNames::baseAttr).deprecatedString());
+
+            if (!xmlbase.protocol().isEmpty())
+                return xmlbase.url();

The above code seems like an inefficient way to do the job. Basically we're
just looking for a ":" but we convert both to and from a DeprecatedString. This
really cries out for some simple URL-related functions we can just call on
strings. But I guess it's no big deal.

Why isn't baseURI using the Document::completeURL function? It seems to be
replicating what it does.

Same comment for SVGImageLoader::updateFromElement. Why isn't it using
Document::completeURL? If it's really different than the standard relative URL
rules, then I'd like to see test cases demonstrating that.

Is the rule about resolving URLs really different for SVG that HTML? If so,
then can we put a new function on Document instead of giving SVGImageLoader its
own relative-URL completion code?

-            if (attr->name().matches(XLinkNames::hrefAttr))
+            if (attr->name().matches(XLinkNames::hrefAttr) &&
!ownerDocument()->parsing())

Are you sure parsing is the right check here? Maybe a better check is just to
see if you're attached, since you are doing the update in attach().

I think that baseURI and documentURI are not really needed to fix this. There's
no reason SVGImageLoader has to use new functions from the DOM standard just to
resolve a relative URL, is there?

review- because of a number of small questions here


-- 
Configure bugmail: http://bugs.webkit.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