diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2013-11-12 17:10:22 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-13 13:23:23 +0100 |
commit | 5655b815c6c88b5b1ae5eb8f4a8843d3c6720c52 (patch) | |
tree | 503d5afefdeee624dd4468cbe7c7567df9cbfc38 | |
parent | 47d56fd2c2404f709a943be93b754b3d3cf49fa8 (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.h | 3 | ||||
-rw-r--r-- | lib/web_contents_view_qt.cpp | 2 | ||||
-rw-r--r-- | lib/widgets/Api/qwebenginepage.cpp | 3 | ||||
-rw-r--r-- | lib/widgets/render_widget_host_view_qt_delegate_widget.cpp | 21 | ||||
-rw-r--r-- | lib/widgets/render_widget_host_view_qt_delegate_widget.h | 2 |
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&); |