Bug 1499209 - Send abbreviated source bundles with accessibility events. r=Jamie

Depends on D8778

Differential Revision: https://phabricator.services.mozilla.com/D8779

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Eitan Isaacson 2018-10-18 22:54:10 +00:00
Родитель 0ed46eeee9
Коммит 429f00ea83
3 изменённых файлов: 33 добавлений и 24 удалений

Просмотреть файл

@ -373,7 +373,7 @@ AccessibleWrap::WrapperRangeInfo(double* aCurVal, double* aMinVal,
} }
mozilla::java::GeckoBundle::LocalRef mozilla::java::GeckoBundle::LocalRef
AccessibleWrap::ToBundle() AccessibleWrap::ToBundle(bool aMinimal)
{ {
if (IsDefunct()) { if (IsDefunct()) {
return nullptr; return nullptr;
@ -390,16 +390,6 @@ AccessibleWrap::ToBundle()
uint64_t state = State(); uint64_t state = State();
uint64_t flags = GetFlags(role, state); uint64_t flags = GetFlags(role, state);
GECKOBUNDLE_PUT(nodeInfo, "flags", java::sdk::Integer::ValueOf(flags)); GECKOBUNDLE_PUT(nodeInfo, "flags", java::sdk::Integer::ValueOf(flags));
nsAutoString geckoRole;
nsAutoString roleDescription;
if (VirtualViewID() != kNoID) {
GetRoleDescription(role, geckoRole, roleDescription);
}
GECKOBUNDLE_PUT(
nodeInfo, "roleDescription", jni::StringParam(roleDescription));
GECKOBUNDLE_PUT(nodeInfo, "geckoRole", jni::StringParam(geckoRole));
GECKOBUNDLE_PUT(nodeInfo, "className", java::sdk::Integer::ValueOf(AndroidClass())); GECKOBUNDLE_PUT(nodeInfo, "className", java::sdk::Integer::ValueOf(AndroidClass()));
nsAutoString text; nsAutoString text;
@ -416,6 +406,25 @@ AccessibleWrap::ToBundle()
} }
GECKOBUNDLE_PUT(nodeInfo, "text", jni::StringParam(text)); GECKOBUNDLE_PUT(nodeInfo, "text", jni::StringParam(text));
if (aMinimal) {
GECKOBUNDLE_FINISH(nodeInfo);
return nodeInfo;
}
nsAutoString geckoRole;
nsAutoString roleDescription;
if (VirtualViewID() != kNoID) {
GetRoleDescription(role, geckoRole, roleDescription);
}
GECKOBUNDLE_PUT(
nodeInfo, "roleDescription", jni::StringParam(roleDescription));
GECKOBUNDLE_PUT(nodeInfo, "geckoRole", jni::StringParam(geckoRole));
GECKOBUNDLE_PUT(
nodeInfo, "roleDescription", jni::StringParam(roleDescription));
GECKOBUNDLE_PUT(nodeInfo, "geckoRole", jni::StringParam(geckoRole));
nsAutoString viewIdResourceName; nsAutoString viewIdResourceName;
WrapperDOMNodeID(viewIdResourceName); WrapperDOMNodeID(viewIdResourceName);
if (!viewIdResourceName.IsEmpty()) { if (!viewIdResourceName.IsEmpty()) {

Просмотреть файл

@ -31,7 +31,7 @@ public:
virtual bool GetSelectionBounds(int32_t* aStartOffset, int32_t* aEndOffset); virtual bool GetSelectionBounds(int32_t* aStartOffset, int32_t* aEndOffset);
mozilla::java::GeckoBundle::LocalRef ToBundle(); mozilla::java::GeckoBundle::LocalRef ToBundle(bool aMinimal = false);
int32_t AndroidClass() int32_t AndroidClass()
{ {

Просмотреть файл

@ -151,7 +151,7 @@ SessionAccessibility::SendAccessibilityFocusedEvent(AccessibleWrap* aAccessible)
{ {
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent::TYPE_VIEW_ACCESSIBILITY_FOCUSED, java::sdk::AccessibilityEvent::TYPE_VIEW_ACCESSIBILITY_FOCUSED,
aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle()); aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle(true));
aAccessible->ScrollTo(nsIAccessibleScrollType::SCROLL_TYPE_ANYWHERE); aAccessible->ScrollTo(nsIAccessibleScrollType::SCROLL_TYPE_ANYWHERE);
} }
@ -160,7 +160,7 @@ SessionAccessibility::SendHoverEnterEvent(AccessibleWrap* aAccessible)
{ {
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent::TYPE_VIEW_HOVER_ENTER, java::sdk::AccessibilityEvent::TYPE_VIEW_HOVER_ENTER,
aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle()); aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle(true));
} }
void void
@ -174,7 +174,7 @@ SessionAccessibility::SendFocusEvent(AccessibleWrap* aAccessible)
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent::TYPE_VIEW_FOCUSED, java::sdk::AccessibilityEvent::TYPE_VIEW_FOCUSED,
aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle()); aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle(true));
} }
void void
@ -199,8 +199,8 @@ SessionAccessibility::SendScrollingEvent(AccessibleWrap* aAccessible,
GECKOBUNDLE_FINISH(eventInfo); GECKOBUNDLE_FINISH(eventInfo);
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent::TYPE_VIEW_SCROLLED, virtualViewId, java::sdk::AccessibilityEvent::TYPE_VIEW_SCROLLED, virtualViewId, eventInfo,
eventInfo, aAccessible->ToBundle()); aAccessible->ToBundle(true));
SendWindowContentChangedEvent(aAccessible); SendWindowContentChangedEvent(aAccessible);
} }
@ -210,7 +210,7 @@ SessionAccessibility::SendWindowContentChangedEvent(AccessibleWrap* aAccessible)
{ {
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent::TYPE_WINDOW_CONTENT_CHANGED, java::sdk::AccessibilityEvent::TYPE_WINDOW_CONTENT_CHANGED,
aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle()); aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle(true));
} }
void void
@ -224,7 +224,7 @@ SessionAccessibility::SendWindowStateChangedEvent(AccessibleWrap* aAccessible)
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent::TYPE_WINDOW_STATE_CHANGED, java::sdk::AccessibilityEvent::TYPE_WINDOW_STATE_CHANGED,
aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle()); aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle(true));
} }
void void
@ -245,7 +245,7 @@ SessionAccessibility::SendTextSelectionChangedEvent(AccessibleWrap* aAccessible,
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent::TYPE_VIEW_TEXT_SELECTION_CHANGED, java::sdk::AccessibilityEvent::TYPE_VIEW_TEXT_SELECTION_CHANGED,
aAccessible->VirtualViewID(), eventInfo, aAccessible->ToBundle()); aAccessible->VirtualViewID(), eventInfo, aAccessible->ToBundle(true));
} }
void void
@ -279,7 +279,7 @@ SessionAccessibility::SendTextChangedEvent(AccessibleWrap* aAccessible,
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent::TYPE_VIEW_TEXT_CHANGED, java::sdk::AccessibilityEvent::TYPE_VIEW_TEXT_CHANGED,
aAccessible->VirtualViewID(), eventInfo, aAccessible->ToBundle()); aAccessible->VirtualViewID(), eventInfo, aAccessible->ToBundle(true));
} }
void void
@ -299,7 +299,7 @@ SessionAccessibility::SendTextTraversedEvent(AccessibleWrap* aAccessible,
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent:: java::sdk::AccessibilityEvent::
TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY, TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY,
aAccessible->VirtualViewID(), eventInfo, aAccessible->ToBundle()); aAccessible->VirtualViewID(), eventInfo, aAccessible->ToBundle(true));
} }
void void
@ -307,7 +307,7 @@ SessionAccessibility::SendClickedEvent(AccessibleWrap* aAccessible)
{ {
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent::TYPE_VIEW_CLICKED, java::sdk::AccessibilityEvent::TYPE_VIEW_CLICKED,
aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle()); aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle(true));
} }
void void
@ -315,5 +315,5 @@ SessionAccessibility::SendSelectedEvent(AccessibleWrap* aAccessible)
{ {
mSessionAccessibility->SendEvent( mSessionAccessibility->SendEvent(
java::sdk::AccessibilityEvent::TYPE_VIEW_SELECTED, java::sdk::AccessibilityEvent::TYPE_VIEW_SELECTED,
aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle()); aAccessible->VirtualViewID(), nullptr, aAccessible->ToBundle(true));
} }