Title: [119236] trunk/Source/WebKit/blackberry
Revision
119236
Author
[email protected]
Date
2012-06-01 08:47:11 -0700 (Fri, 01 Jun 2012)

Log Message

[BlackBerry] Bridge Apps - Apps do not redraw correctly after orientation change
https://bugs.webkit.org/show_bug.cgi?id=88033

Reviewed by Rob Buis.
Patch by Jacky Jiang <[email protected]>

PR: 142961
When bridge apps were in carousel mode, the backing store was inactive
as its memory had been released. When we rotated the device, we would
call WebPagPrivate:setViewportSize and resume screen and backing store
to render and blit visible contents. As backing store was inactive and
the window usage was GLES2Usage, we were neither doing backing store
rendering nor direct rendering. Therefore, we drew layers directly
based on the invalid texture contents when blitting contents if
accelerated compositing was enabled.
This patch forces compositing mode to let the accelerated compositing
layer take care of the rendering which can update texture contents
before drawing when backing store is inactive and is openGL compositing.

Reviewed internally by George Staikos and Arvid Nilsson.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/Api/BackingStore.cpp (119235 => 119236)


--- trunk/Source/WebKit/blackberry/Api/BackingStore.cpp	2012-06-01 15:45:00 UTC (rev 119235)
+++ trunk/Source/WebKit/blackberry/Api/BackingStore.cpp	2012-06-01 15:47:11 UTC (rev 119236)
@@ -300,8 +300,17 @@
     m_suspendBackingStoreUpdates = false;
 
 #if USE(ACCELERATED_COMPOSITING)
-    if (op != BackingStore::None)
+    if (op != BackingStore::None) {
+        if (isOpenGLCompositing() && !isActive()) {
+            m_webPage->d->setCompositorDrawsRootLayer(true);
+            m_webPage->d->setNeedsOneShotDrawingSynchronization();
+            m_suspendScreenUpdates = false;
+            BlackBerry::Platform::userInterfaceThreadMessageClient()->syncToCurrentMessage();
+            return;
+        }
+
         m_webPage->d->setNeedsOneShotDrawingSynchronization();
+    }
 #endif
 
     // For the direct rendering case, there is no such operation as blit,

Modified: trunk/Source/WebKit/blackberry/ChangeLog (119235 => 119236)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-06-01 15:45:00 UTC (rev 119235)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-06-01 15:47:11 UTC (rev 119236)
@@ -1,3 +1,29 @@
+2012-05-31  Jacky Jiang  <[email protected]>
+
+        [BlackBerry] Bridge Apps - Apps do not redraw correctly after orientation change
+        https://bugs.webkit.org/show_bug.cgi?id=88033
+
+        Reviewed by Rob Buis.
+        Patch by Jacky Jiang <[email protected]>
+
+        PR: 142961
+        When bridge apps were in carousel mode, the backing store was inactive
+        as its memory had been released. When we rotated the device, we would
+        call WebPagPrivate:setViewportSize and resume screen and backing store
+        to render and blit visible contents. As backing store was inactive and
+        the window usage was GLES2Usage, we were neither doing backing store
+        rendering nor direct rendering. Therefore, we drew layers directly
+        based on the invalid texture contents when blitting contents if
+        accelerated compositing was enabled.
+        This patch forces compositing mode to let the accelerated compositing
+        layer take care of the rendering which can update texture contents
+        before drawing when backing store is inactive and is openGL compositing.
+
+        Reviewed internally by George Staikos and Arvid Nilsson.
+
+        * Api/BackingStore.cpp:
+        (BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
+
 2012-05-31  Hajime Morrita  <[email protected]>
 
         REGRESSION(r117572): editing/spelling/spellcheck-async-remove-frame.html crashes on Mac
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to