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

noam.rosenthal at nokia.com noam.rosenthal at nokia.com
Wed Dec 22 14:50:25 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 5d2d00fa8cda71804bc6c44d6b42924b2f44cff8
Author: noam.rosenthal at nokia.com <noam.rosenthal at nokia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Oct 21 20:31:17 2010 +0000

    2010-10-21  No'am Rosenthal  <noam.rosenthal at nokia.com>
    
            Reviewed by Simon Hausmann.
    
            [Qt] When doing rendering through tiling, it seems the tiles are not initialized before rendering
            https://bugs.webkit.org/show_bug.cgi?id=48070
    
            No new tests. Auto-tests for Tiled Backing Store should be added, see bug 48082
    
            * page/Frame.cpp:
            (WebCore::Frame::tiledBackingStoreBackgroundColor):
            * page/Frame.h:
            * platform/graphics/TiledBackingStoreClient.h:
            * platform/graphics/qt/TileQt.cpp:
            (WebCore::Tile::updateBackBuffer):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70262 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 010aa4a..861825e 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-10-21  No'am Rosenthal  <noam.rosenthal at nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        [Qt] When doing rendering through tiling, it seems the tiles are not initialized before rendering
+        https://bugs.webkit.org/show_bug.cgi?id=48070
+
+        No new tests. Auto-tests for Tiled Backing Store should be added, see bug 48082
+
+        * page/Frame.cpp:
+        (WebCore::Frame::tiledBackingStoreBackgroundColor):
+        * page/Frame.h:
+        * platform/graphics/TiledBackingStoreClient.h:
+        * platform/graphics/qt/TileQt.cpp:
+        (WebCore::Tile::updateBackBuffer):
+
 2010-10-21  Carlos Garcia Campos  <cgarcia at igalia.com>
 
         Reviewed by Martin Robinson.
diff --git a/WebCore/page/Frame.cpp b/WebCore/page/Frame.cpp
index 186d564..f75bc98 100644
--- a/WebCore/page/Frame.cpp
+++ b/WebCore/page/Frame.cpp
@@ -879,6 +879,13 @@ IntRect Frame::tiledBackingStoreVisibleRect()
         return IntRect();
     return m_page->chrome()->client()->visibleRectForTiledBackingStore();
 }
+
+Color Frame::tiledBackingStoreBackgroundColor() const
+{
+    if (!m_view)
+        return Color();
+    return m_view->baseBackgroundColor();
+}
 #endif
 
 String Frame::layerTreeAsText() const
diff --git a/WebCore/page/Frame.h b/WebCore/page/Frame.h
index b48f5c8..8d10d8e 100644
--- a/WebCore/page/Frame.h
+++ b/WebCore/page/Frame.h
@@ -237,6 +237,7 @@ namespace WebCore {
         virtual void tiledBackingStorePaintEnd(const Vector<IntRect>& paintedArea);
         virtual IntRect tiledBackingStoreContentsRect();
         virtual IntRect tiledBackingStoreVisibleRect();
+        virtual Color tiledBackingStoreBackgroundColor() const;
 
         OwnPtr<TiledBackingStore> m_tiledBackingStore;
 #endif
diff --git a/WebCore/platform/graphics/TiledBackingStoreClient.h b/WebCore/platform/graphics/TiledBackingStoreClient.h
index c5845b9..6087ec3 100644
--- a/WebCore/platform/graphics/TiledBackingStoreClient.h
+++ b/WebCore/platform/graphics/TiledBackingStoreClient.h
@@ -30,6 +30,7 @@ public:
     virtual void tiledBackingStorePaintEnd(const Vector<IntRect>& paintedArea) = 0;
     virtual IntRect tiledBackingStoreContentsRect() = 0;
     virtual IntRect tiledBackingStoreVisibleRect() = 0;
+    virtual Color tiledBackingStoreBackgroundColor() const = 0;
 };
 
 #else
diff --git a/WebCore/platform/graphics/qt/TileQt.cpp b/WebCore/platform/graphics/qt/TileQt.cpp
index 9628448..096ce14 100644
--- a/WebCore/platform/graphics/qt/TileQt.cpp
+++ b/WebCore/platform/graphics/qt/TileQt.cpp
@@ -97,9 +97,10 @@ void Tile::updateBackBuffer()
         return;
 
     if (!m_backBuffer) {
-        if (!m_buffer)
+        if (!m_buffer) {
             m_backBuffer = new QPixmap(m_backingStore->m_tileSize.width(), m_backingStore->m_tileSize.height());
-        else {
+            m_backBuffer->fill(m_backingStore->m_client->tiledBackingStoreBackgroundColor());
+        } else {
             // Currently all buffers are updated synchronously at the same time so there is no real need
             // to have separate back and front buffers. Just use the existing buffer.
             m_backBuffer = m_buffer;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list