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

Unified Diff: chrome/browser/browser_accessibility.h

Issue 2830005: Rename browser_accessibility to browser_accessibility_win, and same for... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/browser_accessibility.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/browser_accessibility.h
===================================================================
--- chrome/browser/browser_accessibility.h (revision 49836)
+++ chrome/browser/browser_accessibility.h (working copy)
@@ -1,399 +0,0 @@
-// Copyright (c) 2010 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_BROWSER_ACCESSIBILITY_H_
-#define CHROME_BROWSER_BROWSER_ACCESSIBILITY_H_
-
-#include <atlbase.h>
-#include <atlcom.h>
-#include <oleacc.h>
-
-#include <vector>
-
-#include "base/scoped_comptr_win.h"
-#include "chrome/browser/browser_accessibility_manager.h"
-#include "ia2_api_all.h" // Generated
-#include "webkit/glue/webaccessibility.h"
-
-using webkit_glue::WebAccessibility;
-
-////////////////////////////////////////////////////////////////////////////////
-//
-// BrowserAccessibility
-//
-// Class implementing the MSAA IAccessible COM interface for the
-// Browser-Renderer communication of MSAA information, providing accessibility
-// to be used by screen readers and other assistive technology (AT).
-//
-////////////////////////////////////////////////////////////////////////////////
-class ATL_NO_VTABLE BrowserAccessibility
- : public CComObjectRootEx<CComMultiThreadModel>,
- public IDispatchImpl<IAccessible2, &IID_IAccessible2,
- &LIBID_IAccessible2Lib>,
- public IAccessibleImage,
- public IAccessibleText,
- public IServiceProvider {
- public:
- BEGIN_COM_MAP(BrowserAccessibility)
- COM_INTERFACE_ENTRY2(IDispatch, IAccessible2)
- COM_INTERFACE_ENTRY2(IAccessible, IAccessible2)
- COM_INTERFACE_ENTRY(IAccessible2)
- COM_INTERFACE_ENTRY(IAccessibleImage)
- COM_INTERFACE_ENTRY(IAccessibleText)
- COM_INTERFACE_ENTRY(IServiceProvider)
- END_COM_MAP()
-
- BrowserAccessibility();
-
- virtual ~BrowserAccessibility();
-
- // Initialize this object and mark it as active.
- void Initialize(BrowserAccessibilityManager* manager,
- BrowserAccessibility* parent,
- LONG child_id,
- LONG index_in_parent,
- const webkit_glue::WebAccessibility& src);
-
- // Add a child of this object.
- void AddChild(BrowserAccessibility* child);
-
- // Mark this object as inactive, and remove references to all children.
- // When no other clients hold any references to this object it will be
- // deleted, and in the meantime, calls to any methods will return E_FAIL.
- void InactivateTree();
-
- // Return true if this object is equal to or a descendant of |ancestor|.
- bool IsDescendantOf(BrowserAccessibility* ancestor);
-
- // Return the previous sibling of this object, or NULL if it's the first
- // child of its parent.
- BrowserAccessibility* GetPreviousSibling();
-
- // Return the next sibling of this object, or NULL if it's the last child
- // of its parent.
- BrowserAccessibility* GetNextSibling();
-
- // Accessors
- LONG child_id() const { return child_id_; }
- int32 renderer_id() const { return renderer_id_; }
-
- // Add one to the reference count and return the same object. Always
- // use this method when returning a BrowserAccessibility object as
- // an output parameter to a COM interface, never use it otherwise.
- BrowserAccessibility* NewReference();
-
- //
- // IAccessible methods.
- //
-
- // Performs the default action on a given object.
- STDMETHODIMP accDoDefaultAction(VARIANT var_id);
-
- // Retrieves the child element or child object at a given point on the screen.
- STDMETHODIMP accHitTest(LONG x_left, LONG y_top, VARIANT* child);
-
- // Retrieves the specified object's current screen location.
- STDMETHODIMP accLocation(LONG* x_left,
- LONG* y_top,
- LONG* width,
- LONG* height,
- VARIANT var_id);
-
- // Traverses to another UI element and retrieves the object.
- STDMETHODIMP accNavigate(LONG nav_dir, VARIANT start, VARIANT* end);
-
- // Retrieves an IDispatch interface pointer for the specified child.
- STDMETHODIMP get_accChild(VARIANT var_child, IDispatch** disp_child);
-
- // Retrieves the number of accessible children.
- STDMETHODIMP get_accChildCount(LONG* child_count);
-
- // Retrieves a string that describes the object's default action.
- STDMETHODIMP get_accDefaultAction(VARIANT var_id, BSTR* default_action);
-
- // Retrieves the object's description.
- STDMETHODIMP get_accDescription(VARIANT var_id, BSTR* desc);
-
- // Retrieves the object that has the keyboard focus.
- STDMETHODIMP get_accFocus(VARIANT* focus_child);
-
- // Retrieves the help information associated with the object.
- STDMETHODIMP get_accHelp(VARIANT var_id, BSTR* help);
-
- // Retrieves the specified object's shortcut.
- STDMETHODIMP get_accKeyboardShortcut(VARIANT var_id, BSTR* access_key);
-
- // Retrieves the name of the specified object.
- STDMETHODIMP get_accName(VARIANT var_id, BSTR* name);
-
- // Retrieves the IDispatch interface of the object's parent.
- STDMETHODIMP get_accParent(IDispatch** disp_parent);
-
- // Retrieves information describing the role of the specified object.
- STDMETHODIMP get_accRole(VARIANT var_id, VARIANT* role);
-
- // Retrieves the current state of the specified object.
- STDMETHODIMP get_accState(VARIANT var_id, VARIANT* state);
-
- // Returns the value associated with the object.
- STDMETHODIMP get_accValue(VARIANT var_id, BSTR* value);
-
- // Make an object take focus or extend the selection.
- STDMETHODIMP accSelect(LONG flags_sel, VARIANT var_id);
-
- STDMETHODIMP get_accHelpTopic(BSTR* help_file,
- VARIANT var_id,
- LONG* topic_id);
-
- STDMETHODIMP get_accSelection(VARIANT* selected);
-
- // Deprecated methods, not implemented.
- STDMETHODIMP put_accName(VARIANT var_id, BSTR put_name) {
- return E_NOTIMPL;
- }
- STDMETHODIMP put_accValue(VARIANT var_id, BSTR put_val) {
- return E_NOTIMPL;
- }
-
- //
- // IAccessible2 methods.
- //
-
- // Returns role from a longer list of possible roles.
- STDMETHODIMP role(LONG* role);
-
- // Returns the state bitmask from a larger set of possible states.
- STDMETHODIMP get_states(AccessibleStates* states);
-
- // Returns the attributes specific to this IAccessible2 object,
- // such as a cell's formula.
- STDMETHODIMP get_attributes(BSTR* attributes);
-
- // Get the unique ID of this object so that the client knows if it's
- // been encountered previously.
- STDMETHODIMP get_uniqueID(LONG* unique_id);
-
- // Get the window handle of the enclosing window.
- STDMETHODIMP get_windowHandle(HWND* window_handle);
-
- // Get this object's index in its parent object.
- STDMETHODIMP get_indexInParent(LONG* index_in_parent);
-
- // IAccessible2 methods not implemented.
- STDMETHODIMP get_extendedRole(BSTR* extended_role) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_nRelations(LONG* n_relations) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_relation(LONG relation_index,
- IAccessibleRelation** relation) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_relations(LONG max_relations,
- IAccessibleRelation** relations,
- LONG* n_relations) {
- return E_NOTIMPL;
- }
- STDMETHODIMP scrollTo(enum IA2ScrollType scroll_type) {
- return E_NOTIMPL;
- }
- STDMETHODIMP scrollToPoint(enum IA2CoordinateType coordinate_type,
- LONG x,
- LONG y) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_groupPosition(LONG* group_level,
- LONG* similar_items_in_group,
- LONG* position_in_group) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_localizedExtendedRole(BSTR* localized_extended_role) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_nExtendedStates(LONG* n_extended_states) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_extendedStates(LONG max_extended_states,
- BSTR** extended_states,
- LONG* n_extended_states) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_localizedExtendedStates(LONG max_localized_extended_states,
- BSTR** localized_extended_states,
- LONG* n_localized_extended_states) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_locale(IA2Locale* locale) {
- return E_NOTIMPL;
- }
-
- //
- // IAccessibleImage methods.
- //
-
- STDMETHODIMP get_description(BSTR* description);
-
- STDMETHODIMP get_imagePosition(enum IA2CoordinateType coordinate_type,
- long* x, long* y);
-
- STDMETHODIMP get_imageSize(long* height, long* width);
-
- //
- // IAccessibleText methods.
- //
-
- STDMETHODIMP get_nCharacters(long* n_characters);
-
- STDMETHODIMP get_text(long start_offset, long end_offset, BSTR* text);
-
- STDMETHODIMP get_caretOffset(long* offset);
-
- // IAccessibleText methods not implemented.
- STDMETHODIMP addSelection(long start_offset, long end_offset) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_attributes(long offset, long* start_offset, long* end_offset,
- BSTR* text_attributes) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_characterExtents(long offset,
- enum IA2CoordinateType coord_type,
- long* x, long* y,
- long* width, long* height) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_nSelections(long* n_selections) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_offsetAtPoint(long x, long y,
- enum IA2CoordinateType coord_type,
- long* offset) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_selection(long selection_index,
- long* start_offset,
- long* end_offset) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_textBeforeOffset(long offset,
- enum IA2TextBoundaryType boundary_type,
- long* start_offset, long* end_offset,
- BSTR* text) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_textAfterOffset(long offset,
- enum IA2TextBoundaryType boundary_type,
- long* start_offset, long* end_offset,
- BSTR* text) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_textAtOffset(long offset,
- enum IA2TextBoundaryType boundary_type,
- long* start_offset, long* end_offset,
- BSTR* text) {
- return E_NOTIMPL;
- }
- STDMETHODIMP removeSelection(long selection_index) {
- return E_NOTIMPL;
- }
- STDMETHODIMP setCaretOffset(long offset) {
- return E_NOTIMPL;
- }
- STDMETHODIMP setSelection(long selection_index,
- long start_offset,
- long end_offset) {
- return E_NOTIMPL;
- }
- STDMETHODIMP scrollSubstringTo(long start_index,
- long end_index,
- enum IA2ScrollType scroll_type) {
- return E_NOTIMPL;
- }
- STDMETHODIMP scrollSubstringToPoint(long start_index, long end_index,
- enum IA2CoordinateType coordinate_type,
- long x, long y) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_newText(IA2TextSegment* new_text) {
- return E_NOTIMPL;
- }
- STDMETHODIMP get_oldText(IA2TextSegment* old_text) {
- return E_NOTIMPL;
- }
-
- //
- // IServiceProvider methods.
- //
-
- STDMETHODIMP QueryService(REFGUID guidService, REFIID riid, void** object);
-
- //
- // CComObjectRootEx methods.
- //
-
- HRESULT WINAPI InternalQueryInterface(void* this_ptr,
- const _ATL_INTMAP_ENTRY* entries,
- REFIID iid,
- void** object);
-
- private:
- // Many MSAA methods take a var_id parameter indicating that the operation
- // should be performed on a particular child ID, rather than this object.
- // This method tries to figure out the target object from |var_id| and
- // returns a pointer to the target object if it exists, otherwise NULL.
- // Does not return a new reference.
- BrowserAccessibility* GetTargetFromChildID(const VARIANT& var_id);
-
- // Initialize the role and state metadata from the role enum and state
- // bitmasks defined in webkit/glue/webaccessibility.h.
- void InitRoleAndState(LONG web_accessibility_role,
- LONG web_accessibility_state);
-
- // Return true if this attribute is in the attributes map.
- bool HasAttribute(WebAccessibility::Attribute attribute);
-
- // Retrieve the string value of an attribute from the attribute map and
- // returns true if found.
- bool GetAttribute(WebAccessibility::Attribute attribute, string16* value);
-
- // The manager of this tree of accessibility objects; needed for
- // global operations like focus tracking.
- BrowserAccessibilityManager* manager_;
- // The parent of this object, may be NULL if we're the root object.
- BrowserAccessibility* parent_;
- // The ID of this object; globally unique within the browser process.
- LONG child_id_;
- // The index of this within its parent object.
- LONG index_in_parent_;
- // The ID of this object in the renderer process.
- int32 renderer_id_;
-
- // The children of this object.
- std::vector<BrowserAccessibility*> children_;
-
- // Accessibility metadata from the renderer, used to respond to MSAA
- // events.
- string16 name_;
- string16 value_;
- std::map<int32, string16> attributes_;
-
- LONG role_;
- LONG state_;
- string16 role_name_;
- LONG ia2_role_;
- LONG ia2_state_;
- WebKit::WebRect location_;
-
- // COM objects are reference-counted. When we're done with this object
- // and it's removed from our accessibility tree, a client may still be
- // holding onto a pointer to this object, so we mark it as inactive
- // so that calls to any of this object's methods immediately return
- // failure.
- bool instance_active_;
-
- DISALLOW_COPY_AND_ASSIGN(BrowserAccessibility);
-};
-
-#endif // CHROME_BROWSER_BROWSER_ACCESSIBILITY_H_
« no previous file with comments | « no previous file | chrome/browser/browser_accessibility.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698