Get something to start: an empty skeleton of KURL that we can fill with WTFURL.
Created attachment 127729 [details] Patch
Comment on attachment 127729 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=127729&action=review This looks fine except for the RefPtr versus plain data member issue. > Source/WebCore/WebCore.xcodeproj/project.pbxproj:-22323 > - BAB22AD414B7A02D00D8ABA6 /* FractionalLayoutUnit.h in Headers */, Is this change spurious? > Source/WebCore/WebCore.xcodeproj/project.pbxproj:24288 > 144FCE5D14EC79E7000D17A3 /* FractionalLayoutSize.h in Headers */, > + 26A5034E14F0983600AA730D /* KURLWTFURLImpl.h in Headers */, Please run sort-xcodeproj before landing. > Source/WebCore/platform/KURL.h:249 > + RefPtr<KURLWTFURLImpl> m_urlImpl; I'm not sure we want to use a RefPtr here. That will be an extra allocation for each KURL, which seems like it would affect performance. Notice that KURLGooglePrivate is just a plain data member. > Source/WebCore/platform/KURLWTFURLImpl.h:37 > +class KURLWTFURLImpl : public RefCounted<KURLWTFURLImpl> { KURLWTFURLImpl ... Oh man. What a name.
Thanks for the review. > > Source/WebCore/platform/KURL.h:249 > > + RefPtr<KURLWTFURLImpl> m_urlImpl; > > I'm not sure we want to use a RefPtr here. That will be an extra allocation for each KURL, which seems like it would affect performance. Notice that KURLGooglePrivate is just a plain data member. My plan was to have KURLWTFURLImpl implicitly shared. I have a hunch we do few URL creation, and a lot more of passing KURL around. I can try to confirm this before going forward with the idea. > > Source/WebCore/platform/KURLWTFURLImpl.h:37 > > +class KURLWTFURLImpl : public RefCounted<KURLWTFURLImpl> { > > KURLWTFURLImpl ... Oh man. What a name. Yep, I am not happy about any of the new filenames. :( Hopefully we can just drop the WTFURL in the end.
Ok. We can do performance tests and change the design later if needed.
Committed r108907: <http://trac.webkit.org/changeset/108907>