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