Unreviewed, rolling out r186385.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Jul 2015 01:42:15 +0000 (01:42 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Jul 2015 01:42:15 +0000 (01:42 +0000)
https://bugs.webkit.org/show_bug.cgi?id=146668

crashes 3 webaudio tests in debug builds (Requested by
alexchristensen 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/186385

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186394 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
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebProcess.cpp

index b713187..4d298b5 100644 (file)
@@ -1,3 +1,17 @@
+2015-07-06  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r186385.
+        https://bugs.webkit.org/show_bug.cgi?id=146668
+
+        crashes 3 webaudio tests in debug builds (Requested by
+        alexchristensen 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/186385
+
 2015-07-06  Andreas Kling  <akling@apple.com>
 
         Crash when setting text direction via MakeTextWritingDirection* editing commands.
index 03734a6..e9f76c9 100644 (file)
@@ -90,8 +90,6 @@ public:
 
     Document* document() const; // ASSERTs if document no longer exists.
 
-    const Document* hostingDocument() const override { return document(); }
-
     AudioDestinationNode* destination() { return m_destinationNode.get(); }
     size_t currentSampleFrame() const { return m_destinationNode->currentSampleFrame(); }
     double currentTime() const { return m_destinationNode->currentTime(); }
index 445784b..f640b7c 100644 (file)
@@ -3,7 +3,7 @@
  *           (C) 1999 Antti Koivisto (koivisto@kde.org)
  *           (C) 2001 Dirk Mueller (mueller@kde.org)
  *           (C) 2006 Alexey Proskuryakov (ap@webkit.org)
- * Copyright (C) 2004-2015 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012, 2013 Apple Inc. All rights reserved.
  * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
  * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved.
  * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
 #include "PageGroup.h"
 #include "PageTransitionEvent.h"
 #include "PlatformLocale.h"
-#include "PlatformMediaSessionManager.h"
 #include "PlatformStrategies.h"
 #include "PlugInsResources.h"
 #include "PluginDocument.h"
@@ -633,8 +632,6 @@ Document::~Document()
     if (m_cachedResourceLoader->document() == this)
         m_cachedResourceLoader->setDocument(nullptr);
 
-    PlatformMediaSessionManager::sharedManager().stopAllMediaPlaybackForDocument(this);
-    
     // We must call clearRareData() here since a Document class inherits TreeScope
     // as well as Node. See a comment on TreeScope.h for the reason.
     if (hasRareData())
index 5832c09..9eae862 100644 (file)
@@ -147,9 +147,7 @@ public:
     MediaPlayerEnums::MovieLoadType movieLoadType() const;
     
     bool inActiveDocument() const { return m_inActiveDocument; }
-
-    const Document* hostingDocument() const override { return &document(); }
-
+    
 // DOM API
 // error state
     PassRefPtr<MediaError> error() const;
index f6c47c9..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 const Document* hostingDocument() const = 0;
-
 protected:
     virtual ~PlatformMediaSessionClient() { }
 };
index de1d861..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,22 +329,6 @@ void PlatformMediaSessionManager::audioOutputDeviceChanged()
     updateSessionState();
 }
 
-void PlatformMediaSessionManager::stopAllMediaPlaybackForDocument(const Document* document)
-{
-    Vector<PlatformMediaSession*> sessions = m_sessions;
-    for (auto* session : sessions) {
-        if (session->client().hostingDocument() == document)
-            session->pauseSession();
-    }
-}
-
-void PlatformMediaSessionManager::stopAllMediaPlaybackForProcess()
-{
-    Vector<PlatformMediaSession*> sessions = m_sessions;
-    for (auto* session : sessions)
-        session->pauseSession();
-}
-
 }
 
 #endif
index 01d3b1e..2d748a0 100644 (file)
@@ -36,7 +36,6 @@
 
 namespace WebCore {
 
-class Document;
 class HTMLMediaElement;
 class PlatformMediaSession;
 class RemoteCommandListener;
@@ -57,9 +56,6 @@ public:
     WEBCORE_EXPORT void applicationWillEnterForeground() const;
     WEBCORE_EXPORT void applicationWillEnterBackground() const;
 
-    void stopAllMediaPlaybackForDocument(const Document*);
-    WEBCORE_EXPORT void stopAllMediaPlaybackForProcess();
-
     enum SessionRestrictionFlags {
         NoRestrictions = 0,
         ConcurrentPlaybackNotPermitted = 1 << 0,
index c698e06..8cf1814 100644 (file)
@@ -1,3 +1,17 @@
+2015-07-06  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r186385.
+        https://bugs.webkit.org/show_bug.cgi?id=146668
+
+        crashes 3 webaudio tests in debug builds (Requested by
+        alexchristensen 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/186385
+
 2015-07-06  Brent Fulgham  <bfulgham@apple.com>
 
         Ensure media playback is stopped during page close
index 410b8e2..b4c9e0e 100644 (file)
@@ -82,7 +82,6 @@
 #include <WebCore/Page.h>
 #include <WebCore/PageCache.h>
 #include <WebCore/PageGroup.h>
-#include <WebCore/PlatformMediaSessionManager.h>
 #include <WebCore/ResourceHandle.h>
 #include <WebCore/RuntimeEnabledFeatures.h>
 #include <WebCore/SchemeRegistry.h>
@@ -659,9 +658,6 @@ void WebProcess::didClose(IPC::Connection&)
     MemoryCache::singleton().setDisabled(true);
 #endif    
 
-    // FIXME(146657): This explicit media stop command should not be necessary
-    PlatformMediaSessionManager::sharedManager().stopAllMediaPlaybackForProcess();
-
     // The UI process closed this connection, shut down.
     stopRunLoop();
 }