<?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>31135</bug_id>
          
          <creation_ts>2009-11-04 11:46:56 -0800</creation_ts>
          <short_desc>Volume slider doesn&apos;t have a thumb</short_desc>
          <delta_ts>2009-11-04 16:51:14 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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="Hin-Chung Lam">hclam</reporter>
          <assigned_to name="Hin-Chung Lam">hclam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>scherkus</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>160535</commentid>
    <comment_count>0</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2009-11-04 11:46:56 -0800</bug_when>
    <thetext>Using the latest Chromium port, if you mouse over the mute button, the volume slider pops up but it doesn&apos;t has a thumb. When you mouse over the slider track there will be a crash.

The reason being that in WebCore/rendering/MediaControlElements.cpp:

void MediaControlVolumeSliderElement::update()
{
    float volume = m_mediaElement-&gt;volume();
    if (value().toFloat() != volume) {
        setValue(String::number(volume));
        MediaControlInputElement::update();
    }
}

We don&apos;t call MediaControlInputElement::update() which creates the thumb in RenderSlider if the current value of the slider equals the volume. This statement is wrong, because just when a RenderMedia is created, it sets the slider value using its current volume value. So value().toFloat() will always equals to volume when update() is called.

We can force an update just when we call MediaCotnrolVolumeSliderElement::update() during creation of the element, so the if statement would look like  &quot;if (forceUpdate || value().toFloat() != volume)&quot; but the thumb will disappear when we drag it. This is because of MediaControlVolumeSliderElement::defaultEventHandler():

void MediaControlVolumeSliderElement::defaultEventHandler(Event* event)
{
    // Left button is 0. Rejects mouse events not from left button.
    if (event-&gt;isMouseEvent() &amp;&amp; static_cast&lt;MouseEvent*&gt;(event)-&gt;button())
        return;

    MediaControlInputElement::defaultEventHandler(event);

    if (event-&gt;type() == eventNames().mouseoverEvent || event-&gt;type() == eventNames().mouseoutEvent || event-&gt;type() == eventNames().mousemoveEvent)
        return;

    float volume = narrowPrecisionToFloat(value().toDouble());
    if (volume != m_mediaElement-&gt;volume()) {
        ExceptionCode ec = 0;
        m_mediaElement-&gt;setVolume(volume, ec);
        ASSERT(!ec);
    }
}

We sets the volume of the media element when a mouse event is received, this triggers MediaControlInputElement::update() from RenderMedia::updateControls(). And again, the slider value is the same as the volume so the RenderSlider is never updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160544</commentid>
    <comment_count>1</comment_count>
      <attachid>42506</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2009-11-04 12:01:58 -0800</bug_when>
    <thetext>Created attachment 42506
Patch rev.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160616</commentid>
    <comment_count>2</comment_count>
      <attachid>42523</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2009-11-04 14:53:18 -0800</bug_when>
    <thetext>Created attachment 42523
Patch rev.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160617</commentid>
    <comment_count>3</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2009-11-04 14:54:04 -0800</bug_when>
    <thetext>Update with Eric&apos;s suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160653</commentid>
    <comment_count>4</comment_count>
      <attachid>42523</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2009-11-04 16:32:07 -0800</bug_when>
    <thetext>Comment on attachment 42523
Patch rev.2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160663</commentid>
    <comment_count>5</comment_count>
      <attachid>42523</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-04 16:51:09 -0800</bug_when>
    <thetext>Comment on attachment 42523
Patch rev.2

Clearing flags on attachment: 42523

Committed r50535: &lt;http://trac.webkit.org/changeset/50535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>160664</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-04 16:51:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42506</attachid>
            <date>2009-11-04 12:01:58 -0800</date>
            <delta_ts>2009-11-04 14:53:18 -0800</delta_ts>
            <desc>Patch rev.1 </desc>
            <filename>webkit-volume-slider.patch</filename>
            <type>text/plain</type>
            <size>1870</size>
            <attacher name="Hin-Chung Lam">hclam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzhiZGU2MS4uZmU1ODRhOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAwOS0xMS0wNCAgQWxwaGEgTGFtICA8
aGNsYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFZvbHVtZSBzbGlkZXIgZG9lc24ndCBoYXZlIGEgdGh1bWIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMTM1CisKKyAgICAgICAg
Rml4ZWQgYW4gaW5jb3JyZWN0IGlmIHN0YXRlbWVudCB0aGF0IHByZXZlbnRzIHZvbHVtZSBzbGlk
ZXIKKyAgICAgICAgYmVpbmcgdXBkYXRlZC4KKworICAgICAgICBUaGUgc3RhdGVtZW50IGNoZWNr
cyBpZiB0aGUgc2xpZGVyIHZhbHVlIGVxdWFscyB0byB0aGUgY3VycmVudAorICAgICAgICB2b2x1
bWUgdmFsdWUgb2YgdGhlIG1lZGlhIGNvdG5yb2wgdG8gYXZvaWQgdXBkYXRpbmcgdGhlIHZvbHVt
ZQorICAgICAgICBzbGlkZXIuIFRoaXMgc3RhdGVtZW50IGlzIGluY29ycmVjdCBiZWNhdXNlIHdl
IGV4cGxpY2l0bHkgc2V0CisgICAgICAgIHRoZW0gdG8gYmUgZXF1YWxzIGR1cmluZyBjcmVhdGlv
biBvZiB0aGUgY29udHJvbHMgYW5kIGFsc28KKyAgICAgICAgd2hlbiBtb3VzZSBldmVudHMgYXJl
IHJlY2VpdmVkIG9uIHRoZSB2b2x1bWUgY29udHJvbC4KKworICAgICAgICBObyBuZXcgdGVzdHMg
YmVjYXVzZSBleGlzdGluZyBjb2RlIGJyZWFrczoKKyAgICAgICAgTGF5b3V0VGVzdHMvbWVkaWEv
dmlkZW8tdm9sdW1lLXNsaWRlci5odG1sCisKKyAgICAgICAgSXQgc2hvdWxkIG5vdyBzdGFydCBw
YXNzaW5nIG9uIENocm9taXVtLgorCisgICAgICAgICogcmVuZGVyaW5nL01lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVs
ZW1lbnQ6OnVwZGF0ZSk6CisgICAgICAgIFJlbW92ZWQgdGhlIHByb2JsZW1hdGljIGlmIHN0YXRl
bWVudC4KKwogMjAwOS0xMS0wNCAgSmVyZW15IE9ybG93ICA8am9ybG93QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZlcnQgNTA1MTkgd2hpbGUgSSB3b3JrIG91dCB3aGF0IHdlbnQgd3Jvbmcu
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAg
Yi9XZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggYTU3Yzg2
Ni4uMDAzNDgyZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxl
bWVudHMuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL01lZGlhQ29udHJvbEVsZW1lbnRzLmNw
cApAQCAtNjUwLDEwICs2NTAsOCBAQCB2b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1l
bnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogdm9pZCBNZWRpYUNvbnRyb2xW
b2x1bWVTbGlkZXJFbGVtZW50Ojp1cGRhdGUoKQogewogICAgIGZsb2F0IHZvbHVtZSA9IG1fbWVk
aWFFbGVtZW50LT52b2x1bWUoKTsKLSAgICBpZiAodmFsdWUoKS50b0Zsb2F0KCkgIT0gdm9sdW1l
KSB7Ci0gICAgICAgIHNldFZhbHVlKFN0cmluZzo6bnVtYmVyKHZvbHVtZSkpOwotICAgICAgICBN
ZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6OnVwZGF0ZSgpOwotICAgIH0KKyAgICBzZXRWYWx1ZShT
dHJpbmc6Om51bWJlcih2b2x1bWUpKTsKKyAgICBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6OnVw
ZGF0ZSgpOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>42523</attachid>
            <date>2009-11-04 14:53:18 -0800</date>
            <delta_ts>2009-11-04 16:51:09 -0800</delta_ts>
            <desc>Patch rev.2</desc>
            <filename>webkit-volume-slider.patch</filename>
            <type>text/plain</type>
            <size>1977</size>
            <attacher name="Hin-Chung Lam">hclam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YzhiZGU2MS4uMGEzOWNjMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAwOS0xMS0wNCAgQWxwaGEgTGFtICA8
aGNsYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFZvbHVtZSBzbGlkZXIgZG9lc24ndCBoYXZlIGEgdGh1bWIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMTM1CisKKyAgICAgICAg
Rml4ZWQgYW4gaW5jb3JyZWN0IGlmIHN0YXRlbWVudCB0aGF0IHByZXZlbnRzIHZvbHVtZSBzbGlk
ZXIKKyAgICAgICAgYmVpbmcgdXBkYXRlZC4KKworICAgICAgICBUaGUgc3RhdGVtZW50IGNoZWNr
cyBpZiB0aGUgc2xpZGVyIHZhbHVlIGVxdWFscyB0byB0aGUgY3VycmVudAorICAgICAgICB2b2x1
bWUgdmFsdWUgb2YgdGhlIG1lZGlhIGNvbnRyb2wgdG8gYXZvaWQgdXBkYXRpbmcgdGhlIHZvbHVt
ZQorICAgICAgICBzbGlkZXIuIFVwZGF0aW5nIHRoZSB2b2x1bWUgc2xpZGVyIGNvbnRyb2wgc2hv
dWxkbid0IGJlIHdpdGhpbgorICAgICAgICB0aGlzIGNvbmRpdGlvbiBiZWNhdXNlIHdlIGV4cGxp
Y2l0bHkgc2V0IHRoZW0gdG8gYmUgZXF1YWxzCisgICAgICAgIGR1cmluZyBjcmVhdGlvbiBvZiB0
aGUgY29udHJvbHMgYW5kIGFsc28gd2hlbiBtb3VzZSBldmVudHMgYXJlCisgICAgICAgIHJlY2Vp
dmVkIG9uIHRoZSB2b2x1bWUgY29udHJvbC4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVz
ZSBleGlzdGluZyBjb2RlIGJyZWFrczoKKyAgICAgICAgTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
dm9sdW1lLXNsaWRlci5odG1sCisKKyAgICAgICAgSXQgc2hvdWxkIG5vdyBzdGFydCBwYXNzaW5n
IG9uIENocm9taXVtLgorCisgICAgICAgICogcmVuZGVyaW5nL01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6
OnVwZGF0ZSk6CisgICAgICAgIFVwZGF0ZSB0aGUgdm9sdW1lIHNsaWRlciByZWdhcmRsZXNzIG9m
IHRoZSBjdXJyZW50IHZvbHVtZSB2YWx1ZQorICAgICAgICBvZiB0aGUgbWVkaWEgY29udHJvbC4K
KwogMjAwOS0xMS0wNCAgSmVyZW15IE9ybG93ICA8am9ybG93QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZlcnQgNTA1MTkgd2hpbGUgSSB3b3JrIG91dCB3aGF0IHdlbnQgd3JvbmcuCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgYi9XZWJD
b3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAKaW5kZXggYTU3Yzg2Ni4uNzgy
MTZmYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMu
Y3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcApAQCAt
NjUwLDEwICs2NTAsOSBAQCB2b2lkIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OmRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVT
bGlkZXJFbGVtZW50Ojp1cGRhdGUoKQogewogICAgIGZsb2F0IHZvbHVtZSA9IG1fbWVkaWFFbGVt
ZW50LT52b2x1bWUoKTsKLSAgICBpZiAodmFsdWUoKS50b0Zsb2F0KCkgIT0gdm9sdW1lKSB7Cisg
ICAgaWYgKHZhbHVlKCkudG9GbG9hdCgpICE9IHZvbHVtZSkKICAgICAgICAgc2V0VmFsdWUoU3Ry
aW5nOjpudW1iZXIodm9sdW1lKSk7Ci0gICAgICAgIE1lZGlhQ29udHJvbElucHV0RWxlbWVudDo6
dXBkYXRlKCk7Ci0gICAgfQorICAgIE1lZGlhQ29udHJvbElucHV0RWxlbWVudDo6dXBkYXRlKCk7
CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
</data>

          </attachment>
      

    </bug>

</bugzilla>