[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

hclam at chromium.org hclam at chromium.org
Wed Dec 22 14:06:27 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit ce87c769c5b35c02f485a9cf8b44b48abc2b7582
Author: hclam at chromium.org <hclam at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Oct 4 17:35:40 2010 +0000

    Fixing crash when audio media player is destructed
    https://bugs.webkit.org/show_bug.cgi?id=47020
    
    Reviewed by James Robinson.
    
    WebCore:
    
    Adds assert for LayerRenderer in destructor.
    
    * platform/graphics/chromium/VideoLayerChromium.cpp:
    (WebCore::VideoLayerChromium::~VideoLayerChromium):
    
    WebKit/chromium:
    
    Creates the VideoLayerChromium layer only if the media player contains
    a video.
    
    * src/WebMediaPlayerClientImpl.cpp:
    (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
    (WebKit::WebMediaPlayerClientImpl::create):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69022 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index df92166..4d79d10 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-01  Victoria Kirst  <vrk at google.com>
+
+        Reviewed by James Robinson.
+
+        Fixing crash when audio media player is destructed
+        https://bugs.webkit.org/show_bug.cgi?id=47020
+
+        Adds assert for LayerRenderer in destructor.
+
+        * platform/graphics/chromium/VideoLayerChromium.cpp:
+        (WebCore::VideoLayerChromium::~VideoLayerChromium):
+
 2010-10-04  Pavel Podivilov  <podivilov at chromium.org>
 
         Reviewed by Pavel Feldman.
diff --git a/WebCore/platform/graphics/chromium/VideoLayerChromium.cpp b/WebCore/platform/graphics/chromium/VideoLayerChromium.cpp
index a55cb2b..56c6d8d 100644
--- a/WebCore/platform/graphics/chromium/VideoLayerChromium.cpp
+++ b/WebCore/platform/graphics/chromium/VideoLayerChromium.cpp
@@ -185,8 +185,7 @@ VideoLayerChromium::VideoLayerChromium(GraphicsLayerChromium* owner, VideoFrameP
 
 VideoLayerChromium::~VideoLayerChromium()
 {
-    if (!layerRenderer())
-        return;
+    ASSERT(layerRenderer());
 
     GraphicsContext3D* context = layerRendererContext();
     for (unsigned plane = 0; plane < VideoFrameChromium::maxPlanes; plane++) {
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index e6c800b..4402293 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,10 +1,24 @@
+2010-10-01  Victoria Kirst  <vrk at google.com>
+
+        Reviewed by James Robinson.
+
+        Fixing crash when audio media player is destructed
+        https://bugs.webkit.org/show_bug.cgi?id=47020
+
+        Creates the VideoLayerChromium layer only if the media player contains
+        a video.
+
+        * src/WebMediaPlayerClientImpl.cpp:
+        (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
+        (WebKit::WebMediaPlayerClientImpl::create):
+
 2010-10-01  Mihai Parparita  <mihaip at chromium.org>
 
         Reviewed by Nate Chapin.
 
         [Chromium] Remove WebURLLoaderClient::didFinishLoading(WebURLLoader*)
         https://bugs.webkit.org/show_bug.cgi?id=47008
-        
+
         Now that WebURLLoaderClient::didFinishLoading(WebURLLoader*) has no
         more callers, it can be removed (requires a Chromium roll to
         http://crrev.com/61206, which actually removed the last usage).
diff --git a/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp b/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
index f0ece0d..87ad963 100644
--- a/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
+++ b/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
@@ -105,6 +105,8 @@ void WebMediaPlayerClientImpl::readyStateChanged()
 {
     ASSERT(m_mediaPlayer);
     m_mediaPlayer->readyStateChanged();
+    if (hasVideo() && supportsAcceleratedRendering() && !m_videoLayer.get())
+        m_videoLayer = VideoLayerChromium::create(0, this);
 }
 
 void WebMediaPlayerClientImpl::volumeChanged(float newVolume)
@@ -455,9 +457,6 @@ MediaPlayerPrivateInterface* WebMediaPlayerClientImpl::create(MediaPlayer* playe
     // if necessary.
     client->m_supportsAcceleratedCompositing =
         frame->contentRenderer()->compositor()->hasAcceleratedCompositing();
-
-    if (client->m_supportsAcceleratedCompositing)
-        client->m_videoLayer = VideoLayerChromium::create(0, client);
 #endif
 
     return client;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list