Index: content/browser/accessibility/accessibility_tree_formatter.cc |
diff --git a/content/browser/accessibility/dump_accessibility_tree_helper.cc b/content/browser/accessibility/accessibility_tree_formatter.cc |
similarity index 50% |
rename from content/browser/accessibility/dump_accessibility_tree_helper.cc |
rename to content/browser/accessibility/accessibility_tree_formatter.cc |
index 99efca21b3209a2a2b3c40fd44d04799ecb465cb..d1dbd050ddda56a10b6693b0bf7fa23e9207f7d7 100644 |
--- a/content/browser/accessibility/dump_accessibility_tree_helper.cc |
+++ b/content/browser/accessibility/accessibility_tree_formatter.cc |
@@ -2,12 +2,16 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "content/browser/accessibility/dump_accessibility_tree_helper.h" |
+#include "content/browser/accessibility/accessibility_tree_formatter.h" |
#include "base/logging.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/string_util.h" |
#include "base/utf_string_conversions.h" |
+#include "content/browser/accessibility/browser_accessibility_manager.h" |
+#include "content/port/browser/render_widget_host_view_port.h" |
+#include "content/public/browser/render_view_host.h" |
+#include "content/public/browser/web_contents.h" |
namespace content { |
namespace { |
@@ -15,19 +19,37 @@ const int kIndentSpaces = 4; |
const char* kSkipString = "@NO_DUMP"; |
} |
-DumpAccessibilityTreeHelper::DumpAccessibilityTreeHelper() { |
+AccessibilityTreeFormatter::AccessibilityTreeFormatter( |
+ BrowserAccessibility* node) |
+ : node_(node) { |
Initialize(); |
} |
-DumpAccessibilityTreeHelper::~DumpAccessibilityTreeHelper() { |
+// static |
+AccessibilityTreeFormatter* AccessibilityTreeFormatter::Create( |
+ RenderViewHost* rvh) { |
+ RenderWidgetHostViewPort* host_view = static_cast<RenderWidgetHostViewPort*>( |
+ WebContents::FromRenderViewHost(rvh)->GetRenderWidgetHostView()); |
+ |
+ BrowserAccessibilityManager* manager = |
+ host_view->GetBrowserAccessibilityManager(); |
+ if (!manager) |
+ return NULL; |
+ |
+ BrowserAccessibility* root = manager->GetRoot(); |
+ return new AccessibilityTreeFormatter(root); |
+} |
+ |
+ |
+AccessibilityTreeFormatter::~AccessibilityTreeFormatter() { |
} |
-void DumpAccessibilityTreeHelper::DumpAccessibilityTree( |
- BrowserAccessibility* node, string16* contents) { |
- RecursiveDumpAccessibilityTree(node, contents, 0); |
+void AccessibilityTreeFormatter::FormatAccessibilityTree( |
+ string16* contents) { |
+ RecursiveFormatAccessibilityTree(node_, contents, 0); |
} |
-void DumpAccessibilityTreeHelper::RecursiveDumpAccessibilityTree( |
+void AccessibilityTreeFormatter::RecursiveFormatAccessibilityTree( |
BrowserAccessibility* node, string16* contents, int indent) { |
scoped_array<char> prefix(new char[indent + 1]); |
for (int i = 0; i < indent; ++i) |
@@ -40,18 +62,18 @@ void DumpAccessibilityTreeHelper::RecursiveDumpAccessibilityTree( |
*contents += line; |
for (size_t i = 0; i < node->children().size(); ++i) { |
- RecursiveDumpAccessibilityTree(node->children()[i], contents, |
- indent + kIndentSpaces); |
+ RecursiveFormatAccessibilityTree(node->children()[i], contents, |
+ indent + kIndentSpaces); |
} |
} |
-void DumpAccessibilityTreeHelper::SetFilters( |
+void AccessibilityTreeFormatter::SetFilters( |
const std::vector<Filter>& filters) { |
filters_ = filters; |
} |
-bool DumpAccessibilityTreeHelper::MatchesFilters( |
- const string16& text, bool default_result) { |
+bool AccessibilityTreeFormatter::MatchesFilters( |
+ const string16& text, bool default_result) const { |
std::vector<Filter>::const_iterator iter = filters_.begin(); |
bool allow = default_result; |
for (iter = filters_.begin(); iter != filters_.end(); ++iter) { |
@@ -67,11 +89,11 @@ bool DumpAccessibilityTreeHelper::MatchesFilters( |
return allow; |
} |
-void DumpAccessibilityTreeHelper::StartLine() { |
+void AccessibilityTreeFormatter::StartLine() { |
line_.clear(); |
} |
-void DumpAccessibilityTreeHelper::Add( |
+void AccessibilityTreeFormatter::Add( |
bool include_by_default, const string16& attr) { |
if (attr.empty()) |
return; |
@@ -82,7 +104,7 @@ void DumpAccessibilityTreeHelper::Add( |
line_ += attr; |
} |
-string16 DumpAccessibilityTreeHelper::FinishLine() { |
+string16 AccessibilityTreeFormatter::FinishLine() { |
return line_; |
} |