diff options
Diffstat (limited to 'src/webengine')
6 files changed, 17 insertions, 87 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index 587d3aa9f..93cc1c9a1 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -68,7 +68,7 @@ QT_BEGIN_NAMESPACE QQuickWebEngineViewPrivate::QQuickWebEngineViewPrivate() - : adapter(new WebContentsAdapter(qApp->property("QQuickWebEngineView_DisableHardwareAcceleration").toBool() ? SoftwareRenderingMode : HardwareAccelerationMode)) + : adapter(new WebContentsAdapter) , e(new QQuickWebEngineViewExperimental(this)) , v(new QQuickWebEngineViewport(this)) , m_history(new QQuickWebEngineHistory(this)) @@ -119,35 +119,23 @@ UIDelegatesManager *QQuickWebEngineViewPrivate::ui() return m_uIDelegatesManager.data(); } -RenderWidgetHostViewQtDelegate *QQuickWebEngineViewPrivate::CreateRenderWidgetHostViewQtDelegate(RenderWidgetHostViewQtDelegateClient *client, RenderingMode mode) +RenderWidgetHostViewQtDelegate *QQuickWebEngineViewPrivate::CreateRenderWidgetHostViewQtDelegate(RenderWidgetHostViewQtDelegateClient *client) { - if (mode == HardwareAccelerationMode) - return new RenderWidgetHostViewQtDelegateQuick(client, /*isPopup = */ false); - return new RenderWidgetHostViewQtDelegateQuickPainted(client, false); + return new RenderWidgetHostViewQtDelegateQuick(client, /*isPopup = */ false); } -RenderWidgetHostViewQtDelegate *QQuickWebEngineViewPrivate::CreateRenderWidgetHostViewQtDelegateForPopup(RenderWidgetHostViewQtDelegateClient *client, WebContentsAdapterClient::RenderingMode mode) +RenderWidgetHostViewQtDelegate *QQuickWebEngineViewPrivate::CreateRenderWidgetHostViewQtDelegateForPopup(RenderWidgetHostViewQtDelegateClient *client) { Q_Q(QQuickWebEngineView); const bool hasWindowCapability = QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::MultipleWindows); - if (mode == HardwareAccelerationMode) { - RenderWidgetHostViewQtDelegateQuick *quickDelegate = new RenderWidgetHostViewQtDelegateQuick(client, /*isPopup = */true); - if (hasWindowCapability) { - RenderWidgetHostViewQtDelegateQuickWindow *wrapperWindow = new RenderWidgetHostViewQtDelegateQuickWindow(quickDelegate); - quickDelegate->setParentItem(wrapperWindow->contentItem()); - return wrapperWindow; - } - quickDelegate->setParentItem(q); - return quickDelegate; - } - RenderWidgetHostViewQtDelegateQuickPainted *paintedDelegate = new RenderWidgetHostViewQtDelegateQuickPainted(client, /*isPopup = */true); + RenderWidgetHostViewQtDelegateQuick *quickDelegate = new RenderWidgetHostViewQtDelegateQuick(client, /*isPopup = */ true); if (hasWindowCapability) { - RenderWidgetHostViewQtDelegateQuickWindow *wrapperWindow = new RenderWidgetHostViewQtDelegateQuickWindow(paintedDelegate); - paintedDelegate->setParentItem(wrapperWindow->contentItem()); + RenderWidgetHostViewQtDelegateQuickWindow *wrapperWindow = new RenderWidgetHostViewQtDelegateQuickWindow(quickDelegate); + quickDelegate->setParentItem(wrapperWindow->contentItem()); return wrapperWindow; } - paintedDelegate->setParentItem(q); - return paintedDelegate; + quickDelegate->setParentItem(q); + return quickDelegate; } bool QQuickWebEngineViewPrivate::contextMenuRequested(const WebEngineContextMenuData &data) @@ -509,8 +497,7 @@ void QQuickWebEngineView::setInspectable(bool enable) void QQuickWebEngineView::forceActiveFocus() { Q_FOREACH (QQuickItem *child, childItems()) { - if (qobject_cast<RenderWidgetHostViewQtDelegateQuick *>(child) - || qobject_cast<RenderWidgetHostViewQtDelegateQuickPainted *>(child)) { + if (qobject_cast<RenderWidgetHostViewQtDelegateQuick *>(child)) { child->forceActiveFocus(); break; } @@ -578,8 +565,7 @@ void QQuickWebEngineView::geometryChanged(const QRectF &newGeometry, const QRect QQuickItem::geometryChanged(newGeometry, oldGeometry); Q_FOREACH(QQuickItem *child, childItems()) { - Q_ASSERT(qobject_cast<RenderWidgetHostViewQtDelegateQuick *>(child) - || qobject_cast<RenderWidgetHostViewQtDelegateQuickPainted *>(child)); + Q_ASSERT(qobject_cast<RenderWidgetHostViewQtDelegateQuick *>(child)); child->setSize(newGeometry.size()); } } diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h index cf9d58e68..2fcca73b7 100644 --- a/src/webengine/api/qquickwebengineview_p_p.h +++ b/src/webengine/api/qquickwebengineview_p_p.h @@ -125,8 +125,8 @@ public: QQuickWebEngineViewport *viewport() const; UIDelegatesManager *ui(); - virtual RenderWidgetHostViewQtDelegate* CreateRenderWidgetHostViewQtDelegate(RenderWidgetHostViewQtDelegateClient *client, RenderingMode) Q_DECL_OVERRIDE; - virtual RenderWidgetHostViewQtDelegate* CreateRenderWidgetHostViewQtDelegateForPopup(RenderWidgetHostViewQtDelegateClient *client, RenderingMode mode) Q_DECL_OVERRIDE; + virtual RenderWidgetHostViewQtDelegate* CreateRenderWidgetHostViewQtDelegate(RenderWidgetHostViewQtDelegateClient *client) Q_DECL_OVERRIDE; + virtual RenderWidgetHostViewQtDelegate* CreateRenderWidgetHostViewQtDelegateForPopup(RenderWidgetHostViewQtDelegateClient *client) Q_DECL_OVERRIDE; virtual void titleChanged(const QString&) Q_DECL_OVERRIDE; virtual void urlChanged(const QUrl&) Q_DECL_OVERRIDE; virtual void iconChanged(const QUrl&) Q_DECL_OVERRIDE; diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp index e2804ef9b..c755619e8 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -47,16 +47,11 @@ RenderWidgetHostViewQtDelegateQuick::RenderWidgetHostViewQtDelegateQuick(RenderW setFlag(ItemHasContents); } -void RenderWidgetHostViewQtDelegateQuick::update(const QRect&) +void RenderWidgetHostViewQtDelegateQuick::update() { QQuickItem::update(); } -bool RenderWidgetHostViewQtDelegateQuick::supportsHardwareAcceleration() const -{ - return true; -} - void RenderWidgetHostViewQtDelegateQuick::itemChange(ItemChange change, const ItemChangeData &value) { QQuickItem::itemChange(change, value); @@ -68,27 +63,3 @@ QSGNode *RenderWidgetHostViewQtDelegateQuick::updatePaintNode(QSGNode *oldNode, { return m_client->updatePaintNode(oldNode, QQuickWindowPrivate::get(QQuickItem::window())->context); } - -RenderWidgetHostViewQtDelegateQuickPainted::RenderWidgetHostViewQtDelegateQuickPainted(RenderWidgetHostViewQtDelegateClient *client, bool isPopup) - : RenderWidgetHostViewQtDelegateQuickBase<QQuickPaintedItem>(client, isPopup) -{ -} - -void RenderWidgetHostViewQtDelegateQuickPainted::update(const QRect& rect) -{ - polish(); - QQuickPaintedItem::update(rect); -} - -void RenderWidgetHostViewQtDelegateQuickPainted::paint(QPainter *painter) -{ - m_client->paint(painter, boundingRect()); -} - -void RenderWidgetHostViewQtDelegateQuickPainted::updatePolish() -{ - // paint will be called from the scene graph thread and this doesn't play well - // with chromium's use of TLS while getting the backing store. - // updatePolish() should be called from the GUI thread right before the rendering thread starts. - m_client->fetchBackingStore(); -} diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.h b/src/webengine/render_widget_host_view_qt_delegate_quick.h index 47884068e..03e39a8d2 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.h +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.h @@ -136,11 +136,6 @@ public: this->setSize(QSizeF(width, height)); } - virtual bool supportsHardwareAcceleration() const Q_DECL_OVERRIDE - { - return false; - } - virtual void move(const QPoint&) Q_DECL_OVERRIDE {} void focusInEvent(QFocusEvent *event) @@ -240,25 +235,9 @@ class RenderWidgetHostViewQtDelegateQuick : public RenderWidgetHostViewQtDelegat public: RenderWidgetHostViewQtDelegateQuick(RenderWidgetHostViewQtDelegateClient *client, bool isPopup); - virtual void update(const QRect& rect = QRect()) Q_DECL_OVERRIDE; - virtual bool supportsHardwareAcceleration() const Q_DECL_OVERRIDE; + virtual void update() Q_DECL_OVERRIDE; virtual void itemChange(ItemChange change, const ItemChangeData &value) Q_DECL_OVERRIDE; virtual QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) Q_DECL_OVERRIDE; }; - -class RenderWidgetHostViewQtDelegateQuickPainted : public RenderWidgetHostViewQtDelegateQuickBase<QQuickPaintedItem> -{ - Q_OBJECT -public: - RenderWidgetHostViewQtDelegateQuickPainted(RenderWidgetHostViewQtDelegateClient *client, bool isPopup); - - virtual void update(const QRect& rect = QRect()) Q_DECL_OVERRIDE; - - void paint(QPainter *painter); - -protected: - void updatePolish(); -}; - #endif diff --git a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp index 7bf19d17a..04b75bd6b 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp @@ -94,9 +94,8 @@ QWindow *RenderWidgetHostViewQtDelegateQuickWindow::window() const return const_cast<RenderWidgetHostViewQtDelegateQuickWindow*>(this); } -void RenderWidgetHostViewQtDelegateQuickWindow::update(const QRect &rect) +void RenderWidgetHostViewQtDelegateQuickWindow::update() { - Q_UNUSED(rect); QQuickWindow::update(); m_realDelegate->update(); } diff --git a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h index 6adac5e95..667bb4b3a 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h +++ b/src/webengine/render_widget_host_view_qt_delegate_quickwindow.h @@ -64,18 +64,13 @@ public: virtual void hide() Q_DECL_OVERRIDE; virtual bool isVisible() const Q_DECL_OVERRIDE; virtual QWindow* window() const Q_DECL_OVERRIDE; - virtual void update(const QRect& rect = QRect()) Q_DECL_OVERRIDE; + virtual void update() Q_DECL_OVERRIDE; virtual void updateCursor(const QCursor &) Q_DECL_OVERRIDE; virtual void resize(int width, int height) Q_DECL_OVERRIDE; virtual void move(const QPoint &screenPos) Q_DECL_OVERRIDE; virtual void inputMethodStateChanged(bool) Q_DECL_OVERRIDE {} - virtual bool supportsHardwareAcceleration() const Q_DECL_OVERRIDE - { - return m_realDelegate->supportsHardwareAcceleration(); - } virtual void setTooltip(const QString &tooltip) Q_DECL_OVERRIDE; - private: QScopedPointer<RenderWidgetHostViewQtDelegate> m_realDelegate; }; |