1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/strings/string_number_conversions.h"
6 #include "content/browser/accessibility/accessibility_tree_formatter_blink.h"
7 #include "content/browser/accessibility/accessibility_tree_formatter_browser.h"
8
9 namespace content {
10
11 class AccessibilityTreeFormatterStub
12 : public AccessibilityTreeFormatterBrowser {
13 public:
14 explicit AccessibilityTreeFormatterStub();
15 ~AccessibilityTreeFormatterStub() override;
16
17 private:
18 base::FilePath::StringType GetExpectedFileSuffix() override;
19 const std::string GetAllowEmptyString() override;
20 const std::string GetAllowString() override;
21 const std::string GetDenyString() override;
22 const std::string GetDenyNodeString() override;
23 void AddProperties(const BrowserAccessibility& node,
24 base::DictionaryValue* dict) override;
25 base::string16 ProcessTreeForOutput(
26 const base::DictionaryValue& node,
27 base::DictionaryValue* filtered_dict_result = nullptr) override;
28 };
29
30 #if !defined(PLATFORM_HAS_NATIVE_ACCESSIBILITY_IMPL)
31 // static
32 std::unique_ptr<AccessibilityTreeFormatter>
Create()33 AccessibilityTreeFormatter::Create() {
34 return std::make_unique<AccessibilityTreeFormatterStub>();
35 }
36
37 // static
38 std::vector<AccessibilityTreeFormatter::TestPass>
GetTestPasses()39 AccessibilityTreeFormatter::GetTestPasses() {
40 return {
41 {"blink", &AccessibilityTreeFormatterBlink::CreateBlink},
42 {"native", &AccessibilityTreeFormatter::Create},
43 };
44 }
45 #endif
46
AccessibilityTreeFormatterStub()47 AccessibilityTreeFormatterStub::AccessibilityTreeFormatterStub()
48 : AccessibilityTreeFormatterBrowser() {}
49
~AccessibilityTreeFormatterStub()50 AccessibilityTreeFormatterStub::~AccessibilityTreeFormatterStub() {}
51
AddProperties(const BrowserAccessibility & node,base::DictionaryValue * dict)52 void AccessibilityTreeFormatterStub::AddProperties(
53 const BrowserAccessibility& node,
54 base::DictionaryValue* dict) {
55 dict->SetInteger("id", node.GetId());
56 }
57
ProcessTreeForOutput(const base::DictionaryValue & node,base::DictionaryValue * filtered_dict_result)58 base::string16 AccessibilityTreeFormatterStub::ProcessTreeForOutput(
59 const base::DictionaryValue& node,
60 base::DictionaryValue* filtered_dict_result) {
61 int id_value;
62 node.GetInteger("id", &id_value);
63 return base::NumberToString16(id_value);
64 }
65
66 base::FilePath::StringType
GetExpectedFileSuffix()67 AccessibilityTreeFormatterStub::GetExpectedFileSuffix() {
68 return base::FilePath::StringType();
69 }
70
GetAllowEmptyString()71 const std::string AccessibilityTreeFormatterStub::GetAllowEmptyString() {
72 return std::string();
73 }
74
GetAllowString()75 const std::string AccessibilityTreeFormatterStub::GetAllowString() {
76 return std::string();
77 }
78
GetDenyString()79 const std::string AccessibilityTreeFormatterStub::GetDenyString() {
80 return std::string();
81 }
82
GetDenyNodeString()83 const std::string AccessibilityTreeFormatterStub::GetDenyNodeString() {
84 return std::string();
85 }
86
87 } // namespace content
88