diff options
| author | 2012-06-14 17:19:54 -0700 | |
|---|---|---|
| committer | 2012-06-14 17:19:54 -0700 | |
| commit | 2657a59f54e316ca11d7d9adf648e7001960f469 (patch) | |
| tree | 78f460a712840198882500e737e691c63980e6cc | |
| parent | 0777558f0365d8020693109118bd92994b0ec8b1 (diff) | |
| parent | 8bab6de6e2c3af2d6fac0ebd06bcdb71a5d65b03 (diff) | |
Merge "Add support for NEXT_HTML_ELEMENT to WebViewClassic." into jb-dev
| -rw-r--r-- | core/java/android/webkit/AccessibilityInjector.java | 16 | ||||
| -rw-r--r-- | core/java/android/webkit/AccessibilityInjectorFallback.java | 16 |
2 files changed, 23 insertions, 9 deletions
diff --git a/core/java/android/webkit/AccessibilityInjector.java b/core/java/android/webkit/AccessibilityInjector.java index 95694d8e1ddd..7dfb5bb102e2 100644 --- a/core/java/android/webkit/AccessibilityInjector.java +++ b/core/java/android/webkit/AccessibilityInjector.java @@ -483,15 +483,19 @@ class AccessibilityInjector { switch (action) { case AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY: case AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: - final int granularity = arguments.getInt( - AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT); - mAccessibilityJSONObject.accumulate("granularity", granularity); + if (arguments != null) { + final int granularity = arguments.getInt( + AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT); + mAccessibilityJSONObject.accumulate("granularity", granularity); + } break; case AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT: case AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT: - final String element = arguments.getString( - AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING); - mAccessibilityJSONObject.accumulate("element", element); + if (arguments != null) { + final String element = arguments.getString( + AccessibilityNodeInfo.ACTION_ARGUMENT_HTML_ELEMENT_STRING); + mAccessibilityJSONObject.accumulate("element", element); + } break; } } catch (JSONException e) { diff --git a/core/java/android/webkit/AccessibilityInjectorFallback.java b/core/java/android/webkit/AccessibilityInjectorFallback.java index 4d9c26c5305d..783b3db3b385 100644 --- a/core/java/android/webkit/AccessibilityInjectorFallback.java +++ b/core/java/android/webkit/AccessibilityInjectorFallback.java @@ -272,11 +272,19 @@ class AccessibilityInjectorFallback { boolean performAccessibilityAction(int action, Bundle arguments) { switch (action) { case AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY: - case AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: + case AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: { final int direction = getDirectionForAction(action); final int axis = getAxisForGranularity(arguments.getInt( AccessibilityNodeInfo.ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT)); return traverseGivenAxis(direction, axis, true, null); + } + case AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT: + case AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT: { + final int direction = getDirectionForAction(action); + // TODO: Add support for moving by object. + final int axis = NAVIGATION_AXIS_SENTENCE; + return traverseGivenAxis(direction, axis, true, null); + } default: return false; } @@ -291,8 +299,10 @@ class AccessibilityInjectorFallback { */ private static int getDirectionForAction(int action) { switch (action) { + case AccessibilityNodeInfo.ACTION_NEXT_HTML_ELEMENT: case AccessibilityNodeInfo.ACTION_NEXT_AT_MOVEMENT_GRANULARITY: return NAVIGATION_DIRECTION_FORWARD; + case AccessibilityNodeInfo.ACTION_PREVIOUS_HTML_ELEMENT: case AccessibilityNodeInfo.ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY: return NAVIGATION_DIRECTION_BACKWARD; default: @@ -316,8 +326,8 @@ class AccessibilityInjectorFallback { case AccessibilityNodeInfo.MOVEMENT_GRANULARITY_LINE: return NAVIGATION_AXIS_SENTENCE; case AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PARAGRAPH: - // TODO: Figure out what nextSibling() actually means. - return NAVIGATION_AXIS_SIBLING; + // TODO: This should map to object once we implement it. + return NAVIGATION_AXIS_SENTENCE; case AccessibilityNodeInfo.MOVEMENT_GRANULARITY_PAGE: return NAVIGATION_AXIS_DOCUMENT; default: |