[BlackBerry] Scrolling up and down can cause the screen to flash black
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