Unreviewed, rolling out r186251.
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Jul 2015 02:40:00 +0000 (02:40 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 Jul 2015 02:40:00 +0000 (02:40 +0000)
https://bugs.webkit.org/show_bug.cgi?id=146573

caused crashes in webaudio tests (Requested by cdumez on
#webkit).

Reverted changeset:

"Ensure media playback is stopped during page close"
https://bugs.webkit.org/show_bug.cgi?id=146554
http://trac.webkit.org/changeset/186251

Patch by Commit Queue <commit-queue@webkit.org> on 2015-07-02

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186254 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/Modules/webaudio/AudioContext.h
Source/WebCore/dom/Document.cpp
Source/WebCore/html/HTMLMediaElement.h
Source/WebCore/platform/audio/PlatformMediaSession.h
Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
Source/WebCore/platform/audio/PlatformMediaSessionManager.h

index 2b128c4..4a1a899 100644 (file)
@@ -1,3 +1,17 @@
+2015-07-02  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r186251.
+        https://bugs.webkit.org/show_bug.cgi?id=146573
+
+        caused crashes in webaudio tests (Requested by cdumez on
+        #webkit).
+
+        Reverted changeset:
+
+        "Ensure media playback is stopped during page close"
+        https://bugs.webkit.org/show_bug.cgi?id=146554
+        http://trac.webkit.org/changeset/186251
+
 2015-07-02  Brent Fulgham  <bfulgham@apple.com>
 
         Ensure media playback is stopped during page close
index 3025487..e9f76c9 100644 (file)
@@ -90,8 +90,6 @@ public:
 
     Document* document() const; // ASSERTs if document no longer exists.
 
-    Document* hostingDocument() const override final { return document(); }
-
     AudioDestinationNode* destination() { return m_destinationNode.get(); }
     size_t currentSampleFrame() const { return m_destinationNode->currentSampleFrame(); }
     double currentTime() const { return m_destinationNode->currentTime(); }
index 7a0ab55..e502669 100644 (file)
 #include "PageGroup.h"
 #include "PageTransitionEvent.h"
 #include "PlatformLocale.h"
-#include "PlatformMediaSessionManager.h"
 #include "PlatformStrategies.h"
 #include "PlugInsResources.h"
 #include "PluginDocument.h"
@@ -701,8 +700,6 @@ void Document::commonTeardown()
     if (svgExtensions())
         accessSVGExtensions().pauseAnimations();
 
-    PlatformMediaSessionManager::sharedManager().stopAllMediaPlaybackForDocument(*this);
-
 #if ENABLE(REQUEST_ANIMATION_FRAME)
     clearScriptedAnimationController();
 #endif
index 1a95490..9eae862 100644 (file)
@@ -147,9 +147,7 @@ public:
     MediaPlayerEnums::MovieLoadType movieLoadType() const;
     
     bool inActiveDocument() const { return m_inActiveDocument; }
-
-    Document* hostingDocument() const override final { return &document(); }
-
+    
 // DOM API
 // error state
     PassRefPtr<MediaError> error() const;
index 674adac..001947f 100644 (file)
@@ -37,7 +37,6 @@
 
 namespace WebCore {
 
-class Document;
 class MediaPlaybackTarget;
 class PlatformMediaSessionClient;
 
@@ -146,8 +145,6 @@ private:
     State m_stateToRestore;
     int m_interruptionCount { 0 };
     bool m_notifyingClient;
-
-    friend class PlatformMediaSessionManager;
 };
 
 class PlatformMediaSessionClient {
@@ -180,8 +177,6 @@ public:
     virtual bool isPlayingToWirelessPlaybackTarget() const { return false; }
     virtual void setShouldPlayToPlaybackTarget(bool) { }
 
-    virtual Document* hostingDocument() const = 0;
-
 protected:
     virtual ~PlatformMediaSessionClient() { }
 };
index a5fa51d..3293f56 100644 (file)
@@ -29,7 +29,6 @@
 #if ENABLE(VIDEO)
 
 #include "AudioSession.h"
-#include "Document.h"
 #include "Logging.h"
 #include "NotImplemented.h"
 #include "PlatformMediaSession.h"
@@ -330,14 +329,6 @@ void PlatformMediaSessionManager::audioOutputDeviceChanged()
     updateSessionState();
 }
 
-void PlatformMediaSessionManager::stopAllMediaPlaybackForDocument(const Document& document)
-{
-    for (auto session : m_sessions) {
-        if (session->client().hostingDocument() == &document)
-            session->pauseSession();
-    }
-}
-
 }
 
 #endif
index f98534d..2d748a0 100644 (file)
@@ -36,7 +36,6 @@
 
 namespace WebCore {
 
-class Document;
 class HTMLMediaElement;
 class PlatformMediaSession;
 class RemoteCommandListener;
@@ -57,8 +56,6 @@ public:
     WEBCORE_EXPORT void applicationWillEnterForeground() const;
     WEBCORE_EXPORT void applicationWillEnterBackground() const;
 
-    void stopAllMediaPlaybackForDocument(const Document&);
-
     enum SessionRestrictionFlags {
         NoRestrictions = 0,
         ConcurrentPlaybackNotPermitted = 1 << 0,