<?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>5365</bug_id>
          
          <creation_ts>2005-10-13 04:23:01 -0700</creation_ts>
          <short_desc>QuickTime plugin keeps playing audio after being destroyed</short_desc>
          <delta_ts>2005-12-14 14:15:43 -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>Plug-ins</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>mitz</reporter>
          <assigned_to name="Chris Blumenberg">cblu</assigned_to>
          <cc>chris.giddings</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>21967</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-10-13 04:23:01 -0700</bug_when>
    <thetext>Summary: The QuickTime plugin continues to play audio after the OBJECT or EMBED element containing 
it is removed from the page.

To reproduce:
1) Open the testcase in Safari
2) As soon as audio starts, click the Remove OBJECT link
3) Close the window

Expected: audio to stop in step 2

Actual: audio only stops in step 3

More information: when the OBJECT element is removed, QWidget::removeFromSuperview() is called, 
which sends -removeFromSuperview on the plugin&apos;s NSView. In WebNetscapePluginView, this stops the 
plugin. In the QuickTime plugin, it does not. The view is only deallocated when the window is closed, 
and then audio stops.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21968</commentid>
    <comment_count>1</comment_count>
      <attachid>4340</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-13 04:25:31 -0700</bug_when>
    <thetext>Created attachment 4340
testcase (uses external resource)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22092</commentid>
    <comment_count>2</comment_count>
      <attachid>4360</attachid>
    <who name="">mitz</who>
    <bug_when>2005-10-14 09:09:31 -0700</bug_when>
    <thetext>Created attachment 4360
stop and destroy plugin when removed

Send -webPlugInStop (or -pluginStop) and -webPluginDestroy (or -pluginDestroy)
to complying plugins right when they&apos;re removed from the WebHTMLView, and also
release them from the plugin controller&apos;s arrays.

I think this patch makes WebKit behave more like plugins expect it to, which is
the way it already behaves with Netscape plugins.

I expect complying plugins to stop making noise when receiving the stop
message, but QuickTime doesn&apos;t. If it&apos;s lucky, then it will be deallocated
because of the release and will stop then. However, JS, for one, can retain the
plugin (e.g. if you execute &lt;javascript:document.getElementById(&apos;obj&apos;).width;&gt;
before clicking Remove OBJECT), in which case it will just keep playing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22194</commentid>
    <comment_count>3</comment_count>
      <attachid>4360</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-10-17 20:44:18 -0700</bug_when>
    <thetext>Comment on attachment 4360
stop and destroy plugin when removed

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22829</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-10-24 13:14:58 -0700</bug_when>
    <thetext>Tim Omernick landed the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25977</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-12-14 14:15:43 -0800</bug_when>
    <thetext>*** Bug 6082 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>4340</attachid>
            <date>2005-10-13 04:25:31 -0700</date>
            <delta_ts>2005-10-13 04:25:31 -0700</delta_ts>
            <desc>testcase (uses external resource)</desc>
            <filename>QTAudioContinues.html</filename>
            <type>text/html</type>
            <size>947</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">PGh0bWw+PGhlYWQ+PHRpdGxlPlF1aWNrVGltZSBhdWRpbyBjb250aW51ZXMgYWZ0ZXIgT0JKRUNU
IHJlbW92YWw8L3RpdGxlPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9ImZlUGxhY2VIb2xkZXIiPgo8
b2JqZWN0IGlkPSJvYmoiIGNsYXNzaWQ9Y2xzaWQ6MDJCRjI1RDUtOEMxNy00QjIzLUJDODAtRDM0
ODhBQkREQzZCIGNvZGViYXNlPSJodHRwOi8vd3d3LmFwcGxlLmNvbS9xdGFjdGl2ZXgvcXRwbHVn
aW4uY2FiIiB3aWR0aD00MDAgaGVpZ2h0PTI1MD4KPHBhcmFtIG5hbWU9ImNhY2hlIiB2YWx1ZT10
cnVlPgo8cGFyYW0gbmFtZT0iZW5hYmxlamF2YXNjcmlwdCIgdmFsdWU9ZmFsc2U+CjxwYXJhbSBp
ZD0ic3JjIiBuYW1lPSJzcmMiIHZhbHVlPSJodHRwOi8vd3d3LmZyZWVwbGF5bXVzaWMuY29tL3Nl
YXJjaC9kb3dubG9hZF9wcmV2aWV3L2lkLzIxL2R1ci8xNS90eXBlL21wMy9tc2hhY2svZnBtcHJl
dmlldy5tcDMiPgo8cGFyYW0gbmFtZT0iYXV0b3BsYXkiIHZhbHVlPXRydWU+CjxwYXJhbSBuYW1l
PSJjb250cm9sbGVyIiB2YWx1ZT10cnVlPgo8L29iamVjdD4KPC9kaXY+CjxhIGhyZWY9ImphdmFz
Y3JpcHQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZlUGxhY2VIb2xkZXInKS5yZW1vdmVDaGls
ZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb2JqJykpOyI+UmVtb3ZlIE9CSkVDVDwvYT4KPGEg
aHJlZj0iamF2YXNjcmlwdDpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3JjJykucGFyZW50Tm9k
ZS5yZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3JjJykpOyI+UmVtb3ZlIHNy
YzwvYT4KPGEgaHJlZj0iamF2YXNjcmlwdDpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZmVQbGFj
ZUhvbGRlcicpLmlubmVySFRNTCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmZVBsYWNlSG9s
ZGVyJykuaW5uZXJIVE1MOyI+TW9yZSE8L2E+CjwvYm9keT4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4360</attachid>
            <date>2005-10-14 09:09:31 -0700</date>
            <delta_ts>2005-10-17 20:44:18 -0700</delta_ts>
            <desc>stop and destroy plugin when removed</desc>
            <filename>5365_r1.patch</filename>
            <type>text/plain</type>
            <size>2511</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFBsdWdpbnMuc3VicHJvai9XZWJQbHVnaW5Db250cm9sbGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS
Q1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9QbHVnaW5zLnN1YnByb2ovV2ViUGx1Z2luQ29udHJv
bGxlci5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE0CmRpZmYgLXAgLXUgLXIxLjE0IFdlYlBs
dWdpbkNvbnRyb2xsZXIuaAotLS0gUGx1Z2lucy5zdWJwcm9qL1dlYlBsdWdpbkNvbnRyb2xsZXIu
aAk1IEp1biAyMDA1IDE3OjU0OjM1IC0wMDAwCTEuMTQKKysrIFBsdWdpbnMuc3VicHJvai9XZWJQ
bHVnaW5Db250cm9sbGVyLmgJMTQgT2N0IDIwMDUgMTU6NTY6MTkgLTAwMDAKQEAgLTQ3LDYgKzQ3
LDcgQEAKIC0gKGlkKWluaXRXaXRoRG9jdW1lbnRWaWV3OihOU1ZpZXcgKil2aWV3OwogCiAtICh2
b2lkKWFkZFBsdWdpbjooTlNWaWV3ICopdmlldzsKKy0gKHZvaWQpZGVzdHJveVBsdWdpbjooTlNW
aWV3ICopdmlldzsKIAogLSAodm9pZClzdGFydEFsbFBsdWdpbnM7CiAtICh2b2lkKXN0b3BBbGxQ
bHVnaW5zOwpJbmRleDogUGx1Z2lucy5zdWJwcm9qL1dlYlBsdWdpbkNvbnRyb2xsZXIubQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViS2l0L1BsdWdpbnMuc3VicHJvai9XZWJQbHVn
aW5Db250cm9sbGVyLm0sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNDQKZGlmZiAtcCAtdSAtcjEu
NDQgV2ViUGx1Z2luQ29udHJvbGxlci5tCi0tLSBQbHVnaW5zLnN1YnByb2ovV2ViUGx1Z2luQ29u
dHJvbGxlci5tCTUgSnVuIDIwMDUgMTc6NTQ6MzUgLTAwMDAJMS40NAorKysgUGx1Z2lucy5zdWJw
cm9qL1dlYlBsdWdpbkNvbnRyb2xsZXIubQkxNCBPY3QgMjAwNSAxNTo1NjoyMCAtMDAwMApAQCAt
MTc4LDYgKzE3OCwyNiBAQCBzdGF0aWMgTlNNdXRhYmxlU2V0ICpwbHVnaW5WaWV3cyA9IG5pbDsK
ICAgICB9CiB9CiAKKy0gKHZvaWQpZGVzdHJveVBsdWdpbjooTlNWaWV3ICopdmlldworeworICAg
IGlmIChbX3ZpZXdzIGNvbnRhaW5zT2JqZWN0OnZpZXddKSB7CisgICAgICAgIGlmIChfc3RhcnRl
ZCkgeworICAgICAgICAgICAgaWYgKFt2aWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
d2ViUGx1Z0luU3RvcCldKQorICAgICAgICAgICAgICAgIFt2aWV3IHdlYlBsdWdJblN0b3BdOwor
ICAgICAgICAgICAgZWxzZSBpZiAoW3ZpZXcgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihw
bHVnaW5TdG9wKV0pCisgICAgICAgICAgICAgICAgW3ZpZXcgcGx1Z2luU3RvcF07CisgICAgICAg
ICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAoW3ZpZXcgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3Rvcih3ZWJQbHVnSW5EZXN0cm95KV0pCisgICAgICAgICAgICBbdmlldyB3ZWJQbHVnSW5E
ZXN0cm95XTsKKyAgICAgICAgZWxzZSBpZiAoW3ZpZXcgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3RvcihwbHVnaW5EZXN0cm95KV0pCisgICAgICAgICAgICBbdmlldyBwbHVnaW5EZXN0cm95XTsK
KyAgICAgICAgCisgICAgICAgIFtwbHVnaW5WaWV3cyByZW1vdmVPYmplY3Q6dmlld107CisgICAg
ICAgIFtfdmlld3MgcmVtb3ZlT2JqZWN0OnZpZXddOworICAgIH0KK30KKwogLSAodm9pZClfd2Vi
UGx1Z2luQ29udGFpbmVyQ2FuY2VsQ2hlY2tJZkFsbG93ZWRUb0xvYWRSZXF1ZXN0OihpZCljaGVj
a0lkZW50aWZpZXIKIHsKICAgICBbY2hlY2tJZGVudGlmaWVyIGNhbmNlbF07CkluZGV4OiBXZWJW
aWV3LnN1YnByb2ovV2ViSFRNTFZpZXcubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
V2ViS2l0L1dlYlZpZXcuc3VicHJvai9XZWJIVE1MVmlldy5tLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjQ3NgpkaWZmIC1wIC11IC1yMS40NzYgV2ViSFRNTFZpZXcubQotLS0gV2ViVmlldy5zdWJw
cm9qL1dlYkhUTUxWaWV3Lm0JMTMgT2N0IDIwMDUgMTk6Mzc6MzEgLTAwMDAJMS40NzYKKysrIFdl
YlZpZXcuc3VicHJvai9XZWJIVE1MVmlldy5tCTE0IE9jdCAyMDA1IDE1OjU2OjE5IC0wMDAwCkBA
IC0yMTY5LDYgKzIxNjksMTMgQEAgc3RhdGljIFdlYkhUTUxWaWV3ICpsYXN0SGl0VmlldyA9IG5p
bDsKICAgICB9CiB9CiAKKy0gKHZvaWQpd2lsbFJlbW92ZVN1YnZpZXc6KE5TVmlldyAqKXN1YnZp
ZXcKK3sKKyAgICBpZiAoW1dlYlBsdWdpbkNvbnRyb2xsZXIgaXNQbHVnSW5WaWV3OnN1YnZpZXdd
KQorICAgICAgICBbW3NlbGYgX3BsdWdpbkNvbnRyb2xsZXJdIGRlc3Ryb3lQbHVnaW46c3Vidmll
d107CisgICAgW3N1cGVyIHdpbGxSZW1vdmVTdWJ2aWV3OnN1YnZpZXddOworfQorCiAtICh2b2lk
KXJlYXBwbHlTdHlsZXMKIHsKICAgICBpZiAoIV9wcml2YXRlLT5uZWVkc1RvQXBwbHlTdHlsZXMp
IHsK
</data>
<flag name="review"
          id="742"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>