blob: cbdd90104bcddc0accf69690f03ba1d7aefe8f77 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qwebengine_accessible_p.h"
#include "qwebengineview.h"
#include "qwebengineview_p.h"
#include "web_contents_adapter.h"
QT_BEGIN_NAMESPACE
QWebEngineViewAccessible::QWebEngineViewAccessible(QWebEngineView *o) : QAccessibleWidget(o)
{
}
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())
return child(0)->focusChild();
return const_cast<QWebEngineViewAccessible *>(this);
}
int QWebEngineViewAccessible::childCount() const
{
return child(0) ? 1 : 0;
}
QAccessibleInterface *QWebEngineViewAccessible::child(int index) const
{
if (index == 0 && isValid())
return view()->page()->d_func()->adapter->browserAccessible();
return nullptr;
}
int QWebEngineViewAccessible::indexOfChild(const QAccessibleInterface *c) const
{
if (child(0) && c == child(0))
return 0;
return -1;
}
QWebEngineView *QWebEngineViewAccessible::view() const
{
return static_cast<QWebEngineView *>(object());
}
QT_END_NAMESPACE
namespace QtWebEngineCore {
RenderWidgetHostViewQtDelegateWidgetAccessible::RenderWidgetHostViewQtDelegateWidgetAccessible(QWidget *o, QWebEngineView *view)
: QAccessibleWidget(o)
, m_view(view)
{
}
bool RenderWidgetHostViewQtDelegateWidgetAccessible::isValid() const
{
if (!viewAccessible() || !viewAccessible()->isValid())
return false;
return QAccessibleWidget::isValid();
}
QAccessibleInterface *RenderWidgetHostViewQtDelegateWidgetAccessible::focusChild() const
{
return viewAccessible()->focusChild();
}
int RenderWidgetHostViewQtDelegateWidgetAccessible::childCount() const
{
return viewAccessible()->childCount();
}
QAccessibleInterface *RenderWidgetHostViewQtDelegateWidgetAccessible::child(int index) const
{
return viewAccessible()->child(index);
}
int RenderWidgetHostViewQtDelegateWidgetAccessible::indexOfChild(const QAccessibleInterface *c) const
{
return viewAccessible()->indexOfChild(c);
}
QWebEngineViewAccessible *RenderWidgetHostViewQtDelegateWidgetAccessible::viewAccessible() const
{
return static_cast<QWebEngineViewAccessible *>(QAccessible::queryAccessibleInterface(m_view));
}
} // namespace QtWebEngineCore
|