<?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>35327</bug_id>
          
          <creation_ts>2010-02-23 21:40:05 -0800</creation_ts>
          <short_desc>supportsMuting() Should be internal interface between MediaPlayer and MediaPlayerPrivate</short_desc>
          <delta_ts>2010-02-24 21:25:46 -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>Media</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>0</everconfirmed>
          <reporter name="Nick Young">nicholas.young</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>193237</commentid>
    <comment_count>0</comment_count>
    <who name="Nick Young">nicholas.young</who>
    <bug_when>2010-02-23 21:40:05 -0800</bug_when>
    <thetext>At the moment there is a bug with supportsMuting() under the following scenario:

1. setMuted() is called on the HTMLMediaElement before the MediaPlayer is constructed in loadResource().
m_muted in HTMLMediaElement is set to true, but nothing else of interest happens.

2. The MediaPlayer is contructed during loadResource and updateVolume() is called.
updateVolume() assumes that supportsMuting() == false, and sets the volume of the MediaPlayer to 0 (because m_muted is true).

3. MediaPlayer loads a media engine which supports muting. Subsequent calls to supportsMuting() will return true.

4. Attempting to unmute the media element at this point is unsuccessful. MediaPlayer::m_muted changes, but MediaPlayer::m_volume is still zero.

This can be solved by making sure that HTMLMediaElement::updateVolume() checks for supportsMuting(), and moving the call to updateVolume() in loadResource() to after the call to load() (i.e. Media Engine Selection).

HOWEVER, I don&apos;t believe this is the correct solution. Why are we exposing supportsMuting() to HTMLMediaElement at all?
This should be interface which exists only between MediaPlayer and MediaPlayerPrivate.

Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193238</commentid>
    <comment_count>1</comment_count>
      <attachid>49356</attachid>
    <who name="Nick Young">nicholas.young</who>
    <bug_when>2010-02-23 21:52:47 -0800</bug_when>
    <thetext>Created attachment 49356
Initial Patch

Cleaner interface. Solves a bug.

Win-Win :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193337</commentid>
    <comment_count>2</comment_count>
      <attachid>49356</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2010-02-24 07:17:38 -0800</bug_when>
    <thetext>Comment on attachment 49356
Initial Patch

Very nice, thank you!

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193603</commentid>
    <comment_count>3</comment_count>
      <attachid>49356</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-24 19:34:40 -0800</bug_when>
    <thetext>Comment on attachment 49356
Initial Patch

Clearing flags on attachment: 49356

Committed r55213: &lt;http://trac.webkit.org/changeset/55213&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193604</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-02-24 19:34:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49356</attachid>
            <date>2010-02-23 21:52:47 -0800</date>
            <delta_ts>2010-02-24 19:34:40 -0800</delta_ts>
            <desc>Initial Patch</desc>
            <filename>supports-muting.txt</filename>
            <type>text/plain</type>
            <size>3333</size>
            <attacher name="Nick Young">nicholas.young</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZjYwNjc2MS4uMzI1M2M5ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0wMi0yMyAgTmljaG9sYXMgWW91
bmcgIDxuaWNob2xhcy55b3VuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgc3VwcG9ydHNNdXRpbmcoKSBzaG91bGQgYmUgYW4gaW50
ZXJuYWwgaW50ZXJmYWNlIGJldHdlZW4gTWVkaWFQbGF5ZXIgYW5kIE1lZGlhUGxheWVyUHJpdmF0
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzI3
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBSZWZhY3RvcmluZyBPbmx5LgorCisgICAgICAgICog
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnNldE11dGVkKTogRG8gbm90IGNoZWNrIHN1cHBvcnRzTXV0aW5nKCkKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZVZvbHVtZSk6IFNldCB2b2x1bWUgYW5k
IG11dGVkCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6OnNldFZvbHVtZSk6IENoZWNrIHN1cHBvcnRzTXV0
aW5nKCkKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyOjpzZXRNdXRlZCk6IENoZWNrIHN1
cHBvcnRzTXV0aW5nKCkKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5o
OiBSZW1vdmUgc3VwcG9ydHNNdXRpbmcoKQorCiAyMDEwLTAyLTIzICBEbWl0cnkgVGl0b3YgIDxk
aW1pY2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGEzZTRhNDguLmY0ZTVkNDYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTEyMzUsNyArMTIzNSw3IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6c2V0TXV0ZWQoYm9vbCBtdXRlZCkKICAgICAgICAgbV9tdXRlZCA9IG11dGVkOwog
ICAgICAgICAvLyBBdm9pZCByZWN1cnNpb24gd2hlbiB0aGUgcGxheWVyIHJlcG9ydHMgdm9sdW1l
IGNoYW5nZXMuCiAgICAgICAgIGlmICghcHJvY2Vzc2luZ01lZGlhUGxheWVyQ2FsbGJhY2soKSkg
ewotICAgICAgICAgICAgaWYgKG1fcGxheWVyICYmIG1fcGxheWVyLT5zdXBwb3J0c011dGluZygp
KSB7CisgICAgICAgICAgICBpZiAobV9wbGF5ZXIpIHsKICAgICAgICAgICAgICAgICBtX3BsYXll
ci0+c2V0TXV0ZWQobV9tdXRlZCk7CiAgICAgICAgICAgICAgICAgaWYgKHJlbmRlcmVyKCkpCiAg
ICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUZyb21FbGVtZW50KCk7CkBAIC0x
NjM5LDcgKzE2MzksOCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZVZvbHVtZSgpCiAg
ICAgICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVudCgpLT5wYWdlKCk7CiAgICAgICAgIGZsb2F0IHZv
bHVtZU11bHRpcGxpZXIgPSBwYWdlID8gcGFnZS0+bWVkaWFWb2x1bWUoKSA6IDE7CiAgICAgCi0g
ICAgICAgIG1fcGxheWVyLT5zZXRWb2x1bWUobV9tdXRlZCA/IDAgOiBtX3ZvbHVtZSAqIHZvbHVt
ZU11bHRpcGxpZXIpOworICAgICAgICBtX3BsYXllci0+c2V0TXV0ZWQobV9tdXRlZCk7CisgICAg
ICAgIG1fcGxheWVyLT5zZXRWb2x1bWUobV92b2x1bWUgKiB2b2x1bWVNdWx0aXBsaWVyKTsKICAg
ICB9CiAgICAgCiAgICAgaWYgKHJlbmRlcmVyKCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuY3BwCmluZGV4IGZmOTMwM2EuLjY5OTg1NzAgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0zOTgsNyArMzk4LDkgQEAgZmxvYXQgTWVk
aWFQbGF5ZXI6OnZvbHVtZSgpIGNvbnN0CiB2b2lkIE1lZGlhUGxheWVyOjpzZXRWb2x1bWUoZmxv
YXQgdm9sdW1lKQogewogICAgIG1fdm9sdW1lID0gdm9sdW1lOwotICAgIG1fcHJpdmF0ZS0+c2V0
Vm9sdW1lKHZvbHVtZSk7ICAgCisKKyAgICBpZiAobV9wcml2YXRlLT5zdXBwb3J0c011dGluZygp
IHx8ICFtX211dGVkKQorICAgICAgICBtX3ByaXZhdGUtPnNldFZvbHVtZSh2b2x1bWUpOwogfQog
CiBib29sIE1lZGlhUGxheWVyOjptdXRlZCgpIGNvbnN0CkBAIC00MDYsMTUgKzQwOCwxNCBAQCBi
b29sIE1lZGlhUGxheWVyOjptdXRlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fbXV0ZWQ7CiB9CiAK
LWJvb2wgTWVkaWFQbGF5ZXI6OnN1cHBvcnRzTXV0aW5nKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
bV9wcml2YXRlLT5zdXBwb3J0c011dGluZygpOwotfQotCiB2b2lkIE1lZGlhUGxheWVyOjpzZXRN
dXRlZChib29sIG11dGVkKQogewogICAgIG1fbXV0ZWQgPSBtdXRlZDsKLSAgICBtX3ByaXZhdGUt
PnNldE11dGVkKG11dGVkKTsKKworICAgIGlmIChtX3ByaXZhdGUtPnN1cHBvcnRzTXV0aW5nKCkp
CisgICAgICAgIG1fcHJpdmF0ZS0+c2V0TXV0ZWQobXV0ZWQpOworICAgIGVsc2UKKyAgICAgICAg
bV9wcml2YXRlLT5zZXRWb2x1bWUobXV0ZWQgPyAwIDogbV92b2x1bWUpOwogfQogCiBib29sIE1l
ZGlhUGxheWVyOjpoYXNDbG9zZWRDYXB0aW9ucygpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmgKaW5kZXggMWNhNDU3Ni4uM2FhYTJhZiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaApAQCAtMTg0LDcgKzE4NCw2IEBAIHB1YmxpYzoKICAg
ICBmbG9hdCB2b2x1bWUoKSBjb25zdDsKICAgICB2b2lkIHNldFZvbHVtZShmbG9hdCk7CiAKLSAg
ICBib29sIHN1cHBvcnRzTXV0aW5nKCkgY29uc3Q7CiAgICAgYm9vbCBtdXRlZCgpIGNvbnN0Owog
ICAgIHZvaWQgc2V0TXV0ZWQoYm9vbCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>