summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webaccessibilitymanager.h
diff options
context:
space:
mode:
authorklink@chromium.org <klink@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-20 20:12:25 +0000
committerklink@chromium.org <klink@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-20 20:12:25 +0000
commit6a983b4e4d28c1e3841f39febeb6a9dd681b53b3 (patch)
treea4b5d6a01066c026338d071076db9ff7dae210f3 /webkit/glue/webaccessibilitymanager.h
parentfe5a8a4ff6f5758f8dbf7e6e9578df97fb8633db (diff)
downloadchromium_src-6a983b4e4d28c1e3841f39febeb6a9dd681b53b3.zip
chromium_src-6a983b4e4d28c1e3841f39febeb6a9dd681b53b3.tar.gz
chromium_src-6a983b4e4d28c1e3841f39febeb6a9dd681b53b3.tar.bz2
Removes all use of COM and dependencies on Windows-specific classes (including the use of AccessibleBase and AccessibleDocument) in the glue accessibility implementation.Introduces the GlueAccessibilityObject, which serves as a platform-independent wrapper directly around WebKit's AccessibilityObject (also platoform-independent).Updates naming/comments to reflect the independence of IAccessible both in glue and (where appropriate) in the browser-side accessibility.
Review URL: http://codereview.chromium.org/46013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12207 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webaccessibilitymanager.h')
-rw-r--r--webkit/glue/webaccessibilitymanager.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/webkit/glue/webaccessibilitymanager.h b/webkit/glue/webaccessibilitymanager.h
new file mode 100644
index 0000000..cebe94c
--- /dev/null
+++ b/webkit/glue/webaccessibilitymanager.h
@@ -0,0 +1,54 @@
+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef WEBKIT_GLUE_WEBACCESSIBILITYMANAGER_H_
+#define WEBKIT_GLUE_WEBACCESSIBILITYMANAGER_H_
+
+#include "webkit/glue/webaccessibility.h"
+
+class WebView;
+
+////////////////////////////////////////////////////////////////////////////////
+//
+// WebAccessibilityManager
+//
+// Responds to incoming accessibility requests from the browser side. Retrieves
+// the requested information from the active AccessibilityObject, through the
+// GlueAccessibilityObject.
+////////////////////////////////////////////////////////////////////////////////
+namespace webkit_glue {
+
+class WebAccessibilityManager {
+ public:
+ WebAccessibilityManager() {}
+ virtual ~WebAccessibilityManager() {}
+
+ static WebAccessibilityManager* Create();
+
+ // Retrieves the accessibility information as requested in in_params, by
+ // calling into WebKit's AccessibilityObject. Maintains a hashmap of the
+ // currently active (browser side ref-count non-zero) instances. Returns true
+ // if successful, false otherwise.
+ virtual bool GetAccObjInfo(WebView* view,
+ const WebAccessibility::InParams& in_params,
+ WebAccessibility::OutParams* out_params) = 0;
+
+ // Erases the entry identified by the [acc_obj_id] from the hash maps. If
+ // [clear_all] is true, all entries are erased. Returns true if successful,
+ // false otherwise.
+ virtual bool ClearAccObjMap(int acc_obj_id, bool clear_all) = 0;
+
+ // Retrieves the RenderObject associated with this WebView, and uses it to
+ // initialize the root of the GlueAccessibilityObject tree with the
+ // associated accessibility information. Returns true if successful, false
+ // otherwise.
+ virtual bool InitAccObjRoot(WebView* view) = 0;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(WebAccessibilityManager);
+};
+
+} // namespace webkit_glue
+
+#endif // WEBKIT_GLUE_WEBACCESSIBILITYMANAGER_H_