On Wed, May 4, 2011 at 2:49 AM, Maciej Stachowiak <m...@apple.com> wrote:
>
> On May 4, 2011, at 2:33 AM, Xianzhu Wang wrote:
>
> Hi,
> KURL's relative URL behavior is different between Chromium and non-Chromium
> ports, because Chromium ports use KURLGoogle.cpp instead of KURL.cpp.
> In KURL(base, relative), when base is a not hierarchical, WebKit's
> KURL::string() returns relative, while Chromium's returns an empty string.
> The behavior of Chromium
> causes https://bugs.webkit.org/show_bug.cgi?id=55643 (Chromium unnecessarily
> creates SVGImage when an SVG document contains images).
> I'm wondering which behavior is correct. Assuming WebKit's KURL behavior is
> correct, my first patch is to change KURLGoogle.cpp to match KURL.cpp, which
> affects the result
> of fast/url/relative.html. platform/chromium/fast/url/relative-expected.txt
> contains all PASSs, while fast/url/relative-expected.txt contains 8 expected
> FAILs, 2 of which relate to my question:
>
> I don't know if KURL's behavior is correct, but I believe Chromium's
> behavior of resolving to an empty string URL in this case is not matched by
> any other browser. So I am pretty sure KURLGoogle is incorrect.

I agree that the Google behavior should be changed when resolving
against a non-hierarchical base, although I think there are some cases
where I think KURL is also incorrect here (I don't remember
specifics). Adam is correct that there's a fair amount of ambiguity,
so it's difficult to declare either one correct for some cases.

> FAIL canonicalize('baz.html') should be . Was baz.html.
> FAIL canonicalize(':foo') should be . Was :foo.
> My questions are:
> 1. Are all the PASS expectations of fast/url/relative.html correct? If yes,
> we should file a bug to track the failures of KURL.
> 2. With my patch, Chromium will produce the above two FAILs for
> fast/url/relative.html. Is this acceptable to be rebaselined?
>
> Adam made the test expectations all have PASS matching google-url behavior,
> without analysis of what is actually correct. I think it may be misleading
> for the tests to say PASS/FAIL at all at this point, but I would say the
> test should be rebaselined.

Note that the fix would be in the google-url project rather than in
the KURLGoogle.cpp. The change will likely be several weeks of work.
This hasn't been fixed yet because we've not seen it affect real
sites.

Brett
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to