diff options
Diffstat (limited to 'Source/WebKit/android/jni/WebViewCore.cpp')
-rw-r--r-- | Source/WebKit/android/jni/WebViewCore.cpp | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/Source/WebKit/android/jni/WebViewCore.cpp b/Source/WebKit/android/jni/WebViewCore.cpp index b998e99..1e406b1 100644 --- a/Source/WebKit/android/jni/WebViewCore.cpp +++ b/Source/WebKit/android/jni/WebViewCore.cpp @@ -673,10 +673,20 @@ void WebViewCore::recordPictureSet(PictureSet* content) content->clear(); #if USE(ACCELERATED_COMPOSITING) - // Detects if the content size has changed - bool contentSizeChanged = false; - if (content->width() != width || content->height() != height) - contentSizeChanged = true; + // The invals are not always correct when the content size has changed. For + // now, let's just reset the inval so that it invalidates the entire content + // -- the pictureset will be fully repainted, tiles will be marked dirty and + // will have to be repainted. + + // FIXME: the webkit invals ought to have been enough... + if (content->width() != width || content->height() != height) { + SkIRect r; + r.fLeft = 0; + r.fTop = 0; + r.fRight = width; + r.fBottom = height; + m_addInval.setRect(r); + } #endif content->setDimensions(width, height, &m_addInval); @@ -700,23 +710,6 @@ void WebViewCore::recordPictureSet(PictureSet* content) // Rebuild the pictureset (webkit repaint) rebuildPictureSet(content); - -#if USE(ACCELERATED_COMPOSITING) - // We repainted the pictureset, but the invals are not always correct when - // the content size did change. For now, let's just reset the - // inval we will pass to the UI so that it invalidates the entire - // content -- tiles will be marked dirty and will have to be repainted. - // FIXME: the webkit invals ought to have been enough... - if (contentSizeChanged) { - SkIRect r; - r.fLeft = 0; - r.fTop = 0; - r.fRight = width; - r.fBottom = height; - m_addInval.setRect(r); - } -#endif - } // WebViewCoreRecordTimeCounter WebCore::Node* oldFocusNode = currentFocus(); |