Summary: | GoogleURL version of KURL does not implement conversion to CFURLRef | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Mark Mentovai <mark> | ||||||
Component: | Platform | Assignee: | Mark Mentovai <mark> | ||||||
Status: | RESOLVED WONTFIX | ||||||||
Severity: | Normal | CC: | darin, eric | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | Mac | ||||||||
OS: | OS X 10.5 | ||||||||
Bug Depends on: | 21807 | ||||||||
Bug Blocks: | |||||||||
Attachments: |
|
Description
Mark Mentovai
2008-10-23 15:28:39 PDT
Created attachment 24623 [details]
Patch
Comment on attachment 24623 [details]
Patch
Having a dependency on USE(GOOGLEURL) in GraphicsContext feels deeply wrong.
Having a dependency on URLs in general in a GraphicsContext feels pretty wrong... Comment on attachment 24623 [details] Patch A better way to handle this is would be to put the notImplemented() call inside the GOOGLEURL version of CFURLRef. There's no good reason that KURL when PLATFORM(CF) is true shouldn't implement conversion to a CFURL, regardless of whether it's based on the Google URL library; putting the workaround for that in the GraphicsContext file seems wrong. > +#if PLATFORM(CF) && !USE(GOOGLEURL) The !USE(GOOGLEURL) part is fine, but the PLATFORM(CF) check here is unnecessary and should be removed. CoreGraphics is built on top of CoreFoundation. You can't compile GraphicsContextCG.cpp if PLATFORM(CF) is false. I'm going to say review- because I think this check is in the wrong file, and even if you disagree and think this is the right file. it's not done exactly right. Created attachment 24625 [details]
Alternate patch
Takes out PLATFORM(CF) check as suggested.
Comment on attachment 24625 [details]
Alternate patch
Please fix this in KURL.h as I requested.
(In reply to comment #4) > (From update of attachment 24623 [details] [edit]) > A better way to handle this is would be to put the notImplemented() call inside > the GOOGLEURL version of CFURLRef. I meant the GOOGLEURL version of KURL::createCFURL(). (In reply to comment #0) > In Chromium, we're using a different implementation of KURL, based on > GoogleURL, and ours doesn't do CFURLRef conversions. That seems wrong. There's no reason to not implement conversions from a GoogleURL object to the underlying platform's URL object, CFURL. It's analogous to saying "we have our own string class and have chosen to not implement conversion to CFString". Retitling based on my understanding of what the bug is. I'll just fix this directly in GURL then. |