-
anilsson@rim.com authored
https://bugs.webkit.org/show_bug.cgi?id=113269 Reviewed by Rob Buis. PR 296106 Source/WebCore: The LayerRenderer should never clear before drawing the layers, from now on that's the responsibility of the caller. Only manually testable. * platform/graphics/blackberry/LayerRenderer.cpp: (WebCore::LayerRenderer::setViewport): * platform/graphics/blackberry/LayerRendererClient.h: (LayerRendererClient): Source/WebKit/blackberry: Various flaws in the code could conspire to make the screen cleared to black before rendering the web page. This only happened when the BackingStore was inactive, and the LayerTiler takes on the job of drawing the root layer. When tiles are missing, this made the "checkerboard" effect especially noticeable since black color was seen where the tile should have been. It would be better to clear to the web page background color. This was actually the intent of the code, but when the document background color was invalid, we would still use it instead of the background color from settings. Also, the LayerRenderer would clear to black when WebPageCompositorPrivate::drawsRootLayer() was true. Fixed by falling back to the settings background color when the document background color is invalid, and removing the clearing code from the LayerRenderer entirely. The appropriate clear already happens near the beginning of BackingStorePrivate::blitVisibleContents(). Also slightly cleaned up the code for managing the background color. * Api/WebPage.cpp: (BlackBerry::WebKit::WebPagePrivate::setLoadState): (BlackBerry::WebKit::WebPagePrivate::didChangeSettings): (BlackBerry::WebKit::WebPagePrivate::updateBackgroundColor): (WebKit): (BlackBerry::WebKit::WebPagePrivate::documentBackgroundColor): * Api/WebPageCompositor.cpp: * Api/WebPageCompositor_p.h: (WebPageCompositorPrivate): * Api/WebPage_p.h: (WebPagePrivate): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146911 268f45cc-cd09-0410-ab3c-d52691b4dbfc
cd289bab