a11y: Fix cfi-icall failure

Control Flow Integrity indirect call checking [1] verifies that indirect
calls are only made to functions defined with a type signature that
matches the function pointer type. The accessibility_unittests fail with
CFI-icall enabled when a test casts a lambda so types don't match;
however, from my brief look at ATK I believe that 3rd-party DSOs can
also register callbacks. There is currently only a way to safely perform
calls to functions that are address-taken in other DSOs when there is a
single possible target. Hence, disable CFI-icall here for now.

[1] https://www.chromium.org/developers/testing/control-flow-integrity

Bug: 941466
Change-Id: If4550beb1101c8077f394e717b5bdc052e173049
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1524649
Auto-Submit: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Commit-Queue: Martin Robinson <mrobinson@igalia.com>
Reviewed-by: Martin Robinson <mrobinson@igalia.com>
Cr-Commit-Position: refs/heads/master@{#641148}
diff --git a/ui/accessibility/platform/atk_util_auralinux.cc b/ui/accessibility/platform/atk_util_auralinux.cc
index 08da557..945bc2c 100644
--- a/ui/accessibility/platform/atk_util_auralinux.cc
+++ b/ui/accessibility/platform/atk_util_auralinux.cc
@@ -156,6 +156,8 @@
 }
 
 // static
+// Disable CFI-icall since the key snooping function could be in another DSO.
+__attribute__((no_sanitize("cfi-icall")))
 DiscardAtkKeyEvent AtkUtilAuraLinux::HandleAtkKeyEvent(
     AtkKeyEventStruct* key_event) {
   DCHECK(key_event);