Index: content/browser/accessibility/dump_accessibility_tree_browsertest.cc |
diff --git a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc |
index 76b617d753bab1d73bbf10133827416aab44efa9..30c662029b79124e4c1601dfa689076b190c2c54 100644 |
--- a/content/browser/accessibility/dump_accessibility_tree_browsertest.cc |
+++ b/content/browser/accessibility/dump_accessibility_tree_browsertest.cc |
@@ -55,15 +55,11 @@ typedef AccessibilityTreeFormatter::Filter Filter; |
// exactly match. |
class DumpAccessibilityTreeTest : public DumpAccessibilityTestBase { |
public: |
- void AddDefaultFilters(std::vector<Filter>* filters) override { |
- filters->push_back(Filter(base::ASCIIToUTF16("FOCUSABLE"), Filter::ALLOW)); |
- filters->push_back(Filter(base::ASCIIToUTF16("READONLY"), Filter::ALLOW)); |
- filters->push_back(Filter(base::ASCIIToUTF16("roleDescription=*"), |
- Filter::ALLOW)); |
- filters->push_back(Filter(base::ASCIIToUTF16("*=''"), Filter::DENY)); |
- // After denying empty values, because we want to allow name='' |
- filters->push_back( |
- Filter(base::ASCIIToUTF16("name=*"), Filter::ALLOW_EMPTY)); |
+ void AddDefaultFilters(std::vector<Filter>* filters) override; |
+ void AddFilter(std::vector<Filter>* filters, |
+ std::string filter, |
+ Filter::Type type = Filter::ALLOW) { |
+ filters->push_back(Filter(base::ASCIIToUTF16(filter), type)); |
} |
void SetUpCommandLine(base::CommandLine* command_line) override { |
@@ -137,6 +133,95 @@ class DumpAccessibilityTreeTest : public DumpAccessibilityTestBase { |
} |
}; |
+void DumpAccessibilityTreeTest::AddDefaultFilters( |
+ std::vector<Filter>* filters) { |
+ // TODO(aleventhal) Each platform deserves separate default filters. |
+ |
+ // |
+ // Windows |
+ // |
+ |
+ // Too noisy: HOTTRACKED, LINKED, SELECTABLE, IA2_STATE_EDITABLE, |
+ // IA2_STATE_OPAQUE, IA2_STATE_SELECTAbLE_TEXT, |
+ // IA2_STATE_SINGLE_LINE, IA2_STATE_VERTICAL. |
+ // Too unpredictible: OFFSCREEN |
+ // Windows states to log by default: |
+ AddFilter(filters, "ALERT*"); |
+ AddFilter(filters, "ANIMATED*"); |
+ AddFilter(filters, "BUSY"); |
+ AddFilter(filters, "CHECKED"); |
+ AddFilter(filters, "COLLAPSED"); |
+ AddFilter(filters, "DEFAULT"); |
+ AddFilter(filters, "EXPANDED"); |
+ AddFilter(filters, "FLOATING"); |
+ AddFilter(filters, "FOCUS*"); |
+ AddFilter(filters, "HASPOPUP"); |
+ AddFilter(filters, "INVISIBLE"); |
+ AddFilter(filters, "MARQUEED"); |
+ AddFilter(filters, "MIXED"); |
+ AddFilter(filters, "MOVEABLE"); |
+ AddFilter(filters, "MULTISELECTABLE"); |
+ AddFilter(filters, "READONLY"); |
+ AddFilter(filters, "PRESSED"); |
+ AddFilter(filters, "PROTECTED"); |
+ AddFilter(filters, "SELECTED"); |
+ AddFilter(filters, "SIZEABLE"); |
+ AddFilter(filters, "TRAVERSED"); |
+ AddFilter(filters, "UNAVAILABLE"); |
+ AddFilter(filters, "IA2_STATE_ACTIVE"); |
+ AddFilter(filters, "IA2_STATE_ARMED"); |
+ AddFilter(filters, "IA2_STATE_CHECKABLE"); |
+ AddFilter(filters, "IA2_STATE_DEFUNCT"); |
+ AddFilter(filters, "IA2_STATE_HORIZONTAL"); |
+ AddFilter(filters, "IA2_STATE_ICONIFIED"); |
+ AddFilter(filters, "IA2_STATE_INVALID_ENTRY"); |
+ AddFilter(filters, "IA2_STATE_MODAL"); |
+ AddFilter(filters, "IA2_STATE_MULTI_LINE"); |
+ AddFilter(filters, "IA2_STATE_PINNED"); |
+ AddFilter(filters, "IA2_STATE_REQUIRED"); |
+ AddFilter(filters, "IA2_STATE_STALE"); |
+ AddFilter(filters, "IA2_STATE_TRANSIENT"); |
+ |
+ // |
+ // Blink |
+ // |
+ |
+ // Noisy, perhaps add later: |
+ // editable, focus*, horizontal, linked, richlyEditable, vertical |
+ // Too flaky: hovered, offscreen |
+ AddFilter(filters, "check*"); |
+ AddFilter(filters, "descript*"); |
+ AddFilter(filters, "invalid"); |
+ AddFilter(filters, "busy"); |
+ AddFilter(filters, "collapsed"); |
+ AddFilter(filters, "default"); |
+ AddFilter(filters, "haspopup"); |
+ AddFilter(filters, "horizontal"); |
+ AddFilter(filters, "invisible"); |
+ // TODO(aleventhal) multiline |
+ AddFilter(filters, "multiselectable"); |
+ AddFilter(filters, "protected"); |
+ // TODO(aleventhal) Add readonly support back after control mode refactor |
+ AddFilter(filters, "required"); |
+ AddFilter(filters, "select*"); |
+ AddFilter(filters, "visited"); |
+ |
+ // |
+ // OS X |
+ // |
+ |
+ AddFilter(filters, "roleDescription=*"); |
+ |
+ // |
+ // General |
+ // |
+ |
+ // Deny most empty values |
+ AddFilter(filters, "*=''", Filter::DENY); |
+ // After denying empty values, because we want to allow name='' |
+ AddFilter(filters, "name=*", Filter::ALLOW_EMPTY); |
+} |
+ |
IN_PROC_BROWSER_TEST_F(DumpAccessibilityTreeTest, AccessibilityCSSColor) { |
RunCSSTest(FILE_PATH_LITERAL("color.html")); |
} |