Title: [164365] trunk
- Revision
- 164365
- Author
- [email protected]
- Date
- 2014-02-19 09:24:47 -0800 (Wed, 19 Feb 2014)
Log Message
Setting playback rate on Media Controller modifies current time.
https://bugs.webkit.org/show_bug.cgi?id=129042
Patch by Piotr Grad <[email protected]> on 2014-02-19
Reviewed by Jer Noble.
Source/WebCore:
In ClockGeneric: when setting playback rate or stoping timer,clock was restarted using current real time
instead of provided time by setCurrentTime.
Changed impl. so that m_offset is updated when clock stops to remember last clock position.
When playbackRate is changed m_offset is updated in order to not use old time interval for new playback rate.
Test: media/video-controller-currentTime-rate.html
* html/MediaController.cpp:
(MediaController::updatePlaybackState):
* platform/ClockGeneric.cpp:
(ClockGeneric::setPlayRate):
(ClockGeneric::start):
(ClockGeneric::stop):
LayoutTests:
* media/video-controller-currentTime-rate-expected.txt: Added.
* media/video-controller-currentTime-rate.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (164364 => 164365)
--- trunk/LayoutTests/ChangeLog 2014-02-19 17:05:07 UTC (rev 164364)
+++ trunk/LayoutTests/ChangeLog 2014-02-19 17:24:47 UTC (rev 164365)
@@ -1,3 +1,13 @@
+2014-02-19 Piotr Grad <[email protected]>
+
+ Setting playback rate on Media Controller modifies current time.
+ https://bugs.webkit.org/show_bug.cgi?id=129042
+
+ Reviewed by Jer Noble.
+
+ * media/video-controller-currentTime-rate-expected.txt: Added.
+ * media/video-controller-currentTime-rate.html: Added.
+
2014-02-19 Bem Jones-Bey <[email protected]>
[CSS Shapes] shape-outside does not properly handle different writing modes
Added: trunk/LayoutTests/media/video-controller-currentTime-rate-expected.txt (0 => 164365)
--- trunk/LayoutTests/media/video-controller-currentTime-rate-expected.txt (rev 0)
+++ trunk/LayoutTests/media/video-controller-currentTime-rate-expected.txt 2014-02-19 17:24:47 UTC (rev 164365)
@@ -0,0 +1,7 @@
+
+Test that setting playbackRate on media controller modifies current time
+
+EVENT(canplaythrough)
+EXPECTED (0 == '0') OK
+END OF TEST
+
Added: trunk/LayoutTests/media/video-controller-currentTime-rate.html (0 => 164365)
--- trunk/LayoutTests/media/video-controller-currentTime-rate.html (rev 0)
+++ trunk/LayoutTests/media/video-controller-currentTime-rate.html 2014-02-19 17:24:47 UTC (rev 164365)
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script src=""
+ <script src=""
+ <script>
+ function start()
+ {
+ findMediaElement();
+ video.src = "" "content/test");
+ waitForEventOnce('canplaythrough', canPlayThrough);
+ }
+
+ function canPlayThrough()
+ {
+ video.controller.currentTime = 0;
+ video.controller.playbackRate = 1.01;
+ testExpected(video.controller.currentTime, 0, "==");
+ endTest();
+ }
+ </script>
+ </head>
+ <body _onload_="start()">
+ <video mediaGroup="group"></video>
+ <p>Test that setting playbackRate on media controller modifies current time</p>
+ </body>
+</html>
\ No newline at end of file
Modified: trunk/Source/WebCore/ChangeLog (164364 => 164365)
--- trunk/Source/WebCore/ChangeLog 2014-02-19 17:05:07 UTC (rev 164364)
+++ trunk/Source/WebCore/ChangeLog 2014-02-19 17:24:47 UTC (rev 164365)
@@ -1,3 +1,24 @@
+2014-02-19 Piotr Grad <[email protected]>
+
+ Setting playback rate on Media Controller modifies current time.
+ https://bugs.webkit.org/show_bug.cgi?id=129042
+
+ Reviewed by Jer Noble.
+
+ In ClockGeneric: when setting playback rate or stoping timer,clock was restarted using current real time
+ instead of provided time by setCurrentTime.
+ Changed impl. so that m_offset is updated when clock stops to remember last clock position.
+ When playbackRate is changed m_offset is updated in order to not use old time interval for new playback rate.
+
+ Test: media/video-controller-currentTime-rate.html
+
+ * html/MediaController.cpp:
+ (MediaController::updatePlaybackState):
+ * platform/ClockGeneric.cpp:
+ (ClockGeneric::setPlayRate):
+ (ClockGeneric::start):
+ (ClockGeneric::stop):
+
2014-02-19 Brady Eidson <[email protected]>
Add settings/preferences for enabling image controls
Modified: trunk/Source/WebCore/html/MediaController.cpp (164364 => 164365)
--- trunk/Source/WebCore/html/MediaController.cpp 2014-02-19 17:05:07 UTC (rev 164364)
+++ trunk/Source/WebCore/html/MediaController.cpp 2014-02-19 17:24:47 UTC (rev 164365)
@@ -446,6 +446,7 @@
case ENDED:
eventName = eventNames().endedEvent;
m_clock->stop();
+ m_clock->setCurrentTime(0);
m_timeupdateTimer.stop();
break;
case PLAYING:
Modified: trunk/Source/WebCore/platform/ClockGeneric.cpp (164364 => 164365)
--- trunk/Source/WebCore/platform/ClockGeneric.cpp 2014-02-19 17:05:07 UTC (rev 164364)
+++ trunk/Source/WebCore/platform/ClockGeneric.cpp 2014-02-19 17:24:47 UTC (rev 164365)
@@ -53,7 +53,7 @@
void ClockGeneric::setPlayRate(double rate)
{
- m_offset = now();
+ m_offset = currentTime();
m_lastTime = m_startTime = now();
m_rate = rate;
}
@@ -72,7 +72,7 @@
if (!m_running)
return;
- m_offset = now();
+ m_offset = currentTime();
m_lastTime = m_startTime = now();
m_running = false;
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes