diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-03 15:37:26 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-03-03 15:37:26 +0100 |
commit | 80ec5b0367b8e7aedd51ecfac459c53670fc7c35 (patch) | |
tree | fa1682cd8a96374c1bd919d62b16fa860fb87def /src/webenginewidgets/api | |
parent | c9c038430bf21909f2038ba66a6c85faf0989dd4 (diff) | |
parent | 171bdc9f0e9a563b0d70643637d0b6a8e5661d17 (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts:
tests/auto/quick/qquickwebengineview/BLACKLIST
Change-Id: I365daa73d2eb422ac916c32b86c5ad0d3c32086d
Diffstat (limited to 'src/webenginewidgets/api')
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.cpp | 13 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.h | 4 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview_p.h | 1 |
3 files changed, 17 insertions, 1 deletions
diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index a51f9b7a5..b06d99478 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -471,6 +471,17 @@ void QWebEngineView::dropEvent(QDropEvent *e) #endif // QT_CONFIG(draganddrop) #ifndef QT_NO_ACCESSIBILITY +bool QWebEngineViewAccessible::isValid() const +{ + if (!QAccessibleWidget::isValid()) + return false; + + if (!view() || !view()->d_func() || !view()->d_func()->page || !view()->d_func()->page->d_func()) + return false; + + return true; +} + QAccessibleInterface *QWebEngineViewAccessible::focusChild() const { if (child(0) && child(0)->focusChild()) @@ -485,7 +496,7 @@ int QWebEngineViewAccessible::childCount() const QAccessibleInterface *QWebEngineViewAccessible::child(int index) const { - if (index == 0 && view() && view()->page()) + if (index == 0 && isValid()) return view()->page()->d_func()->adapter->browserAccessible(); return nullptr; } diff --git a/src/webenginewidgets/api/qwebengineview.h b/src/webenginewidgets/api/qwebengineview.h index 63a68f46c..04c8ece74 100644 --- a/src/webenginewidgets/api/qwebengineview.h +++ b/src/webenginewidgets/api/qwebengineview.h @@ -53,6 +53,7 @@ class QContextMenuEvent; class QUrl; class QWebEnginePage; class QWebEngineSettings; +class QWebEngineViewAccessible; class QWebEngineViewPrivate; class QWEBENGINEWIDGETS_EXPORT QWebEngineView : public QWidget { @@ -141,6 +142,9 @@ private: friend class QWebEnginePage; friend class QWebEnginePagePrivate; +#if QT_CONFIG(accessibility) + friend class QWebEngineViewAccessible; +#endif }; QT_END_NAMESPACE diff --git a/src/webenginewidgets/api/qwebengineview_p.h b/src/webenginewidgets/api/qwebengineview_p.h index dd0a5bedf..a3c619cea 100644 --- a/src/webenginewidgets/api/qwebengineview_p.h +++ b/src/webenginewidgets/api/qwebengineview_p.h @@ -87,6 +87,7 @@ public: QWebEngineViewAccessible(QWebEngineView *o) : QAccessibleWidget(o) {} + bool isValid() const override; QAccessibleInterface *focusChild() const override; int childCount() const override; QAccessibleInterface *child(int index) const override; |