Title: [92894] trunk/Source/WebCore
Revision
92894
Author
[email protected]
Date
2011-08-11 17:20:09 -0700 (Thu, 11 Aug 2011)

Log Message

WebCore::AVFWrapper fails to remove observer for kCACFContextNeedsFlushNotification
https://bugs.webkit.org/show_bug.cgi?id=66116

We need to pass 0 as the object parameter to CFNotificationCenterRemoveObserver() when removing
kCACFContextNeedsFlushNotification to match what we do when we registered for the same
notification with CFNotificationCenterAddObserver().

Reviewed by John Sullivan.

No new tests, uses existing media tests.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Pass 0 as the object parameter to CFNotificationCenterRemoveObserver().
(WebCore::AVFWrapper::notificationCallback): Remove obsolete FIXME comment.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (92893 => 92894)


--- trunk/Source/WebCore/ChangeLog	2011-08-12 00:18:59 UTC (rev 92893)
+++ trunk/Source/WebCore/ChangeLog	2011-08-12 00:20:09 UTC (rev 92894)
@@ -1,3 +1,20 @@
+2011-08-11  Jeff Miller  <[email protected]>
+
+        WebCore::AVFWrapper fails to remove observer for kCACFContextNeedsFlushNotification
+        https://bugs.webkit.org/show_bug.cgi?id=66116
+
+        We need to pass 0 as the object parameter to CFNotificationCenterRemoveObserver() when removing
+        kCACFContextNeedsFlushNotification to match what we do when we registered for the same
+        notification with CFNotificationCenterAddObserver().
+
+        Reviewed by John Sullivan.
+
+        No new tests, uses existing media tests.
+
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp:
+        (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper): Pass 0 as the object parameter to CFNotificationCenterRemoveObserver().
+        (WebCore::AVFWrapper::notificationCallback): Remove obsolete FIXME comment.
+
 2011-08-11  Ryosuke Niwa  <[email protected]>
 
         Share code between isStyleSpanOrSpanWithOnlyStyleAttribute, isUnstyledStyleSpan,

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp (92893 => 92894)


--- trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp	2011-08-12 00:18:59 UTC (rev 92893)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp	2011-08-12 00:20:09 UTC (rev 92894)
@@ -895,7 +895,7 @@
         CFNotificationCenterRemoveObserver(center, avfWrapper, AVCFPlayerItemIsPlaybackLikelyToKeepUpChangedNotification, avfWrapper->avPlayerItem());
         CFNotificationCenterRemoveObserver(center, avfWrapper, AVCFPlayerItemIsPlaybackBufferEmptyChangedNotification, avfWrapper->avPlayerItem());
         CFNotificationCenterRemoveObserver(center, avfWrapper, AVCFPlayerItemIsPlaybackBufferFullChangedNotification, avfWrapper->avPlayerItem());
-        CFNotificationCenterRemoveObserver(center, avfWrapper, CACFContextNeedsFlushNotification(), avfWrapper->avPlayerItem());
+        CFNotificationCenterRemoveObserver(center, avfWrapper, CACFContextNeedsFlushNotification(), 0);
     }
 
     if (avfWrapper->avPlayer()) {
@@ -1026,11 +1026,9 @@
         self->m_owner->scheduleMainThreadNotification(MediaPlayerPrivateAVFoundation::Notification::ItemIsPlaybackBufferFullChanged);
     else if (CFEqual(propertyName, AVCFPlayerRateChangedNotification))
         self->m_owner->scheduleMainThreadNotification(MediaPlayerPrivateAVFoundation::Notification::PlayerRateChanged);
-    else if (CFEqual(propertyName, CACFContextNeedsFlushNotification())) {
-        // FIXME: Note that until <rdar://problem/9885505> is fixed, we can get a kCACFContextNeedsFlushNotification after
-        // the AVFWrapper has gone away. We work around this for now by never actually deleting the underlying AVFWrapper object. 
+    else if (CFEqual(propertyName, CACFContextNeedsFlushNotification()))
         self->m_owner->scheduleMainThreadNotification(MediaPlayerPrivateAVFoundation::Notification::ContentsNeedsDisplay);
-    } else
+    else
         ASSERT_NOT_REACHED();
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to