Title: [132391] trunk/Source/WebKit/blackberry
Revision
132391
Author
zhaji...@rim.com
Date
2012-10-24 13:31:05 -0700 (Wed, 24 Oct 2012)

Log Message

[BlackBerry][Fullscreen] Roll out changes to fullscreen which rely on viewport size change [Part II]
https://bugs.webkit.org/show_bug.cgi?id=100259

Reviewed by Rob Buis.
Patch by Jacky Jiang <zhaji...@rim.com>.

PR: 219666
Revert "[BlackBerry] [FullScreen] entering/leaving fullscreen results in temporary glitches on the screen"
This rolls out r128772.
The patches relies on the viewport size change of the client side to
resume the screen and backing store updates. However, some client
sides don't need or wish to resize the WebKit viewport at all which
will result in upexpected screen and backing store suspensions.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::enterFullScreenForElement):
(WebCore::ChromeClientBlackBerry::exitFullScreenForElement):

Modified Paths

Diff

Modified: trunk/Source/WebKit/blackberry/Api/WebPage.cpp (132390 => 132391)


--- trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-10-24 20:30:39 UTC (rev 132390)
+++ trunk/Source/WebKit/blackberry/Api/WebPage.cpp	2012-10-24 20:31:05 UTC (rev 132391)
@@ -398,13 +398,10 @@
     , m_cursorEventMode(ProcessedCursorEvents)
     , m_touchEventMode(ProcessedTouchEvents)
 #endif
-#if ENABLE(FULLSCREEN_API)
-#if ENABLE(VIDEO)
+#if ENABLE(FULLSCREEN_API) && ENABLE(VIDEO)
     , m_scaleBeforeFullScreen(-1.0)
     , m_xScrollOffsetBeforeFullScreen(-1)
 #endif
-    , m_isTogglingFullScreenState(false)
-#endif
     , m_currentCursor(Platform::CursorNone)
     , m_dumpRenderTree(0) // Lazy initialization.
     , m_initialScale(-1.0)
@@ -3849,13 +3846,6 @@
         // If we need layout then render and blit, otherwise just blit as our viewport has changed.
         m_backingStore->d->resumeScreenAndBackingStoreUpdates(needsLayout ? BackingStore::RenderAndBlit : BackingStore::Blit);
     }
-
-#if ENABLE(FULLSCREEN_API)
-    if (m_isTogglingFullScreenState) {
-        m_backingStore->d->resumeScreenAndBackingStoreUpdates(BackingStore::RenderAndBlit);
-        m_isTogglingFullScreenState = false;
-    }
-#endif
 }
 
 void WebPage::setViewportSize(const Platform::IntSize& viewportSize, bool ensureFocusElementVisible)

Modified: trunk/Source/WebKit/blackberry/Api/WebPage_p.h (132390 => 132391)


--- trunk/Source/WebKit/blackberry/Api/WebPage_p.h	2012-10-24 20:30:39 UTC (rev 132390)
+++ trunk/Source/WebKit/blackberry/Api/WebPage_p.h	2012-10-24 20:31:05 UTC (rev 132391)
@@ -532,7 +532,6 @@
     double m_scaleBeforeFullScreen;
     int m_xScrollOffsetBeforeFullScreen;
 #endif
-    bool m_isTogglingFullScreenState;
 #endif
 
     Platform::BlackBerryCursor m_currentCursor;

Modified: trunk/Source/WebKit/blackberry/ChangeLog (132390 => 132391)


--- trunk/Source/WebKit/blackberry/ChangeLog	2012-10-24 20:30:39 UTC (rev 132390)
+++ trunk/Source/WebKit/blackberry/ChangeLog	2012-10-24 20:31:05 UTC (rev 132391)
@@ -1,5 +1,29 @@
 2012-10-24  Jacky Jiang  <zhaji...@rim.com>
 
+        [BlackBerry][Fullscreen] Roll out changes to fullscreen which rely on viewport size change [Part II]
+        https://bugs.webkit.org/show_bug.cgi?id=100259
+
+        Reviewed by Rob Buis.
+
+        PR: 219666
+        Revert "[BlackBerry] [FullScreen] entering/leaving fullscreen results in temporary glitches on the screen"
+        This rolls out r128772.
+        The patches relies on the viewport size change of the client side to
+        resume the screen and backing store updates. However, some client
+        sides don't need or wish to resize the WebKit viewport at all which
+        will result in upexpected screen and backing store suspensions.
+
+        * Api/WebPage.cpp:
+        (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
+        (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
+        * Api/WebPage_p.h:
+        (WebPagePrivate):
+        * WebCoreSupport/ChromeClientBlackBerry.cpp:
+        (WebCore::ChromeClientBlackBerry::enterFullScreenForElement):
+        (WebCore::ChromeClientBlackBerry::exitFullScreenForElement):
+
+2012-10-24  Jacky Jiang  <zhaji...@rim.com>
+
         [BlackBerry][Fullscreen] Roll out changes to fullscreen which rely on viewport size change
         https://bugs.webkit.org/show_bug.cgi?id=100259
 

Modified: trunk/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp (132390 => 132391)


--- trunk/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp	2012-10-24 20:30:39 UTC (rev 132390)
+++ trunk/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp	2012-10-24 20:31:05 UTC (rev 132391)
@@ -736,11 +736,6 @@
 
 void ChromeClientBlackBerry::enterFullScreenForElement(WebCore::Element* element)
 {
-    // To avoid glitches on the screen when entering fullscreen, lets suspend the
-    // Backing Store screen updates and only resume at the next call of WebPagePrivate::setViewportSize.
-    m_webPagePrivate->m_isTogglingFullScreenState = true;
-    m_webPagePrivate->m_backingStore->d->suspendScreenAndBackingStoreUpdates();
-
     element->document()->webkitWillEnterFullScreenForElement(element);
     m_webPagePrivate->enterFullScreenForElement(element);
     element->document()->webkitDidEnterFullScreenForElement(element);
@@ -749,9 +744,6 @@
 
 void ChromeClientBlackBerry::exitFullScreenForElement(WebCore::Element*)
 {
-    m_webPagePrivate->m_isTogglingFullScreenState = true;
-    m_webPagePrivate->m_backingStore->d->suspendScreenAndBackingStoreUpdates();
-
     // The element passed into this function is not reliable, i.e. it could
     // be null. In addition the parameter may be disappearing in the future.
     // So we use the reference to the element we saved above.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to