Commit 05e32546 authored by dougt's avatar dougt Committed by Commit Bot

Move Win32 API Histogram code to AXPlatformNode so that it can be shared.

One side effect of this is that we will begin collecting data on API usage
from views (on the APIs we've migrated to platform node).

BUG=703369

Review-Url: https://codereview.chromium.org/2981023002
Cr-Commit-Position: refs/heads/master@{#487123}
parent 3204c8d1
...@@ -10,12 +10,184 @@ ...@@ -10,12 +10,184 @@
#include <oleacc.h> #include <oleacc.h>
#include "base/compiler_specific.h" #include "base/compiler_specific.h"
#include "base/metrics/histogram_macros.h"
#include "base/observer_list.h" #include "base/observer_list.h"
#include "third_party/iaccessible2/ia2_api_all.h" #include "third_party/iaccessible2/ia2_api_all.h"
#include "ui/accessibility/ax_export.h" #include "ui/accessibility/ax_export.h"
#include "ui/accessibility/ax_text_utils.h" #include "ui/accessibility/ax_text_utils.h"
#include "ui/accessibility/platform/ax_platform_node_base.h" #include "ui/accessibility/platform/ax_platform_node_base.h"
// IMPORTANT!
// These values are written to logs. Do not renumber or delete
// existing items; add new entries to the end of the list.
enum {
UMA_API_ACC_DO_DEFAULT_ACTION = 0,
UMA_API_ACC_HIT_TEST = 1,
UMA_API_ACC_LOCATION = 2,
UMA_API_ACC_NAVIGATE = 3,
UMA_API_ACC_SELECT = 4,
UMA_API_ADD_SELECTION = 5,
UMA_API_CONVERT_RETURNED_ELEMENT = 6,
UMA_API_DO_ACTION = 7,
UMA_API_GET_ACCESSIBLE_AT = 8,
UMA_API_GET_ACC_CHILD = 9,
UMA_API_GET_ACC_CHILD_COUNT = 10,
UMA_API_GET_ACC_DEFAULT_ACTION = 11,
UMA_API_GET_ACC_DESCRIPTION = 12,
UMA_API_GET_ACC_FOCUS = 13,
UMA_API_GET_ACC_HELP = 14,
UMA_API_GET_ACC_HELP_TOPIC = 15,
UMA_API_GET_ACC_KEYBOARD_SHORTCUT = 16,
UMA_API_GET_ACC_NAME = 17,
UMA_API_GET_ACC_PARENT = 18,
UMA_API_GET_ACC_ROLE = 19,
UMA_API_GET_ACC_SELECTION = 20,
UMA_API_GET_ACC_STATE = 21,
UMA_API_GET_ACC_VALUE = 22,
UMA_API_GET_ANCHOR = 23,
UMA_API_GET_ANCHOR_TARGET = 24,
UMA_API_GET_APP_NAME = 25,
UMA_API_GET_APP_VERSION = 26,
UMA_API_GET_ATTRIBUTES_FOR_NAMES = 27,
UMA_API_GET_CAPTION = 28,
UMA_API_GET_CARET_OFFSET = 29,
UMA_API_GET_CELL_AT = 30,
UMA_API_GET_CHARACTER_EXTENTS = 31,
UMA_API_GET_CHILD_AT = 32,
UMA_API_GET_CHILD_INDEX = 33,
UMA_API_GET_CLIPPED_SUBSTRING_BOUNDS = 34,
UMA_API_GET_COLUMN_DESCRIPTION = 35,
UMA_API_GET_COLUMN_EXTENT = 36,
UMA_API_GET_COLUMN_EXTENT_AT = 37,
UMA_API_GET_COLUMN_HEADER = 38,
UMA_API_GET_COLUMN_HEADER_CELLS = 39,
UMA_API_GET_COLUMN_INDEX = 40,
UMA_API_GET_COMPUTED_STYLE = 41,
UMA_API_GET_COMPUTED_STYLE_FOR_PROPERTIES = 42,
UMA_API_GET_CURRENT_VALUE = 43,
UMA_API_GET_DESCRIPTION = 44,
UMA_API_GET_DOC_TYPE = 45,
UMA_API_GET_DOM_TEXT = 46,
UMA_API_GET_END_INDEX = 47,
UMA_API_GET_EXTENDED_ROLE = 48,
UMA_API_GET_EXTENDED_STATES = 49,
UMA_API_GET_FIRST_CHILD = 50,
UMA_API_GET_FONT_FAMILY = 51,
UMA_API_GET_GROUP_POSITION = 52,
UMA_API_GET_HOST_RAW_ELEMENT_PROVIDER = 53,
UMA_API_GET_HYPERLINK = 54,
UMA_API_GET_HYPERLINK_INDEX = 55,
UMA_API_GET_IACCESSIBLE_PAIR = 56,
UMA_API_GET_IMAGE_POSITION = 57,
UMA_API_GET_IMAGE_SIZE = 58,
UMA_API_GET_INDEX_IN_PARENT = 59,
UMA_API_GET_INNER_HTML = 60,
UMA_API_GET_IS_COLUMN_SELECTED = 61,
UMA_API_GET_IS_ROW_SELECTED = 62,
UMA_API_GET_IS_SELECTED = 63,
UMA_API_GET_KEY_BINDING = 64,
UMA_API_GET_LANGUAGE = 65,
UMA_API_GET_LAST_CHILD = 66,
UMA_API_GET_LOCALE = 67,
UMA_API_GET_LOCALIZED_EXTENDED_ROLE = 68,
UMA_API_GET_LOCALIZED_EXTENDED_STATES = 69,
UMA_API_GET_LOCALIZED_NAME = 70,
UMA_API_GET_LOCAL_INTERFACE = 71,
UMA_API_GET_MAXIMUM_VALUE = 72,
UMA_API_GET_MIME_TYPE = 73,
UMA_API_GET_MINIMUM_VALUE = 74,
UMA_API_GET_NAME = 75,
UMA_API_GET_NAMESPACE_URI_FOR_ID = 76,
UMA_API_GET_NEW_TEXT = 77,
UMA_API_GET_NEXT_SIBLING = 78,
UMA_API_GET_NODE_INFO = 79,
UMA_API_GET_N_CHARACTERS = 80,
UMA_API_GET_N_COLUMNS = 81,
UMA_API_GET_N_EXTENDED_STATES = 82,
UMA_API_GET_N_HYPERLINKS = 83,
UMA_API_GET_N_RELATIONS = 84,
UMA_API_GET_N_ROWS = 85,
UMA_API_GET_N_SELECTED_CELLS = 86,
UMA_API_GET_N_SELECTED_CHILDREN = 87,
UMA_API_GET_N_SELECTED_COLUMNS = 88,
UMA_API_GET_N_SELECTED_ROWS = 89,
UMA_API_GET_N_SELECTIONS = 90,
UMA_API_GET_OBJECT_FOR_CHILD = 91,
UMA_API_GET_OFFSET_AT_POINT = 92,
UMA_API_GET_OLD_TEXT = 93,
UMA_API_GET_PARENT_NODE = 94,
UMA_API_GET_PATTERN_PROVIDER = 95,
UMA_API_GET_PREVIOUS_SIBLING = 96,
UMA_API_GET_PROPERTY_VALUE = 97,
UMA_API_GET_PROVIDER_OPTIONS = 98,
UMA_API_GET_RELATION = 99,
UMA_API_GET_RELATIONS = 100,
UMA_API_GET_ROW_COLUMN_EXTENTS = 101,
UMA_API_GET_ROW_COLUMN_EXTENTS_AT_INDEX = 102,
UMA_API_GET_ROW_DESCRIPTION = 103,
UMA_API_GET_ROW_EXTENT = 104,
UMA_API_GET_ROW_EXTENT_AT = 105,
UMA_API_GET_ROW_HEADER = 106,
UMA_API_GET_ROW_HEADER_CELLS = 107,
UMA_API_GET_ROW_INDEX = 108,
UMA_API_GET_RUNTIME_ID = 109,
UMA_API_GET_SELECTED_CELLS = 110,
UMA_API_GET_SELECTED_CHILDREN = 111,
UMA_API_GET_SELECTED_COLUMNS = 112,
UMA_API_GET_SELECTED_ROWS = 113,
UMA_API_GET_SELECTION = 114,
UMA_API_GET_START_INDEX = 115,
UMA_API_GET_STATES = 116,
UMA_API_GET_SUMMARY = 117,
UMA_API_GET_TABLE = 118,
UMA_API_GET_TEXT = 119,
UMA_API_GET_TEXT_AFTER_OFFSET = 120,
UMA_API_GET_TEXT_AT_OFFSET = 121,
UMA_API_GET_TEXT_BEFORE_OFFSET = 122,
UMA_API_GET_TITLE = 123,
UMA_API_GET_TOOLKIT_NAME = 124,
UMA_API_GET_TOOLKIT_VERSION = 125,
UMA_API_GET_UNCLIPPED_SUBSTRING_BOUNDS = 126,
UMA_API_GET_UNIQUE_ID = 127,
UMA_API_GET_URL = 128,
UMA_API_GET_VALID = 129,
UMA_API_GET_WINDOW_HANDLE = 130,
UMA_API_IA2_GET_ATTRIBUTES = 131,
UMA_API_IA2_SCROLL_TO = 132,
UMA_API_IAACTION_GET_DESCRIPTION = 133,
UMA_API_IATEXT_GET_ATTRIBUTES = 134,
UMA_API_ISIMPLEDOMNODE_GET_ATTRIBUTES = 135,
UMA_API_ISIMPLEDOMNODE_SCROLL_TO = 136,
UMA_API_N_ACTIONS = 137,
UMA_API_PUT_ALTERNATE_VIEW_MEDIA_TYPES = 138,
UMA_API_QUERY_SERVICE = 139,
UMA_API_REMOVE_SELECTION = 140,
UMA_API_ROLE = 141,
UMA_API_SCROLL_SUBSTRING_TO = 142,
UMA_API_SCROLL_SUBSTRING_TO_POINT = 143,
UMA_API_SCROLL_TO_POINT = 144,
UMA_API_SCROLL_TO_SUBSTRING = 145,
UMA_API_SELECT_COLUMN = 146,
UMA_API_SELECT_ROW = 147,
UMA_API_SET_CARET_OFFSET = 148,
UMA_API_SET_CURRENT_VALUE = 149,
UMA_API_SET_SELECTION = 150,
UMA_API_TABLE2_GET_SELECTED_COLUMNS = 151,
UMA_API_TABLE2_GET_SELECTED_ROWS = 152,
UMA_API_TABLECELL_GET_COLUMN_INDEX = 153,
UMA_API_TABLECELL_GET_IS_SELECTED = 154,
UMA_API_TABLECELL_GET_ROW_INDEX = 155,
UMA_API_UNSELECT_COLUMN = 156,
UMA_API_UNSELECT_ROW = 157,
// This must always be the last enum. It's okay for its value to
// increase, but none of the other enum values may change.
UMA_API_MAX
};
#define WIN_ACCESSIBILITY_API_HISTOGRAM(enum_value) \
UMA_HISTOGRAM_ENUMERATION("Accessibility.WinAPIs", enum_value, UMA_API_MAX)
namespace ui { namespace ui {
// A simple interface for a class that wants to be notified when IAccessible2 // A simple interface for a class that wants to be notified when IAccessible2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment