summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebCore/platform/graphics/android/LayerAndroid.cpp14
-rw-r--r--WebCore/platform/graphics/android/LayerAndroid.h1
2 files changed, 10 insertions, 5 deletions
diff --git a/WebCore/platform/graphics/android/LayerAndroid.cpp b/WebCore/platform/graphics/android/LayerAndroid.cpp
index 2df63a9..dba1ceb 100644
--- a/WebCore/platform/graphics/android/LayerAndroid.cpp
+++ b/WebCore/platform/graphics/android/LayerAndroid.cpp
@@ -1033,6 +1033,7 @@ void LayerAndroid::paintBitmapGL()
contentDraw(nCanvas);
picture.endRecording();
picture.draw(canvas);
+ extraDraw(canvas);
m_atomicSync.lock();
texture->setTextureInfoFor(this);
@@ -1048,6 +1049,14 @@ void LayerAndroid::paintBitmapGL()
XLOG("LayerAndroid %d paintBitmapGL UPDATING DONE", uniqueId());
}
+void LayerAndroid::extraDraw(SkCanvas* canvas)
+{
+ m_atomicSync.lock();
+ if (m_extra)
+ canvas->drawPicture(*m_extra);
+ m_atomicSync.unlock();
+}
+
void LayerAndroid::contentDraw(SkCanvas* canvas)
{
if (m_contentsImage) {
@@ -1058,11 +1067,6 @@ void LayerAndroid::contentDraw(SkCanvas* canvas)
canvas->drawPicture(*m_recordingPicture);
}
- m_atomicSync.lock();
- if (m_extra)
- canvas->drawPicture(*m_extra);
- m_atomicSync.unlock();
-
if (TilesManager::instance()->getShowVisualIndicator()) {
float w = getSize().width();
float h = getSize().height();
diff --git a/WebCore/platform/graphics/android/LayerAndroid.h b/WebCore/platform/graphics/android/LayerAndroid.h
index 98a0a15..0846930 100644
--- a/WebCore/platform/graphics/android/LayerAndroid.h
+++ b/WebCore/platform/graphics/android/LayerAndroid.h
@@ -243,6 +243,7 @@ public:
void needsRepaint() { m_pictureUsed++; }
unsigned int pictureUsed() { return m_pictureUsed; }
void contentDraw(SkCanvas*);
+ void extraDraw(SkCanvas*);
virtual bool isMedia() const { return false; }
virtual bool isVideo() const { return false; }