Title: [210328] trunk/Source/WebCore
Revision
210328
Author
[email protected]
Date
2017-01-05 07:51:39 -0800 (Thu, 05 Jan 2017)

Log Message

Disable smooth playhead animation for main content media in the Touch Bar
https://bugs.webkit.org/show_bug.cgi?id=166715
<rdar://problem/29870673>

Reviewed by Eric Carlson.

Passing in a non-zero playback rate to WebPlaybackControlsManager's timing property causes unintended effects
further down the stack. Please see the Radar for more details.

* platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::WebPlaybackSessionInterfaceMac::updatePlaybackControlsManagerTiming):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (210327 => 210328)


--- trunk/Source/WebCore/ChangeLog	2017-01-05 15:12:03 UTC (rev 210327)
+++ trunk/Source/WebCore/ChangeLog	2017-01-05 15:51:39 UTC (rev 210328)
@@ -1,3 +1,17 @@
+2017-01-05  Wenson Hsieh  <[email protected]>
+
+        Disable smooth playhead animation for main content media in the Touch Bar
+        https://bugs.webkit.org/show_bug.cgi?id=166715
+        <rdar://problem/29870673>
+
+        Reviewed by Eric Carlson.
+
+        Passing in a non-zero playback rate to WebPlaybackControlsManager's timing property causes unintended effects
+        further down the stack. Please see the Radar for more details.
+
+        * platform/mac/WebPlaybackSessionInterfaceMac.mm:
+        (WebCore::WebPlaybackSessionInterfaceMac::updatePlaybackControlsManagerTiming):
+
 2017-01-05  Andreas Kling  <[email protected]>
 
         Fix iOS build due to missing #include's.

Modified: trunk/Source/WebCore/platform/mac/WebPlaybackSessionInterfaceMac.mm (210327 => 210328)


--- trunk/Source/WebCore/platform/mac/WebPlaybackSessionInterfaceMac.mm	2017-01-05 15:12:03 UTC (rev 210327)
+++ trunk/Source/WebCore/platform/mac/WebPlaybackSessionInterfaceMac.mm	2017-01-05 15:51:39 UTC (rev 210328)
@@ -220,7 +220,10 @@
         || (manager.rate < 0 && model->playbackStartedTime() <= currentTime))
         effectivePlaybackRate = 0;
 
-    manager.timing = [getAVValueTimingClass() valueTimingWithAnchorValue:currentTime anchorTimeStamp:effectiveAnchorTime rate:effectivePlaybackRate];
+    // FIXME: The timing value should ideally use the effective playback rate, but this causes AVKit to indefinitely fire a repeating timer.
+    // More investigation will be required before we re-enable smooth playhead animation -- for now, we should just pretend that the playback
+    // rate is always 0.
+    manager.timing = [getAVValueTimingClass() valueTimingWithAnchorValue:currentTime anchorTimeStamp:effectiveAnchorTime rate:0];
 }
 
 #endif // ENABLE(WEB_PLAYBACK_CONTROLS_MANAGER)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to