diff options
-rw-r--r-- | WebCore/platform/graphics/android/LayerAndroid.cpp | 14 | ||||
-rw-r--r-- | WebCore/platform/graphics/android/LayerAndroid.h | 1 |
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; } |