<?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>64525</bug_id>
          
          <creation_ts>2011-07-14 05:54:40 -0700</creation_ts>
          <short_desc>MediaStream API: Release script objects when detaching document</short_desc>
          <delta_ts>2011-09-15 23:59:22 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>68171</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>56459</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Henrik Grunell">grunell</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>donggwan.kim</cc>
    
    <cc>tommyw</cc>
    
    <cc>tonyg</cc>
    
    <cc>wjjeon</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>437042</commentid>
    <comment_count>0</comment_count>
    <who name="Henrik Grunell">grunell</who>
    <bug_when>2011-07-14 05:54:40 -0700</bug_when>
    <thetext>We need to release the clients held by MediaStreamFrameController when a document is detached since they are not valid for the new document. A specific problem that this solves: a LocalMediaStream object should stop [it&apos;s generation of media] when a web page is reloaded. This is not the case today, meaning that a camera capture device will be blocked until the garbage collector has deleted the old document (which would in turn delete and stop the MediaStream objects).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437621</commentid>
    <comment_count>1</comment_count>
      <attachid>100945</attachid>
    <who name="Henrik Grunell">grunell</who>
    <bug_when>2011-07-15 01:08:40 -0700</bug_when>
    <thetext>Created attachment 100945
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437639</commentid>
    <comment_count>2</comment_count>
      <attachid>100945</attachid>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2011-07-15 02:32:23 -0700</bug_when>
    <thetext>Comment on attachment 100945
Patch

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

r- for lack of test

&gt; Source/WebCore/ChangeLog:10
&gt; +        No new tests because the patch is just a bug fix.

In WebKit, fixing a bug is usually a great reason to add a test. This is the sort of edge case that could easily break during future refactoring, so please add a test so we don&apos;t regress here.

&gt; Source/WebCore/dom/Document.cpp:1778
&gt; +        if (mediaStreamFrameController)

If you prefer, a common idiom in WebKit is:

if (MediaStreamFrameController* mediaStreamFrameController = m_frame-&gt;mediaStreamFrameController())
    mediaStreamFrameController-&gt;clearAllClients();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>437678</commentid>
    <comment_count>3</comment_count>
      <attachid>100945</attachid>
    <who name="John Knottenbelt">jknotten</who>
    <bug_when>2011-07-15 05:44:18 -0700</bug_when>
    <thetext>Comment on attachment 100945
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        No new tests because the patch is just a bug fix.
&gt; 
&gt; In WebKit, fixing a bug is usually a great reason to add a test. This is the sort of edge case that could easily break during future refactoring, so please add a test so we don&apos;t regress here.

Check out LayoutTests/fast/dom/Geolocation/page-reload-cancel-permission-requests.html for a possible way to do a test involving a reload.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468344</commentid>
    <comment_count>4</comment_count>
    <who name="Henrik Grunell">grunell</who>
    <bug_when>2011-09-15 23:59:22 -0700</bug_when>
    <thetext>The MediaStream object handling will be rewritten in bug 68171, and that change shall ensure that the issue described in this bug is resolved.

*** This bug has been marked as a duplicate of bug 68171 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100945</attachid>
            <date>2011-07-15 01:08:40 -0700</date>
            <delta_ts>2011-07-15 05:44:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64525-20110715100839.patch</filename>
            <type>text/plain</type>
            <size>4237</size>
            <attacher name="Henrik Grunell">grunell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTEwNTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ZTI2YWIxNzJlMDg2NTBh
MWM4MzNlN2FjMzNmYzIzZTZjNDU4YWI1Li5hMTg2ZmY3NzZjMDU2ODg5ZGJkYmU2OTZmZGI0M2Ez
Njk0ODMyNzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDctMTUgIEhlbnJp
ayBHcnVuZWxsICA8Z3J1bmVsbEBnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFtIEFQ
STogUmVsZWFzZSBzY3JpcHQgb2JqZWN0cyB3aGVuIGRldGFjaGluZyBkb2N1bWVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1MjUKKworICAgICAg
ICBXZSBuZWVkIHRvIHJlbGVhc2UgdGhlIGNsaWVudHMgaGVsZCBieSBNZWRpYVN0cmVhbUZyYW1l
Q29udHJvbGxlciB3aGVuIGEgZG9jdW1lbnQgaXMgZGV0YWNoZWQgc2luY2UgdGhleSBhcmUgbm90
IHZhbGlkIGZvciB0aGUgbmV3IGRvY3VtZW50LiBBIHNwZWNpZmljIHByb2JsZW0gdGhhdCB0aGlz
IHNvbHZlczogYSBMb2NhbE1lZGlhU3RyZWFtIG9iamVjdCBzaG91bGQgc3RvcCBbaXQncyBnZW5l
cmF0aW9uIG9mIG1lZGlhXSB3aGVuIGEgd2ViIHBhZ2UgaXMgcmVsb2FkZWQuIFRoaXMgaXMgbm90
IHRoZSBjYXNlIHRvZGF5LCBtZWFuaW5nIHRoYXQgYSBjYW1lcmEgY2FwdHVyZSBkZXZpY2Ugd2ls
bCBiZSBibG9ja2VkIHVudGlsIHRoZSBnYXJiYWdlIGNvbGxlY3RvciBoYXMgZGVsZXRlZCB0aGUg
b2xkIGRvY3VtZW50ICh3aGljaCB3b3VsZCBpbiB0dXJuIGRlbGV0ZSBhbmQgc3RvcCB0aGUgTWVk
aWFTdHJlYW0gb2JqZWN0cykuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlIHBhdGNoIGlzIGp1c3QgYSBidWcg
Zml4LgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpkZXRhY2gpOgorICAgICAgICAqIHBhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OmRp
c2Nvbm5lY3RGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbUZyYW1lQ29udHJv
bGxlcjo6Y2xlYXJBbGxDbGllbnRzKToKKyAgICAgICAgKiBwYWdlL01lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyLmg6CisKIDIwMTEtMDctMTUgIEFsZXhhbmRydSBDaGljdWxpdGEgIDxhY2hpY3VA
YWRvYmUuY29tPgogCiAgICAgICAgIE1vdmUgdXNlUmVwYWludEJvdW5kcyBmcm9tIFJlbmRlckJs
b2NrOjpsYXlvdXRSdW5zQW5kRmxvYXRzIHRvIExpbmVMYXlvdXRTdGF0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKaW5kZXggZDJlMDk0NGZlZTdlY2NmMTZiNTQ1OTE3ZGNmNDk1MGE4MGFkOWEzNy4u
ODljNzQ3ZWFhNGRjNDE2YzA1NzE3ZmE5YzQ1YzRhMGZiNDAxN2M2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCkBAIC0yMTMsNiArMjEzLDEwIEBACiAjaW5jbHVkZSAiU2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisjaW5j
bHVkZSAiTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1l
c3BhY2Ugc3RkOwogdXNpbmcgbmFtZXNwYWNlIFdURjsKIHVzaW5nIG5hbWVzcGFjZSBVbmljb2Rl
OwpAQCAtMTc2OCw2ICsxNzcyLDE0IEBAIHZvaWQgRG9jdW1lbnQ6OmRldGFjaCgpCiAgICAgQVNT
RVJUKGF0dGFjaGVkKCkpOwogICAgIEFTU0VSVCghbV9pblBhZ2VDYWNoZSk7CiAKKyNpZiBFTkFC
TEUoTUVESUFfU1RSRUFNKQorICAgIGlmIChtX2ZyYW1lKSB7CisgICAgICAgIE1lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyKiBtZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlciA9IG1fZnJhbWUtPm1l
ZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyKCk7CisgICAgICAgIGlmIChtZWRpYVN0cmVhbUZyYW1l
Q29udHJvbGxlcikKKyAgICAgICAgICAgIG1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLT5jbGVh
ckFsbENsaWVudHMoKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGNsZWFyQVhPYmplY3RDYWNoZSgp
OwogICAgIHN0b3BBY3RpdmVET01PYmplY3RzKCk7CiAgICAgbV9ldmVudFF1ZXVlLT5jYW5jZWxR
dWV1ZWRFdmVudHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJl
YW1GcmFtZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZy
YW1lQ29udHJvbGxlci5jcHAKaW5kZXggNWU5NGI4MjhlNTQwZjA2N2QyOTlkMzI3NzkzNzk5ZGJl
Yzc0MzM4Zi4uNWQ4MzkwZDA1MGU4NGEzYzQwYWQzZDk5MmUzMzViYjg4ZThkMThmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAK
QEAgLTIyNCwxMiArMjI0LDIxIEBAIHZvaWQgTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXI6OmRp
c2Nvbm5lY3RGcmFtZSgpCiAgICAgZGlzY29ubmVjdFBhZ2UoKTsKIAogICAgIEFTU0VSVChtX3Jl
cXVlc3RzLmlzRW1wdHkoKSk7Ci0gICAgbV9zdHJlYW1zLnVucmVnaXN0ZXJBbGwoKTsKLSAgICBt
X2NsaWVudHMudW5yZWdpc3RlckFsbCgpOworICAgIGNsZWFyQWxsQ2xpZW50cygpOwogCiAgICAg
bV9mcmFtZSA9IDA7CiB9CiAKKy8vIENhbGxlZCB3aGVuIGRpc2Nvbm5lY3RpbmcgdGhlIGZyYW1l
IGFuZCB3aGVuIGRldGFjaGluZyB0aGUgZG9jdW1lbnQuIFRoZSBsYXR0ZXIgaXMgcmVxdWlyZWQg
dG8gZW5zdXJlIHRoYXQgYW55IHJlc291cmNlcworLy8gdXNlZCBieSB0aGUgY2xpZW50cyBhcmUg
cHJvcGVybHkgZGVhbGxvY2F0ZWQgYmVmb3JlIHJlbG9hZGluZyB0aGUgcGFnZSwgaW5kZXBlbmRl
bnRseSBvZiB0aGUgZ2FyYmFnZSBjb2xsZWN0aW9uIGludGVybmFscy4KKy8vIE90aGVyd2lzZSB0
aGlzIG1heSBsZWFkIHRvIGFjY2VzcyBlcnJvcnMgYWZ0ZXIgcmVsb2FkaW5nIGJlY2F1c2UgZGV2
aWNlcyBiZWluZyBzdGlsbCBsb2NrZWQgYnkgbm9uLWNvbGxlY3RlZCBsb2NhbCBzdHJlYW1zLgor
dm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6Y2xlYXJBbGxDbGllbnRzKCkKK3sKKyAg
ICBtX3N0cmVhbXMudW5yZWdpc3RlckFsbCgpOworICAgIG1fY2xpZW50cy51bnJlZ2lzdGVyQWxs
KCk7Cit9CisKKwogdm9pZCBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlcjo6dHJhbnNmZXJUb05l
d1BhZ2UoUGFnZSopCiB7CiAgICAgLy8gRklYTUU6IEluIHRoZSBmdXR1cmUgd2Ugc2hvdWxkIGtl
ZXAgcnVubmluZyB0aGUgbWVkaWEgc3RyZWFtIHNlcnZpY2VzIHdoaWxlIHRyYW5zZmVyaW5nIGZy
YW1lcyBiZXR3ZWVuIHBhZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRp
YVN0cmVhbUZyYW1lQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NZWRpYVN0cmVh
bUZyYW1lQ29udHJvbGxlci5oCmluZGV4IDc1MDJlZWQ4ZTU0YTQ4OTJkYmRiNGJkZjk5YzMyNTg1
YzMzNWMzYjguLmVhMzc3MmE1ZjMwMzliMDcwOWZkNTJjZjFmYmZjMWMwMjkwNTIwYjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmgKQEAg
LTE0NSw2ICsxNDUsNyBAQCBwdWJsaWM6CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0OwogCiAgICAgYm9vbCBpc0NsaWVudEF2YWlsYWJs
ZSgpIGNvbnN0OworICAgIHZvaWQgY2xlYXJBbGxDbGllbnRzKCk7CiAgICAgdm9pZCBkaXNjb25u
ZWN0UGFnZSgpOwogICAgIHZvaWQgZGlzY29ubmVjdEZyYW1lKCk7CiAgICAgdm9pZCB0cmFuc2Zl
clRvTmV3UGFnZShQYWdlKik7Cg==
</data>
<flag name="review"
          id="95728"
          type_id="1"
          status="-"
          setter="tonyg"
    />
          </attachment>
      

    </bug>

</bugzilla>