diff options
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.cpp | 7 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview_p.h | 1 | ||||
-rw-r--r-- | tests/auto/widgets/qwebengineaccessibility/tst_qwebengineaccessibility.cpp | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index 71d854ac2..b11af3e7a 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -265,6 +265,13 @@ QAccessibleInterface *QWebEngineViewAccessible::child(int index) const return Q_NULLPTR; } +int QWebEngineViewAccessible::indexOfChild(const QAccessibleInterface *c) const +{ + if (c == child(0)) + return 0; + return -1; +} + QT_END_NAMESPACE #include "moc_qwebengineview.cpp" diff --git a/src/webenginewidgets/api/qwebengineview_p.h b/src/webenginewidgets/api/qwebengineview_p.h index 8a657538e..b3156a353 100644 --- a/src/webenginewidgets/api/qwebengineview_p.h +++ b/src/webenginewidgets/api/qwebengineview_p.h @@ -72,6 +72,7 @@ public: int childCount() const Q_DECL_OVERRIDE; QAccessibleInterface *child(int index) const Q_DECL_OVERRIDE; + int indexOfChild(const QAccessibleInterface *child) const Q_DECL_OVERRIDE; private: QWebEngineView *view() const { return static_cast<QWebEngineView*>(object()); } diff --git a/tests/auto/widgets/qwebengineaccessibility/tst_qwebengineaccessibility.cpp b/tests/auto/widgets/qwebengineaccessibility/tst_qwebengineaccessibility.cpp index 76b668b21..9fd008ab1 100644 --- a/tests/auto/widgets/qwebengineaccessibility/tst_qwebengineaccessibility.cpp +++ b/tests/auto/widgets/qwebengineaccessibility/tst_qwebengineaccessibility.cpp @@ -98,15 +98,18 @@ void tst_QWebEngineView::hierarchy() QAccessibleInterface *document = view->child(0); QCOMPARE(document->role(), QAccessible::Document); QCOMPARE(document->parent(), view); + QCOMPARE(view->indexOfChild(document), 0); QCOMPARE(document->childCount(), 1); QAccessibleInterface *grouping = document->child(0); QVERIFY(grouping); QCOMPARE(grouping->parent(), document); + QCOMPARE(document->indexOfChild(grouping), 0); QCOMPARE(grouping->childCount(), 2); QAccessibleInterface *text = grouping->child(0); QCOMPARE(text->role(), QAccessible::StaticText); QCOMPARE(text->parent(), grouping); + QCOMPARE(grouping->indexOfChild(text), 0); QEXPECT_FAIL("", "FIXME: static text should probably not have a child element", Continue); QCOMPARE(text->childCount(), 0); QCOMPARE(text->text(QAccessible::Name), QString()); @@ -116,6 +119,7 @@ void tst_QWebEngineView::hierarchy() QAccessibleInterface *input = grouping->child(1); QCOMPARE(input->role(), QAccessible::EditableText); QCOMPARE(input->parent(), grouping); + QCOMPARE(grouping->indexOfChild(input), 1); QCOMPARE(input->childCount(), 0); QCOMPARE(input->text(QAccessible::Name), QString()); QCOMPARE(input->text(QAccessible::Description), QString()); |