Process ax::mojom::Event::kAlert in the auralinux backend.
This event is emitted by alert-like contents like bubbles or infobars.
The auralinux backend now emits the platform event
"object:state-changed:showing".
It fixes one aspect of the bug 1052675: there was no event indicating
the appearance of the bubble.
Bug: 1052675
Change-Id: I73a8441b457088261e70dbddb4c00795c8553a1a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2062349
Commit-Queue: Jacobo Aragunde Pérez <jaragunde@igalia.com>
Reviewed-by: Joanmarie Diggs <jdiggs@igalia.com>
Cr-Commit-Position: refs/heads/master@{#755380}
diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.cc b/ui/accessibility/platform/ax_platform_node_auralinux.cc
index 3047706..c4a8398 100644
--- a/ui/accessibility/platform/ax_platform_node_auralinux.cc
+++ b/ui/accessibility/platform/ax_platform_node_auralinux.cc
@@ -3829,6 +3829,11 @@
GetData().GetInvalidState() != ax::mojom::InvalidState::kFalse);
}
+void AXPlatformNodeAuraLinux::OnAlertShown() {
+ atk_object_notify_state_change(ATK_OBJECT(GetOrCreateAtkObject()),
+ ATK_STATE_SHOWING, TRUE);
+}
+
void AXPlatformNodeAuraLinux::NotifyAccessibilityEvent(
ax::mojom::Event event_type) {
if (!GetOrCreateAtkObject())
@@ -3904,6 +3909,9 @@
// kLoadComplete.
OnDocumentTitleChanged();
break;
+ case ax::mojom::Event::kAlert:
+ OnAlertShown();
+ break;
default:
break;
}
diff --git a/ui/accessibility/platform/ax_platform_node_auralinux.h b/ui/accessibility/platform/ax_platform_node_auralinux.h
index 5786f8a6..e8d1212f 100644
--- a/ui/accessibility/platform/ax_platform_node_auralinux.h
+++ b/ui/accessibility/platform/ax_platform_node_auralinux.h
@@ -215,6 +215,7 @@
void OnParentChanged();
void OnWindowVisibilityChanged();
void OnScrolledToAnchor();
+ void OnAlertShown();
void ResendFocusSignalsForCurrentlyFocusedNode();
bool SupportsSelectionWithAtkSelection();