Title: [106022] trunk/Source/WebKit2
- Revision
- 106022
- Author
- abe...@webkit.org
- Date
- 2012-01-26 11:47:53 -0800 (Thu, 26 Jan 2012)
Log Message
[Qt][WK2] Add the componentComplete method to WebView
https://bugs.webkit.org/show_bug.cgi?id=77111
Reviewed by Kenneth Rohde Christiansen.
Move the touch/desktop initialization to componentComplete.
Also return valid default values in the viewport info functions
if the interaction engine is not yet initialized because the
viewport info component could finish initialization earlier
than the WebView, which results in QML warnings during MiniBrowser
startup.
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
(QQuickWebView::geometryChanged):
(QQuickWebView::componentComplete):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qwebviewportinfo.cpp:
(QWebViewportInfo::currentScale):
(QWebViewportInfo::devicePixelRatio):
(QWebViewportInfo::initialScale):
(QWebViewportInfo::minimumScale):
(QWebViewportInfo::maximumScale):
(QWebViewportInfo::isScalable):
(QWebViewportInfo::layoutSize):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (106021 => 106022)
--- trunk/Source/WebKit2/ChangeLog 2012-01-26 19:28:38 UTC (rev 106021)
+++ trunk/Source/WebKit2/ChangeLog 2012-01-26 19:47:53 UTC (rev 106022)
@@ -1,3 +1,31 @@
+2012-01-26 Andras Becsi <andras.be...@nokia.com>
+
+ [Qt][WK2] Add the componentComplete method to WebView
+ https://bugs.webkit.org/show_bug.cgi?id=77111
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Move the touch/desktop initialization to componentComplete.
+ Also return valid default values in the viewport info functions
+ if the interaction engine is not yet initialized because the
+ viewport info component could finish initialization earlier
+ than the WebView, which results in QML warnings during MiniBrowser
+ startup.
+
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
+ (QQuickWebView::geometryChanged):
+ (QQuickWebView::componentComplete):
+ * UIProcess/API/qt/qquickwebview_p.h:
+ * UIProcess/API/qt/qwebviewportinfo.cpp:
+ (QWebViewportInfo::currentScale):
+ (QWebViewportInfo::devicePixelRatio):
+ (QWebViewportInfo::initialScale):
+ (QWebViewportInfo::minimumScale):
+ (QWebViewportInfo::maximumScale):
+ (QWebViewportInfo::isScalable):
+ (QWebViewportInfo::layoutSize):
+
2012-01-26 Anders Carlsson <ander...@apple.com>
WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp (106021 => 106022)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2012-01-26 19:28:38 UTC (rev 106021)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp 2012-01-26 19:47:53 UTC (rev 106022)
@@ -550,16 +550,8 @@
void QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour(bool enable)
{
- Q_Q(QQuickWebView);
-
- // Do not guard, testing for the same value, as we call this from the constructor.
-
webPageProxy->setUseFixedLayout(!enable);
pageView->setUsesTraditionalDesktopBehaviour(enable);
- if (enable)
- initializeDesktop(q);
- else
- initializeTouch(q);
}
void QQuickWebViewPrivate::setViewInAttachedProperties(QObject* object)
@@ -1054,14 +1046,26 @@
{
Q_D(QQuickWebView);
QQuickItem::geometryChanged(newGeometry, oldGeometry);
- if (newGeometry.size() != oldGeometry.size()) {
- if (d->pageView->usesTraditionalDesktopBehaviour())
- d->updateDesktopViewportSize();
- else
- d->updateTouchViewportSize();
- }
+
+ if (newGeometry.isEmpty() || newGeometry.size() == oldGeometry.size())
+ return;
+
+ if (d->pageView->usesTraditionalDesktopBehaviour())
+ d->updateDesktopViewportSize();
+ else
+ d->updateTouchViewportSize();
}
+void QQuickWebView::componentComplete()
+{
+ Q_D(QQuickWebView);
+ QQuickItem::componentComplete();
+ if (d->pageView->usesTraditionalDesktopBehaviour())
+ d->initializeDesktop(this);
+ else
+ d->initializeTouch(this);
+}
+
void QQuickWebView::keyPressEvent(QKeyEvent* event)
{
this->event(event);
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h (106021 => 106022)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h 2012-01-26 19:28:38 UTC (rev 106021)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h 2012-01-26 19:47:53 UTC (rev 106022)
@@ -135,7 +135,7 @@
protected:
virtual void geometryChanged(const QRectF&, const QRectF&);
-
+ virtual void componentComplete();
virtual void keyPressEvent(QKeyEvent*);
virtual void keyReleaseEvent(QKeyEvent*);
virtual void inputMethodEvent(QInputMethodEvent*);
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp (106021 => 106022)
--- trunk/Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp 2012-01-26 19:28:38 UTC (rev 106021)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp 2012-01-26 19:47:53 UTC (rev 106022)
@@ -44,7 +44,7 @@
QVariant QWebViewportInfo::currentScale() const
{
if (!m_webViewPrivate->interactionEngine)
- return QVariant();
+ return QVariant(1.0);
return m_webViewPrivate->interactionEngine->currentCSSScale();
}
@@ -52,7 +52,7 @@
QVariant QWebViewportInfo::devicePixelRatio() const
{
if (!m_webViewPrivate->interactionEngine)
- return QVariant();
+ return QVariant(1.0);
return m_webViewPrivate->interactionEngine->constraints().devicePixelRatio;
}
@@ -60,7 +60,7 @@
QVariant QWebViewportInfo::initialScale() const
{
if (!m_webViewPrivate->interactionEngine)
- return QVariant();
+ return QVariant(1.0);
return m_webViewPrivate->interactionEngine->constraints().initialScale;
}
@@ -68,7 +68,7 @@
QVariant QWebViewportInfo::minimumScale() const
{
if (!m_webViewPrivate->interactionEngine)
- return QVariant();
+ return QVariant(0.25);
return m_webViewPrivate->interactionEngine->constraints().minimumScale;
}
@@ -76,7 +76,7 @@
QVariant QWebViewportInfo::maximumScale() const
{
if (!m_webViewPrivate->interactionEngine)
- return QVariant();
+ return QVariant(1.8);
return m_webViewPrivate->interactionEngine->constraints().maximumScale;
}
@@ -84,7 +84,7 @@
QVariant QWebViewportInfo::isScalable() const
{
if (!m_webViewPrivate->interactionEngine)
- return QVariant();
+ return QVariant(true);
return m_webViewPrivate->interactionEngine->constraints().isUserScalable;
}
@@ -92,7 +92,7 @@
QVariant QWebViewportInfo::layoutSize() const
{
if (!m_webViewPrivate->interactionEngine)
- return QVariant();
+ return QVariant(QSize());
return m_webViewPrivate->interactionEngine->constraints().layoutSize;
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes