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