diff options
author | Nicolas Roard <nicolasroard@google.com> | 2011-08-18 15:45:30 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-08-18 15:45:30 -0700 |
commit | 55488a4e70941dc7d313c02041395e9a75d8b150 (patch) | |
tree | a5c44baddaef9d199d2d07655fb7756755fd11fa /Source/WebCore/platform/graphics/android/GLWebViewState.cpp | |
parent | 8cbca62bcdf31ac48f0083e2e0624b05ce239393 (diff) | |
parent | f1ab740d0427ebb5c42b8b72fa3102b037a109f0 (diff) | |
download | external_webkit-55488a4e70941dc7d313c02041395e9a75d8b150.zip external_webkit-55488a4e70941dc7d313c02041395e9a75d8b150.tar.gz external_webkit-55488a4e70941dc7d313c02041395e9a75d8b150.tar.bz2 |
Merge "Fix repaint when we toggle the inverted mode - add a boolean return in WebView::nativeSetProperty() - add an inverted flag in BaseTileTexture"
Diffstat (limited to 'Source/WebCore/platform/graphics/android/GLWebViewState.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/GLWebViewState.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Source/WebCore/platform/graphics/android/GLWebViewState.cpp b/Source/WebCore/platform/graphics/android/GLWebViewState.cpp index c54977d..53d32f7 100644 --- a/Source/WebCore/platform/graphics/android/GLWebViewState.cpp +++ b/Source/WebCore/platform/graphics/android/GLWebViewState.cpp @@ -573,11 +573,21 @@ bool GLWebViewState::drawGL(IntRect& rect, SkRect& viewport, IntRect* invalRect, SkSafeRef(compositedRoot); SkSafeUnref(m_previouslyUsedRoot); m_previouslyUsedRoot = compositedRoot; + + ret |= TilesManager::instance()->invertedScreenSwitch(); + if (ret) { - if (m_frameworkInval.isEmpty()) { - // ret==true && empty inval region means we've inval'd everything, - // but don't have new content. Keep redrawing full view (0,0,0,0) - // until tile generation catches up and we swap pages. + // ret==true && empty inval region means we've inval'd everything, + // but don't have new content. Keep redrawing full view (0,0,0,0) + // until tile generation catches up and we swap pages. + bool fullScreenInval = m_frameworkInval.isEmpty(); + + if (TilesManager::instance()->invertedScreenSwitch()) { + fullScreenInval = true; + TilesManager::instance()->setInvertedScreenSwitch(false); + } + + if (fullScreenInval) { invalRect->setX(0); invalRect->setY(0); invalRect->setWidth(0); |