summaryrefslogtreecommitdiffstats
path: root/chrome/browser/accessibility/browser_accessibility_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/accessibility/browser_accessibility_manager.h')
-rw-r--r--chrome/browser/accessibility/browser_accessibility_manager.h177
1 files changed, 0 insertions, 177 deletions
diff --git a/chrome/browser/accessibility/browser_accessibility_manager.h b/chrome/browser/accessibility/browser_accessibility_manager.h
deleted file mode 100644
index 1014f33..0000000
--- a/chrome/browser/accessibility/browser_accessibility_manager.h
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright (c) 2011 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 CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_
-#define CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_
-#pragma once
-
-#include <vector>
-
-#include "base/hash_tables.h"
-#include "base/memory/scoped_ptr.h"
-#include "build/build_config.h"
-#include "ui/gfx/native_widget_types.h"
-#include "webkit/glue/webaccessibility.h"
-
-class BrowserAccessibility;
-#if defined(OS_WIN)
-class BrowserAccessibilityManagerWin;
-#endif
-
-struct ViewHostMsg_AccessibilityNotification_Params;
-
-using webkit_glue::WebAccessibility;
-
-// Class that can perform actions on behalf of the BrowserAccessibilityManager.
-class BrowserAccessibilityDelegate {
- public:
- virtual ~BrowserAccessibilityDelegate() {}
- virtual void SetAccessibilityFocus(int acc_obj_id) = 0;
- virtual void AccessibilityDoDefaultAction(int acc_obj_id) = 0;
- virtual bool HasFocus() = 0;
- virtual gfx::Rect GetViewBounds() const = 0;
-};
-
-class BrowserAccessibilityFactory {
- public:
- virtual ~BrowserAccessibilityFactory() {}
-
- // Create an instance of BrowserAccessibility and return a new
- // reference to it.
- virtual BrowserAccessibility* Create();
-};
-
-// Manages a tree of BrowserAccessibility objects.
-class BrowserAccessibilityManager {
- public:
- // Creates the platform specific BrowserAccessibilityManager. Ownership passes
- // to the caller.
- static BrowserAccessibilityManager* Create(
- gfx::NativeView parent_view,
- const WebAccessibility& src,
- BrowserAccessibilityDelegate* delegate,
- BrowserAccessibilityFactory* factory = new BrowserAccessibilityFactory());
-
- virtual ~BrowserAccessibilityManager();
-
- // Type is a ViewHostMsg_AccessibilityNotification_Params::NotificationType.
- // We pass it as int so that we don't include the render message declaration
- // header here.
- virtual void NotifyAccessibilityEvent(
- int type,
- BrowserAccessibility* node) { }
-
- // Returns the next unique child id.
- static int32 GetNextChildID();
-
- // Return a pointer to the root of the tree, does not make a new reference.
- BrowserAccessibility* GetRoot();
-
- // Removes the BrowserAccessibility child_id and renderer_id from the manager.
- void Remove(int32 child_id, int32 renderer_id);
-
- // Return a pointer to the object corresponding to the given child_id,
- // does not make a new reference.
- BrowserAccessibility* GetFromChildID(int32 child_id);
-
- // Return a pointer to the object corresponding to the given renderer_id,
- // does not make a new reference.
- BrowserAccessibility* GetFromRendererID(int32 renderer_id);
-
- // Called to notify the accessibility manager that its associated native
- // view got focused.
- void GotFocus();
-
- // Update the focused node to |node|, which may be null.
- // If |notify| is true, send a message to the renderer to set focus
- // to this node.
- void SetFocus(BrowserAccessibility* node, bool notify);
-
- // Tell the renderer to do the default action for this node.
- void DoDefaultAction(const BrowserAccessibility& node);
-
- // Retrieve the bounds of the parent View in screen coordinates.
- gfx::Rect GetViewBounds();
-
- // Called when the renderer process has notified us of about tree changes.
- // Send a notification to MSAA clients of the change.
- void OnAccessibilityNotifications(
- const std::vector<ViewHostMsg_AccessibilityNotification_Params>& params);
-
- gfx::NativeView GetParentView();
-
-#if defined(OS_WIN)
- BrowserAccessibilityManagerWin* toBrowserAccessibilityManagerWin();
-#endif
-
- // Return the object that has focus, if it's a descandant of the
- // given root (inclusive). Does not make a new reference.
- BrowserAccessibility* GetFocus(BrowserAccessibility* root);
-
- protected:
- BrowserAccessibilityManager(
- gfx::NativeView parent_view,
- const WebAccessibility& src,
- BrowserAccessibilityDelegate* delegate,
- BrowserAccessibilityFactory* factory);
-
- private:
- void OnAccessibilityObjectStateChange(
- const WebAccessibility& acc_obj);
- void OnAccessibilityObjectChildrenChange(
- const WebAccessibility& acc_obj);
- void OnAccessibilityObjectFocusChange(
- const WebAccessibility& acc_obj);
- void OnAccessibilityObjectLoadComplete(
- const WebAccessibility& acc_obj);
- void OnAccessibilityObjectValueChange(
- const WebAccessibility& acc_obj);
- void OnAccessibilityObjectTextChange(
- const WebAccessibility& acc_obj);
-
- // Update an accessibility node with an updated WebAccessibility node
- // received from the renderer process. When |include_children| is true
- // the node's children will also be updated, otherwise only the node
- // itself is updated. Returns the updated node or NULL if no node was
- // updated.
- BrowserAccessibility* UpdateNode(
- const WebAccessibility& src,
- bool include_children);
-
- // Recursively build a tree of BrowserAccessibility objects from
- // the WebAccessibility tree received from the renderer process.
- BrowserAccessibility* CreateAccessibilityTree(
- BrowserAccessibility* parent,
- const WebAccessibility& src,
- int index_in_parent);
-
- protected:
- // The next unique id for a BrowserAccessibility instance.
- static int32 next_child_id_;
-
- // The parent view.
- gfx::NativeView parent_view_;
-
- // The object that can perform actions on our behalf.
- BrowserAccessibilityDelegate* delegate_;
-
- // Factory to create BrowserAccessibility objects (for dependency injection).
- scoped_ptr<BrowserAccessibilityFactory> factory_;
-
- // The root of the tree of IAccessible objects and the element that
- // currently has focus, if any.
- BrowserAccessibility* root_;
- BrowserAccessibility* focus_;
-
- // A mapping from the IDs of objects in the renderer, to the child IDs
- // we use internally here.
- base::hash_map<int32, int32> renderer_id_to_child_id_map_;
-
- // A mapping from child IDs to BrowserAccessibility objects.
- base::hash_map<int32, BrowserAccessibility*> child_id_map_;
-
- DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityManager);
-};
-
-#endif // CHROME_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_MANAGER_H_