Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(523)

Unified Diff: webkit/glue/webaccessibility.h

Issue 10544099: Refactor all accessibility code out of webkit/glue. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More Mac compile errors Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/renderer_accessibility_focus_only.cc ('k') | webkit/glue/webaccessibility.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/glue/webaccessibility.h
diff --git a/webkit/glue/webaccessibility.h b/webkit/glue/webaccessibility.h
deleted file mode 100644
index dfe1b4440b3580fd2eed9cd9b458334b2614f47e..0000000000000000000000000000000000000000
--- a/webkit/glue/webaccessibility.h
+++ /dev/null
@@ -1,321 +0,0 @@
-// Copyright (c) 2012 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.
-
-#ifndef WEBKIT_GLUE_WEBACCESSIBILITY_H_
-#define WEBKIT_GLUE_WEBACCESSIBILITY_H_
-
-#include <map>
-#include <string>
-#include <vector>
-
-#include "base/string16.h"
-#include "ui/gfx/rect.h"
-#include "webkit/glue/webkit_glue_export.h"
-
-namespace WebKit {
-class WebAccessibilityObject;
-}
-
-namespace webkit_glue {
-
-// A compact representation of the accessibility information for a
-// single web object, in a form that can be serialized and sent from
-// the renderer process to the browser process.
-struct WEBKIT_GLUE_EXPORT WebAccessibility {
- public:
- // An enumeration of accessibility roles.
- enum Role {
- ROLE_UNKNOWN = 0,
-
- // Used by Chromium to distinguish between the root of the tree
- // for this page, and a web area for a frame within this page.
- ROLE_ROOT_WEB_AREA,
-
- // These roles all directly correspond to WebKit accessibility roles,
- // keep these alphabetical.
- ROLE_ALERT,
- ROLE_ALERT_DIALOG,
- ROLE_ANNOTATION,
- ROLE_APPLICATION,
- ROLE_ARTICLE,
- ROLE_BROWSER,
- ROLE_BUSY_INDICATOR,
- ROLE_BUTTON,
- ROLE_CELL,
- ROLE_CHECKBOX,
- ROLE_COLOR_WELL,
- ROLE_COLUMN,
- ROLE_COLUMN_HEADER,
- ROLE_COMBO_BOX,
- ROLE_DEFINITION_LIST_DEFINITION,
- ROLE_DEFINITION_LIST_TERM,
- ROLE_DIALOG,
- ROLE_DIRECTORY,
- ROLE_DISCLOSURE_TRIANGLE,
- ROLE_DOCUMENT,
- ROLE_DRAWER,
- ROLE_EDITABLE_TEXT,
- ROLE_FOOTER,
- ROLE_GRID,
- ROLE_GROUP,
- ROLE_GROW_AREA,
- ROLE_HEADING,
- ROLE_HELP_TAG,
- ROLE_IGNORED,
- ROLE_IMAGE,
- ROLE_IMAGE_MAP,
- ROLE_IMAGE_MAP_LINK,
- ROLE_INCREMENTOR,
- ROLE_LANDMARK_APPLICATION,
- ROLE_LANDMARK_BANNER,
- ROLE_LANDMARK_COMPLEMENTARY,
- ROLE_LANDMARK_CONTENTINFO,
- ROLE_LANDMARK_MAIN,
- ROLE_LANDMARK_NAVIGATION,
- ROLE_LANDMARK_SEARCH,
- ROLE_LINK,
- ROLE_LIST,
- ROLE_LISTBOX,
- ROLE_LISTBOX_OPTION,
- ROLE_LIST_ITEM,
- ROLE_LIST_MARKER,
- ROLE_LOG,
- ROLE_MARQUEE,
- ROLE_MATH,
- ROLE_MATTE,
- ROLE_MENU,
- ROLE_MENU_BAR,
- ROLE_MENU_ITEM,
- ROLE_MENU_BUTTON,
- ROLE_MENU_LIST_OPTION,
- ROLE_MENU_LIST_POPUP,
- ROLE_NOTE,
- ROLE_OUTLINE,
- ROLE_POPUP_BUTTON,
- ROLE_PROGRESS_INDICATOR,
- ROLE_RADIO_BUTTON,
- ROLE_RADIO_GROUP,
- ROLE_REGION,
- ROLE_ROW,
- ROLE_ROW_HEADER,
- ROLE_RULER,
- ROLE_RULER_MARKER,
- ROLE_SCROLLAREA,
- ROLE_SCROLLBAR,
- ROLE_SHEET,
- ROLE_SLIDER,
- ROLE_SLIDER_THUMB,
- ROLE_SPLITTER,
- ROLE_SPLIT_GROUP,
- ROLE_STATIC_TEXT,
- ROLE_STATUS,
- ROLE_SYSTEM_WIDE,
- ROLE_TAB,
- ROLE_TABLE,
- ROLE_TABLE_HEADER_CONTAINER,
- ROLE_TAB_GROUP_UNUSED, // WebKit doesn't use (uses ROLE_TAB_LIST)
- ROLE_TAB_LIST,
- ROLE_TAB_PANEL,
- ROLE_TEXTAREA,
- ROLE_TEXT_FIELD,
- ROLE_TIMER,
- ROLE_TOOLBAR,
- ROLE_TOOLTIP,
- ROLE_TREE,
- ROLE_TREE_GRID,
- ROLE_TREE_ITEM,
- ROLE_VALUE_INDICATOR,
- ROLE_WEBCORE_LINK,
- ROLE_WEB_AREA,
- ROLE_WINDOW,
- NUM_ROLES
- };
-
- // An alphabetical enumeration of accessibility states.
- // A state bitmask is formed by shifting 1 to the left by each state,
- // for example:
- // int mask = (1 << STATE_CHECKED) | (1 << STATE_FOCUSED);
- enum State {
- STATE_BUSY,
- STATE_CHECKED,
- STATE_COLLAPSED,
- STATE_EXPANDED,
- STATE_FOCUSABLE,
- STATE_FOCUSED,
- STATE_HASPOPUP,
- STATE_HOTTRACKED,
- STATE_INDETERMINATE,
- STATE_INVISIBLE,
- STATE_LINKED,
- STATE_MULTISELECTABLE,
- STATE_OFFSCREEN,
- STATE_PRESSED,
- STATE_PROTECTED,
- STATE_READONLY,
- STATE_REQUIRED,
- STATE_SELECTABLE,
- STATE_SELECTED,
- STATE_TRAVERSED,
- STATE_UNAVAILABLE,
- STATE_VERTICAL,
- STATE_VISITED,
- NUM_STATES
- };
-
- COMPILE_ASSERT(NUM_STATES <= 31, state_enum_not_too_large);
-
- // Additional optional attributes that can be optionally attached to
- // a node.
- enum StringAttribute {
- // Document attributes.
- ATTR_DOC_URL,
- ATTR_DOC_TITLE,
- ATTR_DOC_MIMETYPE,
- ATTR_DOC_DOCTYPE,
-
- // Attributes that could apply to any node.
- ATTR_ACCESS_KEY,
- ATTR_ACTION,
- ATTR_CONTAINER_LIVE_RELEVANT,
- ATTR_CONTAINER_LIVE_STATUS,
- ATTR_DESCRIPTION,
- ATTR_DISPLAY,
- ATTR_HELP,
- ATTR_HTML_TAG,
- ATTR_LIVE_RELEVANT,
- ATTR_LIVE_STATUS,
- ATTR_ROLE,
- ATTR_SHORTCUT,
- ATTR_URL,
- };
-
- enum IntAttribute {
- // Scrollable container attributes.
- ATTR_SCROLL_X,
- ATTR_SCROLL_X_MIN,
- ATTR_SCROLL_X_MAX,
- ATTR_SCROLL_Y,
- ATTR_SCROLL_Y_MIN,
- ATTR_SCROLL_Y_MAX,
-
- // Editable text attributes.
- ATTR_TEXT_SEL_START,
- ATTR_TEXT_SEL_END,
-
- // Table attributes.
- ATTR_TABLE_ROW_COUNT,
- ATTR_TABLE_COLUMN_COUNT,
-
- // Table cell attributes.
- ATTR_TABLE_CELL_COLUMN_INDEX,
- ATTR_TABLE_CELL_COLUMN_SPAN,
- ATTR_TABLE_CELL_ROW_INDEX,
- ATTR_TABLE_CELL_ROW_SPAN,
-
- // Tree control attributes.
- ATTR_HIERARCHICAL_LEVEL,
-
- // Relationships between this element and other elements.
- ATTR_TITLE_UI_ELEMENT,
- };
-
- enum FloatAttribute {
- // Document attributes.
- ATTR_DOC_LOADING_PROGRESS,
-
- // Range attributes.
- ATTR_VALUE_FOR_RANGE,
- ATTR_MIN_VALUE_FOR_RANGE,
- ATTR_MAX_VALUE_FOR_RANGE,
- };
-
- enum BoolAttribute {
- // Document attributes.
- ATTR_DOC_LOADED,
-
- // True if a checkbox or radio button is in the "mixed" state.
- ATTR_BUTTON_MIXED,
-
- // Live region attributes.
- ATTR_CONTAINER_LIVE_ATOMIC,
- ATTR_CONTAINER_LIVE_BUSY,
- ATTR_LIVE_ATOMIC,
- ATTR_LIVE_BUSY,
-
- // ARIA readonly flag.
- ATTR_ARIA_READONLY,
-
- // Writeable attributes
- ATTR_CAN_SET_VALUE,
- };
-
- enum IncludeChildren {
- NO_CHILDREN,
- INCLUDE_CHILDREN
- };
-
- enum IncludeLineBreaks {
- NO_LINE_BREAKS,
- INCLUDE_LINE_BREAKS
- };
-
- // Empty constructor, for serialization.
- WebAccessibility();
-
- // Construct from a WebAccessibilityObject. Recursively creates child
- // nodes as needed to complete the tree.
- WebAccessibility(const WebKit::WebAccessibilityObject& src,
- IncludeChildren include_children,
- IncludeLineBreaks include_line_breaks);
-
- ~WebAccessibility();
-
- // Initialize an already-created struct, same as the constructor above.
- void Init(const WebKit::WebAccessibilityObject& src,
- IncludeChildren include_children,
- IncludeLineBreaks include_line_breaks);
-
-#ifndef NDEBUG
- std::string DebugString(bool recursive) const;
-#endif
-
- private:
- // Returns true if |ancestor| is the first unignored parent of |child|,
- // which means that when walking up the parent chain from |child|,
- // |ancestor| is the *first* ancestor that isn't marked as
- // accessibilityIsIgnored().
- bool IsParentUnignoredOf(const WebKit::WebAccessibilityObject& ancestor,
- const WebKit::WebAccessibilityObject& child);
-
- public:
- // This is a simple serializable struct. All member variables should be
- // copyable.
- int32 id;
- string16 name;
- string16 value;
- Role role;
- uint32 state;
- gfx::Rect location;
- std::map<StringAttribute, string16> string_attributes;
- std::map<IntAttribute, int32> int_attributes;
- std::map<FloatAttribute, float> float_attributes;
- std::map<BoolAttribute, bool> bool_attributes;
- std::vector<WebAccessibility> children;
- std::vector<int32> indirect_child_ids;
- std::vector<std::pair<string16, string16> > html_attributes;
- std::vector<int32> line_breaks;
-
- // For a table, the cell ids in row-major order, with duplicate entries
- // when there's a rowspan or colspan, and with -1 for missing cells.
- // There are always exactly rows * columns entries.
- std::vector<int32> cell_ids;
-
- // For a table, the unique cell ids in row-major order of their first
- // occurrence.
- std::vector<int32> unique_cell_ids;
-};
-
-} // namespace webkit_glue
-
-#endif // WEBKIT_GLUE_WEBACCESSIBILITY_H_
« no previous file with comments | « content/renderer/renderer_accessibility_focus_only.cc ('k') | webkit/glue/webaccessibility.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698