Title: [247182] trunk/Source/WebCore
- Revision
- 247182
- Author
- jer.no...@apple.com
- Date
- 2019-07-05 15:24:07 -0700 (Fri, 05 Jul 2019)
Log Message
Revert change to block playback when process is ostensibly "suspended".
https://bugs.webkit.org/show_bug.cgi?id=199530
Reviewed by Eric Carlson.
In r243958, a drive-by-fix was added that blocked playback when the WebProcess thought it
was susposed to be suspended. The intent was to keep the AVAudioSession for the process
from being activated just before the process was suspended, and thus avoid receiving an
"interruption" and having the AVAudioSession deactivated out from under us upon resuming.
Unfortunately, this caused problems when another process resumes the WebContent process
in order to start playback; namely the Now Playing UI's play button. Because we may receive
the play command long before whe notice that we've been resumed, the WebContent process
may refuse to honor the play command because it thinks its supposed to be suspended.
* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (247181 => 247182)
--- trunk/Source/WebCore/ChangeLog 2019-07-05 22:13:29 UTC (rev 247181)
+++ trunk/Source/WebCore/ChangeLog 2019-07-05 22:24:07 UTC (rev 247182)
@@ -1,3 +1,23 @@
+2019-07-05 Jer Noble <jer.no...@apple.com>
+
+ Revert change to block playback when process is ostensibly "suspended".
+ https://bugs.webkit.org/show_bug.cgi?id=199530
+
+ Reviewed by Eric Carlson.
+
+ In r243958, a drive-by-fix was added that blocked playback when the WebProcess thought it
+ was susposed to be suspended. The intent was to keep the AVAudioSession for the process
+ from being activated just before the process was suspended, and thus avoid receiving an
+ "interruption" and having the AVAudioSession deactivated out from under us upon resuming.
+
+ Unfortunately, this caused problems when another process resumes the WebContent process
+ in order to start playback; namely the Now Playing UI's play button. Because we may receive
+ the play command long before whe notice that we've been resumed, the WebContent process
+ may refuse to honor the play command because it thinks its supposed to be suspended.
+
+ * platform/audio/PlatformMediaSessionManager.cpp:
+ (WebCore::PlatformMediaSessionManager::sessionWillBeginPlayback):
+
2019-07-05 Ryosuke Niwa <rn...@webkit.org>
[iOS] Crash in WebKit::WebPage::positionInformation via Range::startPosition
Modified: trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp (247181 => 247182)
--- trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp 2019-07-05 22:13:29 UTC (rev 247181)
+++ trunk/Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp 2019-07-05 22:24:07 UTC (rev 247182)
@@ -209,11 +209,6 @@
return false;
}
- if (m_processIsSuspended) {
- ALWAYS_LOG(LOGIDENTIFIER, session.logIdentifier(), " returning false because process is suspended");
- return false;
- }
-
#if USE(AUDIO_SESSION)
if (activeAudioSessionRequired()) {
if (!AudioSession::sharedSession().tryToSetActive(true)) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes