| Index: content/browser/accessibility/browser_accessibility_manager_android.cc
|
| diff --git a/content/browser/accessibility/browser_accessibility_manager_android.cc b/content/browser/accessibility/browser_accessibility_manager_android.cc
|
| index a9fd646d88b7673593a5c9ef321fa2eff0cd2f68..f1e95e41321a7b4159c211dcf7ceb081ee3e244c 100644
|
| --- a/content/browser/accessibility/browser_accessibility_manager_android.cc
|
| +++ b/content/browser/accessibility/browser_accessibility_manager_android.cc
|
| @@ -228,6 +228,40 @@ jboolean BrowserAccessibilityManagerAndroid::PopulateAccessibilityNodeInfo(
|
| absolute_rect.width(), absolute_rect.height(),
|
| is_root);
|
|
|
| + // New KitKat APIs
|
| + Java_BrowserAccessibilityManager_setAccessibilityNodeInfoKitKatAttributes(
|
| + env, obj, info,
|
| + node->CanOpenPopup(),
|
| + node->IsContentInvalid(),
|
| + node->IsDismissable(),
|
| + node->IsMultiLine(),
|
| + node->AndroidInputType(),
|
| + node->AndroidLiveRegionType());
|
| + if (node->IsCollection()) {
|
| + Java_BrowserAccessibilityManager_setAccessibilityNodeInfoCollectionInfo(
|
| + env, obj, info,
|
| + node->RowCount(),
|
| + node->ColumnCount(),
|
| + node->IsHierarchical());
|
| + }
|
| + if (node->IsCollectionItem() || node->IsHeading()) {
|
| + Java_BrowserAccessibilityManager_setAccessibilityNodeInfoCollectionItemInfo(
|
| + env, obj, info,
|
| + node->RowIndex(),
|
| + node->RowSpan(),
|
| + node->ColumnIndex(),
|
| + node->ColumnSpan(),
|
| + node->IsHeading());
|
| + }
|
| + if (node->IsRangeType()) {
|
| + Java_BrowserAccessibilityManager_setAccessibilityNodeInfoRangeInfo(
|
| + env, obj, info,
|
| + node->AndroidRangeType(),
|
| + node->RangeMin(),
|
| + node->RangeMax(),
|
| + node->RangeCurrentValue());
|
| + }
|
| +
|
| return true;
|
| }
|
|
|
| @@ -281,6 +315,40 @@ jboolean BrowserAccessibilityManagerAndroid::PopulateAccessibilityEvent(
|
| break;
|
| }
|
|
|
| + // Backwards-compatible fallback for new KitKat APIs.
|
| + Java_BrowserAccessibilityManager_setAccessibilityEventKitKatAttributes(
|
| + env, obj, event,
|
| + node->CanOpenPopup(),
|
| + node->IsContentInvalid(),
|
| + node->IsDismissable(),
|
| + node->IsMultiLine(),
|
| + node->AndroidInputType(),
|
| + node->AndroidLiveRegionType());
|
| + if (node->IsCollection()) {
|
| + Java_BrowserAccessibilityManager_setAccessibilityEventCollectionInfo(
|
| + env, obj, event,
|
| + node->RowCount(),
|
| + node->ColumnCount(),
|
| + node->IsHierarchical());
|
| + }
|
| + if (node->IsCollectionItem() || node->IsHeading()) {
|
| + Java_BrowserAccessibilityManager_setAccessibilityEventCollectionItemInfo(
|
| + env, obj, event,
|
| + node->RowIndex(),
|
| + node->RowSpan(),
|
| + node->ColumnIndex(),
|
| + node->ColumnSpan(),
|
| + node->IsHeading());
|
| + }
|
| + if (node->IsRangeType()) {
|
| + Java_BrowserAccessibilityManager_setAccessibilityEventRangeInfo(
|
| + env, obj, event,
|
| + node->AndroidRangeType(),
|
| + node->RangeMin(),
|
| + node->RangeMax(),
|
| + node->RangeCurrentValue());
|
| + }
|
| +
|
| return true;
|
| }
|
|
|
|
|