Title: [104502] trunk/Source/WebKit/chromium
Revision
104502
Author
[email protected]
Date
2012-01-09 15:56:49 -0800 (Mon, 09 Jan 2012)

Log Message

Fix potential issue in WebMediaPlayerClientImpl
https://bugs.webkit.org/show_bug.cgi?id=75899

Reviewed by Kenneth Russell.

* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::load):
(WebKit::WebMediaPlayerClientImpl::loadInternal):
(WebKit::WebMediaPlayerClientImpl::AudioSourceProviderImpl::wrap):

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (104501 => 104502)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-01-09 23:53:36 UTC (rev 104501)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-01-09 23:56:49 UTC (rev 104502)
@@ -1,3 +1,15 @@
+2012-01-09  Chris Rogers  <[email protected]>
+
+        Fix potential issue in WebMediaPlayerClientImpl
+        https://bugs.webkit.org/show_bug.cgi?id=75899
+
+        Reviewed by Kenneth Russell.
+
+        * src/WebMediaPlayerClientImpl.cpp:
+        (WebKit::WebMediaPlayerClientImpl::load):
+        (WebKit::WebMediaPlayerClientImpl::loadInternal):
+        (WebKit::WebMediaPlayerClientImpl::AudioSourceProviderImpl::wrap):
+
 2012-01-09  Justin Novosad  <[email protected]>
 
         [Chromium] remove all references to the legacy accelerated 2d Canvas

Modified: trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp (104501 => 104502)


--- trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp	2012-01-09 23:53:36 UTC (rev 104501)
+++ trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp	2012-01-09 23:56:49 UTC (rev 104502)
@@ -237,6 +237,7 @@
     m_url = url;
 
     if (m_preload == MediaPlayer::None) {
+        m_audioSourceProvider.wrap(0); // Clear weak reference to m_webMediaPlayer's WebAudioSourceProvider.
         m_webMediaPlayer.clear();
         m_delayingLoad = true;
     } else
@@ -245,6 +246,8 @@
 
 void WebMediaPlayerClientImpl::loadInternal()
 {
+    m_audioSourceProvider.wrap(0); // Clear weak reference to m_webMediaPlayer's WebAudioSourceProvider.
+
     Frame* frame = static_cast<HTMLMediaElement*>(m_mediaPlayer->mediaPlayerClient())->document()->frame();
     m_webMediaPlayer = createWebMediaPlayer(this, frame);
     if (m_webMediaPlayer) {
@@ -688,8 +691,6 @@
 #if ENABLE(WEB_AUDIO)
 void WebMediaPlayerClientImpl::AudioSourceProviderImpl::wrap(WebAudioSourceProvider* provider)
 {
-    if (m_webAudioSourceProvider && m_webAudioSourceProvider != provider)
-        m_webAudioSourceProvider->setClient(0);
     m_webAudioSourceProvider = provider;
     if (m_webAudioSourceProvider)
         m_webAudioSourceProvider->setClient(m_client.get());
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to