blob: 281a1022d3d73f8a11831f488b5455b915ac0c43 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "ui/accessibility/ax_enums.h"
#include "base/logging.h"
namespace ui {
std::string ToString(AXEvent enum_param) {
switch (enum_param) {
case AX_EVENT_ACTIVEDESCENDANTCHANGED:
return "activedescendantchanged";
case AX_EVENT_ALERT:
return "alert";
case AX_EVENT_ARIA_ATTRIBUTE_CHANGED:
return "ariaAttributeChanged";
case AX_EVENT_AUTOCORRECTION_OCCURED:
return "autocorrectionOccured";
case AX_EVENT_BLUR:
return "blur";
case AX_EVENT_CHECKED_STATE_CHANGED:
return "checkedStateChanged";
case AX_EVENT_CHILDREN_CHANGED:
return "childrenChanged";
case AX_EVENT_FOCUS:
return "focus";
case AX_EVENT_HIDE:
return "hide";
case AX_EVENT_HOVER:
return "hover";
case AX_EVENT_INVALID_STATUS_CHANGED:
return "invalidStatusChanged";
case AX_EVENT_LAYOUT_COMPLETE:
return "layoutComplete";
case AX_EVENT_LIVE_REGION_CHANGED:
return "liveRegionChanged";
case AX_EVENT_LOAD_COMPLETE:
return "loadComplete";
case AX_EVENT_LOCATION_CHANGED:
return "locationChanged";
case AX_EVENT_MENU_END:
return "menuEnd";
case AX_EVENT_MENU_LIST_ITEM_SELECTED:
return "menuListItemSelected";
case AX_EVENT_MENU_LIST_VALUE_CHANGED:
return "menuListValueChanged";
case AX_EVENT_MENU_POPUP_END:
return "menuPopupEnd";
case AX_EVENT_MENU_POPUP_START:
return "menuPopupStart";
case AX_EVENT_MENU_START:
return "menuStart";
case AX_EVENT_ROW_COLLAPSED:
return "rowCollapsed";
case AX_EVENT_ROW_COUNT_CHANGED:
return "rowCountChanged";
case AX_EVENT_ROW_EXPANDED:
return "rowExpanded";
case AX_EVENT_SCROLL_POSITION_CHANGED:
return "scrollPositionChanged";
case AX_EVENT_SCROLLED_TO_ANCHOR:
return "scrolledToAnchor";
case AX_EVENT_SELECTED_CHILDREN_CHANGED:
return "selectedChildrenChanged";
case AX_EVENT_SELECTION:
return "selection";
case AX_EVENT_SELECTION_ADD:
return "selectionAdd";
case AX_EVENT_SELECTION_REMOVE:
return "selectionRemove";
case AX_EVENT_SHOW:
return "show";
case AX_EVENT_TEXT_CHANGED:
return "textChanged";
case AX_EVENT_TEXT_SELECTION_CHANGED:
return "textSelectionChanged";
case AX_EVENT_VALUE_CHANGED:
return "valueChanged";
case AX_EVENT_NONE:
return "";
}
NOTREACHED();
return "";
}
AXEvent ParseAXEvent(const std::string& enum_string) {
if (enum_string == "activedescendantchanged")
return AX_EVENT_ACTIVEDESCENDANTCHANGED;
if (enum_string == "alert") return AX_EVENT_ALERT;
if (enum_string == "aria_attribute_changed")
return AX_EVENT_ARIA_ATTRIBUTE_CHANGED;
if (enum_string == "autocorrection_occured")
return AX_EVENT_AUTOCORRECTION_OCCURED;
if (enum_string == "blur") return AX_EVENT_BLUR;
if (enum_string == "checked_state_changed")
return AX_EVENT_CHECKED_STATE_CHANGED;
if (enum_string == "children_changed") return AX_EVENT_CHILDREN_CHANGED;
if (enum_string == "focus") return AX_EVENT_FOCUS;
if (enum_string == "hide") return AX_EVENT_HIDE;
if (enum_string == "hover") return AX_EVENT_HOVER;
if (enum_string == "invalid_status_changed")
return AX_EVENT_INVALID_STATUS_CHANGED;
if (enum_string == "layout_complete") return AX_EVENT_LAYOUT_COMPLETE;
if (enum_string == "live_region_changed") return AX_EVENT_LIVE_REGION_CHANGED;
if (enum_string == "load_complete") return AX_EVENT_LOAD_COMPLETE;
if (enum_string == "location_changed") return AX_EVENT_LOCATION_CHANGED;
if (enum_string == "menu_end") return AX_EVENT_MENU_END;
if (enum_string == "menu_list_item_selected")
return AX_EVENT_MENU_LIST_ITEM_SELECTED;
if (enum_string == "menu_list_value_changed")
return AX_EVENT_MENU_LIST_VALUE_CHANGED;
if (enum_string == "menu_popup_end") return AX_EVENT_MENU_POPUP_END;
if (enum_string == "menu_popup_start") return AX_EVENT_MENU_POPUP_START;
if (enum_string == "menu_start") return AX_EVENT_MENU_START;
if (enum_string == "row_collapsed") return AX_EVENT_ROW_COLLAPSED;
if (enum_string == "row_count_changed") return AX_EVENT_ROW_COUNT_CHANGED;
if (enum_string == "row_expanded") return AX_EVENT_ROW_EXPANDED;
if (enum_string == "scroll_position_changed")
return AX_EVENT_SCROLL_POSITION_CHANGED;
if (enum_string == "scrolled_to_anchor") return AX_EVENT_SCROLLED_TO_ANCHOR;
if (enum_string == "selected_children_changed")
return AX_EVENT_SELECTED_CHILDREN_CHANGED;
if (enum_string == "selection") return AX_EVENT_SELECTION;
if (enum_string == "selection_add") return AX_EVENT_SELECTION_ADD;
if (enum_string == "selection_remove") return AX_EVENT_SELECTION_REMOVE;
if (enum_string == "show") return AX_EVENT_SHOW;
if (enum_string == "text_changed") return AX_EVENT_TEXT_CHANGED;
if (enum_string == "text_selection_changed")
return AX_EVENT_TEXT_SELECTION_CHANGED;
if (enum_string == "value_changed") return AX_EVENT_VALUE_CHANGED;
return AX_EVENT_NONE;
}
std::string ToString(AXRole enum_param) {
switch (enum_param) {
case AX_ROLE_ALERT_DIALOG:
return "alertDialog";
case AX_ROLE_ALERT:
return "alert";
case AX_ROLE_ANNOTATION:
return "annotation";
case AX_ROLE_APPLICATION:
return "application";
case AX_ROLE_ARTICLE:
return "article";
case AX_ROLE_BANNER:
return "banner";
case AX_ROLE_BROWSER:
return "browser";
case AX_ROLE_BUSY_INDICATOR:
return "busyIndicator";
case AX_ROLE_BUTTON:
return "button";
case AX_ROLE_BUTTON_DROP_DOWN:
return "buttonDropDown";
case AX_ROLE_CANVAS:
return "canvas";
case AX_ROLE_CELL:
return "cell";
case AX_ROLE_CHECK_BOX:
return "checkBox";
case AX_ROLE_CLIENT:
return "client";
case AX_ROLE_COLOR_WELL:
return "colorWell";
case AX_ROLE_COLUMN_HEADER:
return "columnHeader";
case AX_ROLE_COLUMN:
return "column";
case AX_ROLE_COMBO_BOX:
return "comboBox";
case AX_ROLE_COMPLEMENTARY:
return "complementary";
case AX_ROLE_CONTENT_INFO:
return "contentInfo";
case AX_ROLE_DATE:
return "date";
case AX_ROLE_DATE_TIME:
return "dateTime";
case AX_ROLE_DEFINITION:
return "definition";
case AX_ROLE_DESCRIPTION_LIST_DETAIL:
return "descriptionListDetail";
case AX_ROLE_DESCRIPTION_LIST:
return "descriptionList";
case AX_ROLE_DESCRIPTION_LIST_TERM:
return "descriptionListTerm";
case AX_ROLE_DESKTOP:
return "desktop";
case AX_ROLE_DETAILS:
return "details";
case AX_ROLE_DIALOG:
return "dialog";
case AX_ROLE_DIRECTORY:
return "directory";
case AX_ROLE_DISCLOSURE_TRIANGLE:
return "disclosureTriangle";
case AX_ROLE_DIV:
return "div";
case AX_ROLE_DOCUMENT:
return "document";
case AX_ROLE_DRAWER:
return "drawer";
case AX_ROLE_EDITABLE_TEXT:
return "editableText";
case AX_ROLE_EMBEDDED_OBJECT:
return "embeddedObject";
case AX_ROLE_FIGCAPTION:
return "figcaption";
case AX_ROLE_FIGURE:
return "figure";
case AX_ROLE_FOOTER:
return "footer";
case AX_ROLE_FORM:
return "form";
case AX_ROLE_GRID:
return "grid";
case AX_ROLE_GROUP:
return "group";
case AX_ROLE_GROW_AREA:
return "growArea";
case AX_ROLE_HEADING:
return "heading";
case AX_ROLE_HELP_TAG:
return "helpTag";
case AX_ROLE_HORIZONTAL_RULE:
return "horizontalRule";
case AX_ROLE_IFRAME:
return "iframe";
case AX_ROLE_IGNORED:
return "ignored";
case AX_ROLE_IMAGE_MAP_LINK:
return "imageMapLink";
case AX_ROLE_IMAGE_MAP:
return "imageMap";
case AX_ROLE_IMAGE:
return "image";
case AX_ROLE_INCREMENTOR:
return "incrementor";
case AX_ROLE_INLINE_TEXT_BOX:
return "inlineTextBox";
case AX_ROLE_LABEL_TEXT:
return "labelText";
case AX_ROLE_LEGEND:
return "legend";
case AX_ROLE_LINK:
return "link";
case AX_ROLE_LIST_BOX_OPTION:
return "listBoxOption";
case AX_ROLE_LIST_BOX:
return "listBox";
case AX_ROLE_LIST_ITEM:
return "listItem";
case AX_ROLE_LIST_MARKER:
return "listMarker";
case AX_ROLE_LIST:
return "list";
case AX_ROLE_LOCATION_BAR:
return "locationBar";
case AX_ROLE_LOG:
return "log";
case AX_ROLE_MAIN:
return "main";
case AX_ROLE_MARQUEE:
return "marquee";
case AX_ROLE_MATH_ELEMENT:
return "mathElement";
case AX_ROLE_MATH:
return "math";
case AX_ROLE_MATTE:
return "matte";
case AX_ROLE_MENU_BAR:
return "menuBar";
case AX_ROLE_MENU_BUTTON:
return "menuButton";
case AX_ROLE_MENU_ITEM:
return "menuItem";
case AX_ROLE_MENU_ITEM_CHECK_BOX:
return "menuItemCheckBox";
case AX_ROLE_MENU_ITEM_RADIO:
return "menuItemRadio";
case AX_ROLE_MENU_LIST_OPTION:
return "menuListOption";
case AX_ROLE_MENU_LIST_POPUP:
return "menuListPopup";
case AX_ROLE_MENU:
return "menu";
case AX_ROLE_METER:
return "meter";
case AX_ROLE_NAVIGATION:
return "navigation";
case AX_ROLE_NOTE:
return "note";
case AX_ROLE_OUTLINE:
return "outline";
case AX_ROLE_PANE:
return "pane";
case AX_ROLE_PARAGRAPH:
return "paragraph";
case AX_ROLE_POP_UP_BUTTON:
return "popUpButton";
case AX_ROLE_PRESENTATIONAL:
return "presentational";
case AX_ROLE_PROGRESS_INDICATOR:
return "progressIndicator";
case AX_ROLE_RADIO_BUTTON:
return "radioButton";
case AX_ROLE_RADIO_GROUP:
return "radioGroup";
case AX_ROLE_REGION:
return "region";
case AX_ROLE_ROOT_WEB_AREA:
return "rootWebArea";
case AX_ROLE_ROW_HEADER:
return "rowHeader";
case AX_ROLE_ROW:
return "row";
case AX_ROLE_RULER_MARKER:
return "rulerMarker";
case AX_ROLE_RULER:
return "ruler";
case AX_ROLE_SVG_ROOT:
return "svgRoot";
case AX_ROLE_SCROLL_AREA:
return "scrollArea";
case AX_ROLE_SCROLL_BAR:
return "scrollBar";
case AX_ROLE_SEAMLESS_WEB_AREA:
return "seamlessWebArea";
case AX_ROLE_SEARCH:
return "search";
case AX_ROLE_SHEET:
return "sheet";
case AX_ROLE_SLIDER:
return "slider";
case AX_ROLE_SLIDER_THUMB:
return "sliderThumb";
case AX_ROLE_SPIN_BUTTON_PART:
return "spinButtonPart";
case AX_ROLE_SPIN_BUTTON:
return "spinButton";
case AX_ROLE_SPLIT_GROUP:
return "splitGroup";
case AX_ROLE_SPLITTER:
return "splitter";
case AX_ROLE_STATIC_TEXT:
return "staticText";
case AX_ROLE_STATUS:
return "status";
case AX_ROLE_SYSTEM_WIDE:
return "systemWide";
case AX_ROLE_TAB_GROUP:
return "tabGroup";
case AX_ROLE_TAB_LIST:
return "tabList";
case AX_ROLE_TAB_PANEL:
return "tabPanel";
case AX_ROLE_TAB:
return "tab";
case AX_ROLE_TABLE_HEADER_CONTAINER:
return "tableHeaderContainer";
case AX_ROLE_TABLE:
return "table";
case AX_ROLE_TEXT_AREA:
return "textArea";
case AX_ROLE_TEXT_FIELD:
return "textField";
case AX_ROLE_TIME:
return "time";
case AX_ROLE_TIMER:
return "timer";
case AX_ROLE_TITLE_BAR:
return "titleBar";
case AX_ROLE_TOGGLE_BUTTON:
return "toggleButton";
case AX_ROLE_TOOLBAR:
return "toolbar";
case AX_ROLE_TREE_GRID:
return "treeGrid";
case AX_ROLE_TREE_ITEM:
return "treeItem";
case AX_ROLE_TREE:
return "tree";
case AX_ROLE_UNKNOWN:
return "unknown";
case AX_ROLE_TOOLTIP:
return "tooltip";
case AX_ROLE_VALUE_INDICATOR:
return "valueIndicator";
case AX_ROLE_WEB_AREA:
return "webArea";
case AX_ROLE_WINDOW:
return "window";
case AX_ROLE_NONE:
return "";
}
NOTREACHED();
return "";
}
AXRole ParseAXRole(const std::string& enum_string) {
if (enum_string == "alert_dialog") return AX_ROLE_ALERT_DIALOG;
if (enum_string == "alert") return AX_ROLE_ALERT;
if (enum_string == "annotation") return AX_ROLE_ANNOTATION;
if (enum_string == "application") return AX_ROLE_APPLICATION;
if (enum_string == "article") return AX_ROLE_ARTICLE;
if (enum_string == "banner") return AX_ROLE_BANNER;
if (enum_string == "browser") return AX_ROLE_BROWSER;
if (enum_string == "busy_indicator") return AX_ROLE_BUSY_INDICATOR;
if (enum_string == "button") return AX_ROLE_BUTTON;
if (enum_string == "button_drop_down") return AX_ROLE_BUTTON_DROP_DOWN;
if (enum_string == "canvas") return AX_ROLE_CANVAS;
if (enum_string == "cell") return AX_ROLE_CELL;
if (enum_string == "check_box") return AX_ROLE_CHECK_BOX;
if (enum_string == "client") return AX_ROLE_CLIENT;
if (enum_string == "color_well") return AX_ROLE_COLOR_WELL;
if (enum_string == "column_header") return AX_ROLE_COLUMN_HEADER;
if (enum_string == "column") return AX_ROLE_COLUMN;
if (enum_string == "combo_box") return AX_ROLE_COMBO_BOX;
if (enum_string == "complementary") return AX_ROLE_COMPLEMENTARY;
if (enum_string == "content_info") return AX_ROLE_CONTENT_INFO;
if (enum_string == "date") return AX_ROLE_DATE;
if (enum_string == "date_time") return AX_ROLE_DATE_TIME;
if (enum_string == "definition") return AX_ROLE_DEFINITION;
if (enum_string == "description_list_detail")
return AX_ROLE_DESCRIPTION_LIST_DETAIL;
if (enum_string == "description_list") return AX_ROLE_DESCRIPTION_LIST;
if (enum_string == "description_list_term")
return AX_ROLE_DESCRIPTION_LIST_TERM;
if (enum_string == "desktop") return AX_ROLE_DESKTOP;
if (enum_string == "details") return AX_ROLE_DETAILS;
if (enum_string == "dialog") return AX_ROLE_DIALOG;
if (enum_string == "directory") return AX_ROLE_DIRECTORY;
if (enum_string == "disclosure_triangle") return AX_ROLE_DISCLOSURE_TRIANGLE;
if (enum_string == "div") return AX_ROLE_DIV;
if (enum_string == "document") return AX_ROLE_DOCUMENT;
if (enum_string == "drawer") return AX_ROLE_DRAWER;
if (enum_string == "editable_text") return AX_ROLE_EDITABLE_TEXT;
if (enum_string == "embedded_object") return AX_ROLE_EMBEDDED_OBJECT;
if (enum_string == "figcaption") return AX_ROLE_FIGCAPTION;
if (enum_string == "figure") return AX_ROLE_FIGURE;
if (enum_string == "footer") return AX_ROLE_FOOTER;
if (enum_string == "form") return AX_ROLE_FORM;
if (enum_string == "grid") return AX_ROLE_GRID;
if (enum_string == "group") return AX_ROLE_GROUP;
if (enum_string == "grow_area") return AX_ROLE_GROW_AREA;
if (enum_string == "heading") return AX_ROLE_HEADING;
if (enum_string == "help_tag") return AX_ROLE_HELP_TAG;
if (enum_string == "horizontal_rule") return AX_ROLE_HORIZONTAL_RULE;
if (enum_string == "iframe") return AX_ROLE_IFRAME;
if (enum_string == "ignored") return AX_ROLE_IGNORED;
if (enum_string == "image_map_link") return AX_ROLE_IMAGE_MAP_LINK;
if (enum_string == "image_map") return AX_ROLE_IMAGE_MAP;
if (enum_string == "image") return AX_ROLE_IMAGE;
if (enum_string == "incrementor") return AX_ROLE_INCREMENTOR;
if (enum_string == "inline_text_box") return AX_ROLE_INLINE_TEXT_BOX;
if (enum_string == "label_text") return AX_ROLE_LABEL_TEXT;
if (enum_string == "legend") return AX_ROLE_LEGEND;
if (enum_string == "link") return AX_ROLE_LINK;
if (enum_string == "list_box_option") return AX_ROLE_LIST_BOX_OPTION;
if (enum_string == "list_box") return AX_ROLE_LIST_BOX;
if (enum_string == "list_item") return AX_ROLE_LIST_ITEM;
if (enum_string == "list_marker") return AX_ROLE_LIST_MARKER;
if (enum_string == "list") return AX_ROLE_LIST;
if (enum_string == "location_bar") return AX_ROLE_LOCATION_BAR;
if (enum_string == "log") return AX_ROLE_LOG;
if (enum_string == "main") return AX_ROLE_MAIN;
if (enum_string == "marquee") return AX_ROLE_MARQUEE;
if (enum_string == "math_element") return AX_ROLE_MATH_ELEMENT;
if (enum_string == "math") return AX_ROLE_MATH;
if (enum_string == "matte") return AX_ROLE_MATTE;
if (enum_string == "menu_bar") return AX_ROLE_MENU_BAR;
if (enum_string == "menu_button") return AX_ROLE_MENU_BUTTON;
if (enum_string == "menu_item") return AX_ROLE_MENU_ITEM;
if (enum_string == "menu_item_check_box") return AX_ROLE_MENU_ITEM_CHECK_BOX;
if (enum_string == "menu_item_radio") return AX_ROLE_MENU_ITEM_RADIO;
if (enum_string == "menu_list_option") return AX_ROLE_MENU_LIST_OPTION;
if (enum_string == "menu_list_popup") return AX_ROLE_MENU_LIST_POPUP;
if (enum_string == "menu") return AX_ROLE_MENU;
if (enum_string == "meter") return AX_ROLE_METER;
if (enum_string == "navigation") return AX_ROLE_NAVIGATION;
if (enum_string == "note") return AX_ROLE_NOTE;
if (enum_string == "outline") return AX_ROLE_OUTLINE;
if (enum_string == "pane") return AX_ROLE_PANE;
if (enum_string == "paragraph") return AX_ROLE_PARAGRAPH;
if (enum_string == "pop_up_button") return AX_ROLE_POP_UP_BUTTON;
if (enum_string == "presentational") return AX_ROLE_PRESENTATIONAL;
if (enum_string == "progress_indicator") return AX_ROLE_PROGRESS_INDICATOR;
if (enum_string == "radio_button") return AX_ROLE_RADIO_BUTTON;
if (enum_string == "radio_group") return AX_ROLE_RADIO_GROUP;
if (enum_string == "region") return AX_ROLE_REGION;
if (enum_string == "root_web_area") return AX_ROLE_ROOT_WEB_AREA;
if (enum_string == "row_header") return AX_ROLE_ROW_HEADER;
if (enum_string == "row") return AX_ROLE_ROW;
if (enum_string == "ruler_marker") return AX_ROLE_RULER_MARKER;
if (enum_string == "ruler") return AX_ROLE_RULER;
if (enum_string == "svg_root") return AX_ROLE_SVG_ROOT;
if (enum_string == "scroll_area") return AX_ROLE_SCROLL_AREA;
if (enum_string == "scroll_bar") return AX_ROLE_SCROLL_BAR;
if (enum_string == "seamless_web_area") return AX_ROLE_SEAMLESS_WEB_AREA;
if (enum_string == "search") return AX_ROLE_SEARCH;
if (enum_string == "sheet") return AX_ROLE_SHEET;
if (enum_string == "slider") return AX_ROLE_SLIDER;
if (enum_string == "slider_thumb") return AX_ROLE_SLIDER_THUMB;
if (enum_string == "spin_button_part") return AX_ROLE_SPIN_BUTTON_PART;
if (enum_string == "spin_button") return AX_ROLE_SPIN_BUTTON;
if (enum_string == "split_group") return AX_ROLE_SPLIT_GROUP;
if (enum_string == "splitter") return AX_ROLE_SPLITTER;
if (enum_string == "static_text") return AX_ROLE_STATIC_TEXT;
if (enum_string == "status") return AX_ROLE_STATUS;
if (enum_string == "system_wide") return AX_ROLE_SYSTEM_WIDE;
if (enum_string == "tab_group") return AX_ROLE_TAB_GROUP;
if (enum_string == "tab_list") return AX_ROLE_TAB_LIST;
if (enum_string == "tab_panel") return AX_ROLE_TAB_PANEL;
if (enum_string == "tab") return AX_ROLE_TAB;
if (enum_string == "table_header_container")
return AX_ROLE_TABLE_HEADER_CONTAINER;
if (enum_string == "table") return AX_ROLE_TABLE;
if (enum_string == "text_area") return AX_ROLE_TEXT_AREA;
if (enum_string == "text_field") return AX_ROLE_TEXT_FIELD;
if (enum_string == "time") return AX_ROLE_TIME;
if (enum_string == "timer") return AX_ROLE_TIMER;
if (enum_string == "title_bar") return AX_ROLE_TITLE_BAR;
if (enum_string == "toggle_button") return AX_ROLE_TOGGLE_BUTTON;
if (enum_string == "toolbar") return AX_ROLE_TOOLBAR;
if (enum_string == "tree_grid") return AX_ROLE_TREE_GRID;
if (enum_string == "tree_item") return AX_ROLE_TREE_ITEM;
if (enum_string == "tree") return AX_ROLE_TREE;
if (enum_string == "unknown") return AX_ROLE_UNKNOWN;
if (enum_string == "tooltip") return AX_ROLE_TOOLTIP;
if (enum_string == "value_indicator") return AX_ROLE_VALUE_INDICATOR;
if (enum_string == "web_area") return AX_ROLE_WEB_AREA;
if (enum_string == "window") return AX_ROLE_WINDOW;
return AX_ROLE_NONE;
}
std::string ToString(AXState enum_param) {
switch (enum_param) {
case AX_STATE_BUSY:
return "busy";
case AX_STATE_CHECKED:
return "checked";
case AX_STATE_COLLAPSED:
return "collapsed";
case AX_STATE_DEFAULT:
return "default";
case AX_STATE_DISABLED:
return "disabled";
case AX_STATE_EDITABLE:
return "editable";
case AX_STATE_ENABLED:
return "enabled";
case AX_STATE_EXPANDED:
return "expanded";
case AX_STATE_FOCUSABLE:
return "focusable";
case AX_STATE_FOCUSED:
return "focused";
case AX_STATE_HASPOPUP:
return "haspopup";
case AX_STATE_HOVERED:
return "hovered";
case AX_STATE_INDETERMINATE:
return "indeterminate";
case AX_STATE_INVISIBLE:
return "invisible";
case AX_STATE_LINKED:
return "linked";
case AX_STATE_MULTISELECTABLE:
return "multiselectable";
case AX_STATE_OFFSCREEN:
return "offscreen";
case AX_STATE_PRESSED:
return "pressed";
case AX_STATE_PROTECTED:
return "protected";
case AX_STATE_READ_ONLY:
return "readOnly";
case AX_STATE_REQUIRED:
return "required";
case AX_STATE_SELECTABLE:
return "selectable";
case AX_STATE_SELECTED:
return "selected";
case AX_STATE_VERTICAL:
return "vertical";
case AX_STATE_VISITED:
return "visited";
case AX_STATE_NONE:
return "";
}
NOTREACHED();
return "";
}
AXState ParseAXState(const std::string& enum_string) {
if (enum_string == "busy") return AX_STATE_BUSY;
if (enum_string == "checked") return AX_STATE_CHECKED;
if (enum_string == "collapsed") return AX_STATE_COLLAPSED;
if (enum_string == "default") return AX_STATE_DEFAULT;
if (enum_string == "disabled") return AX_STATE_DISABLED;
if (enum_string == "editable") return AX_STATE_EDITABLE;
if (enum_string == "enabled") return AX_STATE_ENABLED;
if (enum_string == "expanded") return AX_STATE_EXPANDED;
if (enum_string == "focusable") return AX_STATE_FOCUSABLE;
if (enum_string == "focused") return AX_STATE_FOCUSED;
if (enum_string == "haspopup") return AX_STATE_HASPOPUP;
if (enum_string == "hovered") return AX_STATE_HOVERED;
if (enum_string == "indeterminate") return AX_STATE_INDETERMINATE;
if (enum_string == "invisible") return AX_STATE_INVISIBLE;
if (enum_string == "linked") return AX_STATE_LINKED;
if (enum_string == "multiselectable") return AX_STATE_MULTISELECTABLE;
if (enum_string == "offscreen") return AX_STATE_OFFSCREEN;
if (enum_string == "pressed") return AX_STATE_PRESSED;
if (enum_string == "protected") return AX_STATE_PROTECTED;
if (enum_string == "read_only") return AX_STATE_READ_ONLY;
if (enum_string == "required") return AX_STATE_REQUIRED;
if (enum_string == "selectable") return AX_STATE_SELECTABLE;
if (enum_string == "selected") return AX_STATE_SELECTED;
if (enum_string == "vertical") return AX_STATE_VERTICAL;
if (enum_string == "visited") return AX_STATE_VISITED;
return AX_STATE_NONE;
}
std::string ToString(AXStringAttribute enum_param) {
switch (enum_param) {
case AX_ATTR_DOC_URL:
return "docUrl";
case AX_ATTR_DOC_TITLE:
return "docTitle";
case AX_ATTR_DOC_MIMETYPE:
return "docMimetype";
case AX_ATTR_DOC_DOCTYPE:
return "docDoctype";
case AX_ATTR_ACCESS_KEY:
return "accessKey";
case AX_ATTR_ACTION:
return "action";
case AX_ATTR_CONTAINER_LIVE_RELEVANT:
return "containerLiveRelevant";
case AX_ATTR_CONTAINER_LIVE_STATUS:
return "containerLiveStatus";
case AX_ATTR_DESCRIPTION:
return "description";
case AX_ATTR_DISPLAY:
return "display";
case AX_ATTR_HELP:
return "help";
case AX_ATTR_HTML_TAG:
return "htmlTag";
case AX_ATTR_NAME:
return "name";
case AX_ATTR_LIVE_RELEVANT:
return "liveRelevant";
case AX_ATTR_LIVE_STATUS:
return "liveStatus";
case AX_ATTR_ROLE:
return "role";
case AX_ATTR_SHORTCUT:
return "shortcut";
case AX_ATTR_TEXT_INPUT_TYPE:
return "textInputType";
case AX_ATTR_URL:
return "url";
case AX_ATTR_VALUE:
return "value";
case AX_STRING_ATTRIBUTE_NONE:
return "";
}
NOTREACHED();
return "";
}
AXStringAttribute ParseAXStringAttribute(const std::string& enum_string) {
if (enum_string == "doc_url") return AX_ATTR_DOC_URL;
if (enum_string == "doc_title") return AX_ATTR_DOC_TITLE;
if (enum_string == "doc_mimetype") return AX_ATTR_DOC_MIMETYPE;
if (enum_string == "doc_doctype") return AX_ATTR_DOC_DOCTYPE;
if (enum_string == "access_key") return AX_ATTR_ACCESS_KEY;
if (enum_string == "action") return AX_ATTR_ACTION;
if (enum_string == "container_live_relevant")
return AX_ATTR_CONTAINER_LIVE_RELEVANT;
if (enum_string == "container_live_status")
return AX_ATTR_CONTAINER_LIVE_STATUS;
if (enum_string == "description") return AX_ATTR_DESCRIPTION;
if (enum_string == "display") return AX_ATTR_DISPLAY;
if (enum_string == "help") return AX_ATTR_HELP;
if (enum_string == "html_tag") return AX_ATTR_HTML_TAG;
if (enum_string == "name") return AX_ATTR_NAME;
if (enum_string == "live_relevant") return AX_ATTR_LIVE_RELEVANT;
if (enum_string == "live_status") return AX_ATTR_LIVE_STATUS;
if (enum_string == "role") return AX_ATTR_ROLE;
if (enum_string == "shortcut") return AX_ATTR_SHORTCUT;
if (enum_string == "text_input_type") return AX_ATTR_TEXT_INPUT_TYPE;
if (enum_string == "url") return AX_ATTR_URL;
if (enum_string == "value") return AX_ATTR_VALUE;
return AX_STRING_ATTRIBUTE_NONE;
}
std::string ToString(AXIntAttribute enum_param) {
switch (enum_param) {
case AX_ATTR_SCROLL_X:
return "scrollX";
case AX_ATTR_SCROLL_X_MIN:
return "scrollXMin";
case AX_ATTR_SCROLL_X_MAX:
return "scrollXMax";
case AX_ATTR_SCROLL_Y:
return "scrollY";
case AX_ATTR_SCROLL_Y_MIN:
return "scrollYMin";
case AX_ATTR_SCROLL_Y_MAX:
return "scrollYMax";
case AX_ATTR_TEXT_SEL_START:
return "textSelStart";
case AX_ATTR_TEXT_SEL_END:
return "textSelEnd";
case AX_ATTR_TABLE_ROW_COUNT:
return "tableRowCount";
case AX_ATTR_TABLE_COLUMN_COUNT:
return "tableColumnCount";
case AX_ATTR_TABLE_HEADER_ID:
return "tableHeaderId";
case AX_ATTR_TABLE_ROW_INDEX:
return "tableRowIndex";
case AX_ATTR_TABLE_ROW_HEADER_ID:
return "tableRowHeaderId";
case AX_ATTR_TABLE_COLUMN_INDEX:
return "tableColumnIndex";
case AX_ATTR_TABLE_COLUMN_HEADER_ID:
return "tableColumnHeaderId";
case AX_ATTR_TABLE_CELL_COLUMN_INDEX:
return "tableCellColumnIndex";
case AX_ATTR_TABLE_CELL_COLUMN_SPAN:
return "tableCellColumnSpan";
case AX_ATTR_TABLE_CELL_ROW_INDEX:
return "tableCellRowIndex";
case AX_ATTR_TABLE_CELL_ROW_SPAN:
return "tableCellRowSpan";
case AX_ATTR_HIERARCHICAL_LEVEL:
return "hierarchicalLevel";
case AX_ATTR_TITLE_UI_ELEMENT:
return "titleUiElement";
case AX_ATTR_ACTIVEDESCENDANT_ID:
return "activedescendantId";
case AX_ATTR_COLOR_VALUE_RED:
return "colorValueRed";
case AX_ATTR_COLOR_VALUE_GREEN:
return "colorValueGreen";
case AX_ATTR_COLOR_VALUE_BLUE:
return "colorValueBlue";
case AX_ATTR_TEXT_DIRECTION:
return "textDirection";
case AX_INT_ATTRIBUTE_NONE:
return "";
}
NOTREACHED();
return "";
}
AXIntAttribute ParseAXIntAttribute(const std::string& enum_string) {
if (enum_string == "scroll_x") return AX_ATTR_SCROLL_X;
if (enum_string == "scroll_x_min") return AX_ATTR_SCROLL_X_MIN;
if (enum_string == "scroll_x_max") return AX_ATTR_SCROLL_X_MAX;
if (enum_string == "scroll_y") return AX_ATTR_SCROLL_Y;
if (enum_string == "scroll_y_min") return AX_ATTR_SCROLL_Y_MIN;
if (enum_string == "scroll_y_max") return AX_ATTR_SCROLL_Y_MAX;
if (enum_string == "text_sel_start") return AX_ATTR_TEXT_SEL_START;
if (enum_string == "text_sel_end") return AX_ATTR_TEXT_SEL_END;
if (enum_string == "table_row_count") return AX_ATTR_TABLE_ROW_COUNT;
if (enum_string == "table_column_count") return AX_ATTR_TABLE_COLUMN_COUNT;
if (enum_string == "table_header_id") return AX_ATTR_TABLE_HEADER_ID;
if (enum_string == "table_row_index") return AX_ATTR_TABLE_ROW_INDEX;
if (enum_string == "table_row_header_id") return AX_ATTR_TABLE_ROW_HEADER_ID;
if (enum_string == "table_column_index") return AX_ATTR_TABLE_COLUMN_INDEX;
if (enum_string == "table_column_header_id")
return AX_ATTR_TABLE_COLUMN_HEADER_ID;
if (enum_string == "table_cell_column_index")
return AX_ATTR_TABLE_CELL_COLUMN_INDEX;
if (enum_string == "table_cell_column_span")
return AX_ATTR_TABLE_CELL_COLUMN_SPAN;
if (enum_string == "table_cell_row_index")
return AX_ATTR_TABLE_CELL_ROW_INDEX;
if (enum_string == "table_cell_row_span") return AX_ATTR_TABLE_CELL_ROW_SPAN;
if (enum_string == "hierarchical_level") return AX_ATTR_HIERARCHICAL_LEVEL;
if (enum_string == "title_ui_element") return AX_ATTR_TITLE_UI_ELEMENT;
if (enum_string == "activedescendant_id") return AX_ATTR_ACTIVEDESCENDANT_ID;
if (enum_string == "color_value_red") return AX_ATTR_COLOR_VALUE_RED;
if (enum_string == "color_value_green") return AX_ATTR_COLOR_VALUE_GREEN;
if (enum_string == "color_value_blue") return AX_ATTR_COLOR_VALUE_BLUE;
if (enum_string == "text_direction") return AX_ATTR_TEXT_DIRECTION;
return AX_INT_ATTRIBUTE_NONE;
}
std::string ToString(AXFloatAttribute enum_param) {
switch (enum_param) {
case AX_ATTR_DOC_LOADING_PROGRESS:
return "docLoadingProgress";
case AX_ATTR_VALUE_FOR_RANGE:
return "valueForRange";
case AX_ATTR_MIN_VALUE_FOR_RANGE:
return "minValueForRange";
case AX_ATTR_MAX_VALUE_FOR_RANGE:
return "maxValueForRange";
case AX_FLOAT_ATTRIBUTE_NONE:
return "";
}
NOTREACHED();
return "";
}
AXFloatAttribute ParseAXFloatAttribute(const std::string& enum_string) {
if (enum_string == "doc_loading_progress")
return AX_ATTR_DOC_LOADING_PROGRESS;
if (enum_string == "value_for_range") return AX_ATTR_VALUE_FOR_RANGE;
if (enum_string == "min_value_for_range") return AX_ATTR_MIN_VALUE_FOR_RANGE;
if (enum_string == "max_value_for_range") return AX_ATTR_MAX_VALUE_FOR_RANGE;
return AX_FLOAT_ATTRIBUTE_NONE;
}
std::string ToString(AXBoolAttribute enum_param) {
switch (enum_param) {
case AX_ATTR_DOC_LOADED:
return "docLoaded";
case AX_ATTR_BUTTON_MIXED:
return "buttonMixed";
case AX_ATTR_CONTAINER_LIVE_ATOMIC:
return "containerLiveAtomic";
case AX_ATTR_CONTAINER_LIVE_BUSY:
return "containerLiveBusy";
case AX_ATTR_LIVE_ATOMIC:
return "liveAtomic";
case AX_ATTR_LIVE_BUSY:
return "liveBusy";
case AX_ATTR_ARIA_READONLY:
return "ariaReadonly";
case AX_ATTR_CAN_SET_VALUE:
return "canSetValue";
case AX_ATTR_UPDATE_LOCATION_ONLY:
return "updateLocationOnly";
case AX_ATTR_CANVAS_HAS_FALLBACK:
return "canvasHasFallback";
case AX_ATTR_IS_AX_TREE_HOST:
return "isAxTreeHost";
case AX_BOOL_ATTRIBUTE_NONE:
return "";
}
NOTREACHED();
return "";
}
AXBoolAttribute ParseAXBoolAttribute(const std::string& enum_string) {
if (enum_string == "doc_loaded") return AX_ATTR_DOC_LOADED;
if (enum_string == "button_mixed") return AX_ATTR_BUTTON_MIXED;
if (enum_string == "container_live_atomic")
return AX_ATTR_CONTAINER_LIVE_ATOMIC;
if (enum_string == "container_live_busy") return AX_ATTR_CONTAINER_LIVE_BUSY;
if (enum_string == "live_atomic") return AX_ATTR_LIVE_ATOMIC;
if (enum_string == "live_busy") return AX_ATTR_LIVE_BUSY;
if (enum_string == "aria_readonly") return AX_ATTR_ARIA_READONLY;
if (enum_string == "can_set_value") return AX_ATTR_CAN_SET_VALUE;
if (enum_string == "update_location_only")
return AX_ATTR_UPDATE_LOCATION_ONLY;
if (enum_string == "canvas_has_fallback") return AX_ATTR_CANVAS_HAS_FALLBACK;
if (enum_string == "is_ax_tree_host") return AX_ATTR_IS_AX_TREE_HOST;
return AX_BOOL_ATTRIBUTE_NONE;
}
std::string ToString(AXIntListAttribute enum_param) {
switch (enum_param) {
case AX_ATTR_INDIRECT_CHILD_IDS:
return "indirectChildIds";
case AX_ATTR_CONTROLS_IDS:
return "controlsIds";
case AX_ATTR_DESCRIBEDBY_IDS:
return "describedbyIds";
case AX_ATTR_FLOWTO_IDS:
return "flowtoIds";
case AX_ATTR_LABELLEDBY_IDS:
return "labelledbyIds";
case AX_ATTR_OWNS_IDS:
return "ownsIds";
case AX_ATTR_LINE_BREAKS:
return "lineBreaks";
case AX_ATTR_CELL_IDS:
return "cellIds";
case AX_ATTR_UNIQUE_CELL_IDS:
return "uniqueCellIds";
case AX_ATTR_CHARACTER_OFFSETS:
return "characterOffsets";
case AX_ATTR_WORD_STARTS:
return "wordStarts";
case AX_ATTR_WORD_ENDS:
return "wordEnds";
case AX_INT_LIST_ATTRIBUTE_NONE:
return "";
}
NOTREACHED();
return "";
}
AXIntListAttribute ParseAXIntListAttribute(const std::string& enum_string) {
if (enum_string == "indirect_child_ids") return AX_ATTR_INDIRECT_CHILD_IDS;
if (enum_string == "controls_ids") return AX_ATTR_CONTROLS_IDS;
if (enum_string == "describedby_ids") return AX_ATTR_DESCRIBEDBY_IDS;
if (enum_string == "flowto_ids") return AX_ATTR_FLOWTO_IDS;
if (enum_string == "labelledby_ids") return AX_ATTR_LABELLEDBY_IDS;
if (enum_string == "owns_ids") return AX_ATTR_OWNS_IDS;
if (enum_string == "line_breaks") return AX_ATTR_LINE_BREAKS;
if (enum_string == "cell_ids") return AX_ATTR_CELL_IDS;
if (enum_string == "unique_cell_ids") return AX_ATTR_UNIQUE_CELL_IDS;
if (enum_string == "character_offsets") return AX_ATTR_CHARACTER_OFFSETS;
if (enum_string == "word_starts") return AX_ATTR_WORD_STARTS;
if (enum_string == "word_ends") return AX_ATTR_WORD_ENDS;
return AX_INT_LIST_ATTRIBUTE_NONE;
}
std::string ToString(AXTextDirection enum_param) {
switch (enum_param) {
case AX_TEXT_DIRECTION_LR:
return "textDirectionLr";
case AX_TEXT_DIRECTION_RL:
return "textDirectionRl";
case AX_TEXT_DIRECTION_TB:
return "textDirectionTb";
case AX_TEXT_DIRECTION_BT:
return "textDirectionBt";
case AX_TEXT_DIRECTION_NONE:
return "";
}
NOTREACHED();
return "";
}
AXTextDirection ParseAXTextDirection(const std::string& enum_string) {
if (enum_string == "text_direction_lr") return AX_TEXT_DIRECTION_LR;
if (enum_string == "text_direction_rl") return AX_TEXT_DIRECTION_RL;
if (enum_string == "text_direction_tb") return AX_TEXT_DIRECTION_TB;
if (enum_string == "text_direction_bt") return AX_TEXT_DIRECTION_BT;
return AX_TEXT_DIRECTION_NONE;
}
} // namespace ui