<?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>51062</bug_id>
          
          <creation_ts>2010-12-14 15:00:44 -0800</creation_ts>
          <short_desc>[chromium] AssociatedURLLoader leaks m_realLoader to its WebURLLoaderClient.</short_desc>
          <delta_ts>2010-12-15 16:13:06 -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>WebKit Misc.</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>
          <cc>eric</cc>
    
    <cc>michaeln</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>322246</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-12-14 15:00:44 -0800</bug_when>
    <thetext>[chromium] AssociatedURLLoader leaks m_realLoader to its WebURLLoaderClient.

AssociatedURLLoader should implement WebURLLoaderClient so that it can intercept
client callbacks and modify the WebURLLoader parameter to be |this|.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322248</commentid>
    <comment_count>1</comment_count>
      <attachid>76577</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-12-14 15:02:12 -0800</bug_when>
    <thetext>Created attachment 76577
v1 patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322290</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 15:30:31 -0800</bug_when>
    <thetext>Am I understanding correctly that the WebKit API layer was leaking an internal WebKit (or WebCore?) object?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322292</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 15:30:46 -0800</bug_when>
    <thetext>Leaking in the sense of &quot;providing a pointer to&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322484</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-12-14 20:47:56 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Am I understanding correctly that the WebKit API layer was leaking an internal WebKit (or WebCore?) object?

Nope.  AssociatedURLLoader is a WebURLLoader implementation.  It is implemented in terms of the stock WebURLLoader accessible from WebKitClient::createURLLoader().  That internal WebURLLoader was being exposed via WebURLLoaderClient methods.

For background, AssociatedURLLoader is allocated via WebFrame::createAssociatedURLLoader().  That method provides a WebURLLoader implementation that can be used to load an URL that should be treated like a subresource of the frame (e.g., it should be subject to cancellation when window.stop() is called, it should be subject to appcache, etc.).  The present implementation does not do all of these things yet.  I plan on changing AssociatedURLLoader to be based on WebCore::ResourceLoader so that it can.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322917</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-12-15 16:13:06 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/74161</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76577</attachid>
            <date>2010-12-14 15:02:12 -0800</date>
            <delta_ts>2010-12-15 16:07:22 -0800</delta_ts>
            <desc>v1 patch</desc>
            <filename>assoc_2.txt</filename>
            <type>text/plain</type>
            <size>5946</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA3NDA2MikKKysrIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNSBAQAorMjAxMC0xMi0xNCAgRGFy
aW4gRmlzaGVyICA8ZGFyaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gQXNzb2NpYXRlZFVSTExvYWRlciBs
ZWFrcyBtX3JlYWxMb2FkZXIgdG8gaXRzIFdlYlVSTExvYWRlckNsaWVudC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMDYyCisKKyAgICAgICAgKiBz
cmMvQXNzb2NpYXRlZFVSTExvYWRlci5jcHA6IEludGVyY2VwdCBXZWJVUkxMb2FkZXJDbGllbnQg
bWV0aG9kcyBhbmQKKyAgICAgICAgZm9yd2FyZCB8dGhpc3wgYXMgdGhlIFdlYlVSTExvYWRlciBw
YXJhbWV0ZXIuCisgICAgICAgIChXZWJLaXQ6OkFzc29jaWF0ZWRVUkxMb2FkZXI6OkFzc29jaWF0
ZWRVUkxMb2FkZXIpOgorICAgICAgICAoV2ViS2l0OjpBc3NvY2lhdGVkVVJMTG9hZGVyOjpsb2Fk
U3luY2hyb25vdXNseSk6CisgICAgICAgIChXZWJLaXQ6OkFzc29jaWF0ZWRVUkxMb2FkZXI6Omxv
YWRBc3luY2hyb25vdXNseSk6CisgICAgICAgIChXZWJLaXQ6OkFzc29jaWF0ZWRVUkxMb2FkZXI6
OndpbGxTZW5kUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OkFzc29jaWF0ZWRVUkxMb2FkZXI6
OmRpZFNlbmREYXRhKToKKyAgICAgICAgKFdlYktpdDo6QXNzb2NpYXRlZFVSTExvYWRlcjo6ZGlk
UmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYktpdDo6QXNzb2NpYXRlZFVSTExvYWRlcjo6
ZGlkRG93bmxvYWREYXRhKToKKyAgICAgICAgKFdlYktpdDo6QXNzb2NpYXRlZFVSTExvYWRlcjo6
ZGlkUmVjZWl2ZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpBc3NvY2lhdGVkVVJMTG9hZGVyOjpk
aWRSZWNlaXZlQ2FjaGVkTWV0YWRhdGEpOgorICAgICAgICAoV2ViS2l0OjpBc3NvY2lhdGVkVVJM
TG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYktpdDo6QXNzb2NpYXRlZFVS
TExvYWRlcjo6ZGlkRmFpbCk6CisgICAgICAgICogc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuaDoK
KwogMjAxMC0xMi0xNCAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBXZWJLaXQvY2hyb21p
dW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2No
cm9taXVtL3NyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmNwcAkocmV2aXNpb24gNzQwMzcpCisrKyBX
ZWJLaXQvY2hyb21pdW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00Miw3ICs0Miw4IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBBc3NvY2lhdGVkVVJMTG9h
ZGVyOjpBc3NvY2lhdGVkVVJMTG9hZGVyKFBhc3NSZWZQdHI8V2ViRnJhbWVJbXBsPiBmcmFtZUlt
cGwpCiAgICAgOiBtX2ZyYW1lSW1wbChmcmFtZUltcGwpLAotICAgICAgbV9yZWFsTG9hZGVyKHdl
YktpdENsaWVudCgpLT5jcmVhdGVVUkxMb2FkZXIoKSkKKyAgICAgIG1fcmVhbExvYWRlcih3ZWJL
aXRDbGllbnQoKS0+Y3JlYXRlVVJMTG9hZGVyKCkpLAorICAgICAgbV9yZWFsQ2xpZW50KDApCiB7
CiB9CiAKQEAgLTUyLDYgKzUzLDggQEAgQXNzb2NpYXRlZFVSTExvYWRlcjo6fkFzc29jaWF0ZWRV
UkxMb2FkZQogCiB2b2lkIEFzc29jaWF0ZWRVUkxMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KGNv
bnN0IFdlYlVSTFJlcXVlc3QmIHJlcXVlc3QsIFdlYlVSTFJlc3BvbnNlJiByZXNwb25zZSwgV2Vi
VVJMRXJyb3ImIGVycm9yLCBXZWJEYXRhJiBkYXRhKQogeworICAgIEFTU0VSVCghbV9yZWFsQ2xp
ZW50KTsKKwogICAgIFdlYlVSTFJlcXVlc3QgcmVxdWVzdENvcHkocmVxdWVzdCk7CiAgICAgcHJl
cGFyZVJlcXVlc3QocmVxdWVzdENvcHkpOwogCkBAIC02MCwxMCArNjMsMTMgQEAgdm9pZCBBc3Nv
Y2lhdGVkVVJMTG9hZGVyOjpsb2FkU3luY2hyb25vdQogCiB2b2lkIEFzc29jaWF0ZWRVUkxMb2Fk
ZXI6OmxvYWRBc3luY2hyb25vdXNseShjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0LCBXZWJV
UkxMb2FkZXJDbGllbnQqIGNsaWVudCkKIHsKKyAgICBBU1NFUlQoIW1fcmVhbENsaWVudCk7CisK
ICAgICBXZWJVUkxSZXF1ZXN0IHJlcXVlc3RDb3B5KHJlcXVlc3QpOwogICAgIHByZXBhcmVSZXF1
ZXN0KHJlcXVlc3RDb3B5KTsKIAotICAgIG1fcmVhbExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5
KHJlcXVlc3RDb3B5LCBjbGllbnQpOworICAgIG1fcmVhbENsaWVudCA9IGNsaWVudDsKKyAgICBt
X3JlYWxMb2FkZXItPmxvYWRBc3luY2hyb25vdXNseShyZXF1ZXN0Q29weSwgdGhpcyk7CiB9CiAK
IHZvaWQgQXNzb2NpYXRlZFVSTExvYWRlcjo6Y2FuY2VsKCkKQEAgLTg0LDQgKzkwLDQ0IEBAIHZv
aWQgQXNzb2NpYXRlZFVSTExvYWRlcjo6cHJlcGFyZVJlcXVlc3QKICAgICBtX2ZyYW1lSW1wbC0+
ZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QocmVxdWVzdCk7CiB9CiAKK3ZvaWQgQXNzb2NpYXRlZFVS
TExvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KFdlYlVSTExvYWRlciosIFdlYlVSTFJlcXVlc3QmIG5l
d1JlcXVlc3QsIGNvbnN0IFdlYlVSTFJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKQoreworICAg
IG1fcmVhbENsaWVudC0+d2lsbFNlbmRSZXF1ZXN0KHRoaXMsIG5ld1JlcXVlc3QsIHJlZGlyZWN0
UmVzcG9uc2UpOworfQorCit2b2lkIEFzc29jaWF0ZWRVUkxMb2FkZXI6OmRpZFNlbmREYXRhKFdl
YlVSTExvYWRlciosIHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcg
bG9uZyB0b3RhbEJ5dGVzVG9CZVNlbnQpCit7CisgICAgbV9yZWFsQ2xpZW50LT5kaWRTZW5kRGF0
YSh0aGlzLCBieXRlc1NlbnQsIHRvdGFsQnl0ZXNUb0JlU2VudCk7Cit9CisKK3ZvaWQgQXNzb2Np
YXRlZFVSTExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYlVSTExvYWRlciosIGNvbnN0IFdl
YlVSTFJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICBtX3JlYWxDbGllbnQtPmRpZFJlY2VpdmVS
ZXNwb25zZSh0aGlzLCByZXNwb25zZSk7Cit9CisKK3ZvaWQgQXNzb2NpYXRlZFVSTExvYWRlcjo6
ZGlkRG93bmxvYWREYXRhKFdlYlVSTExvYWRlciosIGludCBkYXRhTGVuZ3RoKQoreworICAgIG1f
cmVhbENsaWVudC0+ZGlkRG93bmxvYWREYXRhKHRoaXMsIGRhdGFMZW5ndGgpOworfQorCit2b2lk
IEFzc29jaWF0ZWRVUkxMb2FkZXI6OmRpZFJlY2VpdmVEYXRhKFdlYlVSTExvYWRlciosIGNvbnN0
IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKQoreworICAgIG1fcmVhbENsaWVudC0+ZGlkUmVj
ZWl2ZURhdGEodGhpcywgZGF0YSwgZGF0YUxlbmd0aCk7Cit9CisKK3ZvaWQgQXNzb2NpYXRlZFVS
TExvYWRlcjo6ZGlkUmVjZWl2ZUNhY2hlZE1ldGFkYXRhKFdlYlVSTExvYWRlciosIGNvbnN0IGNo
YXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKQoreworICAgIG1fcmVhbENsaWVudC0+ZGlkUmVjZWl2
ZUNhY2hlZE1ldGFkYXRhKHRoaXMsIGRhdGEsIGRhdGFMZW5ndGgpOworfQorCit2b2lkIEFzc29j
aWF0ZWRVUkxMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoV2ViVVJMTG9hZGVyKiwgZG91YmxlIGZp
bmlzaFRpbWUpCit7CisgICAgbV9yZWFsQ2xpZW50LT5kaWRGaW5pc2hMb2FkaW5nKHRoaXMsIGZp
bmlzaFRpbWUpOworfQorCit2b2lkIEFzc29jaWF0ZWRVUkxMb2FkZXI6OmRpZEZhaWwoV2ViVVJM
TG9hZGVyKiwgY29uc3QgV2ViVVJMRXJyb3ImIGVycm9yKQoreworICAgIG1fcmVhbENsaWVudC0+
ZGlkRmFpbCh0aGlzLCBlcnJvcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDog
V2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NvY2lhdGVkVVJMTG9hZGVyLmgNCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t
LSBXZWJLaXQvY2hyb21pdW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuaAkocmV2aXNpb24gNzQw
MzcpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0Fzc29jaWF0ZWRVUkxMb2FkZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2RlZmluZSBBc3NvY2lhdGVkVVJMTG9hZGVyX2gK
IAogI2luY2x1ZGUgIldlYlVSTExvYWRlci5oIgorI2luY2x1ZGUgIldlYlVSTExvYWRlckNsaWVu
dC5oIgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
QEAgLTQxLDcgKzQyLDggQEAgY2xhc3MgV2ViRnJhbWVJbXBsOwogCiAvLyBUaGlzIGNsYXNzIGlz
IHVzZWQgdG8gaW1wbGVtZW50IFdlYkZyYW1lOjpjcmVhdGVBc3NvY2lhdGVkVVJMTG9hZGVyLgog
Ly8gRklYTUU6IEltcGxlbWVudCBpbiB0ZXJtcyBvZiBXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRl
ci4KLWNsYXNzIEFzc29jaWF0ZWRVUkxMb2FkZXIgOiBwdWJsaWMgV2ViVVJMTG9hZGVyIHsKK2Ns
YXNzIEFzc29jaWF0ZWRVUkxMb2FkZXIgOiBwdWJsaWMgV2ViVVJMTG9hZGVyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHB1YmxpYyBXZWJVUkxMb2FkZXJDbGllbnQgewogcHVibGljOgog
ICAgIEFzc29jaWF0ZWRVUkxMb2FkZXIoUGFzc1JlZlB0cjxXZWJGcmFtZUltcGw+KTsKICAgICB+
QXNzb2NpYXRlZFVSTExvYWRlcigpOwpAQCAtNTIsMTEgKzU0LDIyIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgY2FuY2VsKCk7CiAgICAgdmlydHVhbCB2b2lkIHNldERlZmVyc0xvYWRpbmco
Ym9vbCk7CiAKKyAgICAvLyBXZWJVUkxMb2FkZXJDbGllbnQgbWV0aG9kczoKKyAgICB2aXJ0dWFs
IHZvaWQgd2lsbFNlbmRSZXF1ZXN0KFdlYlVSTExvYWRlciosIFdlYlVSTFJlcXVlc3QmIG5ld1Jl
cXVlc3QsIGNvbnN0IFdlYlVSTFJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGlkU2VuZERhdGEoV2ViVVJMTG9hZGVyKiwgdW5zaWduZWQgbG9uZyBsb25nIGJ5
dGVzU2VudCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCk7CisgICAgdmly
dHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShXZWJVUkxMb2FkZXIqLCBjb25zdCBXZWJVUkxS
ZXNwb25zZSYpOworICAgIHZpcnR1YWwgdm9pZCBkaWREb3dubG9hZERhdGEoV2ViVVJMTG9hZGVy
KiwgaW50IGRhdGFMZW5ndGgpOworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShXZWJV
UkxMb2FkZXIqLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCk7CisgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVDYWNoZWRNZXRhZGF0YShXZWJVUkxMb2FkZXIqLCBjb25zdCBjaGFy
KiBkYXRhLCBpbnQgZGF0YUxlbmd0aCk7CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRp
bmcoV2ViVVJMTG9hZGVyKiwgZG91YmxlIGZpbmlzaFRpbWUpOworICAgIHZpcnR1YWwgdm9pZCBk
aWRGYWlsKFdlYlVSTExvYWRlciosIGNvbnN0IFdlYlVSTEVycm9yJik7CisKIHByaXZhdGU6CiAg
ICAgdm9pZCBwcmVwYXJlUmVxdWVzdChXZWJVUkxSZXF1ZXN0Jik7CiAKICAgICBSZWZQdHI8V2Vi
RnJhbWVJbXBsPiBtX2ZyYW1lSW1wbDsKICAgICBPd25QdHI8V2ViVVJMTG9hZGVyPiBtX3JlYWxM
b2FkZXI7CisgICAgV2ViVVJMTG9hZGVyQ2xpZW50KiBtX3JlYWxDbGllbnQ7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQK
</data>
<flag name="review"
          id="67550"
          type_id="1"
          status="+"
          setter="dglazkov"
    />
    <flag name="commit-queue"
          id="67551"
          type_id="3"
          status="+"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>