<?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>53919</bug_id>
          
          <creation_ts>2011-02-07 08:45:19 -0800</creation_ts>
          <short_desc>Reference-counting for WKBundlePageResourceLoadClient::willSendRequestForFrame seems unclear/wrong</short_desc>
          <delta_ts>2011-03-05 11:50:10 -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>WebKit2</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>http://trac.webkit.org/browser/trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp?rev=77713#L184</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>mjs</cc>
    
    <cc>pfeldman</cc>
    
    <cc>sam</cc>
    
    <cc>sullivan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>346608</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-07 08:45:19 -0800</bug_when>
    <thetext>InjectedBundlePageLoaderClient::willSendRequestForFrame, which calls WKBundlePageLoaderClient::willSendRequestForFrame (see URL), refs the result. This implies that willSendRequestForFrame should return a WKURLRequestRef whose refcount hasn&apos;t been incremented. But that makes returning a newly-constructed WKURLRequestRef very hard to do without causing a leak, since it requires the client to release the WKURLRequestRef *after* returning it from willSendRequestForFrame.

Probably the best way to fix this is to give willSendRequestForFrame Create semantics, just like WKPageUIClient::createPage. InjectedBundlePageLoaderClient::willSendRequestForFrame should adopt the WKURLRequestRef instead of reffing it. We may want to rename willSendRequestForFrame if we do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346610</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-07 08:45:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/8966020&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347298</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-08 05:55:18 -0800</bug_when>
    <thetext>The code has moved to WKBundlePageResourceLoadClient::willSendRequestForFrame, but the bug still exists. :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362775</commentid>
    <comment_count>3</comment_count>
      <attachid>84822</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-04 16:07:53 -0800</bug_when>
    <thetext>Created attachment 84822
[PATCH] Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362795</commentid>
    <comment_count>4</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-04 16:36:43 -0800</bug_when>
    <thetext>Landed in r80392.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362919</commentid>
    <comment_count>5</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-05 03:08:09 -0800</bug_when>
    <thetext>This change broke WK2 layout tests (existing early after 20 crashes). Do you want to roll it out?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362968</commentid>
    <comment_count>6</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-05 10:50:51 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; This change broke WK2 layout tests (existing early after 20 crashes). Do you want to roll it out?

It looks like the issue is I didn&apos;t touch WebKitTestRunner. I&apos;m looking into a fix now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362971</commentid>
    <comment_count>7</comment_count>
      <attachid>84871</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-05 11:06:55 -0800</bug_when>
    <thetext>Created attachment 84871
[PATCH] Crash fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362972</commentid>
    <comment_count>8</comment_count>
      <attachid>84871</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2011-03-05 11:13:15 -0800</bug_when>
    <thetext>Comment on attachment 84871
[PATCH] Crash fix

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

&gt; Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:348
&gt; +    WKRetain(returnedRequest);

This is incorrect. The other willSendRequestForFrame should do the WKRetain.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362973</commentid>
    <comment_count>9</comment_count>
      <attachid>84872</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-05 11:21:08 -0800</bug_when>
    <thetext>Created attachment 84872
[PATCH] crash Fix (Take 2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362974</commentid>
    <comment_count>10</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-05 11:50:10 -0800</bug_when>
    <thetext>Landed crash fix in r80427.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84822</attachid>
            <date>2011-03-04 16:07:53 -0800</date>
            <delta_ts>2011-03-04 16:14:16 -0800</delta_ts>
            <desc>[PATCH] Fix</desc>
            <filename>adopt_result.patch</filename>
            <type>text/plain</type>
            <size>1817</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwMzg0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDMtMDQgIEJyaWFuIFdl
aW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmVyZW5jZS1jb3VudGluZyBmb3IgV0tCdW5kbGVQ
YWdlUmVzb3VyY2VMb2FkQ2xpZW50Ojp3aWxsU2VuZFJlcXVlc3RGb3JGcmFtZSBzZWVtcyB1bmNs
ZWFyL3dyb25nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01MzkxOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODk2NjAyMD4KKyAgICAgICAgCisgICAg
ICAgIEFkb3B0IHRoZSByZXN1bHQgb2YgbV9jbGllbnQud2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUg
KHdoaWNoIHdpbGwgYmUgbGVha2VkIGJ5IHRoZSBjbGllbnQpLgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGll
bnQ6OndpbGxTZW5kUmVxdWVzdEZvckZyYW1lKToKKwogMjAxMS0wMy0wNCAgSmVzc2llIEJlcmxp
biAgPGpiZXJsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2VSZXNvdXJjZUxvYWRDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlUmVzb3Vy
Y2VMb2FkQ2xpZW50LmNwcAkocmV2aXNpb24gODAzNjgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRs
ZVBhZ2VSZXNvdXJjZUxvYWRDbGllbgogICAgIGlmICghbV9jbGllbnQud2lsbFNlbmRSZXF1ZXN0
Rm9yRnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJlZlB0cjxXZWJVUkxSZXF1ZXN0PiBy
ZXR1cm5lZFJlcXVlc3QgPSB0b0ltcGwobV9jbGllbnQud2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUo
dG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgaWRlbnRpZmllciwgdG9BUEkocmVxdWVzdCksIHRv
QVBJKHJlZGlyZWN0UmVzcG9uc2UpLCBtX2NsaWVudC5jbGllbnRJbmZvKSk7CisgICAgUmVmUHRy
PFdlYlVSTFJlcXVlc3Q+IHJldHVybmVkUmVxdWVzdCA9IGFkb3B0UmVmKHRvSW1wbChtX2NsaWVu
dC53aWxsU2VuZFJlcXVlc3RGb3JGcmFtZSh0b0FQSShwYWdlKSwgdG9BUEkoZnJhbWUpLCBpZGVu
dGlmaWVyLCB0b0FQSShyZXF1ZXN0KSwgdG9BUEkocmVkaXJlY3RSZXNwb25zZSksIG1fY2xpZW50
LmNsaWVudEluZm8pKSk7CiAgICAgaWYgKHJldHVybmVkUmVxdWVzdCkKICAgICAgICAgcmVxdWVz
dCA9IHJldHVybmVkUmVxdWVzdC0+cmVzb3VyY2VSZXF1ZXN0KCk7CiAgICAgZWxzZQo=
</data>
<flag name="review"
          id="76857"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84871</attachid>
            <date>2011-03-05 11:06:55 -0800</date>
            <delta_ts>2011-03-05 11:21:08 -0800</delta_ts>
            <desc>[PATCH] Crash fix</desc>
            <filename>retain_urlrequest.patch</filename>
            <type>text/plain</type>
            <size>1869</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDgwNDI2KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTEtMDMtMDUgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eCBXZWIgUHJvY2VzcyBjcmFzaGVzIGNhdXNlZCBieSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTM5MTkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVk
QnVuZGxlUGFnZTo6d2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUpOiBSZXRhaW4gdGhlIFdLVVJMUmVx
dWVzdFJlZiByZXR1cm5lZAorICAgICAgICAgICAgYnkgd2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUu
IFRoZSBBUEkgZXhwZWN0cyBhIHJldGFpbmVkIHJlZmVyZW5jZSB0byB0aGUgVVJMIHJlcXVlc3Qu
CisKIDIwMTEtMDMtMDUgIElseWEgU2hlcm1hbiAgPGlzaGVybWFuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZS5jcHAJKHJldmlzaW9uIDgwMzk0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDQsNyAr
MzQ0LDkgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmRpZEluaXRpYXRlTG9hZAogCiBXS1VS
TFJlcXVlc3RSZWYgSW5qZWN0ZWRCdW5kbGVQYWdlOjp3aWxsU2VuZFJlcXVlc3RGb3JGcmFtZShX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgdWludDY0X3QgaWRl
bnRpZmllciwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLVVJMUmVzcG9uc2VSZWYgcmVkaXJl
Y3RSZXNwb25zZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKLSAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8SW5qZWN0ZWRCdW5kbGVQYWdlKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykp
LT53aWxsU2VuZFJlcXVlc3RGb3JGcmFtZShwYWdlLCBmcmFtZSwgaWRlbnRpZmllciwgcmVxdWVz
dCwgcmVkaXJlY3RSZXNwb25zZSk7CisgICAgV0tVUkxSZXF1ZXN0UmVmIHJldHVybmVkUmVxdWVz
dCA9IHN0YXRpY19jYXN0PEluamVjdGVkQnVuZGxlUGFnZSo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNs
aWVudEluZm8pKS0+d2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUocGFnZSwgZnJhbWUsIGlkZW50aWZp
ZXIsIHJlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOyAKKyAgICBXS1JldGFpbihyZXR1cm5lZFJl
cXVlc3QpOworICAgIHJldHVybiByZXR1cm5lZFJlcXVlc3Q7CiB9CiAKIHZvaWQgSW5qZWN0ZWRC
dW5kbGVQYWdlOjpkaWRSZWNlaXZlUmVzcG9uc2VGb3JSZXNvdXJjZShXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSwgdWludDY0X3QgaWRlbnRpZmllciwgV0tVUkxS
ZXNwb25zZVJlZiByZXNwb25zZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
</data>
<flag name="review"
          id="76914"
          type_id="1"
          status="-"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84872</attachid>
            <date>2011-03-05 11:21:08 -0800</date>
            <delta_ts>2011-03-05 11:21:37 -0800</delta_ts>
            <desc>[PATCH] crash Fix (Take 2)</desc>
            <filename>retain_urlrequest.patch</filename>
            <type>text/plain</type>
            <size>1154</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDgwNDI2KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTEtMDMtMDUgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eCBXZWIgUHJvY2VzcyBjcmFzaGVzIGNhdXNlZCBieSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTM5MTkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVk
QnVuZGxlUGFnZTo6d2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUpOiBSZXRhaW4gdGhlIFdLVVJMUmVx
dWVzdFJlZiByZXR1cm5lZAorICAgICAgICAgICAgYnkgd2lsbFNlbmRSZXF1ZXN0Rm9yRnJhbWUu
IFRoZSBBUEkgZXhwZWN0cyBhIHJldGFpbmVkIHJlZmVyZW5jZSB0byB0aGUgVVJMIHJlcXVlc3Qu
CisKIDIwMTEtMDMtMDUgIElseWEgU2hlcm1hbiAgPGlzaGVybWFuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZS5jcHAJKHJldmlzaW9uIDgwMzk0KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NDYsNiAr
NjQ2LDcgQEAgV0tVUkxSZXF1ZXN0UmVmIEluamVjdGVkQnVuZGxlUGFnZTo6d2lsbAogICAgICAg
ICByZXR1cm4gMDsKICAgICB9CiAKKyAgICBXS1JldGFpbihyZXF1ZXN0KTsKICAgICByZXR1cm4g
cmVxdWVzdDsKIH0KIAo=
</data>
<flag name="review"
          id="76915"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>