Title: [110727] trunk/Source/WebCore
Revision
110727
Author
[email protected]
Date
2012-03-14 12:24:19 -0700 (Wed, 14 Mar 2012)

Log Message

WebProcess spins beneath [QTMovie movieFileTypes:]
https://bugs.webkit.org/show_bug.cgi?id=81133

Reviewed by Eric Carlson.

No new tests; speculative fix for top WebProcess spin.

When checking to see if a given mime type is supported by QuickTime,
immediately exclude all types that do not begin with 'audio/' or 'video/'.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::supportsType):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (110726 => 110727)


--- trunk/Source/WebCore/ChangeLog	2012-03-14 19:12:25 UTC (rev 110726)
+++ trunk/Source/WebCore/ChangeLog	2012-03-14 19:24:19 UTC (rev 110727)
@@ -1,3 +1,17 @@
+2012-03-14  Jer Noble  <[email protected]>
+
+        WebProcess spins beneath [QTMovie movieFileTypes:]
+        https://bugs.webkit.org/show_bug.cgi?id=81133
+
+        Reviewed by Eric Carlson.
+
+        No new tests; speculative fix for top WebProcess spin.
+
+        When checking to see if a given mime type is supported by QuickTime,
+        immediately exclude all types that do not begin with 'audio/' or 'video/'.
+        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+        (WebCore::MediaPlayerPrivateQTKit::supportsType):
+
 2012-03-14  Zalan Bujtas  <[email protected]>
 
         Make RenderIFrame::flattenFrame() return earlier, when frame flattening is disabled.

Modified: trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm (110726 => 110727)


--- trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm	2012-03-14 19:12:25 UTC (rev 110726)
+++ trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm	2012-03-14 19:24:19 UTC (rev 110727)
@@ -1462,6 +1462,11 @@
     // Only return "IsSupported" if there is no codecs parameter for now as there is no way to ask QT if it supports an
     // extended MIME type yet.
 
+    // Due to <rdar://problem/10777059>, avoid calling the mime types cache functions if at
+    // all possible:
+    if (!type.startsWith("video/") && !type.startsWith("audio/"))
+        return MediaPlayer::IsNotSupported;
+
     // We check the "modern" type cache first, as it doesn't require QTKitServer to start.
     if (mimeModernTypesCache().contains(type) || mimeCommonTypesCache().contains(type))
         return codecs.isEmpty() ? MediaPlayer::MayBeSupported : MediaPlayer::IsSupported;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to