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) |