[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

carol.szabo at nokia.com carol.szabo at nokia.com
Sun Feb 20 23:53:39 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit 46da0e5ba428254e2f1f57637ad55bf72f5d12a6
Author: carol.szabo at nokia.com <carol.szabo at nokia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jan 26 15:51:35 2011 +0000

    2011-01-26  Carol Szabo  <carol.szabo at nokia.com>
    
            Reviewed by Simon Hausmann.
    
            Fixed TiledBacking store to take into account new dirty regions caused by
            paint time layouts.
    
            Flawed rendering design for QtWebKit resulting in artifacts being displayed
            https://bugs.webkit.org/show_bug.cgi?id=49184
    
            There are no new tests as this patch aims at fixing flicker that
            happen randomly, mostly on slow hardware, thus are hard to reproduce
            consistently in an automated test.
    
            This patch does not fully address the said bug but it is a step in the
            right direction. A full solution to the bug, as currently perceived,
            requires either a Qt GUI API change, a performance hit for QtWebKit,
            or a hack, until a full solution is provided this patch is progress.
    
            * platform/graphics/TiledBackingStore.cpp:
            (WebCore::TiledBackingStore::updateTileBuffers):
            Changed to take into account newly dirtied areas created during
            tile update initiated layouts during the same update.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76689 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 0bf84c9..eb39225 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,27 @@
+2011-01-26  Carol Szabo  <carol.szabo at nokia.com>
+
+        Reviewed by Simon Hausmann.
+
+        Fixed TiledBacking store to take into account new dirty regions caused by
+        paint time layouts.
+
+        Flawed rendering design for QtWebKit resulting in artifacts being displayed
+        https://bugs.webkit.org/show_bug.cgi?id=49184
+
+        There are no new tests as this patch aims at fixing flicker that
+        happen randomly, mostly on slow hardware, thus are hard to reproduce
+        consistently in an automated test.
+
+        This patch does not fully address the said bug but it is a step in the
+        right direction. A full solution to the bug, as currently perceived,
+        requires either a Qt GUI API change, a performance hit for QtWebKit,
+        or a hack, until a full solution is provided this patch is progress.
+
+        * platform/graphics/TiledBackingStore.cpp:
+        (WebCore::TiledBackingStore::updateTileBuffers):
+        Changed to take into account newly dirtied areas created during
+        tile update initiated layouts during the same update.
+
 2011-01-26  Patrick Gansterer  <paroga at webkit.org>
 
         Reviewed by Andreas Kling.
diff --git a/Source/WebCore/platform/graphics/TiledBackingStore.cpp b/Source/WebCore/platform/graphics/TiledBackingStore.cpp
index 1d6f237..958d810 100644
--- a/Source/WebCore/platform/graphics/TiledBackingStore.cpp
+++ b/Source/WebCore/platform/graphics/TiledBackingStore.cpp
@@ -93,6 +93,8 @@ void TiledBackingStore::updateTileBuffers()
     if (m_contentsFrozen)
         return;
     
+    m_client->tiledBackingStorePaintBegin();
+
     Vector<IntRect> paintedArea;
     Vector<RefPtr<Tile> > dirtyTiles;
     TileMap::iterator end = m_tiles.end();
@@ -104,11 +106,10 @@ void TiledBackingStore::updateTileBuffers()
         paintedArea.append(mapToContents(it->second->rect()));
     }
     
-    if (dirtyTiles.isEmpty())
+    if (dirtyTiles.isEmpty()) {
+        m_client->tiledBackingStorePaintEnd(paintedArea);
         return;
-    
-    m_client->tiledBackingStorePaintBegin();
-
+    }
     // FIXME: In single threaded case, tile back buffers could be updated asynchronously 
     // one by one and then swapped to front in one go. This would minimize the time spent
     // blocking on tile updates.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list