| Index: chrome/browser/accessibility/browser_accessibility_win.h
|
| ===================================================================
|
| --- chrome/browser/accessibility/browser_accessibility_win.h (revision 61706)
|
| +++ chrome/browser/accessibility/browser_accessibility_win.h (working copy)
|
| @@ -60,6 +60,57 @@
|
|
|
| virtual ~BrowserAccessibilityWin();
|
|
|
| + // Initialize this object and mark it as active.
|
| + void Initialize(BrowserAccessibilityManagerWin* manager,
|
| + BrowserAccessibilityWin* parent,
|
| + LONG child_id,
|
| + LONG index_in_parent,
|
| + const webkit_glue::WebAccessibility& src);
|
| +
|
| + // Add a child of this object.
|
| + void AddChild(BrowserAccessibilityWin* 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(BrowserAccessibilityWin* ancestor);
|
| +
|
| + // Returns the parent of this object, or NULL if it's the
|
| + // BrowserAccessibilityWin root.
|
| + BrowserAccessibilityWin* GetParent();
|
| +
|
| + // Returns the number of children of this BrowserAccessibilityWin object.
|
| + uint32 GetChildCount();
|
| +
|
| + // Return a pointer to the child with the given index.
|
| + BrowserAccessibilityWin* GetChild(uint32 child_index);
|
| +
|
| + // Return the previous sibling of this object, or NULL if it's the first
|
| + // child of its parent.
|
| + BrowserAccessibilityWin* GetPreviousSibling();
|
| +
|
| + // Return the next sibling of this object, or NULL if it's the last child
|
| + // of its parent.
|
| + BrowserAccessibilityWin* GetNextSibling();
|
| +
|
| + // Replace a child BrowserAccessibilityWin object. Used when updating the
|
| + // accessibility tree.
|
| + void ReplaceChild(
|
| + const BrowserAccessibilityWin* old_acc, BrowserAccessibilityWin* new_acc);
|
| +
|
| + // Accessors
|
| + LONG child_id() const { return child_id_; }
|
| + int32 renderer_id() const { return renderer_id_; }
|
| + LONG index_in_parent() const { return index_in_parent_; }
|
| +
|
| + // Add one to the reference count and return the same object. Always
|
| + // use this method when returning a BrowserAccessibilityWin object as
|
| + // an output parameter to a COM interface, never use it otherwise.
|
| + BrowserAccessibilityWin* NewReference();
|
| +
|
| //
|
| // IAccessible methods.
|
| //
|
| @@ -438,21 +489,6 @@
|
| void** object);
|
|
|
| private:
|
| - // Initialize this object and mark it as active.
|
| - virtual void Initialize();
|
| -
|
| - // 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.
|
| - virtual void ReleaseTree();
|
| -
|
| - virtual void ReleaseReference();
|
| -
|
| - // Add one to the reference count and return the same object. Always
|
| - // use this method when returning a BrowserAccessibilityWin object as
|
| - // an output parameter to a COM interface, never use it otherwise.
|
| - BrowserAccessibilityWin* NewReference();
|
| -
|
| // 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
|
| @@ -462,7 +498,8 @@
|
|
|
| // Initialize the role and state metadata from the role enum and state
|
| // bitmasks defined in webkit/glue/webaccessibility.h.
|
| - void InitRoleAndState();
|
| + 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);
|
| @@ -487,6 +524,36 @@
|
| // Escape a string like it would be escaped for a URL or HTML form.
|
| string16 Escape(string16 str);
|
|
|
| + // The manager of this tree of accessibility objects; needed for
|
| + // global operations like focus tracking.
|
| + BrowserAccessibilityManagerWin* manager_;
|
| + // The parent of this object, may be NULL if we're the root object.
|
| + BrowserAccessibilityWin* 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<BrowserAccessibilityWin*> children_;
|
| +
|
| + // Accessibility metadata from the renderer, used to respond to MSAA
|
| + // events.
|
| + string16 name_;
|
| + string16 value_;
|
| + std::map<int32, string16> attributes_;
|
| + std::vector<std::pair<string16, string16> > html_attributes_;
|
| +
|
| + int src_role_;
|
| + 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
|
| @@ -494,17 +561,6 @@
|
| // failure.
|
| bool instance_active_;
|
|
|
| - // IAccessible role and state.
|
| - int32 ia_state_;
|
| - int32 ia_role_;
|
| -
|
| - // IAccessible2 role and state.
|
| - int32 ia2_role_;
|
| - int32 ia2_state_;
|
| -
|
| - // Give BrowserAccessibility::Create access to our constructor.
|
| - friend class BrowserAccessibility;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(BrowserAccessibilityWin);
|
| };
|
|
|
|
|