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

Side by Side Diff: webkit/glue/glue_accessibility_object.h

Issue 348063: Introduce WebAccessibilityControllerImpl.... (Closed) Base URL: svn://chrome-svn.corp.google.com/chrome/trunk/src/
Patch Set: Licked clean. Created 11 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
(Empty)
1 // Copyright (c) 2006-2008 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 #ifndef WEBKIT_GLUE_GLUE_ACCESSIBILITY_OBJECT_H_
6 #define WEBKIT_GLUE_GLUE_ACCESSIBILITY_OBJECT_H_
7
8 #include "AccessibilityObjectWrapper.h"
9
10 #include "base/basictypes.h"
11 #include "webkit/glue/webaccessibility.h"
12
13 namespace WebCore {
14 class AccessibilityObject;
15 enum AccessibilityRole;
16 }
17
18 ////////////////////////////////////////////////////////////////////////////////
19 //
20 // GlueAccessibilityObject
21 //
22 // Operations that access the underlying WebKit DOM directly, exposing
23 // accessibility information to the GlueAccessibilityManager. Also provides a
24 // platform-independent wrapper to WebKit's AccessibilityObject.
25 ////////////////////////////////////////////////////////////////////////////////
26 class GlueAccessibilityObject : public WebCore::AccessibilityObjectWrapper {
27 public:
28 static GlueAccessibilityObject* CreateInstance(WebCore::AccessibilityObject*);
29
30 virtual ~GlueAccessibilityObject() {}
31
32 // Performs the default action on a given object.
33 bool DoDefaultAction(int child_id);
34
35 // Retrieves the child element or child object at a given point on the screen.
36 GlueAccessibilityObject* HitTest(long x, long y);
37
38 // Retrieves the specified object's current screen location.
39 bool Location(long* left,
40 long* top,
41 long* width,
42 long* height,
43 int child_id);
44
45 // Traverses to another UI element and retrieves the object.
46 GlueAccessibilityObject* Navigate(
47 webkit_glue::WebAccessibility::Direction dir,
48 int start_child_id);
49
50 // Retrieves an GlueAccessibilityObject pointer for the specified [child_id].
51 GlueAccessibilityObject* GetChild(int child_id);
52
53 // Retrieves the number of accessible children.
54 bool ChildCount(long* count);
55
56 // Retrieves a string that describes the object's default action.
57 bool DefaultAction(int child_id, WebCore::String* action);
58
59 // Retrieves the object's description.
60 bool Description(int child_id, WebCore::String* description);
61
62 // Retrieves the object that has the keyboard focus.
63 GlueAccessibilityObject* GetFocusedChild();
64
65 // Retrieves the help information associated with the object.
66 bool HelpText(int child_id, WebCore::String* help);
67
68 // Retrieves the specified object's shortcut.
69 bool KeyboardShortcut(int child_id, WebCore::String* shortcut);
70
71 // Retrieves the name of the specified object.
72 bool Name(int child_id, WebCore::String* name);
73
74 // Retrieves the GlueAccessibilityObject of the object's parent. In the case
75 // of the root object (where the parent is the containing window), it is up
76 // to the browser side to handle this.
77 GlueAccessibilityObject* GetParent();
78
79 // Retrieves information describing the role of the specified object.
80 bool Role(int child_id, long* role);
81
82 // Retrieves the current state of the specified object.
83 bool State(int child_id, long* state);
84
85 // Returns the value associated with the object.
86 bool Value(int child_id, WebCore::String* value);
87
88 // WebCore::AccessiblityObjectWrapper.
89 virtual void detach() {
90 if (m_object)
91 m_object = 0;
92 }
93
94 protected:
95 explicit GlueAccessibilityObject(WebCore::AccessibilityObject*);
96
97 // Helper functions.
98 WebCore::String name() const;
99 WebCore::String value() const;
100 WebCore::String description() const;
101 webkit_glue::WebAccessibility::Role role() const;
102
103 // Retrieves the AccessibilityObject for a given [child_id]. Returns false if
104 // [child_id] is less than 0, or if no valid AccessibilityObject is found.
105 // A [child_id] of 0 is treated as referring to the current object itself.
106 bool GetAccessibilityObjectForChild(int child_id,
107 WebCore::AccessibilityObject*&) const;
108
109 // Wraps the given AccessibilityObject in a GlueAccessibilityObject and
110 // returns it. If the AccessibilityObject already has a wrapper assigned, that
111 // one is returned. Otherwise, a new instance of GlueAccessibilityObject is
112 // created and assigned as the wrapper.
113 static GlueAccessibilityObject* ToWrapper(WebCore::AccessibilityObject*);
114
115 private:
116 DISALLOW_COPY_AND_ASSIGN(GlueAccessibilityObject);
117 };
118
119 #endif // WEBKIT_GLUE_GLUE_ACCESSIBILITY_OBJECT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698