diff options
author | Stephan Binner <stephan.binner@basyskom.com> | 2015-03-04 12:39:29 +0100 |
---|---|---|
committer | Stephan Binner <stephan.binner@basyskom.com> | 2015-03-04 13:43:49 +0000 |
commit | 9d1a77b5be56a6a1dade613573eaeea63070969f (patch) | |
tree | 932425567b5f7240b4dcf811e90c89cb5ae6518d /src/webenginewidgets | |
parent | 96f4439589d9385dd10f5e6dc1fa225b17d2eec5 (diff) |
Enable building Qt WebEngine without accessiblity enabled.
This adds guards that for QT_NO_ACCESSIBILITY being not defined
around the code that uses accessibility types.
It disables the quicknanobrowser and quicktestbrowser examples
which need Qt QuickControls, which has a hard dependency to
accessibility being enabled.
Backport of d95b9295c970401939d2779cbdc9e2a8c7965277 from 5.5
Change-Id: I2a2a0a6196fcb3baa39603d9c929183b454f39ed
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Diffstat (limited to 'src/webenginewidgets')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 3 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.h | 2 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage_p.h | 2 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.cpp | 7 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview_p.h | 3 |
5 files changed, 15 insertions, 2 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 72b16f28b..068c1752e 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -39,6 +39,7 @@ #include <QApplication> #include <QAuthenticator> #include <QClipboard> +#include <QContextMenuEvent> #include <QFileDialog> #include <QIcon> #include <QInputDialog> @@ -342,10 +343,12 @@ void QWebEnginePagePrivate::runMediaAccessPermissionRequest(const QUrl &security Q_EMIT q->featurePermissionRequested(securityOrigin, requestedFeature); } +#ifndef QT_NO_ACCESSIBILITY QObject *QWebEnginePagePrivate::accessibilityParentObject() { return view; } +#endif // QT_NO_ACCESSIBILITY void QWebEnginePagePrivate::updateAction(QWebEnginePage::WebAction action) const { diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h index 7856b8243..9fd81b0cb 100644 --- a/src/webenginewidgets/api/qwebenginepage.h +++ b/src/webenginewidgets/api/qwebenginepage.h @@ -258,7 +258,9 @@ private: friend class QWebEngineView; friend class QWebEngineViewPrivate; +#ifndef QT_NO_ACCESSIBILITY friend class QWebEngineViewAccessible; +#endif // QT_NO_ACCESSIBILITY }; diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h index 54129229f..2307e7a93 100644 --- a/src/webenginewidgets/api/qwebenginepage_p.h +++ b/src/webenginewidgets/api/qwebenginepage_p.h @@ -135,7 +135,9 @@ public: virtual void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString& message, int lineNumber, const QString& sourceID) Q_DECL_OVERRIDE; virtual void authenticationRequired(const QUrl &requestUrl, const QString &realm, bool isProxy, const QString &challengingHost, QString *outUser, QString *outPassword) Q_DECL_OVERRIDE; virtual void runMediaAccessPermissionRequest(const QUrl &securityOrigin, MediaRequestFlags requestFlags) Q_DECL_OVERRIDE; +#ifndef QT_NO_ACCESSIBILITY virtual QObject *accessibilityParentObject() Q_DECL_OVERRIDE; +#endif // QT_NO_ACCESSIBILITY virtual WebEngineSettings *webEngineSettings() const Q_DECL_OVERRIDE; virtual void allowCertificateError(const QExplicitlySharedDataPointer<CertificateErrorController> &controller) Q_DECL_OVERRIDE; diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index 8d2198998..63ac40571 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -85,19 +85,22 @@ void QWebEngineViewPrivate::bind(QWebEngineView *view, QWebEnginePage *page) } } - +#ifndef QT_NO_ACCESSIBILITY static QAccessibleInterface *webAccessibleFactory(const QString &, QObject *object) { if (QWebEngineView *v = qobject_cast<QWebEngineView*>(object)) return new QWebEngineViewAccessible(v); return Q_NULLPTR; } +#endif // QT_NO_ACCESSIBILITY QWebEngineViewPrivate::QWebEngineViewPrivate() : page(0) , m_pendingContextMenuEvent(false) { +#ifndef QT_NO_ACCESSIBILITY QAccessible::installFactory(&webAccessibleFactory); +#endif // QT_NO_ACCESSIBILITY } QWebEngineView::QWebEngineView(QWidget *parent) @@ -274,6 +277,7 @@ void QWebEngineView::contextMenuEvent(QContextMenuEvent *event) menu->popup(event->globalPos()); } +#ifndef QT_NO_ACCESSIBILITY int QWebEngineViewAccessible::childCount() const { if (view() && child(0)) @@ -294,6 +298,7 @@ int QWebEngineViewAccessible::indexOfChild(const QAccessibleInterface *c) const return 0; return -1; } +#endif // QT_NO_ACCESSIBILITY QT_END_NAMESPACE diff --git a/src/webenginewidgets/api/qwebengineview_p.h b/src/webenginewidgets/api/qwebengineview_p.h index 9db971f79..e0cc3f4ee 100644 --- a/src/webenginewidgets/api/qwebengineview_p.h +++ b/src/webenginewidgets/api/qwebengineview_p.h @@ -59,6 +59,7 @@ public: bool m_pendingContextMenuEvent; }; +#ifndef QT_NO_ACCESSIBILITY class QWebEngineViewAccessible : public QAccessibleWidget { public: @@ -72,7 +73,7 @@ public: private: QWebEngineView *view() const { return static_cast<QWebEngineView*>(object()); } }; - +#endif // QT_NO_ACCESSIBILITY QT_END_NAMESPACE |