[chromium] ContentLayer's texture updater deleted during paint when compositing turns...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Sep 2011 01:49:52 +0000 (01:49 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Sep 2011 01:49:52 +0000 (01:49 +0000)
commit02ea028661c432713f275619f9c72acb9e71662e
tree4960f07b2146a56fd2d38516bff225a6465a2590
parent4e447c700b84f797524061c93dffabd7878e9b0c
[chromium] ContentLayer's texture updater deleted during paint when compositing turns off in the middle of paint
https://bugs.webkit.org/show_bug.cgi?id=68405

Patch by James Robinson <jamesr@chromium.org> on 2011-09-19
Reviewed by Kenneth Russell.

Make TiledLayerChromium's textureUpdater refcounted and hold an explicit reference during paint in case
compositing is turned off halfway through a paint.

* platform/graphics/chromium/ContentLayerChromium.h:
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerTextureUpdater::create):
* platform/graphics/chromium/ImageLayerChromium.h:
* platform/graphics/chromium/LayerTextureUpdater.h:
* platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
(WebCore::LayerTextureUpdaterBitmap::create):
(WebCore::LayerTextureUpdaterSkPicture::create):
* platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::prepareToUpdate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@95506 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h
Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp
Source/WebCore/platform/graphics/chromium/ImageLayerChromium.h
Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h
Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp
Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.h
Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp