summaryrefslogtreecommitdiffstats
path: root/src/core/render_widget_host_view_qt.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-08-04 19:05:04 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-09-01 11:14:41 +0200
commit41efc54901905167d312e5a1974215efd592fee1 (patch)
tree917822c0bf6f4c1535f11042fe649371030279d7 /src/core/render_widget_host_view_qt.cpp
parentf677f0a41bca3439b9496e7b900d6638c5d84d6e (diff)
React to Accessibility being enabled/disabled globally
Change-Id: I57a85682d132bfefcdb0e3d1b3065f0474317e32 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'src/core/render_widget_host_view_qt.cpp')
-rw-r--r--src/core/render_widget_host_view_qt.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index ee099170a..08e7ca783 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -179,10 +179,15 @@ RenderWidgetHostViewQt::RenderWidgetHostViewQt(content::RenderWidgetHost* widget
, m_initPending(false)
{
m_host->SetView(this);
+
+ QAccessible::installActivationObserver(this);
+ if (QAccessible::isActive())
+ content::BrowserAccessibilityStateImpl::GetInstance()->EnableAccessibility();
}
RenderWidgetHostViewQt::~RenderWidgetHostViewQt()
{
+ QAccessible::removeActivationObserver(this);
}
void RenderWidgetHostViewQt::setDelegate(RenderWidgetHostViewQtDelegate* delegate)
@@ -908,6 +913,14 @@ void RenderWidgetHostViewQt::AccessibilityFatalError()
SetBrowserAccessibilityManager(NULL);
}
+void RenderWidgetHostViewQt::accessibilityActiveChanged(bool active)
+{
+ if (active)
+ content::BrowserAccessibilityStateImpl::GetInstance()->EnableAccessibility();
+ else
+ content::BrowserAccessibilityStateImpl::GetInstance()->DisableAccessibility();
+}
+
void RenderWidgetHostViewQt::handleWheelEvent(QWheelEvent *ev)
{
m_host->ForwardWheelEvent(WebEventFactory::toWebWheelEvent(ev, dpiScale()));
@@ -988,8 +1001,6 @@ QAccessibleInterface *RenderWidgetHostViewQt::GetQtAccessible()
// Assume we have a screen reader doing stuff
CreateBrowserAccessibilityManagerIfNeeded();
content::BrowserAccessibilityState::GetInstance()->OnScreenReaderDetected();
- content::BrowserAccessibilityStateImpl::GetInstance()->EnableAccessibility();
-
content::BrowserAccessibility *acc = GetBrowserAccessibilityManager()->GetRoot();
content::BrowserAccessibilityQt *accQt = static_cast<content::BrowserAccessibilityQt*>(acc);
return accQt;