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