Title: [101781] trunk/Source/WebKit2
- Revision
- 101781
- Author
- [email protected]
- Date
- 2011-12-02 03:53:07 -0800 (Fri, 02 Dec 2011)
Log Message
[Qt] Do not apply the transition state before we are unsuspended
Reviewed by Simon Hausmann.
Also remove an accessor in the private, which is unneeded as
everything in the private class is supposed to be public or
only used by the private itself.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::loadDidCommit):
(QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
(QQuickWebViewPrivate::_q_suspend):
(QQuickWebViewPrivate::_q_resume):
(QQuickWebViewPrivate::didChangeContentsSize):
(QQuickWebViewPrivate::didChangeViewportProperties):
* UIProcess/API/qt/qquickwebview_p_p.h:
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (101780 => 101781)
--- trunk/Source/WebKit2/ChangeLog 2011-12-02 11:52:50 UTC (rev 101780)
+++ trunk/Source/WebKit2/ChangeLog 2011-12-02 11:53:07 UTC (rev 101781)
@@ -1,5 +1,25 @@
2011-12-02 Kenneth Rohde Christiansen <[email protected]>
+ [Qt] Do not apply the transition state before we are unsuspended
+
+ Reviewed by Simon Hausmann.
+
+ Also remove an accessor in the private, which is unneeded as
+ everything in the private class is supposed to be public or
+ only used by the private itself.
+
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebViewPrivate::QQuickWebViewPrivate):
+ (QQuickWebViewPrivate::loadDidCommit):
+ (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
+ (QQuickWebViewPrivate::_q_suspend):
+ (QQuickWebViewPrivate::_q_resume):
+ (QQuickWebViewPrivate::didChangeContentsSize):
+ (QQuickWebViewPrivate::didChangeViewportProperties):
+ * UIProcess/API/qt/qquickwebview_p_p.h:
+
+2011-12-02 Kenneth Rohde Christiansen <[email protected]>
+
Unreviewed buildfix, add missing include.
* WebProcess/Notifications/WebNotificationManager.cpp:
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp (101780 => 101781)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2011-12-02 11:52:50 UTC (rev 101780)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2011-12-02 11:53:07 UTC (rev 101781)
@@ -42,7 +42,8 @@
, confirmDialog(0)
, promptDialog(0)
, postTransitionState(adoptPtr(new PostTransitionState(this)))
- , transitioningToNewPage(false)
+ , isTransitioningToNewPage(false)
+ , pageIsSuspended(false)
{
viewport->setFlags(QQuickItem::ItemClipsChildrenToShape);
@@ -109,25 +110,50 @@
void QQuickWebViewPrivate::loadDidCommit()
{
- transitioningToNewPage = true;
+ // Due to entering provisional load before committing, we
+ // might actually be suspended here.
+
+ if (useTraditionalDesktopBehaviour)
+ return;
+
+ isTransitioningToNewPage = true;
}
void QQuickWebViewPrivate::didFinishFirstNonEmptyLayout()
{
- transitioningToNewPage = false;
-
if (useTraditionalDesktopBehaviour)
return;
- postTransitionState->apply();
+ if (!pageIsSuspended) {
+ isTransitioningToNewPage = false;
+ postTransitionState->apply();
+ }
}
+void QQuickWebViewPrivate::_q_suspend()
+{
+ pageIsSuspended = true;
+}
+
+void QQuickWebViewPrivate::_q_resume()
+{
+ pageIsSuspended = false;
+
+ if (isTransitioningToNewPage) {
+ isTransitioningToNewPage = false;
+ postTransitionState->apply();
+ }
+
+ updateVisibleContentRect();
+}
+
void QQuickWebViewPrivate::didChangeContentsSize(const QSize& newSize)
{
if (useTraditionalDesktopBehaviour)
return;
- if (isTransitioningToNewPage()) {
+ // FIXME: We probably want to handle suspend here as well
+ if (isTransitioningToNewPage) {
postTransitionState->contentsSize = newSize;
return;
}
@@ -143,7 +169,7 @@
viewportArguments = args;
- if (isTransitioningToNewPage())
+ if (isTransitioningToNewPage)
return;
interactionEngine->applyConstraints(computeViewportConstraints());
@@ -155,15 +181,6 @@
interactionEngine->pagePositionRequest(pos);
}
-void QQuickWebViewPrivate::_q_suspend()
-{
-}
-
-void QQuickWebViewPrivate::_q_resume()
-{
- updateVisibleContentRect();
-}
-
void QQuickWebViewPrivate::updateVisibleContentRect()
{
Q_Q(QQuickWebView);
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h (101780 => 101781)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2011-12-02 11:52:50 UTC (rev 101780)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h 2011-12-02 11:53:07 UTC (rev 101781)
@@ -108,8 +108,6 @@
QSize contentsSize;
};
- bool isTransitioningToNewPage() const { return transitioningToNewPage; }
-
void setViewInAttachedProperties(QObject*);
QScopedPointer<QtWebPageEventHandler> eventHandler;
@@ -130,7 +128,8 @@
WebCore::ViewportArguments viewportArguments;
OwnPtr<PostTransitionState> postTransitionState;
- bool transitioningToNewPage;
+ bool isTransitioningToNewPage;
+ bool pageIsSuspended;
bool useTraditionalDesktopBehaviour;
QFileDialog* fileDialog;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes