summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2013-11-12 17:10:22 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-13 13:23:23 +0100
commit5655b815c6c88b5b1ae5eb8f4a8843d3c6720c52 (patch)
tree503d5afefdeee624dd4468cbe7c7567df9cbfc38
parent47d56fd2c2404f709a943be93b754b3d3cf49fa8 (diff)
Remove the native window hardware acceleration support for widgets.
This experiment served its purpose and is now more often broken than useful. Change-Id: I73ea68c99dedcc8a3fe9004d130518daf146b493 Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
-rw-r--r--lib/web_contents_adapter_client.h3
-rw-r--r--lib/web_contents_view_qt.cpp2
-rw-r--r--lib/widgets/Api/qwebenginepage.cpp3
-rw-r--r--lib/widgets/render_widget_host_view_qt_delegate_widget.cpp21
-rw-r--r--lib/widgets/render_widget_host_view_qt_delegate_widget.h2
5 files changed, 7 insertions, 24 deletions
diff --git a/lib/web_contents_adapter_client.h b/lib/web_contents_adapter_client.h
index 98db89f42..e4c3a1dab 100644
--- a/lib/web_contents_adapter_client.h
+++ b/lib/web_contents_adapter_client.h
@@ -74,8 +74,7 @@ class QWEBENGINE_EXPORT WebContentsAdapterClient {
public:
enum CompositingMode {
NoCompositing,
- DelegatedCompositing,
- ForcedGpuProcessCompositing
+ DelegatedCompositing
};
// This must match window_open_disposition_list.h.
diff --git a/lib/web_contents_view_qt.cpp b/lib/web_contents_view_qt.cpp
index fa6c0e94b..32617a440 100644
--- a/lib/web_contents_view_qt.cpp
+++ b/lib/web_contents_view_qt.cpp
@@ -76,8 +76,6 @@ content::RenderWidgetHostView* WebContentsViewQt::CreateViewForPopupWidget(conte
WebContentsAdapterClient::CompositingMode compositingMode = WebContentsAdapterClient::NoCompositing;
if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableDelegatedRenderer))
compositingMode = WebContentsAdapterClient::DelegatedCompositing;
- else if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kForceCompositingMode))
- compositingMode = WebContentsAdapterClient::ForcedGpuProcessCompositing;
Q_ASSERT(m_factoryClient);
view->setDelegate(m_factoryClient->CreateRenderWidgetHostViewQtDelegate(view, compositingMode));
diff --git a/lib/widgets/Api/qwebenginepage.cpp b/lib/widgets/Api/qwebenginepage.cpp
index bde316f77..6b82c8947 100644
--- a/lib/widgets/Api/qwebenginepage.cpp
+++ b/lib/widgets/Api/qwebenginepage.cpp
@@ -60,7 +60,8 @@ QWebEnginePagePrivate::~QWebEnginePagePrivate()
RenderWidgetHostViewQtDelegate *QWebEnginePagePrivate::CreateRenderWidgetHostViewQtDelegate(RenderWidgetHostViewQtDelegateClient *client, CompositingMode mode)
{
- return new RenderWidgetHostViewQtDelegateWidget(client, mode);
+ Q_UNUSED(mode);
+ return new RenderWidgetHostViewQtDelegateWidget(client);
}
void QWebEnginePagePrivate::titleChanged(const QString &title)
diff --git a/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp b/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp
index ee730db2b..0d84a0f46 100644
--- a/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp
+++ b/lib/widgets/render_widget_host_view_qt_delegate_widget.cpp
@@ -51,7 +51,7 @@
#include <QWindow>
#include <QtWidgets/QApplication>
-RenderWidgetHostViewQtDelegateWidget::RenderWidgetHostViewQtDelegateWidget(RenderWidgetHostViewQtDelegateClient *client, WebContentsAdapterClient::CompositingMode mode, QWidget *parent)
+RenderWidgetHostViewQtDelegateWidget::RenderWidgetHostViewQtDelegateWidget(RenderWidgetHostViewQtDelegateClient *client, QWidget *parent)
: QWidget(parent)
, m_client(client)
{
@@ -59,21 +59,6 @@ RenderWidgetHostViewQtDelegateWidget::RenderWidgetHostViewQtDelegateWidget(Rende
setMouseTracking(true);
setAttribute(Qt::WA_AcceptTouchEvents);
setAttribute(Qt::WA_OpaquePaintEvent);
-
-#if defined(Q_OS_LINUX)
- // FOR TESTING ONLY, use at your own risks.
- // Supporting this properly on all platforms would require duplicating
- // many tricks done by RenderWidgetHostView[Win|Mac].
- if (mode == WebContentsAdapterClient::ForcedGpuProcessCompositing) {
- // This sets Qt::WA_NativeWindow and force a native window creation
- // that we can give to the GPU process for it to render directly
- // on through windowHandle().
- winId();
- // This makes sure that we won't try to paint the regular backing store
- // on the window at the same time as the compositor.
- setUpdatesEnabled(false);
- }
-#endif
}
void RenderWidgetHostViewQtDelegateWidget::initAsChild(WebContentsAdapterClient* container)
@@ -124,8 +109,8 @@ bool RenderWidgetHostViewQtDelegateWidget::isVisible() const
WId RenderWidgetHostViewQtDelegateWidget::nativeWindowIdForCompositor() const
{
- QWindow* window = QWidget::windowHandle();
- return window ? window->winId() : 0;
+ // The QtWidgets API doesn't support hardware acceleration.
+ return 0;
}
QWindow* RenderWidgetHostViewQtDelegateWidget::window() const
diff --git a/lib/widgets/render_widget_host_view_qt_delegate_widget.h b/lib/widgets/render_widget_host_view_qt_delegate_widget.h
index fe5102213..ccb11df29 100644
--- a/lib/widgets/render_widget_host_view_qt_delegate_widget.h
+++ b/lib/widgets/render_widget_host_view_qt_delegate_widget.h
@@ -56,7 +56,7 @@ QT_END_NAMESPACE
class RenderWidgetHostViewQtDelegateWidget : public QWidget, public RenderWidgetHostViewQtDelegate
{
public:
- RenderWidgetHostViewQtDelegateWidget(RenderWidgetHostViewQtDelegateClient *client, WebContentsAdapterClient::CompositingMode mode, QWidget *parent = 0);
+ RenderWidgetHostViewQtDelegateWidget(RenderWidgetHostViewQtDelegateClient *client, QWidget *parent = 0);
virtual void initAsChild(WebContentsAdapterClient* container);
virtual void initAsPopup(const QRect&);