From 2cfed9eb0e1316f9906eacf25b51231c1ed8b331 Mon Sep 17 00:00:00 2001 From: Svetoslav Ganov Date: Thu, 10 Feb 2011 17:51:14 -0800 Subject: [PATCH] Accessibility events generated by WebView contain non well formed markup. bug:3444147 1. Now that the spans with CSS data are included in the accessibility events, such that a client can parse them, the tests are doing so. Change-Id: I574c68d27a95cd8226dd7634b00a7d404ae387fe --- .../webkit/AccessibilityInjectorTest.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/core/tests/coretests/src/android/webkit/AccessibilityInjectorTest.java b/core/tests/coretests/src/android/webkit/AccessibilityInjectorTest.java index 242e5787ef6c3..aedfbad59ca92 100644 --- a/core/tests/coretests/src/android/webkit/AccessibilityInjectorTest.java +++ b/core/tests/coretests/src/android/webkit/AccessibilityInjectorTest.java @@ -56,6 +56,12 @@ public class AccessibilityInjectorTest private static final int META_STATE_ALT_LEFT_ON = KeyEvent.META_ALT_ON | KeyEvent.META_ALT_LEFT_ON; + /** Prefix for the CSS style span appended by WebKit. */ + private static final String APPLE_SPAN_PREFIX = "= 0) { + int prefixEndIdx = stripped.indexOf(">", prefixBegIdx) + 1; + stripped.replace(prefixBegIdx, prefixEndIdx, ""); + int suffixBegIdx = stripped.lastIndexOf(APPLE_SPAN_SUFFIX); + int suffixEndIdx = suffixBegIdx + APPLE_SPAN_SUFFIX.length(); + stripped.replace(suffixBegIdx, suffixEndIdx, ""); + prefixBegIdx = stripped.indexOf(APPLE_SPAN_PREFIX); + } + return stripped.toString(); + } + /** * Disables accessibility and the mock accessibility service. */ @@ -1757,7 +1784,11 @@ public class AccessibilityInjectorTest } if (!event.getText().isEmpty()) { CharSequence text = event.getText().get(0); - sReceivedSelectionString = (text != null) ? text.toString() : null; + if (text != null) { + sReceivedSelectionString = stripAppleSpanFromMarkup(text.toString()); + } else { + sReceivedSelectionString = null; + } } synchronized (sTestLock) { sTestLock.notifyAll();