<?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>14761</bug_id>
          
          <creation_ts>2007-07-24 22:01:48 -0700</creation_ts>
          <short_desc>Web Inspector leaks JS objects and DOM nodes</short_desc>
          <delta_ts>2007-11-15 22:16:17 -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>Web Inspector (Deprecated)</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>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Moe">john</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>aroben</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>3756</commentid>
    <comment_count>0</comment_count>
    <who name="John Moe">john</who>
    <bug_when>2007-07-24 22:01:48 -0700</bug_when>
    <thetext>Open any page, right click Inspect Element, close both windows.  Lots of items will not be garbage collected (heap.numLiveObjects will be large).  You can repeat and the number will continue to grow.


InspectorController::m_scriptObject is never unprotected, because the call to JSObjectSetPrivate() in the InspectorController destructor causes unloading() to never call windowUnloading(). 


A Fix:
In InspectorController.cpp, InspectorController destructor, move:
    m_client-&gt;inspectorDestroyed();

before:
    if (m_scriptContext) {

and remove:
    m_client-&gt;closeWindow();

It seems to fix the leak and things seem to still work, but I&apos;ve been playing with the WebKit code for less than a day, so who knows?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61376</commentid>
    <comment_count>1</comment_count>
      <attachid>17312</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2007-11-15 22:04:04 -0800</bug_when>
    <thetext>Created attachment 17312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61378</commentid>
    <comment_count>2</comment_count>
      <attachid>17312</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-11-15 22:12:46 -0800</bug_when>
    <thetext>Comment on attachment 17312
Patch

r=me, but &quot;Zero&quot; should be &quot;zero&quot; in the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61382</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2007-11-15 22:16:17 -0800</bug_when>
    <thetext>Landed in r27839. http://trac.webkit.org/projects/webkit/changeset/27839

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17312</attachid>
            <date>2007-11-15 22:04:04 -0800</date>
            <delta_ts>2007-11-15 22:12:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>14761.patch</filename>
            <type>text/plain</type>
            <size>1765</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDI3ODM0
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMDctMTEt
MTUgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJ1ZyAxNDc2MTogV2ViIEluc3BlY3Rv
ciBsZWFrcyBKUyBvYmplY3RzIGFuZCBET00gbm9kZXMKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3NjEKKworICAgICAgICAqIHBhZ2UvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjp+
SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgIENoYW5nZSB0aGUgdGVhciBkb3duIG9yZGVy
IHNvIHRoYXQgaW5zcGVjdG9yRGVzdHJveWVkKCkgaXMgY2FsbGVkIGJlZm9yZQorICAgICAgICBJ
bnNwZWN0b3JDb250cm9sbGVyIHByaXZhdGUgZGF0YSBpcyBzZXQgdG8gWmVyby4gVGhlIGluc3Bl
Y3RvckRlc3Ryb3llZCgpCisgICAgICAgIGNhbGwgZW5kcyB1cCBjbG9zaW5nIHRoZSBXZWJWaWV3
IGFuZCB0cmlnZ2VyaW5nIEluc3BlY3RvckNvbnRyb2xsZXI6OmNsb3NlKCkKKyAgICAgICAgd2hp
Y2ggdW5wcm90ZWN0cyBtX3NjcmlwdE9iamVjdC4gVGhpcyBkaWRuJ3QgaGFwcGVuIHdoZW4gdGhl
IHByaXZhdGUgZGF0YQorICAgICAgICB3YXMgY2xlYXJlZCBiZWZvcmUgY2FsbGluZyBpbnNwZWN0
b3JEZXN0cm95ZWQoKS4KKwogMjAwNy0xMS0xNSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBSb3dlIGFuZCBTYW0uCkluZGV4
OiBwYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBhZ2UvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDI3ODM0KQorKysgcGFnZS9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYxLDYgKzU2MSw4IEBAIEluc3BlY3RvckNv
bnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIKIAogSW5zcGVjdG9yQ29udHJvbGxlcjo6fklu
c3BlY3RvckNvbnRyb2xsZXIoKQogeworICAgIG1fY2xpZW50LT5pbnNwZWN0b3JEZXN0cm95ZWQo
KTsKKwogICAgIGlmIChtX3NjcmlwdENvbnRleHQpIHsKICAgICAgICAgSlNPYmplY3RSZWYgZ2xv
YmFsID0gSlNDb250ZXh0R2V0R2xvYmFsT2JqZWN0KG1fc2NyaXB0Q29udGV4dCk7CiAgICAgICAg
IEpTU3RyaW5nUmVmIGNvbnRyb2xsZXJQcm9wZXJ0eSA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJJbnNwZWN0b3JDb250cm9sbGVyIik7CkBAIC01NjksOSArNTcxLDYgQEAgSW5zcGVj
dG9yQ29udHJvbGxlcjo6fkluc3BlY3RvckNvbnRyb2xsZQogICAgICAgICBKU09iamVjdFNldFBy
aXZhdGUoY29udHJvbGxlciwgMCk7CiAgICAgfQogCi0gICAgbV9jbGllbnQtPmNsb3NlV2luZG93
KCk7Ci0gICAgbV9jbGllbnQtPmluc3BlY3RvckRlc3Ryb3llZCgpOwotCiAgICAgaWYgKG1fcGFn
ZSkKICAgICAgICAgbV9wYWdlLT5zZXRQYXJlbnRJbnNwZWN0b3JDb250cm9sbGVyKDApOwogCg==
</data>
<flag name="review"
          id="7386"
          type_id="1"
          status="+"
          setter="mrowe"
    />
          </attachment>
      

    </bug>

</bugzilla>