1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 
6 #ifndef mozilla_a11y_RootAccessibleWrap_h__
7 #define mozilla_a11y_RootAccessibleWrap_h__
8 
9 #include "RootAccessible.h"
10 
11 namespace mozilla {
12 
13 class PresShell;
14 
15 namespace a11y {
16 
17 class DocRemoteAccessibleWrap;
18 
19 class RootAccessibleWrap : public RootAccessible {
20  public:
21   RootAccessibleWrap(dom::Document* aDocument, PresShell* aPresShell);
22   virtual ~RootAccessibleWrap();
23 
24   AccessibleWrap* GetContentAccessible();
25 
26   AccessibleWrap* FindAccessibleById(int32_t aID);
27 
28   // Recursively searches for the accessible ID within the document tree.
29   AccessibleWrap* FindAccessibleById(DocAccessibleWrap* aDocument, int32_t aID);
30 
31   // Recursively searches for the accessible ID within the proxy document tree.
32   AccessibleWrap* FindAccessibleById(DocRemoteAccessibleWrap* aDocument,
33                                      int32_t aID);
34 };
35 
36 }  // namespace a11y
37 }  // namespace mozilla
38 
39 #endif
40