1926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)/* 2926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 3926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * Copyright (C) 2012 Google Inc. All rights reserved. 4926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 5926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * Redistribution and use in source and binary forms, with or without 6926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * modification, are permitted provided that the following conditions 7926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * are met: 8926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 9926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 1. Redistributions of source code must retain the above copyright 10926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * notice, this list of conditions and the following disclaimer. 11926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 2. Redistributions in binary form must reproduce the above copyright 12926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * notice, this list of conditions and the following disclaimer in the 13926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * documentation and/or other materials provided with the distribution. 14926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of 15926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * its contributors may be used to endorse or promote products derived 16926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * from this software without specific prior written permission. 17926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * 18926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 19926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 20926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 22926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 23926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 24926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 25926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) */ 29926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 30926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)#include "config.h" 31926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 3253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)#include "core/html/shadow/MediaControlElementTypes.h" 33926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 34926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)#include "CSSValueKeywords.h" 35926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)#include "HTMLNames.h" 36df95704c49daea886ddad70775bda23618d6274dBen Murdoch#include "bindings/v8/ExceptionStatePlaceholder.h" 3753e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)#include "core/css/StylePropertySet.h" 3806f816c7c76bc45a15e452ade8a34e8af077693eTorne (Richard Coles)#include "core/events/MouseEvent.h" 39926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 40926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)namespace WebCore { 41926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 42926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)using namespace HTMLNames; 43926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 44926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)class Event; 45926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 46926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)HTMLMediaElement* toParentMediaElement(Node* node) 47926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 48926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) if (!node) 49926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return 0; 50926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) Node* mediaNode = node->shadowHost(); 51926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) if (!mediaNode) 52926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) mediaNode = node; 53926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) if (!mediaNode || !mediaNode->isElementNode() || !toElement(mediaNode)->isMediaElement()) 54926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return 0; 55926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 56e1f1df5f01594c0e62e751e4b46e779b85c2faa5Torne (Richard Coles) return toHTMLMediaElement(mediaNode); 57926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 58926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 59926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)MediaControlElementType mediaControlElementType(Node* node) 60926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 61926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) ASSERT_WITH_SECURITY_IMPLICATION(node->isMediaControlElement()); 62926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) HTMLElement* element = toHTMLElement(node); 63926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) if (element->hasTagName(inputTag)) 64926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return static_cast<MediaControlInputElement*>(element)->displayType(); 65926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return static_cast<MediaControlDivElement*>(element)->displayType(); 66926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 67926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 68926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)MediaControlElement::MediaControlElement(MediaControlElementType displayType, HTMLElement* element) 69926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) : m_mediaController(0) 70926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) , m_displayType(displayType) 71926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) , m_element(element) 72926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 73926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 74926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 75926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)void MediaControlElement::hide() 76926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 77926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) m_element->setInlineStyleProperty(CSSPropertyDisplay, CSSValueNone); 78926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 79926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 80926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)void MediaControlElement::show() 81926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 82926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) m_element->removeInlineStyleProperty(CSSPropertyDisplay); 83926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 84926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 85926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)bool MediaControlElement::isShowing() const 86926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 87926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) const StylePropertySet* propertySet = m_element->inlineStyle(); 88926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) // Following the code from show() and hide() above, we only have 89926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) // to check for the presense of inline display. 90926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return (!propertySet || !propertySet->getPropertyCSSValue(CSSPropertyDisplay)); 91926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 92926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 93926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)void MediaControlElement::setDisplayType(MediaControlElementType displayType) 94926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 95926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) if (displayType == m_displayType) 96926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return; 97926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 98926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) m_displayType = displayType; 99926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) if (RenderObject* object = m_element->renderer()) 100926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) object->repaint(); 101926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 102926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 103926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)// ---------------------------- 104926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 1058abfc5808a4e34d6e03867af8bc440dee641886fTorne (Richard Coles)MediaControlDivElement::MediaControlDivElement(Document& document, MediaControlElementType displayType) 10651b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) : HTMLDivElement(document) 107926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) , MediaControlElement(displayType, this) 108926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 109926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 110926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 111926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)// ---------------------------- 112926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 1138abfc5808a4e34d6e03867af8bc440dee641886fTorne (Richard Coles)MediaControlInputElement::MediaControlInputElement(Document& document, MediaControlElementType displayType) 11451b2906e11752df6c18351cf520e30522d3b53a1Torne (Richard Coles) : HTMLInputElement(document, 0, false) 115926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) , MediaControlElement(displayType, this) 116926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 117926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 118926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 11983750176c3ee2cea66c8a9751271026a5901be3aBen Murdochbool MediaControlInputElement::isMouseFocusable() const 12083750176c3ee2cea66c8a9751271026a5901be3aBen Murdoch{ 12183750176c3ee2cea66c8a9751271026a5901be3aBen Murdoch return false; 12283750176c3ee2cea66c8a9751271026a5901be3aBen Murdoch} 12383750176c3ee2cea66c8a9751271026a5901be3aBen Murdoch 124926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)// ---------------------------- 125926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 1268abfc5808a4e34d6e03867af8bc440dee641886fTorne (Richard Coles)MediaControlTimeDisplayElement::MediaControlTimeDisplayElement(Document& document, MediaControlElementType displayType) 127926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) : MediaControlDivElement(document, displayType) 128926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) , m_currentValue(0) 129926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 130926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 131926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 13253e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)void MediaControlTimeDisplayElement::setCurrentValue(double time) 133926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 134926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) m_currentValue = time; 135926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 136926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 137926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)// ---------------------------- 138926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 1398abfc5808a4e34d6e03867af8bc440dee641886fTorne (Richard Coles)MediaControlMuteButtonElement::MediaControlMuteButtonElement(Document& document, MediaControlElementType displayType) 140926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) : MediaControlInputElement(document, displayType) 141926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 142926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 143926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 144926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)void MediaControlMuteButtonElement::defaultEventHandler(Event* event) 145926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 1461e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) if (event->type() == EventTypeNames::click) { 147926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) mediaController()->setMuted(!mediaController()->muted()); 148926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) event->setDefaultHandled(); 149926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) } 150926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 151926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) HTMLInputElement::defaultEventHandler(event); 152926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 153926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 154926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)void MediaControlMuteButtonElement::changedMute() 155926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 156926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) updateDisplayType(); 157926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 158926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 159926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)void MediaControlMuteButtonElement::updateDisplayType() 160926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 161926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) setDisplayType(mediaController()->muted() ? MediaUnMuteButton : MediaMuteButton); 162926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 163926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 164926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)// ---------------------------- 165926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 1668abfc5808a4e34d6e03867af8bc440dee641886fTorne (Richard Coles)MediaControlVolumeSliderElement::MediaControlVolumeSliderElement(Document& document) 167926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) : MediaControlInputElement(document, MediaVolumeSlider) 168926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) , m_clearMutedOnUserInteraction(false) 169926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 170926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 171926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 172926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)void MediaControlVolumeSliderElement::defaultEventHandler(Event* event) 173926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 174926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) // Left button is 0. Rejects mouse events not from left button. 175591b958dee2cf159d33a0b931e6231072eaf38d5Ben Murdoch if (event->isMouseEvent() && toMouseEvent(event)->button()) 176926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return; 177926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 1781e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) if (!inDocument() || !document().isActive()) 179926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return; 180926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 181926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) MediaControlInputElement::defaultEventHandler(event); 182926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 1831e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) if (event->type() == EventTypeNames::mouseover || event->type() == EventTypeNames::mouseout || event->type() == EventTypeNames::mousemove) 184926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return; 185926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 18653e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) double volume = value().toDouble(); 187926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) if (volume != mediaController()->volume()) 1881fad5ca6c42d689812b66fc493992aa6d747a6fbBen Murdoch mediaController()->setVolume(volume, ASSERT_NO_EXCEPTION); 189926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) if (m_clearMutedOnUserInteraction) 190926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) mediaController()->setMuted(false); 191926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 192926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 193926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)bool MediaControlVolumeSliderElement::willRespondToMouseMoveEvents() 194926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 1951e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) if (!inDocument() || !document().isActive()) 196926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return false; 197926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 198926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return MediaControlInputElement::willRespondToMouseMoveEvents(); 199926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 200926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 201926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)bool MediaControlVolumeSliderElement::willRespondToMouseClickEvents() 202926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 2031e202183a5dc46166763171984b285173f8585e5Torne (Richard Coles) if (!inDocument() || !document().isActive()) 204926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return false; 205926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 206926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) return MediaControlInputElement::willRespondToMouseClickEvents(); 207926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 208926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 20953e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles)void MediaControlVolumeSliderElement::setVolume(double volume) 210926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 21153e740f4a82e17f3ae59772501622dc354e42336Torne (Richard Coles) if (value().toDouble() != volume) 212926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) setValue(String::number(volume)); 213926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 214926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 215926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)void MediaControlVolumeSliderElement::setClearMutedOnUserInteraction(bool clearMute) 216926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){ 217926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) m_clearMutedOnUserInteraction = clearMute; 218926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} 219926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) 220926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)} // namespace WebCore 221