diff options
author | Derek Sollenberger <djsollen@google.com> | 2011-02-18 14:04:07 -0500 |
---|---|---|
committer | Bart Sears <bsears@google.com> | 2011-02-18 19:30:44 -0800 |
commit | 9492bdf10e74e4c4d7e8ab7298dbd275935a45f0 (patch) | |
tree | e4d210f26bec51d2944cab0c0a6bbf525743e0fe /WebCore/platform/graphics | |
parent | b1f94474f57c247527261dbb10de63b7a4285d60 (diff) | |
download | external_webkit-9492bdf10e74e4c4d7e8ab7298dbd275935a45f0.zip external_webkit-9492bdf10e74e4c4d7e8ab7298dbd275935a45f0.tar.gz external_webkit-9492bdf10e74e4c4d7e8ab7298dbd275935a45f0.tar.bz2 |
Do not merge: Cherry-pick 2nd part of GL_BLEND CL from master
Ensure non-ready tiles are painted with the page background color.
bug: 3465059
bug: 3471680
Change-Id: Id0cc94f181882d1308471c9bd898fe005101d6f8
Diffstat (limited to 'WebCore/platform/graphics')
4 files changed, 8 insertions, 1 deletions
diff --git a/WebCore/platform/graphics/android/BaseLayerAndroid.cpp b/WebCore/platform/graphics/android/BaseLayerAndroid.cpp index 00eac74..3483e44 100644 --- a/WebCore/platform/graphics/android/BaseLayerAndroid.cpp +++ b/WebCore/platform/graphics/android/BaseLayerAndroid.cpp @@ -264,6 +264,7 @@ bool BaseLayerAndroid::drawGL(IntRect& viewRect, SkRect& visibleRect, XLOG("drawBasePicture drawGL() viewRect: %d, %d, %d, %d", left, top, width, height); + m_glWebViewState->setBackgroundColor(color); glClearColor((float)m_color.red() / 255.0, (float)m_color.green() / 255.0, (float)m_color.blue() / 255.0, 1); diff --git a/WebCore/platform/graphics/android/BaseTile.cpp b/WebCore/platform/graphics/android/BaseTile.cpp index 960d073..2942f24 100644 --- a/WebCore/platform/graphics/android/BaseTile.cpp +++ b/WebCore/platform/graphics/android/BaseTile.cpp @@ -256,7 +256,7 @@ void BaseTile::paintBitmap() SkCanvas* canvas = texture->canvas(); canvas->save(); - canvas->drawARGB(0, 0, 0, 0, SkXfermode::kClear_Mode); + canvas->drawColor(tiledPage->glWebViewState()->getBackgroundColor()); canvas->scale(scale, scale); canvas->translate(-x * w, -y * h); diff --git a/WebCore/platform/graphics/android/GLWebViewState.cpp b/WebCore/platform/graphics/android/GLWebViewState.cpp index 38b747d..d57abf8 100644 --- a/WebCore/platform/graphics/android/GLWebViewState.cpp +++ b/WebCore/platform/graphics/android/GLWebViewState.cpp @@ -68,6 +68,7 @@ GLWebViewState::GLWebViewState(android::Mutex* buttonMutex) , m_usePageA(true) , m_globalButtonMutex(buttonMutex) , m_baseLayerUpdate(true) + , m_backgroundColor(SK_ColorWHITE) { m_viewport.setEmpty(); m_previousViewport.setEmpty(); diff --git a/WebCore/platform/graphics/android/GLWebViewState.h b/WebCore/platform/graphics/android/GLWebViewState.h index 7fa5e39..d45340d 100644 --- a/WebCore/platform/graphics/android/GLWebViewState.h +++ b/WebCore/platform/graphics/android/GLWebViewState.h @@ -205,6 +205,9 @@ public: return false; } + void setBackgroundColor(SkColor color) { m_backgroundColor = color; } + SkColor getBackgroundColor() { return m_backgroundColor; } + private: void inval(const IntRect& rect); // caller must hold m_baseLayerLock @@ -244,6 +247,8 @@ private: bool m_baseLayerUpdate; IntRect m_invalidateRect; + + SkColor m_backgroundColor; }; } // namespace WebCore |