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

jamesr at google.com jamesr at google.com
Wed Dec 22 18:49:46 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit fa072193248b4e9ecbc2ec872d540d899cb943a2
Author: jamesr at google.com <jamesr at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Dec 20 20:48:34 2010 +0000

    2010-12-20  James Robinson  <jamesr at chromium.org>
    
            Unreviewed, rolling out r74278.
            http://trac.webkit.org/changeset/74278
            https://bugs.webkit.org/show_bug.cgi?id=50833
    
            [chromium] Causes many layout tests to crash
    
            * platform/graphics/chromium/LayerRendererChromium.cpp:
            (WebCore::LayerRendererChromium::LayerRendererChromium):
            (WebCore::LayerRendererChromium::prepareToDrawLayers):
            (WebCore::LayerRendererChromium::drawLayers):
            (WebCore::LayerRendererChromium::useRenderSurface):
            (WebCore::LayerRendererChromium::setScissorToRect):
            * platform/graphics/chromium/LayerRendererChromium.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@74358 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 86f4150..fe3d24d 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-12-20  James Robinson  <jamesr at chromium.org>
+
+        Unreviewed, rolling out r74278.
+        http://trac.webkit.org/changeset/74278
+        https://bugs.webkit.org/show_bug.cgi?id=50833
+
+        [chromium] Causes many layout tests to crash
+
+        * platform/graphics/chromium/LayerRendererChromium.cpp:
+        (WebCore::LayerRendererChromium::LayerRendererChromium):
+        (WebCore::LayerRendererChromium::prepareToDrawLayers):
+        (WebCore::LayerRendererChromium::drawLayers):
+        (WebCore::LayerRendererChromium::useRenderSurface):
+        (WebCore::LayerRendererChromium::setScissorToRect):
+        * platform/graphics/chromium/LayerRendererChromium.h:
+
 2010-12-20  Geoffrey Garen  <ggaren at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp b/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
index 35d6b11..6d5f642 100644
--- a/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
+++ b/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
@@ -108,7 +108,6 @@ LayerRendererChromium::LayerRendererChromium(PassRefPtr<GraphicsContext3D> conte
     , m_currentShader(0)
     , m_currentRenderSurface(0)
     , m_offscreenFramebufferId(0)
-    , m_compositeOffscreen(false)
     , m_context(context)
     , m_defaultRenderSurface(0)
 {
@@ -203,10 +202,6 @@ void LayerRendererChromium::prepareToDrawLayers(const IntRect& visibleRect, cons
 
         GLC(m_context.get(), m_context->texImage2D(GraphicsContext3D::TEXTURE_2D, 0, GraphicsContext3D::RGBA, m_rootLayerTextureWidth, m_rootLayerTextureHeight, 0, GraphicsContext3D::RGBA, GraphicsContext3D::UNSIGNED_BYTE, 0));
 
-        if (!m_rootLayer->m_renderSurface)
-            m_rootLayer->createRenderSurface();
-        m_rootLayer->m_renderSurface->m_contentRect = IntRect(0, 0, m_rootLayerTextureWidth, m_rootLayerTextureHeight);
-
         // Reset the current render surface to force an update of the viewport and
         // projection matrix next time useRenderSurface is called.
         m_currentRenderSurface = 0;
@@ -298,9 +293,11 @@ void LayerRendererChromium::updateRootLayerTextureRect(const IntRect& updateRect
 void LayerRendererChromium::drawLayers(const IntRect& visibleRect, const IntRect& contentRect)
 {
     ASSERT(m_hardwareCompositing);
-    ASSERT(m_rootLayer->m_renderSurface);
 
     m_defaultRenderSurface = m_rootLayer->m_renderSurface.get();
+    if (!m_defaultRenderSurface)
+        m_defaultRenderSurface = m_rootLayer->createRenderSurface();
+    m_defaultRenderSurface->m_contentRect = IntRect(0, 0, m_rootLayerTextureWidth, m_rootLayerTextureHeight);
 
     useRenderSurface(m_defaultRenderSurface);
 
@@ -665,22 +662,6 @@ void LayerRendererChromium::updateLayersRecursive(LayerChromium* layer, const Tr
         std::stable_sort(&descendants.at(thisLayerIndex), descendants.end(), compareLayerZ);
 }
 
-void LayerRendererChromium::setCompositeOffscreen(bool compositeOffscreen)
-{
-    m_compositeOffscreen = compositeOffscreen;
-
-    if (!m_rootLayer) {
-        m_compositeOffscreen = false;
-        return;
-    }
-
-    if (m_compositeOffscreen) {
-        // Need to explicitly set a LayerRendererChromium for the layer with the offscreen texture,
-        // or else the call to prepareContentsTexture() in useRenderSurface() will fail.
-        m_rootLayer->setLayerRenderer(this);
-    }
-}
-
 bool LayerRendererChromium::useRenderSurface(RenderSurfaceChromium* renderSurface)
 {
     if (m_currentRenderSurface == renderSurface)
@@ -688,7 +669,7 @@ bool LayerRendererChromium::useRenderSurface(RenderSurfaceChromium* renderSurfac
 
     m_currentRenderSurface = renderSurface;
 
-    if (renderSurface == m_defaultRenderSurface && !m_compositeOffscreen) {
+    if (renderSurface == m_defaultRenderSurface) {
         GLC(m_context.get(), m_context->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, 0));
         setDrawViewportRect(renderSurface->m_contentRect, true);
         return true;
@@ -756,9 +737,8 @@ void LayerRendererChromium::setScissorToRect(const IntRect& scissorRect)
     int scissorX = scissorRect.x() - m_currentRenderSurface->m_contentRect.x();
     // When rendering to the default render surface we're rendering upside down so the top
     // of the GL scissor is the bottom of our layer.
-    // But, if rendering to offscreen texture, we reverse our sense of 'upside down'.
     int scissorY;
-    if (m_currentRenderSurface == m_defaultRenderSurface && !m_compositeOffscreen)
+    if (m_currentRenderSurface == m_defaultRenderSurface)
         scissorY = m_currentRenderSurface->m_contentRect.height() - (scissorRect.bottom() - m_currentRenderSurface->m_contentRect.y());
     else
         scissorY = scissorRect.y() - m_currentRenderSurface->m_contentRect.y();
diff --git a/WebCore/platform/graphics/chromium/LayerRendererChromium.h b/WebCore/platform/graphics/chromium/LayerRendererChromium.h
index 8af589f..c0e610a 100644
--- a/WebCore/platform/graphics/chromium/LayerRendererChromium.h
+++ b/WebCore/platform/graphics/chromium/LayerRendererChromium.h
@@ -88,11 +88,6 @@ public:
 
     bool hardwareCompositing() const { return m_hardwareCompositing; }
 
-    void setCompositeOffscreen(bool);
-    bool isCompositingOffscreen() { return m_compositeOffscreen; }
-    LayerTexture* getOffscreenLayerTexture() { return m_compositeOffscreen ? m_rootLayer->m_renderSurface->m_contentsTexture.get() : 0; }
-    void copyOffscreenTextureToDisplay();
-
     void setRootLayerCanvasSize(const IntSize&);
 
     GraphicsContext* rootLayerGraphicsContext() const { return m_rootLayerGraphicsContext.get(); }
@@ -159,7 +154,6 @@ private:
     RenderSurfaceChromium* m_currentRenderSurface;
 
     unsigned m_offscreenFramebufferId;
-    bool m_compositeOffscreen;
 
 #if PLATFORM(SKIA)
     OwnPtr<skia::PlatformCanvas> m_rootLayerCanvas;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list