| Index: Source/core/html/shadow/MediaControlElements.cpp
|
| diff --git a/Source/core/html/shadow/MediaControlElements.cpp b/Source/core/html/shadow/MediaControlElements.cpp
|
| index 8b25059d775acea88da41f97ba93d6e53a803fbd..1e15664e8708f5908cdee194d13bb927561c7f43 100644
|
| --- a/Source/core/html/shadow/MediaControlElements.cpp
|
| +++ b/Source/core/html/shadow/MediaControlElements.cpp
|
| @@ -284,22 +284,35 @@ const AtomicString& MediaControlOverlayEnclosureElement::shadowPseudoId() const
|
|
|
| // ----------------------------
|
|
|
| -MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement(Document& document, MediaControls* controls)
|
| - : MediaControlMuteButtonElement(document, MediaMuteButton)
|
| +MediaControlMuteButtonElement::MediaControlMuteButtonElement(Document& document)
|
| + : MediaControlInputElement(document, MediaMuteButton)
|
| {
|
| }
|
|
|
| -PassRefPtr<MediaControlPanelMuteButtonElement> MediaControlPanelMuteButtonElement::create(Document& document, MediaControls* controls)
|
| +PassRefPtr<MediaControlMuteButtonElement> MediaControlMuteButtonElement::create(Document& document)
|
| {
|
| - ASSERT(controls);
|
| -
|
| - RefPtr<MediaControlPanelMuteButtonElement> button = adoptRef(new MediaControlPanelMuteButtonElement(document, controls));
|
| + RefPtr<MediaControlMuteButtonElement> button = adoptRef(new MediaControlMuteButtonElement(document));
|
| button->ensureUserAgentShadowRoot();
|
| button->setType("button");
|
| return button.release();
|
| }
|
|
|
| -const AtomicString& MediaControlPanelMuteButtonElement::shadowPseudoId() const
|
| +void MediaControlMuteButtonElement::defaultEventHandler(Event* event)
|
| +{
|
| + if (event->type() == EventTypeNames::click) {
|
| + mediaController()->setMuted(!mediaController()->muted());
|
| + event->setDefaultHandled();
|
| + }
|
| +
|
| + HTMLInputElement::defaultEventHandler(event);
|
| +}
|
| +
|
| +void MediaControlMuteButtonElement::updateDisplayType()
|
| +{
|
| + setDisplayType(mediaController()->muted() ? MediaUnMuteButton : MediaMuteButton);
|
| +}
|
| +
|
| +const AtomicString& MediaControlMuteButtonElement::shadowPseudoId() const
|
| {
|
| DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-mute-button", AtomicString::ConstructFromLiteral));
|
| return id;
|
| @@ -499,14 +512,14 @@ const AtomicString& MediaControlTimelineElement::shadowPseudoId() const
|
|
|
| // ----------------------------
|
|
|
| -MediaControlPanelVolumeSliderElement::MediaControlPanelVolumeSliderElement(Document& document)
|
| - : MediaControlVolumeSliderElement(document)
|
| +MediaControlVolumeSliderElement::MediaControlVolumeSliderElement(Document& document)
|
| + : MediaControlInputElement(document, MediaVolumeSlider)
|
| {
|
| }
|
|
|
| -PassRefPtr<MediaControlPanelVolumeSliderElement> MediaControlPanelVolumeSliderElement::create(Document& document)
|
| +PassRefPtr<MediaControlVolumeSliderElement> MediaControlVolumeSliderElement::create(Document& document)
|
| {
|
| - RefPtr<MediaControlPanelVolumeSliderElement> slider = adoptRef(new MediaControlPanelVolumeSliderElement(document));
|
| + RefPtr<MediaControlVolumeSliderElement> slider = adoptRef(new MediaControlVolumeSliderElement(document));
|
| slider->ensureUserAgentShadowRoot();
|
| slider->setType("range");
|
| slider->setAttribute(stepAttr, "any");
|
| @@ -514,7 +527,47 @@ PassRefPtr<MediaControlPanelVolumeSliderElement> MediaControlPanelVolumeSliderEl
|
| return slider.release();
|
| }
|
|
|
| -const AtomicString& MediaControlPanelVolumeSliderElement::shadowPseudoId() const
|
| +void MediaControlVolumeSliderElement::defaultEventHandler(Event* event)
|
| +{
|
| + if (event->isMouseEvent() && toMouseEvent(event)->button() != LeftButton)
|
| + return;
|
| +
|
| + if (!inDocument() || !document().isActive())
|
| + return;
|
| +
|
| + MediaControlInputElement::defaultEventHandler(event);
|
| +
|
| + if (event->type() == EventTypeNames::mouseover || event->type() == EventTypeNames::mouseout || event->type() == EventTypeNames::mousemove)
|
| + return;
|
| +
|
| + double volume = value().toDouble();
|
| + mediaController()->setVolume(volume, ASSERT_NO_EXCEPTION);
|
| + mediaController()->setMuted(false);
|
| +}
|
| +
|
| +bool MediaControlVolumeSliderElement::willRespondToMouseMoveEvents()
|
| +{
|
| + if (!inDocument() || !document().isActive())
|
| + return false;
|
| +
|
| + return MediaControlInputElement::willRespondToMouseMoveEvents();
|
| +}
|
| +
|
| +bool MediaControlVolumeSliderElement::willRespondToMouseClickEvents()
|
| +{
|
| + if (!inDocument() || !document().isActive())
|
| + return false;
|
| +
|
| + return MediaControlInputElement::willRespondToMouseClickEvents();
|
| +}
|
| +
|
| +void MediaControlVolumeSliderElement::setVolume(double volume)
|
| +{
|
| + if (value().toDouble() != volume)
|
| + setValue(String::number(volume));
|
| +}
|
| +
|
| +const AtomicString& MediaControlVolumeSliderElement::shadowPseudoId() const
|
| {
|
| DEFINE_STATIC_LOCAL(AtomicString, id, ("-webkit-media-controls-volume-slider", AtomicString::ConstructFromLiteral));
|
| return id;
|
|
|