From 31f41cf9b98b1ff3dde61e667693b2106b906e2c Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Thu, 10 Jul 2014 14:30:17 +0200 Subject: Fix the indexOfChild function for the web document Change-Id: I37a32bd5dd8760bc91173968a620a1932ae67b4e Reviewed-by: Andras Becsi --- src/webenginewidgets/api/qwebengineview.cpp | 7 +++++++ src/webenginewidgets/api/qwebengineview_p.h | 1 + .../qwebengineaccessibility/tst_qwebengineaccessibility.cpp | 4 ++++ 3 files changed, 12 insertions(+) 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(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()); -- cgit v1.2.3