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

senorblanco at chromium.org senorblanco at chromium.org
Wed Dec 22 14:19:16 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 30bc847777f739e36c25b88e0c996b0c5b5f4384
Author: senorblanco at chromium.org <senorblanco at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Oct 6 18:22:29 2010 +0000

    2010-10-06  Stephen White  <senorblanco at chromium.org>
    
            Reviewed by James Robinson.
            https://bugs.webkit.org/show_bug.cgi?id=47282
    
            Robustify the creation of SharedGraphicsContext3D against shader
            compilation failures.
    
            Covered by any canvas 2D layout test, when opened in chrome with
            --enable-accelerated-2d-canvas --in-process-webgl.
    
            * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
            (WebCore::SharedGraphicsContext3D::create):
            (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
            * platform/graphics/gpu/SharedGraphicsContext3D.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69215 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 5a19693..b02c178 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-10-06  Stephen White  <senorblanco at chromium.org>
+
+        Reviewed by James Robinson.
+        https://bugs.webkit.org/show_bug.cgi?id=47282
+
+        Robustify the creation of SharedGraphicsContext3D against shader
+        compilation failures.
+
+        Covered by any canvas 2D layout test, when opened in chrome with 
+        --enable-accelerated-2d-canvas --in-process-webgl.
+
+        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
+        (WebCore::SharedGraphicsContext3D::create):
+        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
+        * platform/graphics/gpu/SharedGraphicsContext3D.h:
+
 2010-10-06  Luiz Agostini  <luiz.agostini at openbossa.org>
 
         Reviewed by Kenneth Rohde Christiansen.
diff --git a/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp b/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp
index bb10bb1..4b7b4cf 100644
--- a/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp
+++ b/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp
@@ -55,14 +55,20 @@ PassRefPtr<SharedGraphicsContext3D> SharedGraphicsContext3D::create(HostWindow*
     OwnPtr<GraphicsContext3D> context = GraphicsContext3D::create(attr, hostWindow);
     if (!context)
         return 0;
-    return adoptRef(new SharedGraphicsContext3D(context.release()));
+    OwnPtr<SolidFillShader> solidFillShader = SolidFillShader::create(context.get());
+    if (!solidFillShader)
+        return 0;
+    OwnPtr<TexShader> texShader = TexShader::create(context.get());
+    if (!texShader)
+        return 0;
+    return adoptRef(new SharedGraphicsContext3D(context.release(), solidFillShader.release(), texShader.release()));
 }
 
-SharedGraphicsContext3D::SharedGraphicsContext3D(PassOwnPtr<GraphicsContext3D> context)
+SharedGraphicsContext3D::SharedGraphicsContext3D(PassOwnPtr<GraphicsContext3D> context, PassOwnPtr<SolidFillShader> solidFillShader, PassOwnPtr<TexShader> texShader)
     : m_context(context)
     , m_quadVertices(0)
-    , m_solidFillShader(SolidFillShader::create(m_context.get()))
-    , m_texShader(TexShader::create(m_context.get()))
+    , m_solidFillShader(solidFillShader)
+    , m_texShader(texShader)
 {
     allContexts()->add(this);
 }
diff --git a/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h b/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h
index 794f016..ffbc070 100644
--- a/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h
+++ b/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h
@@ -119,7 +119,7 @@ public:
     PassRefPtr<Texture> createTexture(Texture::Format, int width, int height);
 
 private:
-    explicit SharedGraphicsContext3D(PassOwnPtr<GraphicsContext3D> context);
+    SharedGraphicsContext3D(PassOwnPtr<GraphicsContext3D>, PassOwnPtr<SolidFillShader>, PassOwnPtr<TexShader>);
 
     // Used to implement removeTexturesFor(), see the comment above.
     static HashSet<SharedGraphicsContext3D*>* allContexts();

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list