[TexMap] pixel coverage multiplication in TiledBackingStore can overflow
authorzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Dec 2015 10:24:55 +0000 (10:24 +0000)
committerzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 10 Dec 2015 10:24:55 +0000 (10:24 +0000)
commite4da02a7d0e684912620a658ab009c3252ec4ce6
tree9b6257e2fc65d1ef2ec8519216539cb9f3afc00f
parent95fcf457eaa96412f9558bb794d3ac1ec1067c28
[TexMap] pixel coverage multiplication in TiledBackingStore can overflow
https://bugs.webkit.org/show_bug.cgi?id=152055

Reviewed by Carlos Garcia Campos.

The computation of the pixel coverage in TiledBackingStore can easily overflow
when the candidate size is relatively large (for instance when the backed
layer is transformed in a way that increases its perceived size). This can result
in missing tiles for this specific backing store, at least until the layer in
question is transformed again into a shape that produces a smaller candidate size.

To avoid the integer overflow, the multiplication is done in a safe manner,
defaulting to the max positive value an integer can hold in case the overflow
is detected.

* platform/graphics/texmap/coordinated/TiledBackingStore.cpp:
(WebCore::TiledBackingStore::adjustForContentsRect):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@193898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/texmap/coordinated/TiledBackingStore.cpp