Title: [162178] trunk
Revision
162178
Author
jer.no...@apple.com
Date
2014-01-16 18:12:19 -0800 (Thu, 16 Jan 2014)

Log Message

REGRESSION(r162145): media/video-controls-visible-audio-only.html fails
https://bugs.webkit.org/show_bug.cgi?id=127147

Source/WebCore:

Reviewed by Eric Carlson.

Reset the MediaSessionManager's restrictions to their default values before
each run.

Add a new virtual method "resetRestrictions()" so that each port-specific
MediaSessionManager can reset the restrictions to their default values.
Call this from Internals::resetToConsistentState() so that tests which change
the restrictions don't affect later tests.

* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::MediaSessionManager):
(WebCore::MediaSessionManager::resetRestrictions):
* platform/audio/MediaSessionManager.h:
(WebCore::MediaSessionManager::~MediaSessionManager):
* platform/audio/ios/MediaSessionManagerIOS.h:
* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::resetRestrictions):
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):

LayoutTests:

Re-enable media/video-controls-visible-audio-only.html.

Reviewed by Eric Carlson.

* platform/mac/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (162177 => 162178)


--- trunk/LayoutTests/ChangeLog	2014-01-17 01:58:42 UTC (rev 162177)
+++ trunk/LayoutTests/ChangeLog	2014-01-17 02:12:19 UTC (rev 162178)
@@ -1,3 +1,14 @@
+2014-01-16  Jer Noble  <jer.no...@apple.com>
+
+        REGRESSION(r162145): media/video-controls-visible-audio-only.html fails
+        https://bugs.webkit.org/show_bug.cgi?id=127147
+
+        Re-enable media/video-controls-visible-audio-only.html.
+
+        Reviewed by Eric Carlson.
+
+        * platform/mac/TestExpectations:
+
 2014-01-16  Alexey Proskuryakov  <a...@apple.com>
 
         REGRESSION(r162145): media/video-controls-visible-audio-only.html fails

Modified: trunk/LayoutTests/platform/mac/TestExpectations (162177 => 162178)


--- trunk/LayoutTests/platform/mac/TestExpectations	2014-01-17 01:58:42 UTC (rev 162177)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2014-01-17 02:12:19 UTC (rev 162178)
@@ -1362,5 +1362,3 @@
 
 # Subpixel: misplaced zoomed svg content.
 webkit.org/b/126900 svg/zoom/page/zoom-zoom-coords.xhtml
-
-webkit.org/b/127147 media/video-controls-visible-audio-only.html [ Pass Failure ]

Modified: trunk/Source/WebCore/ChangeLog (162177 => 162178)


--- trunk/Source/WebCore/ChangeLog	2014-01-17 01:58:42 UTC (rev 162177)
+++ trunk/Source/WebCore/ChangeLog	2014-01-17 02:12:19 UTC (rev 162178)
@@ -1,3 +1,29 @@
+2014-01-16  Jer Noble  <jer.no...@apple.com>
+
+        REGRESSION(r162145): media/video-controls-visible-audio-only.html fails
+        https://bugs.webkit.org/show_bug.cgi?id=127147
+
+        Reviewed by Eric Carlson.
+
+        Reset the MediaSessionManager's restrictions to their default values before
+        each run.
+
+        Add a new virtual method "resetRestrictions()" so that each port-specific
+        MediaSessionManager can reset the restrictions to their default values.
+        Call this from Internals::resetToConsistentState() so that tests which change
+        the restrictions don't affect later tests.
+
+        * platform/audio/MediaSessionManager.cpp:
+        (WebCore::MediaSessionManager::MediaSessionManager):
+        (WebCore::MediaSessionManager::resetRestrictions):
+        * platform/audio/MediaSessionManager.h:
+        (WebCore::MediaSessionManager::~MediaSessionManager):
+        * platform/audio/ios/MediaSessionManagerIOS.h:
+        * platform/audio/ios/MediaSessionManagerIOS.mm:
+        (WebCore::MediaSessionManageriOS::resetRestrictions):
+        * testing/Internals.cpp:
+        (WebCore::Internals::resetToConsistentState):
+
 2014-01-16  Alex Christensen  <achristen...@webkit.org>
 
         Compile fix for WinCairo after r162138.

Modified: trunk/Source/WebCore/platform/audio/MediaSessionManager.cpp (162177 => 162178)


--- trunk/Source/WebCore/platform/audio/MediaSessionManager.cpp	2014-01-17 01:58:42 UTC (rev 162177)
+++ trunk/Source/WebCore/platform/audio/MediaSessionManager.cpp	2014-01-17 02:12:19 UTC (rev 162178)
@@ -41,6 +41,11 @@
 MediaSessionManager::MediaSessionManager()
     : m_interruptions(0)
 {
+    resetRestrictions();
+}
+
+void MediaSessionManager::resetRestrictions()
+{
     m_restrictions[MediaSession::Video] = NoRestrictions;
     m_restrictions[MediaSession::Audio] = NoRestrictions;
     m_restrictions[MediaSession::WebAudio] = NoRestrictions;

Modified: trunk/Source/WebCore/platform/audio/MediaSessionManager.h (162177 => 162178)


--- trunk/Source/WebCore/platform/audio/MediaSessionManager.h	2014-01-17 01:58:42 UTC (rev 162177)
+++ trunk/Source/WebCore/platform/audio/MediaSessionManager.h	2014-01-17 02:12:19 UTC (rev 162178)
@@ -39,6 +39,7 @@
 class MediaSessionManager {
 public:
     static MediaSessionManager& sharedManager();
+    virtual ~MediaSessionManager() { }
 
     bool has(MediaSession::MediaType) const;
     int count(MediaSession::MediaType) const;
@@ -56,6 +57,7 @@
     void addRestriction(MediaSession::MediaType, SessionRestrictions);
     void removeRestriction(MediaSession::MediaType, SessionRestrictions);
     SessionRestrictions restrictions(MediaSession::MediaType);
+    virtual void resetRestrictions();
 
     void sessionWillBeginPlayback(const MediaSession&) const;
     bool sessionRestrictsInlineVideoPlayback(const MediaSession&) const;

Modified: trunk/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.h (162177 => 162178)


--- trunk/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.h	2014-01-17 01:58:42 UTC (rev 162177)
+++ trunk/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.h	2014-01-17 02:12:19 UTC (rev 162178)
@@ -42,6 +42,8 @@
 private:
     friend class MediaSessionManager;
 
+    virtual void resetRestrictions() override;
+
     MediaSessionManageriOS();
     RetainPtr<WebMediaSessionHelper> m_objcObserver;
 };

Modified: trunk/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm (162177 => 162178)


--- trunk/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm	2014-01-17 01:58:42 UTC (rev 162177)
+++ trunk/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm	2014-01-17 02:12:19 UTC (rev 162178)
@@ -73,6 +73,12 @@
     :MediaSessionManager()
     , m_objcObserver(adoptNS([[WebMediaSessionHelper alloc] initWithCallback:this]))
 {
+}
+
+void MediaSessionManageriOS::resetRestrictions()
+{
+    MediaSessionManager::resetRestrictions();
+
     DEFINE_STATIC_LOCAL(wkDeviceClass, deviceClass, (iosDeviceClass()));
 
     if (deviceClass == wkDeviceClassiPhone || deviceClass == wkDeviceClassiPod)
@@ -81,8 +87,6 @@
     addRestriction(MediaSession::Video, ConcurrentPlaybackNotPermitted);
 }
 
-}
-
 @implementation WebMediaSessionHelper
 
 - (id)initWithCallback:(MediaSessionManageriOS*)callback

Modified: trunk/Source/WebCore/testing/Internals.cpp (162177 => 162178)


--- trunk/Source/WebCore/testing/Internals.cpp	2014-01-17 01:58:42 UTC (rev 162177)
+++ trunk/Source/WebCore/testing/Internals.cpp	2014-01-17 02:12:19 UTC (rev 162178)
@@ -292,6 +292,9 @@
     if (page->mainFrame().editor().isOverwriteModeEnabled())
         page->mainFrame().editor().toggleOverwriteModeEnabled();
     cacheStorage().setDefaultOriginQuota(ApplicationCacheStorage::noQuota());
+#if ENABLE(VIDEO)
+    MediaSessionManager::sharedManager().resetRestrictions();
+#endif
 }
 
 Internals::Internals(Document* document)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to