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

Unified Diff: content/browser/accessibility/dump_accessibility_tree_helper.h

Issue 10662003: Allow filters in accessibility tests to specify which attributes to check. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix repetitive code, re-enable webkit strings. Created 8 years, 5 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
Index: content/browser/accessibility/dump_accessibility_tree_helper.h
diff --git a/content/browser/accessibility/dump_accessibility_tree_helper.h b/content/browser/accessibility/dump_accessibility_tree_helper.h
index 314ef7419256d5234d2e7af2ab379be3959e3f4a..0a63872961f9abc99f877ba0a57963b8c4062cf9 100644
--- a/content/browser/accessibility/dump_accessibility_tree_helper.h
+++ b/content/browser/accessibility/dump_accessibility_tree_helper.h
@@ -5,6 +5,8 @@
#ifndef CONTENT_BROWSER_ACCESSIBILITY_DUMP_ACCESSIBILITY_TREE_HELPER_H_
#define CONTENT_BROWSER_ACCESSIBILITY_DUMP_ACCESSIBILITY_TREE_HELPER_H_
+#include <set>
+
#include "base/file_path.h"
#include "base/string16.h"
#include "base/utf_string_conversions.h"
@@ -15,10 +17,18 @@
// implemented.
class DumpAccessibilityTreeHelper {
public:
+ DumpAccessibilityTreeHelper();
+ virtual ~DumpAccessibilityTreeHelper();
+
// Dumps a BrowserAccessibility tree into a string.
void DumpAccessibilityTree(BrowserAccessibility* node,
string16* contents);
+ // Set regular expression filters that apply to each component of every
+ // line before it's output.
+ void SetFilters(const std::set<string16>& allow_filters,
+ const std::set<string16>& deny_filters);
+
// Suffix of the expectation file corresponding to html file.
// Example:
// HTML test: test-file.html
@@ -27,6 +37,20 @@ class DumpAccessibilityTreeHelper {
const FilePath::StringType GetActualFileSuffix() const;
const FilePath::StringType GetExpectedFileSuffix() const;
+ // A platform-specific string that indicates a given line in a file
+ // is an allow or deny filter. Example:
+ // Mac values:
+ // GetAllowString() -> "@MAC-ALLOW:"
+ // GetDenyString() -> "@MAC-DENY:"
+ // Example html:
+ // <!--
+ // @MAC-ALLOW:roleDescription*
+ // @MAC-DENY:subrole*
+ // -->
+ // <p>Text</p>
+ const std::string GetAllowString() const;
+ const std::string GetDenyString() const;
+
protected:
void RecursiveDumpAccessibilityTree(BrowserAccessibility* node,
string16* contents,
@@ -38,6 +62,17 @@ class DumpAccessibilityTreeHelper {
string16 ToString(BrowserAccessibility* node, char* prefix);
void Initialize();
+
+ bool MatchesFilters(const string16& text, bool default_result);
+ void StartLine();
+ void Add(bool include_by_default, const string16& attr);
+ string16 FinishLine();
+
+ std::set<string16> allow_filters_;
+ std::set<string16> deny_filters_;
+ string16 line_;
+
+ DISALLOW_COPY_AND_ASSIGN(DumpAccessibilityTreeHelper);
};
#endif // CONTENT_BROWSER_ACCESSIBILITY_DUMP_ACCESSIBILITY_TREE_HELPER_H_

Powered by Google App Engine
This is Rietveld 408576698