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

Side by Side Diff: third_party/WebKit/Source/modules/accessibility/InspectorAccessibilityAgent.h

Issue 2390783006: [DevTools] Accessibility: Show siblings and children of selected node (Closed)
Patch Set: Rebase tests again and be consistent about backendDOMNodeId Created 4 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef InspectorAccessibilityAgent_h 5 #ifndef InspectorAccessibilityAgent_h
6 #define InspectorAccessibilityAgent_h 6 #define InspectorAccessibilityAgent_h
7 7
8 #include "core/inspector/InspectorBaseAgent.h" 8 #include "core/inspector/InspectorBaseAgent.h"
9 #include "core/inspector/protocol/Accessibility.h" 9 #include "core/inspector/protocol/Accessibility.h"
10 #include "modules/ModulesExport.h" 10 #include "modules/ModulesExport.h"
11 11
12 namespace blink { 12 namespace blink {
13 13
14 class AXObject; 14 class AXObject;
15 class AXObjectCacheImpl;
15 class InspectorDOMAgent; 16 class InspectorDOMAgent;
16 class Page; 17 class Page;
17 18
19 using protocol::Accessibility::AXNode;
20 using protocol::Accessibility::AXNodeId;
21
18 class MODULES_EXPORT InspectorAccessibilityAgent 22 class MODULES_EXPORT InspectorAccessibilityAgent
19 : public InspectorBaseAgent<protocol::Accessibility::Metainfo> { 23 : public InspectorBaseAgent<protocol::Accessibility::Metainfo> {
20 WTF_MAKE_NONCOPYABLE(InspectorAccessibilityAgent); 24 WTF_MAKE_NONCOPYABLE(InspectorAccessibilityAgent);
21 25
22 public: 26 public:
23 InspectorAccessibilityAgent(Page*, InspectorDOMAgent*); 27 InspectorAccessibilityAgent(Page*, InspectorDOMAgent*);
24 28
25 // Base agent methods. 29 // Base agent methods.
26 DECLARE_VIRTUAL_TRACE(); 30 DECLARE_VIRTUAL_TRACE();
27 31
28 // Protocol methods. 32 // Protocol methods.
29 Response getAXNodeChain( 33 Response getPartialAXTree(
30 int domNodeId, 34 int domNodeId,
31 bool fetchAncestors, 35 Maybe<bool> fetchRelatives,
32 std::unique_ptr<protocol::Array<protocol::Accessibility::AXNode>>*) 36 std::unique_ptr<protocol::Array<protocol::Accessibility::AXNode>>*)
33 override; 37 override;
34 38
35 private: 39 private:
40 std::unique_ptr<AXNode> buildObjectForIgnoredNode(
41 Node* domNode,
42 AXObject*,
43 bool fetchRelatives,
44 std::unique_ptr<protocol::Array<AXNode>>& nodes,
45 AXObjectCacheImpl&) const;
46 void populateDOMNodeRelatives(Node& inspectedDOMNode,
47 AXNode&,
48 std::unique_ptr<protocol::Array<AXNode>>& nodes,
49 AXObjectCacheImpl&) const;
50 void findDOMNodeChildren(std::unique_ptr<protocol::Array<AXNodeId>>& childIds,
51 Node& parentNode,
52 Node& inspectedDOMNode,
53 std::unique_ptr<protocol::Array<AXNode>>& nodes,
54 AXObjectCacheImpl&) const;
55 std::unique_ptr<AXNode> buildProtocolAXObject(
56 AXObject&,
57 AXObject* inspectedAXObject,
58 bool fetchRelatives,
59 std::unique_ptr<protocol::Array<AXNode>>& nodes,
60 AXObjectCacheImpl&) const;
61 void fillCoreProperties(AXObject&,
62 AXObject* inspectedAXObject,
63 bool fetchRelatives,
64 AXNode&,
65 std::unique_ptr<protocol::Array<AXNode>>& nodes,
66 AXObjectCacheImpl&) const;
67 void addAncestors(AXObject& firstAncestor,
68 AXObject* inspectedAXObject,
69 std::unique_ptr<protocol::Array<AXNode>>& nodes,
70 AXObjectCacheImpl&) const;
71 void populateRelatives(AXObject&,
72 AXObject* inspectedAXObject,
73 AXNode&,
74 std::unique_ptr<protocol::Array<AXNode>>& nodes,
75 AXObjectCacheImpl&) const;
76 void addSiblingsOfIgnored(
77 std::unique_ptr<protocol::Array<AXNodeId>>& childIds,
78 AXObject& parentAXObject,
79 AXObject* inspectedAXObject,
80 std::unique_ptr<protocol::Array<AXNode>>& nodes,
81 AXObjectCacheImpl&) const;
82 void addChild(std::unique_ptr<protocol::Array<AXNodeId>>& childIds,
83 AXObject& childAXObject,
84 AXObject* inspectedAXObject,
85 std::unique_ptr<protocol::Array<AXNode>>& nodes,
86 AXObjectCacheImpl&) const;
87 void addChildren(AXObject&,
88 AXObject* inspectedAXObject,
89 std::unique_ptr<protocol::Array<AXNodeId>>& childIds,
90 std::unique_ptr<protocol::Array<AXNode>>& nodes,
91 AXObjectCacheImpl&) const;
92
36 Member<Page> m_page; 93 Member<Page> m_page;
37 Member<InspectorDOMAgent> m_domAgent; 94 Member<InspectorDOMAgent> m_domAgent;
38
39 std::unique_ptr<protocol::Accessibility::AXNode> buildObjectForIgnoredNode(
40 Node* domNode,
41 AXObject*) const;
42 std::unique_ptr<protocol::Accessibility::AXNode> buildProtocolAXObject(
43 AXObject&) const;
44 void fillCoreProperties(AXObject&, protocol::Accessibility::AXNode&) const;
45 }; 95 };
46 96
47 } // namespace blink 97 } // namespace blink
48 98
49 #endif // InspectorAccessibilityAgent_h 99 #endif // InspectorAccessibilityAgent_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698