<?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>89468</bug_id>
          
          <creation_ts>2012-06-19 07:33:10 -0700</creation_ts>
          <short_desc>[Qt] KURL assert at fast/loader/opaque-base-url.html</short_desc>
          <delta_ts>2012-06-28 00:47:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>LayoutTestFailure, Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>79668</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Balazs Kelemen">kbalazs</reporter>
          <assigned_to name="Balazs Kelemen">kbalazs</assigned_to>
          <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>652435</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-06-19 07:33:10 -0700</bug_when>
    <thetext>Local debug test session, desktop Ubuntu 11.10, WK2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652436</commentid>
    <comment_count>1</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-06-19 07:33:28 -0700</bug_when>
    <thetext>crash log for WebKitTestRunner (pid 24658):
STDOUT: &lt;empty&gt;
STDERR: ASSERTION FAILED: url.isEmpty() || isSchemeFirstChar(url[0])

Source/WebCore/platform/KURL.cpp(315) : void WebCore::checkEncodedString(const WTF::String&amp;)
_ZN7WebCore4KURL5parseERKN3WTF6StringE+0x29
_ZN7WebCore4KURLC1ENS_18ParsedURLStringTagERKN3WTF6StringE+0x33</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657648</commentid>
    <comment_count>2</comment_count>
      <attachid>149544</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-06-26 09:31:36 -0700</bug_when>
    <thetext>Created attachment 149544
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658310</commentid>
    <comment_count>3</comment_count>
      <attachid>149544</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-06-26 21:04:46 -0700</bug_when>
    <thetext>Comment on attachment 149544
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=149544&amp;action=review

&gt; Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp:58
&gt; -    request.setURL(KURL(WebCore::ParsedURLString, url));
&gt; +    if (url.isNull())
&gt; +        request.setURL(KURL());
&gt; +    else
&gt; +        request.setURL(KURL(WebCore::ParsedURLString, url));

It&apos;s not introduced by this patch, but it&apos;s not right to use this constructor form in argument decoders. For a message sent from WebProcess to UI Process, we cannot trust the content - it can well be malicious.

ParsedURLString constructor can only be used when we know that the string came from KURL::string(), and the object was valid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658526</commentid>
    <comment_count>4</comment_count>
      <attachid>149725</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-06-27 04:27:45 -0700</bug_when>
    <thetext>Created attachment 149725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659201</commentid>
    <comment_count>5</comment_count>
      <attachid>149725</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-06-27 22:28:53 -0700</bug_when>
    <thetext>Comment on attachment 149725
Patch

Yeah, this seems to be in line with what the other ports are using.

However at the same time this is an example of unnecessary code duplication between ports that could easily be cleaned up. Mac and Win implementations using CFNetwork appear to just encode and decode the entire underlying dictionary. Gtk, Efl and Qt ports are either just storing the URL or (in the case of the Gtk port) also more meta-data.

I think it would be really nice to _share_ a non-CFNetwork based implementation that saves/restores more properties of ResourceRequestBase and leaves room for a platform specific properties in the ResourceRequest sub-class.

Then issues like these are less likely to happen because there&apos;s more code coverage through the other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659303</commentid>
    <comment_count>6</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-06-28 00:45:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 149725 [details])
&gt; Yeah, this seems to be in line with what the other ports are using.
&gt; 
&gt; However at the same time this is an example of unnecessary code duplication between ports that could easily be cleaned up. Mac and Win implementations using CFNetwork appear to just encode and decode the entire underlying dictionary. Gtk, Efl and Qt ports are either just storing the URL or (in the case of the Gtk port) also more meta-data.
&gt; 
&gt; I think it would be really nice to _share_ a non-CFNetwork based implementation that saves/restores more properties of ResourceRequestBase and leaves room for a platform specific properties in the ResourceRequest sub-class.
&gt; 
&gt; Then issues like these are less likely to happen because there&apos;s more code coverage through the other ports.

Ok, than I&apos;m going to land this for now and later on I will look into the idea of sharing this across ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659304</commentid>
    <comment_count>7</comment_count>
      <attachid>149725</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-06-28 00:47:03 -0700</bug_when>
    <thetext>Comment on attachment 149725
Patch

Clearing flags on attachment: 149725

Committed r121416: &lt;http://trac.webkit.org/changeset/121416&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659305</commentid>
    <comment_count>8</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-06-28 00:47:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149544</attachid>
            <date>2012-06-26 09:31:36 -0700</date>
            <delta_ts>2012-06-27 04:27:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89468-20120626183124.patch</filename>
            <type>text/plain</type>
            <size>2116</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDhjOTc0YmRjMTVjNDgz
YTFkNjE0YmM4OGUwY2UwZGEwNjU3NjRjNC4uMjJiNGY4M2RjNTUzZWIwZmJmNjNmN2QwMGQ1Zjk0
NmQ0NDM0MTFkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA2LTI2ICBCYWxh
enMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKworICAgICAgICBbUXRdIEtVUkwgYXNz
ZXJ0IGF0IGZhc3QvbG9hZGVyL29wYXF1ZS1iYXNlLXVybC5odG1sCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTQ2OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhhbmRsZSBpbnZhbGlkIFVSTCdzIGNvcnJl
Y3RseS4KKyAgICAgICAgS1VSTChQYXJzZWRVUkxTdHJpbmdUYWcsIGNvbnN0IFN0cmluZyYpIGV4
cGVjdCB0aGUgc3RyaW5nCisgICAgICAgIGlzIHRoZSBvdXRwdXQgb2YgS1VSTDo6c3RyaW5nKCkg
Y2FsbGVkIG9uIGEgdmFsaWQgb2JqZWN0LgorICAgICAgICAqIFNoYXJlZC9xdC9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNRdC5jcHA6CisgICAgICAgIChDb3JlSVBDOjo6OmVuY29kZSk6CisgICAgICAg
IChDb3JlSVBDOjo6OmRlY29kZSk6CisKIDIwMTItMDYtMjUgIFlvdW5nVGFlY2sgU29uZyAgPHlv
dW5ndGFlY2suc29uZ0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbV0syXVtRdF1bRUZMXSBNb3Zl
IExheWVyQmFja2luZ1N0b3JlIGludG8gY29tbW9uIGRpcmVjdG9yeQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5jcHAKaW5kZXggN2E3
N2VmMzBmN2IxOTQ2M2M5OTM1ZjY2NGIyZjU2ZDkxZDlmZWFmYy4uM2E4NzNjYmZjYjI3ZTBlYzBi
NTFhMDgwZThjMDE2ZWUyMTRmZjg0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwCkBAIC0zNiw3ICszNiwxMSBAQCBuYW1l
c3BhY2UgQ29yZUlQQyB7CiAKIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVlc3Q+Ojpl
bmNvZGUoQXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
c291cmNlUmVxdWVzdCkKIHsKLSAgICBlbmNvZGVyLT5lbmNvZGUocmVzb3VyY2VSZXF1ZXN0LnVy
bCgpLnN0cmluZygpKTsKKyAgICBjb25zdCBLVVJMJiB1cmwgPSByZXNvdXJjZVJlcXVlc3QudXJs
KCk7CisgICAgaWYgKHVybC5pc1ZhbGlkKCkpCisgICAgICAgIGVuY29kZXItPmVuY29kZSh1cmwu
c3RyaW5nKCkpOworICAgIGVsc2UKKyAgICAgICAgZW5jb2Rlci0+ZW5jb2RlKFN0cmluZygpKTsK
IH0KIAogYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVxdWVzdD46OmRlY29kZShBcmd1bWVu
dERlY29kZXIqIGRlY29kZXIsIFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KQpAQCAt
NDgsNyArNTIsMTAgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVxdWVzdD46OmRlY29k
ZShBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFJlc291cmNlUmUKICAgICBTdHJpbmcgdXJsOwog
ICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHVybCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICByZXF1ZXN0LnNldFVSTChLVVJMKFdlYkNvcmU6OlBhcnNlZFVSTFN0cmluZywgdXJsKSk7Cisg
ICAgaWYgKHVybC5pc051bGwoKSkKKyAgICAgICAgcmVxdWVzdC5zZXRVUkwoS1VSTCgpKTsKKyAg
ICBlbHNlCisgICAgICAgIHJlcXVlc3Quc2V0VVJMKEtVUkwoV2ViQ29yZTo6UGFyc2VkVVJMU3Ry
aW5nLCB1cmwpKTsKIAogICAgIHJlc291cmNlUmVxdWVzdCA9IHJlcXVlc3Q7CiAgICAgcmV0dXJu
IHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149725</attachid>
            <date>2012-06-27 04:27:45 -0700</date>
            <delta_ts>2012-06-28 00:47:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89468-20120627132730.patch</filename>
            <type>text/plain</type>
            <size>1764</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDhjOTc0YmRjMTVjNDgz
YTFkNjE0YmM4OGUwY2UwZGEwNjU3NjRjNC4uYWFlZTM1Mzc0OTIzZjQxMzllZDkwN2FiZjMwYTMz
ZWFlZjljN2I0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA2LTI3ICBCYWxh
enMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKworICAgICAgICBbUXRdIEtVUkwgYXNz
ZXJ0IGF0IGZhc3QvbG9hZGVyL29wYXF1ZS1iYXNlLXVybC5odG1sCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTQ2OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvbid0IHVzZSB0aGUgS1VSTChQYXJzZWRV
UkxTdHJpbmdUYWcsIGNvbnN0IFN0cmluZyYpIGNvbnN0cnVjdG9yLgorICAgICAgICBXZSBjYW5u
b3QgYmUgc3VyZSB0aGF0IHRoZSB1cmwgaW4gZW5jb2RlIHdhcyB2YWxpZCBhbmQgZXZlbiBpZiBp
dAorICAgICAgICB3YXMgdGhlIG1lc3NhZ2UgY291bGQgaGF2ZSBiZWVuIGNvcnJ1cHRlZC4KKyAg
ICAgICAgKiBTaGFyZWQvcXQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzUXQuY3BwOgorICAgICAgICAo
Q29yZUlQQzo6OjplbmNvZGUpOgorICAgICAgICAoQ29yZUlQQzo6OjpkZWNvZGUpOgorCiAyMDEy
LTA2LTI1ICBZb3VuZ1RhZWNrIFNvbmcgIDx5b3VuZ3RhZWNrLnNvbmdAc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgW1dLMl1bUXRdW0VGTF0gTW92ZSBMYXllckJhY2tpbmdTdG9yZSBpbnRvIGNvbW1v
biBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvcXQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzUXQuY3BwCmluZGV4IDdhNzdlZjMwZjdiMTk0NjNjOTkzNWY2NjRiMmY1NmQ5
MWQ5ZmVhZmMuLmFkNTU3NGY4Zjg4YzM2OTE5OTYyZWUyNzNjOTNkODU0MDg5OTNmNGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9xdC9XZWJDb3JlQXJndW1lbnRDb2RlcnNRdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL3F0L1dlYkNvcmVBcmd1bWVudENvZGVyc1F0
LmNwcApAQCAtNDQsMTMgKzQ0LDEwIEBAIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNvdXJjZVJlcXVl
c3Q+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVyLCBSZXNvdXJjZVJlCiAgICAgLy8g
RklYTUU6IEFkZCAqbW9yZSogY29kaW5nIGltcGxlbWVudGF0aW9uIHdoZW4gd2Ugd2FudCB0byBp
bXBsZW1lbnQgc29tZXRoaW5nIHRoYXQKICAgICAvLyBkZXBlbmRzIG9uIHRoaXMgbGlrZSB0aGUg
cG9saWN5IGNsaWVudC4KIAotICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0OwogICAgIFN0cmlu
ZyB1cmw7CiAgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUodXJsKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIHJlcXVlc3Quc2V0VVJMKEtVUkwoV2ViQ29yZTo6UGFyc2VkVVJMU3RyaW5nLCB1
cmwpKTsKLQotICAgIHJlc291cmNlUmVxdWVzdCA9IHJlcXVlc3Q7CisgICAgcmVzb3VyY2VSZXF1
ZXN0LnNldFVSTChLVVJMKEtVUkwoKSwgdXJsKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>