Changeset 119236 in webkit


Ignore:
Timestamp:
Jun 1, 2012 8:47:11 AM (12 years ago)
Author:
zhajiang@rim.com
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 <zhajiang@rim.com>

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):

Location:
trunk/Source/WebKit/blackberry
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/blackberry/Api/BackingStore.cpp

    r119046 r119236  
    301301
    302302#if USE(ACCELERATED_COMPOSITING)
    303     if (op != BackingStore::None)
     303    if (op != BackingStore::None) {
     304        if (isOpenGLCompositing() && !isActive()) {
     305            m_webPage->d->setCompositorDrawsRootLayer(true);
     306            m_webPage->d->setNeedsOneShotDrawingSynchronization();
     307            m_suspendScreenUpdates = false;
     308            BlackBerry::Platform::userInterfaceThreadMessageClient()->syncToCurrentMessage();
     309            return;
     310        }
     311
    304312        m_webPage->d->setNeedsOneShotDrawingSynchronization();
     313    }
    305314#endif
    306315
  • trunk/Source/WebKit/blackberry/ChangeLog

    r119192 r119236  
     12012-05-31  Jacky Jiang  <zhajiang@rim.com>
     2
     3        [BlackBerry] Bridge Apps - Apps do not redraw correctly after orientation change
     4        https://bugs.webkit.org/show_bug.cgi?id=88033
     5
     6        Reviewed by Rob Buis.
     7        Patch by Jacky Jiang <zhajiang@rim.com>
     8
     9        PR: 142961
     10        When bridge apps were in carousel mode, the backing store was inactive
     11        as its memory had been released. When we rotated the device, we would
     12        call WebPagPrivate:setViewportSize and resume screen and backing store
     13        to render and blit visible contents. As backing store was inactive and
     14        the window usage was GLES2Usage, we were neither doing backing store
     15        rendering nor direct rendering. Therefore, we drew layers directly
     16        based on the invalid texture contents when blitting contents if
     17        accelerated compositing was enabled.
     18        This patch forces compositing mode to let the accelerated compositing
     19        layer take care of the rendering which can update texture contents
     20        before drawing when backing store is inactive and is openGL compositing.
     21
     22        Reviewed internally by George Staikos and Arvid Nilsson.
     23
     24        * Api/BackingStore.cpp:
     25        (BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
     26
    1272012-05-31  Hajime Morrita  <morrita@chromium.org>
    228
Note: See TracChangeset for help on using the changeset viewer.