summaryrefslogtreecommitdiffstats
path: root/src/webengine
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-04-01 14:46:37 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-04-08 14:00:13 +0200
commit798134400a22f878b6cfd186b3792ecedb4d9123 (patch)
tree5ff358f5e894fa60c19c1d29067a4c9618432307 /src/webengine
parent96425960f9d57387c33e3ba50785aaa81255bc98 (diff)
Get rid of the BackingStore rendering path
Now that the widgets view is also using the delegated renderer, there are no supported configuration that use the BackingStore rendering path, itself on the way of deprecation in Chromium. Change-Id: I4ab889f6a7c65e8447c259faf2c7a98b88c1acf5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/webengine')
-rw-r--r--src/webengine/api/qquickwebengineview.cpp36
-rw-r--r--src/webengine/api/qquickwebengineview_p_p.h4
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quick.cpp31
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quick.h23
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quickwindow.cpp3
-rw-r--r--src/webengine/render_widget_host_view_qt_delegate_quickwindow.h7
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;
};