Title: [133629] trunk/Source/WebKit/blackberry
- Revision
- 133629
- Author
- [email protected]
- Date
- 2012-11-06 10:01:15 -0800 (Tue, 06 Nov 2012)
Log Message
[BlackBerry] Page can't back to whole screen after zoom out and orientation change
https://bugs.webkit.org/show_bug.cgi?id=101350
Reviewed by Rob Buis.
Patch by Jacky Jiang <[email protected]>.
Internally reviewed by Arvid Nilsson.
PR: 229321
When rotating device during touch interaction, bitmap zooming was
unexpected ended by resetBitmapZoomScale() so that it couldn't bounce
back. The call resetBitmapZoomScale() is ancient, which just resets the
scale of the bitmap before. Right now it only ends the bitmap zooming
which caused the issue. As UI viewport will be updated by zoomChanged()
right after that, we can remove this trouble maker.
Update the interaction views if the rotation is being changed so that
ZoomHandler can get the updated views.
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
* Api/WebPageClient.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit/blackberry/Api/WebPage.cpp (133628 => 133629)
--- trunk/Source/WebKit/blackberry/Api/WebPage.cpp 2012-11-06 17:57:08 UTC (rev 133628)
+++ trunk/Source/WebKit/blackberry/Api/WebPage.cpp 2012-11-06 18:01:15 UTC (rev 133629)
@@ -1255,8 +1255,6 @@
// We need to invalidate all tiles both visible and non-visible if we're loading.
m_backingStore->d->updateTiles(isLoading /* updateVisible */, false /* immediate */);
- m_client->resetBitmapZoomScale(m_transformationMatrix->m11());
-
bool shouldRender = !isLoading || m_userPerformedManualZoom || forceRendering;
bool shouldClearVisibleZoom = isLoading && shouldRender;
@@ -1268,6 +1266,9 @@
m_client->zoomChanged(m_webPage->isMinZoomed(), m_webPage->isMaxZoomed(), !shouldZoomOnEscape(), currentScale());
+ if (m_pendingOrientation != -1)
+ m_client->updateInteractionViews();
+
// Clear window to make sure there are no artifacts.
if (shouldRender) {
// Resume all screen updates to the backingstore and render+blit visible contents to screen.
Modified: trunk/Source/WebKit/blackberry/Api/WebPageClient.h (133628 => 133629)
--- trunk/Source/WebKit/blackberry/Api/WebPageClient.h 2012-11-06 17:57:08 UTC (rev 133628)
+++ trunk/Source/WebKit/blackberry/Api/WebPageClient.h 2012-11-06 18:01:15 UTC (rev 133629)
@@ -132,6 +132,7 @@
virtual void contentsSizeChanged(const Platform::IntSize&) const = 0;
virtual void scrollChanged(const Platform::IntPoint&) const = 0;
virtual void zoomChanged(bool isMinZoomed, bool isMaxZoomed, bool isAtInitialZoom, double newZoom) const = 0;
+ virtual void updateInteractionViews() = 0;
virtual void requestUpdateViewport(int width, int height) = 0;
Modified: trunk/Source/WebKit/blackberry/ChangeLog (133628 => 133629)
--- trunk/Source/WebKit/blackberry/ChangeLog 2012-11-06 17:57:08 UTC (rev 133628)
+++ trunk/Source/WebKit/blackberry/ChangeLog 2012-11-06 18:01:15 UTC (rev 133629)
@@ -1,3 +1,25 @@
+2012-11-06 Jacky Jiang <[email protected]>
+
+ [BlackBerry] Page can't back to whole screen after zoom out and orientation change
+ https://bugs.webkit.org/show_bug.cgi?id=101350
+
+ Reviewed by Rob Buis.
+ Internally reviewed by Arvid Nilsson.
+
+ PR: 229321
+ When rotating device during touch interaction, bitmap zooming was
+ unexpected ended by resetBitmapZoomScale() so that it couldn't bounce
+ back. The call resetBitmapZoomScale() is ancient, which just resets the
+ scale of the bitmap before. Right now it only ends the bitmap zooming
+ which caused the issue. As UI viewport will be updated by zoomChanged()
+ right after that, we can remove this trouble maker.
+ Update the interaction views if the rotation is being changed so that
+ ZoomHandler can get the updated views.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
+ * Api/WebPageClient.h:
+
2012-11-05 Lianghui Chen <[email protected]>
[BlackBerry] Do not show error page for main loads denied by client application
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes