OSDN Git Service

Support partial invalidation of tiles based on webkit's inval rect.
authorDerek Sollenberger <djsollen@google.com>
Tue, 2 Nov 2010 15:15:08 +0000 (11:15 -0400)
committerDerek Sollenberger <djsollen@google.com>
Thu, 4 Nov 2010 13:53:33 +0000 (09:53 -0400)
commitfc92ca2409a95b539274985812d88016b6b84b7e
treef7e226a3dc2ea59204b6556845962e431ca9dbd0
parent2689b38c74169006cadfbce7184976223bc13afc
Support partial invalidation of tiles based on webkit's inval rect.

This CL causes the selective repainting of BaseTiles (and their
associated GL textures) using the information provided by Webkit.
If tiles need repainted they are marked with as dirty and the
thread painting and uploading the textures will only operate on
dirty tiles. This change resulted in some significant refactoring
most of which revolved around these changes...

(1) Removed PaintingInfo from the Texture object and instead track
the state of the tile in Tile object.
(2) Removed all pending TileSets for a TiledPage when the page
produces a new set. This ensures that the tiles currently visible
to the user are painted instead of ones that may already be offscreen.

Change-Id: I93845d8e6e7b066e6bab84bcde11be4a6940002f
13 files changed:
WebCore/platform/graphics/android/BackedDoubleBufferedTexture.cpp
WebCore/platform/graphics/android/BackedDoubleBufferedTexture.h
WebCore/platform/graphics/android/BaseTile.cpp
WebCore/platform/graphics/android/BaseTile.h
WebCore/platform/graphics/android/DoubleBufferedTexture.h
WebCore/platform/graphics/android/GLWebViewState.cpp
WebCore/platform/graphics/android/GLWebViewState.h
WebCore/platform/graphics/android/TexturesGenerator.cpp
WebCore/platform/graphics/android/TileSet.cpp
WebCore/platform/graphics/android/TileSet.h
WebCore/platform/graphics/android/TiledPage.cpp
WebCore/platform/graphics/android/TiledPage.h
WebCore/platform/graphics/android/TilesManager.cpp