Changeset 76689 in webkit


Ignore:
Timestamp:
Jan 26, 2011 7:51:35 AM (13 years ago)
Author:
carol.szabo@nokia.com
Message:

2011-01-26 Carol Szabo <carol.szabo@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.
Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r76688 r76689  
     12011-01-26  Carol Szabo  <carol.szabo@nokia.com>
     2
     3        Reviewed by Simon Hausmann.
     4
     5        Fixed TiledBacking store to take into account new dirty regions caused by
     6        paint time layouts.
     7
     8        Flawed rendering design for QtWebKit resulting in artifacts being displayed
     9        https://bugs.webkit.org/show_bug.cgi?id=49184
     10
     11        There are no new tests as this patch aims at fixing flicker that
     12        happen randomly, mostly on slow hardware, thus are hard to reproduce
     13        consistently in an automated test.
     14
     15        This patch does not fully address the said bug but it is a step in the
     16        right direction. A full solution to the bug, as currently perceived,
     17        requires either a Qt GUI API change, a performance hit for QtWebKit,
     18        or a hack, until a full solution is provided this patch is progress.
     19
     20        * platform/graphics/TiledBackingStore.cpp:
     21        (WebCore::TiledBackingStore::updateTileBuffers):
     22        Changed to take into account newly dirtied areas created during
     23        tile update initiated layouts during the same update.
     24
    1252011-01-26  Patrick Gansterer  <paroga@webkit.org>
    226
  • trunk/Source/WebCore/platform/graphics/TiledBackingStore.cpp

    r60350 r76689  
    9494        return;
    9595   
     96    m_client->tiledBackingStorePaintBegin();
     97
    9698    Vector<IntRect> paintedArea;
    9799    Vector<RefPtr<Tile> > dirtyTiles;
     
    105107    }
    106108   
    107     if (dirtyTiles.isEmpty())
    108         return;
    109    
    110     m_client->tiledBackingStorePaintBegin();
    111 
     109    if (dirtyTiles.isEmpty()) {
     110        m_client->tiledBackingStorePaintEnd(paintedArea);
     111        return;
     112    }
    112113    // FIXME: In single threaded case, tile back buffers could be updated asynchronously
    113114    // one by one and then swapped to front in one go. This would minimize the time spent
Note: See TracChangeset for help on using the changeset viewer.