Chromium Code Reviews| Index: Source/core/html/shadow/MediaControlElements.cpp |
| diff --git a/Source/core/html/shadow/MediaControlElements.cpp b/Source/core/html/shadow/MediaControlElements.cpp |
| index c5b9b6163c3421a7f6c5a776ce09225e53c32281..1c265f29ad7fa6d6b805891e988a966beaf5f68e 100644 |
| --- a/Source/core/html/shadow/MediaControlElements.cpp |
| +++ b/Source/core/html/shadow/MediaControlElements.cpp |
| @@ -147,6 +147,17 @@ void MediaControlPanelElement::setIsDisplayed(bool isDisplayed) |
| m_isDisplayed = isDisplayed; |
| } |
| +bool MediaControlPanelElement::keepEventInShadowDOM(Event* event) |
| +{ |
| + const AtomicString& type = event->type(); |
|
philipj_slow
2014/07/29 11:31:07
This logic is repeated once, so a static bool isUs
aberent
2014/07/31 10:52:47
Done.
|
| + return type == EventTypeNames::mousedown |
| + || type == EventTypeNames::mouseup |
| + || type == EventTypeNames::click |
| + || type == EventTypeNames::dblclick |
| + || event->isKeyboardEvent() |
| + || event->isTouchEvent(); |
| +} |
| + |
| // ---------------------------- |
| MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement(MediaControls& mediaControls) |
| @@ -295,6 +306,17 @@ const AtomicString& MediaControlOverlayPlayButtonElement::shadowPseudoId() const |
| return id; |
| } |
| +bool MediaControlOverlayPlayButtonElement::keepEventInShadowDOM(Event* event) |
| +{ |
| + const AtomicString& type = event->type(); |
| + return type == EventTypeNames::mousedown |
| + || type == EventTypeNames::mouseup |
| + || type == EventTypeNames::click |
| + || type == EventTypeNames::dblclick |
| + || event->isKeyboardEvent() |
| + || event->isTouchEvent(); |
| +} |
| + |
| // ---------------------------- |
| @@ -409,6 +431,16 @@ const AtomicString& MediaControlTimelineElement::shadowPseudoId() const |
| return id; |
| } |
| +bool MediaControlTimelineElement::keepEventInShadowDOM(Event* event) |
| +{ |
| + // Capture some additional event types in the shadow DOM when on the slider. Note that MediaControlPanelElement::keepEventInShadowDOM |
| + // will also be called in this case, so those events will also be captured. |
| + const AtomicString& type = event->type(); |
|
philipj_slow
2014/07/29 11:31:07
Same here, maybe isUserInteractionEventForSlider()
aberent
2014/07/31 10:52:47
Done.
|
| + return type == EventTypeNames::mouseover |
| + || type == EventTypeNames::mouseout |
| + || type == EventTypeNames::mousemove; |
| +} |
| + |
| // ---------------------------- |
| MediaControlVolumeSliderElement::MediaControlVolumeSliderElement(MediaControls& mediaControls) |
| @@ -472,6 +504,16 @@ const AtomicString& MediaControlVolumeSliderElement::shadowPseudoId() const |
| return id; |
| } |
| +bool MediaControlVolumeSliderElement::keepEventInShadowDOM(Event* event) |
| +{ |
| + // Capture some additional event types in the shadow DOM when on the slider. Note that MediaControlPanelElement::keepEventInShadowDOM |
| + // will also be called in this case, so those events will also be captured. |
| + const AtomicString& type = event->type(); |
| + return type == EventTypeNames::mouseover |
| + || type == EventTypeNames::mouseout |
| + || type == EventTypeNames::mousemove; |
| +} |
| + |
| // ---------------------------- |
| MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement(MediaControls& mediaControls) |