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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
|
From 6ba64ed2e7136c5a9067d7e1793c0db15e762403 Mon Sep 17 00:00:00 2001
From: Stephan Binner <stephan.binner@basyskom.com>
Date: Wed, 4 Mar 2015 12:39:29 +0100
Subject: [PATCH 4/4] 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.
Upstream-Status: Backport from 5.5
https://codereview.qt-project.org/#/c/104207/
Backport of d95b9295c970401939d2779cbdc9e2a8c7965277 from 5.5
Change-Id: I2a2a0a6196fcb3baa39603d9c929183b454f39ed
Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
---
examples/webengine/quicknanobrowser/quicknanobrowser.pro | 2 ++
src/core/browser_accessibility_manager_qt.cpp | 6 ++++++
src/core/browser_accessibility_manager_qt.h | 2 ++
src/core/browser_accessibility_qt.cpp | 4 ++++
src/core/browser_accessibility_qt.h | 3 +++
src/core/render_widget_host_view_qt.cpp | 11 ++++++++++-
src/core/render_widget_host_view_qt.h | 6 +++++-
src/core/web_contents_adapter.cpp | 2 ++
src/core/web_contents_adapter_client.h | 2 ++
src/webengine/api/qquickwebengineview.cpp | 12 ++++++++++++
src/webengine/api/qquickwebengineview_p.h | 2 ++
src/webengine/api/qquickwebengineview_p_p.h | 5 ++++-
src/webenginewidgets/api/qwebenginepage.cpp | 3 +++
src/webenginewidgets/api/qwebenginepage.h | 2 ++
src/webenginewidgets/api/qwebenginepage_p.h | 2 ++
src/webenginewidgets/api/qwebengineview.cpp | 7 ++++++-
src/webenginewidgets/api/qwebengineview_p.h | 3 ++-
tests/quicktestbrowser/quicktestbrowser.pro | 2 ++
18 files changed, 71 insertions(+), 5 deletions(-)
diff --git a/examples/webengine/quicknanobrowser/quicknanobrowser.pro b/examples/webengine/quicknanobrowser/quicknanobrowser.pro
index 3628b81..a8e57b0 100644
--- a/examples/webengine/quicknanobrowser/quicknanobrowser.pro
+++ b/examples/webengine/quicknanobrowser/quicknanobrowser.pro
@@ -1,3 +1,5 @@
+requires(contains(QT_CONFIG, accessibility))
+
TEMPLATE = app
TARGET = quicknanobrowser
diff --git a/src/core/browser_accessibility_manager_qt.cpp b/src/core/browser_accessibility_manager_qt.cpp
index 28d0dd7..6729866 100644
--- a/src/core/browser_accessibility_manager_qt.cpp
+++ b/src/core/browser_accessibility_manager_qt.cpp
@@ -45,9 +45,14 @@ namespace content {
BrowserAccessibility *BrowserAccessibilityFactoryQt::Create()
{
+#ifndef QT_NO_ACCESSIBILITY
return new BrowserAccessibilityQt();
+#else
+ return 0;
+#endif // QT_NO_ACCESSIBILITY
}
+#ifndef QT_NO_ACCESSIBILITY
BrowserAccessibilityManagerQt::BrowserAccessibilityManagerQt(
QObject* parentObject,
const ui::AXTreeUpdate& initialTree,
@@ -131,5 +136,6 @@ void BrowserAccessibilityManagerQt::NotifyAccessibilityEvent(ui::AXEvent event_t
break;
}
}
+#endif // QT_NO_ACCESSIBILITY
}
diff --git a/src/core/browser_accessibility_manager_qt.h b/src/core/browser_accessibility_manager_qt.h
index 5d8498d..49b3af3 100644
--- a/src/core/browser_accessibility_manager_qt.h
+++ b/src/core/browser_accessibility_manager_qt.h
@@ -38,6 +38,7 @@
#define BROWSER_ACCESSIBILITY_MANAGER_QT_H
#include "content/browser/accessibility/browser_accessibility_manager.h"
+#ifndef QT_NO_ACCESSIBILITY
#include <QtCore/qobject.h>
QT_BEGIN_NAMESPACE
@@ -74,4 +75,5 @@ private:
}
+#endif // QT_NO_ACCESSIBILITY
#endif
diff --git a/src/core/browser_accessibility_qt.cpp b/src/core/browser_accessibility_qt.cpp
index b5cd26f..4b8e97a 100644
--- a/src/core/browser_accessibility_qt.cpp
+++ b/src/core/browser_accessibility_qt.cpp
@@ -40,6 +40,8 @@
#include "browser_accessibility_qt.h"
+#ifndef QT_NO_ACCESSIBILITY
+
#include "third_party/WebKit/public/web/WebAXEnums.h"
#include "ui/accessibility/ax_node_data.h"
@@ -898,3 +900,5 @@ void BrowserAccessibilityQt::modelChange(QAccessibleTableModelChangeEvent *)
}
} // namespace content
+
+#endif // QT_NO_ACCESSIBILITY
diff --git a/src/core/browser_accessibility_qt.h b/src/core/browser_accessibility_qt.h
index db190ff..e87b5d8 100644
--- a/src/core/browser_accessibility_qt.h
+++ b/src/core/browser_accessibility_qt.h
@@ -38,6 +38,8 @@
#define BROWSER_ACCESSIBILITY_QT_H
#include <QtGui/qaccessible.h>
+
+#ifndef QT_NO_ACCESSIBILITY
#include "content/browser/accessibility/browser_accessibility.h"
namespace content {
@@ -145,4 +147,5 @@ public:
}
+#endif // QT_NO_ACCESSIBILITY
#endif
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index c221e94..4c8a2c1 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -198,15 +198,18 @@ RenderWidgetHostViewQt::RenderWidgetHostViewQt(content::RenderWidgetHost* widget
, m_initPending(false)
{
m_host->SetView(this);
-
+#ifndef QT_NO_ACCESSIBILITY
QAccessible::installActivationObserver(this);
if (QAccessible::isActive())
content::BrowserAccessibilityStateImpl::GetInstance()->EnableAccessibility();
+#endif // QT_NO_ACCESSIBILITY
}
RenderWidgetHostViewQt::~RenderWidgetHostViewQt()
{
+#ifndef QT_NO_ACCESSIBILITY
QAccessible::removeActivationObserver(this);
+#endif // QT_NO_ACCESSIBILITY
}
void RenderWidgetHostViewQt::setDelegate(RenderWidgetHostViewQtDelegate* delegate)
@@ -296,6 +299,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewQt::GetNativeViewAccessible()
void RenderWidgetHostViewQt::CreateBrowserAccessibilityManagerIfNeeded()
{
+#ifndef QT_NO_ACCESSIBILITY
if (GetBrowserAccessibilityManager())
return;
@@ -303,6 +307,7 @@ void RenderWidgetHostViewQt::CreateBrowserAccessibilityManagerIfNeeded()
m_adapterClient->accessibilityParentObject(),
content::BrowserAccessibilityManagerQt::GetEmptyDocument(),
this));
+#endif // QT_NO_ACCESSIBILITY
}
// Set focus to the associated View component.
@@ -953,6 +958,7 @@ void RenderWidgetHostViewQt::AccessibilityFatalError()
SetBrowserAccessibilityManager(NULL);
}
+#ifndef QT_NO_ACCESSIBILITY
void RenderWidgetHostViewQt::accessibilityActiveChanged(bool active)
{
if (active)
@@ -960,6 +966,7 @@ void RenderWidgetHostViewQt::accessibilityActiveChanged(bool active)
else
content::BrowserAccessibilityStateImpl::GetInstance()->DisableAccessibility();
}
+#endif // QT_NO_ACCESSIBILITY
void RenderWidgetHostViewQt::handleWheelEvent(QWheelEvent *ev)
{
@@ -1042,6 +1049,7 @@ void RenderWidgetHostViewQt::handleFocusEvent(QFocusEvent *ev)
}
}
+#ifndef QT_NO_ACCESSIBILITY
QAccessibleInterface *RenderWidgetHostViewQt::GetQtAccessible()
{
// Assume we have a screen reader doing stuff
@@ -1051,6 +1059,7 @@ QAccessibleInterface *RenderWidgetHostViewQt::GetQtAccessible()
content::BrowserAccessibilityQt *accQt = static_cast<content::BrowserAccessibilityQt*>(acc);
return accQt;
}
+#endif // QT_NO_ACCESSIBILITY
void RenderWidgetHostViewQt::didFirstVisuallyNonEmptyLayout()
{
diff --git a/src/core/render_widget_host_view_qt.h b/src/core/render_widget_host_view_qt.h
index d4a3ff2..fac7efd 100644
--- a/src/core/render_widget_host_view_qt.h
+++ b/src/core/render_widget_host_view_qt.h
@@ -50,6 +50,7 @@
#include <QRect>
#include <QtGlobal>
#include <QtGui/qaccessible.h>
+#include <QtGui/QTouchEvent>
#include "delegated_frame_node.h"
@@ -59,7 +60,6 @@ class QFocusEvent;
class QHoverEvent;
class QKeyEvent;
class QMouseEvent;
-class QTouchEvent;
class QVariant;
class QWheelEvent;
class QAccessibleInterface;
@@ -93,7 +93,9 @@ class RenderWidgetHostViewQt
, public RenderWidgetHostViewQtDelegateClient
, public content::BrowserAccessibilityDelegate
, public base::SupportsWeakPtr<RenderWidgetHostViewQt>
+#ifndef QT_NO_ACCESSIBILITY
, public QAccessible::ActivationObserver
+#endif // QT_NO_ACCESSIBILITY
{
public:
RenderWidgetHostViewQt(content::RenderWidgetHost* widget);
@@ -213,9 +215,11 @@ public:
virtual gfx::Point AccessibilityOriginInScreen(const gfx::Rect& bounds) const Q_DECL_OVERRIDE { return gfx::Point(); }
virtual void AccessibilityHitTest(const gfx::Point& point) Q_DECL_OVERRIDE { }
virtual void AccessibilityFatalError() Q_DECL_OVERRIDE;
+#ifndef QT_NO_ACCESSIBILITY
virtual void accessibilityActiveChanged(bool active) Q_DECL_OVERRIDE;
QAccessibleInterface *GetQtAccessible();
+#endif // QT_NO_ACCESSIBILITY
void didFirstVisuallyNonEmptyLayout();
diff --git a/src/core/web_contents_adapter.cpp b/src/core/web_contents_adapter.cpp
index 3f223f7..e41acd0 100644
--- a/src/core/web_contents_adapter.cpp
+++ b/src/core/web_contents_adapter.cpp
@@ -628,12 +628,14 @@ void WebContentsAdapter::enableInspector(bool enable)
ContentBrowserClientQt::Get()->enableInspector(enable);
}
+#ifndef QT_NO_ACCESSIBILITY
QAccessibleInterface *WebContentsAdapter::browserAccessible()
{
Q_D(const WebContentsAdapter);
RenderWidgetHostViewQt *rwhv = static_cast<RenderWidgetHostViewQt*>(d->webContents->GetRenderWidgetHostView());
return rwhv ? rwhv->GetQtAccessible() : Q_NULLPTR;
}
+#endif // QT_NO_ACCESSIBILITY
void WebContentsAdapter::runJavaScript(const QString &javaScript)
{
diff --git a/src/core/web_contents_adapter_client.h b/src/core/web_contents_adapter_client.h
index 8fd401f..df18980 100644
--- a/src/core/web_contents_adapter_client.h
+++ b/src/core/web_contents_adapter_client.h
@@ -168,7 +168,9 @@ public:
virtual void passOnFocus(bool reverse) = 0;
// returns the last QObject (QWidget/QQuickItem) based object in the accessibility
// hierarchy before going into the BrowserAccessibility tree
+#ifndef QT_NO_ACCESSIBILITY
virtual QObject *accessibilityParentObject() = 0;
+#endif // QT_NO_ACCESSIBILITY
virtual void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString& message, int lineNumber, const QString& sourceID) = 0;
virtual void authenticationRequired(const QUrl &requestUrl, const QString &realm, bool isProxy, const QString &challengingHost, QString *outUser, QString *outPassword) = 0;
virtual void runMediaAccessPermissionRequest(const QUrl &securityOrigin, MediaRequestFlags requestFlags) = 0;
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp
index 3497c16..a35cfc3 100644
--- a/src/webengine/api/qquickwebengineview.cpp
+++ b/src/webengine/api/qquickwebengineview.cpp
@@ -61,16 +61,20 @@
#include <QScreen>
#include <QStringBuilder>
#include <QUrl>
+#ifndef QT_NO_ACCESSIBILITY
#include <private/qquickaccessibleattached_p.h>
+#endif // QT_NO_ACCESSIBILITY
QT_BEGIN_NAMESPACE
+#ifndef QT_NO_ACCESSIBILITY
static QAccessibleInterface *webAccessibleFactory(const QString &, QObject *object)
{
if (QQuickWebEngineView *v = qobject_cast<QQuickWebEngineView*>(object))
return new QQuickWebEngineViewAccessible(v);
return 0;
}
+#endif // QT_NO_ACCESSIBILITY
QQuickWebEngineViewPrivate::QQuickWebEngineViewPrivate()
: adapter(new WebContentsAdapter)
@@ -102,7 +106,9 @@ QQuickWebEngineViewPrivate::QQuickWebEngineViewPrivate()
// 1x, 2x, 3x etc assets that fit an integral number of pixels.
setDevicePixelRatio(qMax(1, qRound(webPixelRatio)));
}
+#ifndef QT_NO_ACCESSIBILITY
QAccessible::installFactory(&webAccessibleFactory);
+#endif // QT_NO_ACCESSIBILITY
}
QQuickWebEngineViewPrivate::~QQuickWebEngineViewPrivate()
@@ -395,11 +401,13 @@ void QQuickWebEngineViewPrivate::runMediaAccessPermissionRequest(const QUrl &sec
Q_EMIT e->featurePermissionRequested(securityOrigin, feature);
}
+#ifndef QT_NO_ACCESSIBILITY
QObject *QQuickWebEngineViewPrivate::accessibilityParentObject()
{
Q_Q(QQuickWebEngineView);
return q;
}
+#endif // QT_NO_ACCESSIBILITY
WebEngineSettings *QQuickWebEngineViewPrivate::webEngineSettings() const
{
@@ -414,6 +422,7 @@ void QQuickWebEngineViewPrivate::setDevicePixelRatio(qreal devicePixelRatio)
m_dpiScale = devicePixelRatio / screen->devicePixelRatio();
}
+#ifndef QT_NO_ACCESSIBILITY
QQuickWebEngineViewAccessible::QQuickWebEngineViewAccessible(QQuickWebEngineView *o)
: QAccessibleObject(o)
{}
@@ -460,6 +469,7 @@ QAccessible::State QQuickWebEngineViewAccessible::state() const
QAccessible::State s;
return s;
}
+#endif // QT_NO_ACCESSIBILITY
void QQuickWebEngineViewPrivate::adoptWebContents(WebContentsAdapter *webContents)
{
@@ -497,8 +507,10 @@ QQuickWebEngineView::QQuickWebEngineView(QQuickItem *parent)
this->setActiveFocusOnTab(true);
this->setFlag(QQuickItem::ItemIsFocusScope);
+#ifndef QT_NO_ACCESSIBILITY
QQuickAccessibleAttached *accessible = QQuickAccessibleAttached::qmlAttachedProperties(this);
accessible->setRole(QAccessible::Grouping);
+#endif // QT_NO_ACCESSIBILITY
}
QQuickWebEngineView::~QQuickWebEngineView()
diff --git a/src/webengine/api/qquickwebengineview_p.h b/src/webengine/api/qquickwebengineview_p.h
index 22713ee..f3ceb2c 100644
--- a/src/webengine/api/qquickwebengineview_p.h
+++ b/src/webengine/api/qquickwebengineview_p.h
@@ -155,7 +155,9 @@ private:
friend class QQuickWebEngineViewExperimental;
friend class QQuickWebEngineViewExperimentalExtension;
friend class QQuickWebEngineNewViewRequest;
+#ifndef QT_NO_ACCESSIBILITY
friend class QQuickWebEngineViewAccessible;
+#endif // QT_NO_ACCESSIBILITY
};
QT_END_NAMESPACE
diff --git a/src/webengine/api/qquickwebengineview_p_p.h b/src/webengine/api/qquickwebengineview_p_p.h
index 6662f1f..3ab95c6 100644
--- a/src/webengine/api/qquickwebengineview_p_p.h
+++ b/src/webengine/api/qquickwebengineview_p_p.h
@@ -175,7 +175,9 @@ public:
virtual void javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, const QString& message, int lineNumber, const QString& sourceID) Q_DECL_OVERRIDE;
virtual void authenticationRequired(const QUrl&, const QString&, bool, const QString&, QString*, QString*) 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> &errorController);
@@ -202,6 +204,7 @@ private:
qreal m_dpiScale;
};
+#ifndef QT_NO_ACCESSIBILITY
class QQuickWebEngineViewAccessible : public QAccessibleObject
{
public:
@@ -217,7 +220,7 @@ public:
private:
QQuickWebEngineView *engineView() const { return static_cast<QQuickWebEngineView*>(object()); }
};
-
+#endif // QT_NO_ACCESSIBILITY
QT_END_NAMESPACE
QML_DECLARE_TYPE(QQuickWebEngineViewExperimental)
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
index 72b16f2..068c175 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 7856b82..9fd81b0 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 5412922..2307e7a 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 8d21989..63ac405 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 9db971f..e0cc3f4 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
diff --git a/tests/quicktestbrowser/quicktestbrowser.pro b/tests/quicktestbrowser/quicktestbrowser.pro
index ac8fe74..51ea5a2 100644
--- a/tests/quicktestbrowser/quicktestbrowser.pro
+++ b/tests/quicktestbrowser/quicktestbrowser.pro
@@ -1,3 +1,5 @@
+requires(contains(QT_CONFIG, accessibility))
+
TEMPLATE = app
TARGET = quicktestbrowser
--
2.3.1
|