<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>23944</bug_id>
          
          <creation_ts>2009-02-12 22:44:18 -0800</creation_ts>
          <short_desc>KURLGoogle&apos;s pre-parsed canonicalSpec constructor should take a CString</short_desc>
          <delta_ts>2009-02-13 11:01:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Darin Fisher (:fishd, Google)">fishd</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>109622</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-02-12 22:44:18 -0800</bug_when>
    <thetext>KURLGoogle&apos;s pre-parsed canonicalSpec constructor should take a CString

Internally it allocates a CString, so this would not be a significant change for any existing code.  This change would allow us to efficiently copy from KURL -&gt; CString -&gt; KURL since CString is internally reference counted.  I plan to leverage this in our WebKit layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109625</commentid>
    <comment_count>1</comment_count>
      <attachid>27643</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-02-12 22:52:32 -0800</bug_when>
    <thetext>Created attachment 27643
v1 patch

This patch was already reviewed by Brett Wilson (the author of KURLGoogle) here:
http://codereview.chromium.org/21343</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109630</commentid>
    <comment_count>2</comment_count>
      <attachid>27643</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-12 23:50:08 -0800</bug_when>
    <thetext>Comment on attachment 27643
v1 patch

Looks fine to me.  I much prefer CString over char* + len anyway!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>109704</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-02-13 11:01:58 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/40981</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27643</attachid>
            <date>2009-02-12 22:52:32 -0800</date>
            <delta_ts>2009-02-12 23:50:08 -0800</delta_ts>
            <desc>v1 patch</desc>
            <filename>kurl_1.txt</filename>
            <type>text/plain</type>
            <size>6377</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQwOTY1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDIt
MTIgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM5NDQKKyAgICAgICAgS1VSTEdvb2dsZSdzIHByZS1wYXJzZWQgY2Fu
b25pY2FsU3BlYyBjb25zdHJ1Y3RvciBzaG91bGQgdGFrZSBhIENTdHJpbmcKKworICAgICAgICAq
IHBsYXRmb3JtL0tVUkwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9LVVJMR29vZ2xlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OktVUkxHb29nbGVQcml2YXRlOjpzZXRVdGY4KToKKyAgICAgICAgKFdl
YkNvcmU6OktVUkxHb29nbGVQcml2YXRlOjpzZXRBc2NpaSk6CisgICAgICAgIChXZWJDb3JlOjpL
VVJMR29vZ2xlUHJpdmF0ZTo6aW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpLVVJMR29vZ2xlUHJp
dmF0ZTo6cmVwbGFjZUNvbXBvbmVudHMpOgorICAgICAgICAoV2ViQ29yZTo6S1VSTDo6S1VSTCk6
CisgICAgICAgICogcGxhdGZvcm0vS1VSTEdvb2dsZVByaXZhdGUuaDoKKwogMjAwOS0wMi0xMiAg
bWlnZ2lsaW4gIDxtci5kaWdnaWxpbkBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
S2V2aW4gT2xsaXZpZXIuCkluZGV4OiBwbGF0Zm9ybS9LVVJMLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGxh
dGZvcm0vS1VSTC5oCShyZXZpc2lvbiA0MDk2NSkKKysrIHBsYXRmb3JtL0tVUkwuaAkod29ya2lu
ZyBjb3B5KQpAQCAtODQsNyArODQsNyBAQCBwdWJsaWM6CiAgICAgLy8gRm9yIGNvbnZlcnNpb25z
IGZvciBvdGhlciBzdHJ1Y3R1cmVzIHRoYXQgaGF2ZSBhbHJlYWR5IHBhcnNlZCBhbmQKICAgICAv
LyBjYW5vbmljYWxpemVkIHRoZSBVUkwuIFRoZSBpbnB1dCBtdXN0IGJlIGV4YWN0bHkgd2hhdCBL
VVJMIHdvdWxkIGhhdmUKICAgICAvLyBkb25lIHdpdGggdGhlIHNhbWUgaW5wdXQuCi0gICAgS1VS
TChjb25zdCBjaGFyKiBjYW5vbmljYWxTcGVjLCBpbnQgY2Fub25pY2FsU3BlY0xlbiwKKyAgICBL
VVJMKGNvbnN0IENTdHJpbmcmIGNhbm9uaWNhbFNwZWMsCiAgICAgICAgICBjb25zdCB1cmxfcGFy
c2U6OlBhcnNlZCYgcGFyc2VkLCBib29sIGlzVmFsaWQpOwogI2VuZGlmCiAKSW5kZXg6IHBsYXRm
b3JtL0tVUkxHb29nbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL0tVUkxHb29nbGUuY3Bw
CShyZXZpc2lvbiA0MDk2NSkKKysrIHBsYXRmb3JtL0tVUkxHb29nbGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzQsMjggKzEzNCwzMSBAQCBLVVJMR29vZ2xlUHJpdmF0ZTo6S1VSTEdvb2dsZVBy
aXZhdGUoY29uCiAvLyBTZXR0ZXJzIGZvciB0aGUgZGF0YS4gVXNpbmcgdGhlIEFTQ0lJIHZlcnNp
b24gd2hlbiB5b3Uga25vdyB0aGUKIC8vIGRhdGEgaXMgQVNDSUkgd2lsbCBiZSBzbGlnaHRseSBt
b3JlIGVmZmljaWVudC4gVGhlIFVURi04IHZlcnNpb24KIC8vIHdpbGwgYWx3YXlzIGJlIGNvcnJl
Y3QgaWYgdGhlIGNhbGxlciBpcyB1bnN1cmUuCi12b2lkIEtVUkxHb29nbGVQcml2YXRlOjpzZXRV
dGY4KGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKQordm9pZCBLVVJMR29vZ2xlUHJp
dmF0ZTo6c2V0VXRmOChjb25zdCBDU3RyaW5nJiBzdHIpCiB7CisgICAgY29uc3QgY2hhciogZGF0
YSA9IHN0ci5kYXRhKCk7CisgICAgdW5zaWduZWQgZGF0YUxlbmd0aCA9IHN0ci5sZW5ndGgoKTsK
KwogICAgIC8vIFRoZSBtX3V0ZjhJc0FTQ0lJIG11c3QgYWx3YXlzIGJlIGNvcnJlY3Qgc2luY2Ug
dGhlIERlcHJlY2F0ZWRTdHJpbmcKICAgICAvLyBnZXR0ZXIgbXVzdCBjcmVhdGUgaXQgd2l0aCB0
aGUgcHJvcGVyIGNvbnN0cnVjdG9yLiBUaGlzIHRlc3QgY2FuIGJlCiAgICAgLy8gcmVtb3ZlZCB3
aGVuIERlcHJlY2F0ZWRTdHJpbmcgaXMgZ29uZSwgYnV0IGl0IHN0aWxsIG1pZ2h0IGJlIGEKICAg
ICAvLyBwZXJmb3JtYW5jZSB3aW4uCiAgICAgbV91dGY4SXNBU0NJSSA9IHRydWU7Ci0gICAgZm9y
IChpbnQgaSA9IDA7IGkgPCBkYXRhTGVuZ3RoOyBpKyspIHsKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgZGF0YUxlbmd0aDsgaSsrKSB7CiAgICAgICAgIGlmIChzdGF0aWNfY2FzdDx1bnNp
Z25lZCBjaGFyPihkYXRhW2ldKSA+PSAweDgwKSB7CiAgICAgICAgICAgICBtX3V0ZjhJc0FTQ0lJ
ID0gZmFsc2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KIAotICAgIG1f
dXRmOCA9IENTdHJpbmcoZGF0YSwgZGF0YUxlbmd0aCk7CisgICAgbV91dGY4ID0gc3RyOwogICAg
IG1fc3RyaW5nSXNWYWxpZCA9IGZhbHNlOwogICAgIGluaXRQcm90b2NvbEluSFRUUEZhbWlseSgp
OwogfQogCi12b2lkIEtVUkxHb29nbGVQcml2YXRlOjpzZXRBc2NpaShjb25zdCBjaGFyKiBkYXRh
LCBpbnQgZGF0YUxlbmd0aCkKK3ZvaWQgS1VSTEdvb2dsZVByaXZhdGU6OnNldEFzY2lpKGNvbnN0
IENTdHJpbmcmIHN0cikKIHsKLSAgICBtX3V0ZjggPSBDU3RyaW5nKGRhdGEsIGRhdGFMZW5ndGgp
OworICAgIG1fdXRmOCA9IHN0cjsKICAgICBtX3V0ZjhJc0FTQ0lJID0gdHJ1ZTsKICAgICBtX3N0
cmluZ0lzVmFsaWQgPSBmYWxzZTsKICAgICBpbml0UHJvdG9jb2xJbkhUVFBGYW1pbHkoKTsKQEAg
LTIwMywxMiArMjA2LDEyIEBAIHZvaWQgS1VSTEdvb2dsZVByaXZhdGU6OmluaXQoY29uc3QgS1VS
TCYKICAgICBpZiAobV9pc1ZhbGlkIHx8IG91dHB1dC5sZW5ndGgoKSkgewogICAgICAgICAvLyBX
aXRob3V0IHJlZiwgdGhlIHdob2xlIHVybCBpcyBndWFyYW50ZWVkIHRvIGJlIEFTQ0lJLW9ubHku
CiAgICAgICAgIGlmIChtX3BhcnNlZC5yZWYuaXNfbm9uZW1wdHkoKSkKLSAgICAgICAgICAgIHNl
dFV0Zjgob3V0cHV0LmRhdGEoKSwgb3V0cHV0Lmxlbmd0aCgpKTsKKyAgICAgICAgICAgIHNldFV0
ZjgoQ1N0cmluZyhvdXRwdXQuZGF0YSgpLCBvdXRwdXQubGVuZ3RoKCkpKTsKICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgc2V0QXNjaWkob3V0cHV0LmRhdGEoKSwgb3V0cHV0Lmxlbmd0aCgpKTsK
KyAgICAgICAgICAgIHNldEFzY2lpKENTdHJpbmcob3V0cHV0LmRhdGEoKSwgb3V0cHV0Lmxlbmd0
aCgpKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gV2ViQ29yZSBleHBlY3RzIHJlc29sdmVk
IFVSTHMgdG8gYmUgZW1wdHkgcmF0aGVyIHRoYW4gTlVMTC4KLSAgICAgICAgc2V0VXRmOCgiIiwg
MCk7CisgICAgICAgIHNldFV0ZjgoQ1N0cmluZygiIiwgMCkpOwogICAgIH0KIH0KIApAQCAtMjMw
LDExICsyMzMsMTEgQEAgdm9pZCBLVVJMR29vZ2xlUHJpdmF0ZTo6aW5pdChjb25zdCBLVVJMJgog
CiAgICAgaWYgKG1faXNWYWxpZCB8fCBvdXRwdXQubGVuZ3RoKCkpIHsKICAgICAgICAgaWYgKG1f
cGFyc2VkLnJlZi5pc19ub25lbXB0eSgpKQotICAgICAgICAgICAgc2V0VXRmOChvdXRwdXQuZGF0
YSgpLCBvdXRwdXQubGVuZ3RoKCkpOworICAgICAgICAgICAgc2V0VXRmOChDU3RyaW5nKG91dHB1
dC5kYXRhKCksIG91dHB1dC5sZW5ndGgoKSkpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBz
ZXRBc2NpaShvdXRwdXQuZGF0YSgpLCBvdXRwdXQubGVuZ3RoKCkpOworICAgICAgICAgICAgc2V0
QXNjaWkoQ1N0cmluZyhvdXRwdXQuZGF0YSgpLCBvdXRwdXQubGVuZ3RoKCkpKTsKICAgICB9IGVs
c2UKLSAgICAgICAgc2V0VXRmOCgiIiwgMCk7CisgICAgICAgIHNldFV0ZjgoQ1N0cmluZygiIiwg
MCkpOwogfQogCiB2b2lkIEtVUkxHb29nbGVQcml2YXRlOjppbml0UHJvdG9jb2xJbkhUVFBGYW1p
bHkoKQpAQCAtMjk1LDkgKzI5OCw5IEBAIHZvaWQgS1VSTEdvb2dsZVByaXZhdGU6OnJlcGxhY2VD
b21wb25lbnQKIAogICAgIG1fcGFyc2VkID0gbmV3UGFyc2VkOwogICAgIGlmIChtX3BhcnNlZC5y
ZWYuaXNfbm9uZW1wdHkoKSkKLSAgICAgICAgc2V0VXRmOChvdXRwdXQuZGF0YSgpLCBvdXRwdXQu
bGVuZ3RoKCkpOworICAgICAgICBzZXRVdGY4KENTdHJpbmcob3V0cHV0LmRhdGEoKSwgb3V0cHV0
Lmxlbmd0aCgpKSk7CiAgICAgZWxzZQotICAgICAgICBzZXRBc2NpaShvdXRwdXQuZGF0YSgpLCBv
dXRwdXQubGVuZ3RoKCkpOworICAgICAgICBzZXRBc2NpaShDU3RyaW5nKG91dHB1dC5kYXRhKCks
IG91dHB1dC5sZW5ndGgoKSkpOwogfQogCiBjb25zdCBTdHJpbmcmIEtVUkxHb29nbGVQcml2YXRl
OjpzdHJpbmcoKSBjb25zdApAQCAtMzMyLDcgKzMzNSw3IEBAIEtVUkw6OktVUkwoY29uc3QgY2hh
ciAqdXJsKQogICAgIC8vIFRoZSBvbmUtYXJndW1lbnQgY29uc3RydWN0b3JzIHNob3VsZCBuZXZl
ciBnZW5lcmF0ZSBhIE5VTEwgc3RyaW5nLgogICAgIC8vIFRoaXMgaXMgYSBmdW5ueSBxdWlyayBv
ZiBLVVJMLmNwcCAocHJvYmFibHkgYSBidWcpIHdoaWNoIHdlIHByZXNlcnZlLgogICAgIGlmICht
X3VybC51dGY4U3RyaW5nKCkuaXNOdWxsKCkpCi0gICAgICAgIG1fdXJsLnNldEFzY2lpKCIiLCAw
KTsKKyAgICAgICAgbV91cmwuc2V0QXNjaWkoQ1N0cmluZygiIiwgMCkpOwogfQogCiAvLyBJbml0
aWFsaXplcyB3aXRoIGEgc3RyaW5nIHJlcHJlc2VudGluZyBhbiBhYnNvbHV0ZSBVUkwuIE5vIGVu
Y29kaW5nCkBAIC0zNjksMTYgKzM3MiwxNiBAQCBLVVJMOjpLVVJMKGNvbnN0IEtVUkwmIGJhc2Us
CiAgICAgbV91cmwuaW5pdChiYXNlLCByZWxhdGl2ZSwgJmVuY29kaW5nLmVuY29kaW5nRm9yRm9y
bVN1Ym1pc3Npb24oKSk7CiB9CiAKLUtVUkw6OktVUkwoY29uc3QgY2hhciogY2Fub25pY2FsU3Bl
YywgaW50IGNhbm9uaWNhbFNwZWNMZW4sCitLVVJMOjpLVVJMKGNvbnN0IENTdHJpbmcmIGNhbm9u
aWNhbFNwZWMsCiAgICAgICAgICAgIGNvbnN0IHVybF9wYXJzZTo6UGFyc2VkJiBwYXJzZWQsIGJv
b2wgaXNWYWxpZCkKICAgICA6IG1fdXJsKHBhcnNlZCwgaXNWYWxpZCkKIHsKICAgICAvLyBXZSBr
bm93IHRoZSByZWZlcmVuY2UgZnJhZ21lbnQgaXMgdGhlIG9ubHkgcGFydCB0aGF0IGNhbiBiZSBV
VEYtOCwgc28KICAgICAvLyB3ZSBrbm93IGl0J3MgQVNDSUkgd2hlbiB0aGVyZSBpcyBubyByZWYu
CiAgICAgaWYgKHBhcnNlZC5yZWYuaXNfbm9uZW1wdHkoKSkKLSAgICAgICAgbV91cmwuc2V0VXRm
OChjYW5vbmljYWxTcGVjLCBjYW5vbmljYWxTcGVjTGVuKTsKKyAgICAgICAgbV91cmwuc2V0VXRm
OChjYW5vbmljYWxTcGVjKTsKICAgICBlbHNlCi0gICAgICAgIG1fdXJsLnNldEFzY2lpKGNhbm9u
aWNhbFNwZWMsIGNhbm9uaWNhbFNwZWNMZW4pOworICAgICAgICBtX3VybC5zZXRBc2NpaShjYW5v
bmljYWxTcGVjKTsKIH0KIAogI2lmIFBMQVRGT1JNKENGKQpJbmRleDogcGxhdGZvcm0vS1VSTEdv
b2dsZVByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9LVVJMR29vZ2xlUHJpdmF0ZS5o
CShyZXZpc2lvbiA0MDk2NSkKKysrIHBsYXRmb3JtL0tVUkxHb29nbGVQcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTc4LDggKzc4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAv
LyBTZXR0ZXJzIGZvciB0aGUgZGF0YS4gVXNpbmcgdGhlIEFTQ0lJIHZlcnNpb24gd2hlbiB5b3Ug
a25vdyB0aGUKICAgICAgICAgLy8gZGF0YSBpcyBBU0NJSSB3aWxsIGJlIHNsaWdodGx5IG1vcmUg
ZWZmaWNpZW50LiBUaGUgVVRGLTggdmVyc2lvbgogICAgICAgICAvLyB3aWxsIGFsd2F5cyBiZSBj
b3JyZWN0IGlmIHRoZSBjYWxsZXIgaXMgdW5zdXJlLgotICAgICAgICB2b2lkIHNldFV0ZjgoY29u
c3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgpOwotICAgICAgICB2b2lkIHNldEFzY2lpKGNv
bnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKTsKKyAgICAgICAgdm9pZCBzZXRVdGY4KGNv
bnN0IENTdHJpbmcmKTsKKyAgICAgICAgdm9pZCBzZXRBc2NpaShjb25zdCBDU3RyaW5nJik7CiAK
ICAgICAgICAgLy8gVE9ETyhicmV0dHcpIHdlIGNhbiBzdXBwb3J0IGFuIGFkZGl0aW9uYWwgb3B0
aW1pemF0aW9uLiAgTWFrZSB0aGlzCiAgICAgICAgIC8vIGJ1ZmZlciBzdXBwb3J0IGJvdGggb3B0
aW5hbCBTdHJpbmdzIGFuZCBVVEYtOCBkYXRhLiBUaGlzIHdheSwgd2UgY2FuIHVzZQo=
</data>
<flag name="review"
          id="13423"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>