diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-09-26 10:42:44 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-09-26 10:42:44 +0200 |
commit | 33b26980cb24288b5a9f2590ccf32a949281bb79 (patch) | |
tree | cc0203dac37338b24b0b25a4694c0b76d4e4164b /Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp | |
parent | 715be629d51174233403237bfc563cf150087dc8 (diff) | |
download | qtwebkit-33b26980cb24288b5a9f2590ccf32a949281bb79.tar.gz |
Imported WebKit commit c596dd7f03007fa7ed896b928106497e8784b3b5 (http://svn.webkit.org/repository/webkit/trunk@129610)
New snapshot that removes QtQuick1 support (to be moved into QtQuick1 module)
Diffstat (limited to 'Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp index 80f1ba7f0..b78cae0f3 100644 --- a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp +++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp @@ -272,7 +272,6 @@ QQuickWebViewPrivate::QQuickWebViewPrivate(QQuickWebView* viewport) , m_navigatorQtObjectEnabled(false) , m_renderToOffscreenBuffer(false) , m_allowAnyHTTPSCertificateForLocalHost(false) - , m_customDevicePixelRatio(0) , m_loadProgress(0) { viewport->setClip(true); @@ -798,20 +797,6 @@ void QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject(const String& emit q_ptr->experimental()->messageReceived(variantMap); } -void QQuickWebViewPrivate::didChangeContentsSize(const QSize& newSize) -{ - if (newSize.isEmpty() || !m_customDevicePixelRatio || webPageProxy->deviceScaleFactor() == m_customDevicePixelRatio) - return; - - // DrawingAreaProxy returns early if the page size is empty - // and the device pixel ratio property is propagated from QML - // before the QML page item has a valid size yet, thus the - // information would not reach the web process. - // Set the custom device pixel ratio requested from QML as soon - // as the content item has a valid size. - webPageProxy->setCustomDeviceScaleFactor(m_customDevicePixelRatio); -} - QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate(QQuickWebView* viewport) : QQuickWebViewPrivate(viewport) { @@ -883,7 +868,7 @@ void QQuickWebViewFlickablePrivate::updateViewportSize() Q_Q(QQuickWebView); if (m_pageViewportController) - m_pageViewportController->setViewportSize(QSizeF(q->width(), q->height())); + m_pageViewportController->didChangeViewportSize(QSizeF(q->width(), q->height())); } void QQuickWebViewFlickablePrivate::pageDidRequestScroll(const QPoint& pos) @@ -894,8 +879,8 @@ void QQuickWebViewFlickablePrivate::pageDidRequestScroll(const QPoint& pos) void QQuickWebViewFlickablePrivate::didChangeContentsSize(const QSize& newSize) { - pageView->setContentsSize(newSize); // emits contentsSizeChanged() QQuickWebViewPrivate::didChangeContentsSize(newSize); + pageView->setContentsSize(newSize); // emits contentsSizeChanged() m_pageViewportController->didChangeContentsSize(newSize); } @@ -1239,10 +1224,6 @@ void QQuickWebViewExperimental::setUserAgent(const QString& userAgent) qreal QQuickWebViewExperimental::devicePixelRatio() const { Q_D(const QQuickWebView); - - if (d->m_customDevicePixelRatio) - return d->m_customDevicePixelRatio; - return d->webPageProxy->deviceScaleFactor(); } @@ -1252,7 +1233,7 @@ void QQuickWebViewExperimental::setDevicePixelRatio(qreal devicePixelRatio) if (0 >= devicePixelRatio || devicePixelRatio == this->devicePixelRatio()) return; - d->m_customDevicePixelRatio = devicePixelRatio; + d->webPageProxy->setCustomDeviceScaleFactor(devicePixelRatio); emit devicePixelRatioChanged(); } @@ -1857,10 +1838,15 @@ void QQuickWebView::focusInEvent(QFocusEvent* event) d->pageView->eventHandler()->handleFocusInEvent(event); } -void QQuickWebView::focusOutEvent(QFocusEvent* event) +void QQuickWebView::itemChange(ItemChange change, const ItemChangeData &value) { Q_D(QQuickWebView); - d->pageView->eventHandler()->handleFocusOutEvent(event); + if (change == ItemActiveFocusHasChanged) { + bool focus = value.boolValue; + if (!focus) + d->pageView->eventHandler()->handleFocusLost(); + } + QQuickFlickable::itemChange(change, value); } void QQuickWebView::touchEvent(QTouchEvent* event) |