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

jamesr at google.com jamesr at google.com
Wed Dec 22 13:38:14 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 046efc11d57eccf5bb6b2ce7911008f95ce804a8
Author: jamesr at google.com <jamesr at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Sep 22 05:53:17 2010 +0000

    2010-09-21  James Robinson  <jamesr at chromium.org>
    
            Reviewed by Kenneth Russell.
    
            [chromium] Check if the acceleratedCompositingEnabled setting is active in WebViewImpl::graphicsContext3D()
            https://bugs.webkit.org/show_bug.cgi?id=46239
    
            This adds a check for whether acceleratedCompositingEnabled is true on the Page's Settings
            object before creating and vending a GraphicsContext3D object.  This is needed because when
            an offscreen WebGraphicsContext3DCommandBufferImpl is initialized it first asks the WebViewImpl
            for the compositor context.  WebGraphicsContext3DCommandBufferImpl::initialize checks if the
            disable accelerated compositing command line switch is set, but this is insufficient as sometimes
            the Setting object does not agree exactly with the command line switches.  For example,
            we explicitly toggle accelerated compositing for some chrome UI URLs regardless of what the
            flag says.
    
            * src/WebViewImpl.cpp:
            (WebKit::WebViewImpl::graphicsContext3D):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68015 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index dff8ae6..fcdfd3c 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,22 @@
+2010-09-21  James Robinson  <jamesr at chromium.org>
+
+        Reviewed by Kenneth Russell.
+
+        [chromium] Check if the acceleratedCompositingEnabled setting is active in WebViewImpl::graphicsContext3D()
+        https://bugs.webkit.org/show_bug.cgi?id=46239
+
+        This adds a check for whether acceleratedCompositingEnabled is true on the Page's Settings
+        object before creating and vending a GraphicsContext3D object.  This is needed because when
+        an offscreen WebGraphicsContext3DCommandBufferImpl is initialized it first asks the WebViewImpl
+        for the compositor context.  WebGraphicsContext3DCommandBufferImpl::initialize checks if the
+        disable accelerated compositing command line switch is set, but this is insufficient as sometimes
+        the Setting object does not agree exactly with the command line switches.  For example,
+        we explicitly toggle accelerated compositing for some chrome UI URLs regardless of what the
+        flag says.
+
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::graphicsContext3D):
+
 2010-09-21  Kent Tamura  <tkent at chromium.org>
 
         Reviewed by David Levin.
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index 23ebb80..103f78a 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -2434,24 +2434,25 @@ SharedGraphicsContext3D* WebViewImpl::getSharedGraphicsContext3D()
 WebGraphicsContext3D* WebViewImpl::graphicsContext3D()
 {
 #if USE(ACCELERATED_COMPOSITING)
-    GraphicsContext3D* context = 0;
-    if (m_layerRenderer)
-        context = m_layerRenderer->context();
-    else if (m_temporaryOnscreenGraphicsContext3D)
-        context = m_temporaryOnscreenGraphicsContext3D.get();
-    else {
-        GraphicsContext3D::Attributes attributes;
-        m_temporaryOnscreenGraphicsContext3D = GraphicsContext3D::create(GraphicsContext3D::Attributes(), m_page->chrome(), GraphicsContext3D::RenderDirectlyToHostWindow);
+    if (m_page->settings()->acceleratedCompositingEnabled() && allowsAcceleratedCompositing()) {
+        GraphicsContext3D* context = 0;
+        if (m_layerRenderer)
+            context = m_layerRenderer->context();
+        else if (m_temporaryOnscreenGraphicsContext3D)
+            context = m_temporaryOnscreenGraphicsContext3D.get();
+        else {
+            GraphicsContext3D::Attributes attributes;
+            m_temporaryOnscreenGraphicsContext3D = GraphicsContext3D::create(GraphicsContext3D::Attributes(), m_page->chrome(), GraphicsContext3D::RenderDirectlyToHostWindow);
 #if OS(DARWIN)
-        if (m_temporaryOnscreenGraphicsContext3D)
-            m_temporaryOnscreenGraphicsContext3D->reshape(std::max(1, m_size.width), std::max(1, m_size.height));
+            if (m_temporaryOnscreenGraphicsContext3D)
+                m_temporaryOnscreenGraphicsContext3D->reshape(std::max(1, m_size.width), std::max(1, m_size.height));
 #endif
-        context = m_temporaryOnscreenGraphicsContext3D.get();
+            context = m_temporaryOnscreenGraphicsContext3D.get();
+        }
+        return GraphicsContext3DInternal::extractWebGraphicsContext3D(context);
     }
-    return GraphicsContext3DInternal::extractWebGraphicsContext3D(context);
-#else
-    return 0;
 #endif
+    return 0;
 }
 
 } // namespace WebKit

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list