WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-149111-20150917011022.patch (text/plain), 5.30 KB, created by
ChangSeok Oh
on 2015-09-16 09:10:34 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
ChangSeok Oh
Created:
2015-09-16 09:10:34 PDT
Size:
5.30 KB
patch
obsolete
>Subversion Revision: 189734 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index f3cfaab0481808526fc078145db114066ab57750..27ee6e917636357a0359d7028e03874b99411c9c 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,21 @@ >+2015-09-16 ChangSeok Oh <changseok.oh@collabora.com> >+ >+ [GTK] timeline is not updated after few seconds when mouse hovers on controls >+ https://bugs.webkit.org/show_bug.cgi?id=149111 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Timeline is not updated if controlsAreHidden is true. The problem here is that >+ the function does not mean actually 'hidden' since it only checkes 'show' and 'hidden' >+ class existences. The panel's visibility are not only controlled by the two classes, >+ but also by video::-webkit-media-controls-panel:hover. The panel could be visible >+ by setting the pseudo hover class. So we need to check if panel is hovered as well in controlsAreHidden(). >+ >+ Test: media/media-controls-timeline-updates-when-hovered.html >+ >+ * Modules/mediacontrols/mediaControlsBase.js: >+ (Controller.prototype.controlsAreHidden): >+ > 2015-09-14 Gyuyoung Kim <gyuyoung.kim@webkit.org> > > [EFL] Remove create() factory function in EvasGLContext and EvasGLSurface >diff --git a/Source/WebCore/Modules/mediacontrols/mediaControlsBase.js b/Source/WebCore/Modules/mediacontrols/mediaControlsBase.js >index 8b2133b9782174a5b86d77060563646d60ac6dd9..a44c3d10110f2094872cbb59eba3fecf7cb1ec23 100644 >--- a/Source/WebCore/Modules/mediacontrols/mediaControlsBase.js >+++ b/Source/WebCore/Modules/mediacontrols/mediaControlsBase.js >@@ -1023,7 +1023,9 @@ Controller.prototype = { > > controlsAreHidden: function() > { >- return !this.controls.panel.classList.contains(this.ClassNames.show) || this.controls.panel.classList.contains(this.ClassNames.hidden); >+ var panel = this.controls.panel; >+ return (!panel.classList.contains(this.ClassNames.show) || panel.classList.contains(this.ClassNames.hidden)) >+ && (panel.parentElement.querySelector(':hover') !== panel); > }, > > removeControls: function() >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 7ab7e6f0e18d515255feadd351598e499ed359cd..3bf8998c0cd70d22c948f7f67bdc509c2d009b63 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,13 @@ >+2015-09-16 ChangSeok Oh <changseok.oh@collabora.com> >+ >+ [GTK] timeline is not updated after few seconds when mouse hovers on controls >+ https://bugs.webkit.org/show_bug.cgi?id=149111 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * media/media-controls-timeline-updates-when-hovered-expected.txt: Added. >+ * media/media-controls-timeline-updates-when-hovered.html: Added. >+ > 2015-09-14 Chris Dumez <cdumez@apple.com> > > Unreviewed, rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html on iOS. >diff --git a/LayoutTests/media/media-controls-timeline-updates-when-hovered-expected.txt b/LayoutTests/media/media-controls-timeline-updates-when-hovered-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..efd1f2ac6594751783e28b58b66e57b26dac78ac >--- /dev/null >+++ b/LayoutTests/media/media-controls-timeline-updates-when-hovered-expected.txt >@@ -0,0 +1,11 @@ >+This tests if media controls timeline is properly updated when a cursor hovers the controls during playback. >+ >+ >+EVENT(canplaythrough) >+EXPECTED (timeLineValue() == '0') OK >+RUN(video.play()) >+EVENT(play) >+EVENT(timeupdate) >+TEST(timeLineValue() >= 1) OK >+END OF TEST >+ >diff --git a/LayoutTests/media/media-controls-timeline-updates-when-hovered.html b/LayoutTests/media/media-controls-timeline-updates-when-hovered.html >new file mode 100644 >index 0000000000000000000000000000000000000000..0d0e5a48d76b1006c26a5276422750c90227e892 >--- /dev/null >+++ b/LayoutTests/media/media-controls-timeline-updates-when-hovered.html >@@ -0,0 +1,53 @@ >+<!DOCTYPE html> >+<p>This tests if media controls timeline is properly updated when a cursor hovers the controls during playback.</p> >+<video controls></video> >+<script src=media-file.js></script> >+<script src=video-test.js></script> >+<script src=media-controls.js></script> >+<script> >+function timeLineValue() >+{ >+ var timeline = mediaControlsElement(internals.shadowRoot(video).firstChild.firstChild, '-webkit-media-controls-timeline'); >+ if (!timeline) >+ throw "Failed to find -webkit-media-controls-timeline"; >+ >+ return timeline.value; >+} >+ >+function canplaythrough() >+{ >+ if (!window.testRunner) { >+ endTest(); >+ return; >+ } >+ >+ testExpected("timeLineValue()", 0); >+ >+ var playButtonCoords; >+ try { >+ playButtonCoords = mediaControlsButtonCoordinates(video, "play-button"); >+ } catch (exception) { >+ endTest(); >+ return; >+ } >+ eventSender.mouseMoveTo(playButtonCoords[0], playButtonCoords[1]); >+ >+ video.addEventListener("timeupdate", function() { >+ if (video.currentTime >= 1) { >+ consoleWrite("EVENT(timeupdate)"); >+ test("timeLineValue() >= 1"); >+ endTest(); >+ } >+ }); >+ >+ run("video.play()"); >+} >+ >+var video; >+findMediaElement(); >+video.src = findMediaFile("video", "content/test"); >+ >+waitForEvent("canplaythrough", canplaythrough); >+waitForEvent("play"); >+waitForEventAndFail("error"); >+</script>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 149111
:
261112
| 261311