summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/browser_accessibility_manager_qt.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/core/browser_accessibility_manager_qt.cpp b/src/core/browser_accessibility_manager_qt.cpp
index dcbb3a006..7c16d54a0 100644
--- a/src/core/browser_accessibility_manager_qt.cpp
+++ b/src/core/browser_accessibility_manager_qt.cpp
@@ -2,10 +2,16 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "browser_accessibility_manager_qt.h"
+#include "qtwebenginecoreglobal_p.h"
#include "content/browser/accessibility/browser_accessibility.h"
#include "ui/accessibility/ax_enums.mojom.h"
+#if QT_CONFIG(webengine_extensions)
+#include "content/browser/renderer_host/render_frame_host_impl.h"
+#include "content/public/browser/web_contents.h"
+#endif // QT_CONFIG(webengine_extensions)
+
#include "browser_accessibility_qt.h"
#include "render_widget_host_view_qt.h"
@@ -24,6 +30,17 @@ BrowserAccessibilityManager *BrowserAccessibilityManager::Create(
Q_ASSERT(delegate);
QtWebEngineCore::WebContentsAccessibilityQt *access = nullptr;
access = static_cast<QtWebEngineCore::WebContentsAccessibilityQt *>(delegate->AccessibilityGetWebContentsAccessibility());
+
+#if QT_CONFIG(webengine_extensions)
+ // Accessibility is not supported for guest views.
+ if (!access) {
+ Q_ASSERT(content::WebContents::FromRenderFrameHost(
+ static_cast<content::RenderFrameHostImpl *>(delegate))
+ ->GetOuterWebContents());
+ return nullptr;
+ }
+#endif // QT_CONFIG(webengine_extensions)
+
return new BrowserAccessibilityManagerQt(access, initialTree, delegate);
#else
return nullptr;