зеркало из https://github.com/mozilla/pjs.git
Bug 216731 [ATK Accessibility] register ROLE_LINK on runtime
r=kyle, sr=henry for GTK2 only, not included in normal build
This commit is contained in:
Родитель
6bb56de5b9
Коммит
86fd0c04f7
|
@ -374,7 +374,7 @@ interface nsIAccessible : nsISupports
|
|||
enum { ROLE_COLUMN = 66U }; // ATK_ROLE_UNKNOWN
|
||||
enum { ROLE_ROW = 66U }; // ATK_ROLE_UNKNOWN
|
||||
enum { ROLE_CELL = 55U }; // ATK_ROLE_TABLE_CELL
|
||||
enum { ROLE_LINK = 66U }; // ATK_ROLE_UNKNOWN
|
||||
enum { ROLE_LINK = 101U }; // ATK doesn't have such role now
|
||||
enum { ROLE_HELPBALLOON = 66U }; // ATK_ROLE_UNKNOWN
|
||||
// The object represents a cartoon-like graphic object
|
||||
enum { ROLE_CHARACTER = 26U }; // ATK_ROLE_IMAGE
|
||||
|
|
|
@ -667,12 +667,21 @@ getRoleCB(AtkObject *aAtkObj)
|
|||
NS_ENSURE_SUCCESS(rv, ATK_ROLE_INVALID);
|
||||
|
||||
//the cross-platform Accessible object returns the same value for
|
||||
//both "ATK_ROLE_MENU_ITEM" and "ATK_ROLE_MENU"
|
||||
if (accRole == ATK_ROLE_MENU_ITEM) {
|
||||
//both "ROLE_MENUITEM" and "ROLE_MENUPOPUP"
|
||||
if (accRole == nsIAccessible::ROLE_MENUITEM) {
|
||||
PRInt32 childCount = 0;
|
||||
accWrap->GetChildCount(&childCount);
|
||||
if (childCount > 0)
|
||||
accRole = ATK_ROLE_MENU;
|
||||
accRole = nsIAccessible::ROLE_MENUPOPUP;
|
||||
}
|
||||
else if (accRole == nsIAccessible::ROLE_LINK) {
|
||||
//ATK doesn't have role-link now
|
||||
//register it on runtime
|
||||
static AtkRole linkRole = (AtkRole)0;
|
||||
if (linkRole == 0) {
|
||||
linkRole = atk_role_register("hyper link");
|
||||
}
|
||||
accRole = linkRole;
|
||||
}
|
||||
aAtkObj->role = NS_STATIC_CAST(AtkRole, accRole);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче