Chromium Code Reviews| Index: content/browser/accessibility/browser_accessibility_manager.h |
| diff --git a/content/browser/accessibility/browser_accessibility_manager.h b/content/browser/accessibility/browser_accessibility_manager.h |
| index c3f0430935fc958d8f524da16efe5bc90d517c07..5001908b2cd9ca94b724fdc6e69ee9a3c06cd239 100644 |
| --- a/content/browser/accessibility/browser_accessibility_manager.h |
| +++ b/content/browser/accessibility/browser_accessibility_manager.h |
| @@ -13,7 +13,7 @@ |
| #include "content/common/content_export.h" |
| #include "third_party/WebKit/public/web/WebAXEnums.h" |
| #include "ui/accessibility/ax_node_data.h" |
| -#include "ui/accessibility/ax_tree.h" |
| +#include "ui/accessibility/ax_serializable_tree.h" |
| #include "ui/accessibility/ax_tree_update.h" |
| #include "ui/gfx/native_widget_types.h" |
| @@ -22,6 +22,7 @@ struct AccessibilityHostMsg_LocationChangeParams; |
| namespace content { |
| class BrowserAccessibility; |
| +class BrowserAccessibilityManager; |
| #if defined(OS_ANDROID) |
| class BrowserAccessibilityManagerAndroid; |
| #endif |
| @@ -42,6 +43,12 @@ CONTENT_EXPORT ui::AXTreeUpdate MakeAXTreeUpdate( |
| const ui::AXNodeData& node9 = ui::AXNodeData()); |
| // Class that can perform actions on behalf of the BrowserAccessibilityManager. |
| +// Note: BrowserAccessibilityManager should never cache any of the return |
|
Charlie Reis
2014/08/25 20:58:43
Nice.
|
| +// values from any of these interfaces, especially those that return pointers. |
| +// They may only be valid within this call stack. That policy eliminates any |
| +// concerns about ownership and lifecycle issues; none of these interfaces |
| +// transfer ownership and no return values are guaranteed to be valid outside |
| +// of the current call stack. |
| class CONTENT_EXPORT BrowserAccessibilityDelegate { |
| public: |
| virtual ~BrowserAccessibilityDelegate() {} |
| @@ -63,6 +70,9 @@ class CONTENT_EXPORT BrowserAccessibilityDelegate { |
| virtual void AccessibilityFatalError() = 0; |
| virtual gfx::AcceleratedWidget AccessibilityGetAcceleratedWidget() = 0; |
| virtual gfx::NativeViewAccessible AccessibilityGetNativeViewAccessible() = 0; |
| + virtual BrowserAccessibilityManager* AccessibilityGetChildFrame( |
| + int64 frame_tree_node_id) = 0; |
| + virtual BrowserAccessibilityManager* AccessibilityGetParentFrame() = 0; |
| }; |
| class CONTENT_EXPORT BrowserAccessibilityFactory { |
| @@ -189,6 +199,13 @@ class CONTENT_EXPORT BrowserAccessibilityManager : public ui::AXTreeDelegate { |
| delegate_ = delegate; |
| } |
| + // Get a snapshot of the current tree as an AXTreeUpdate. |
| + ui::AXTreeUpdate SnapshotAXTreeForTesting(); |
| + |
| + // Frame tree support. |
| + void SetChildFrameTreeNodeId(int32 node_id, int64 child_frame_tree_node_id); |
| + BrowserAccessibility* GetCrossFrameParent(); |
| + |
| protected: |
| BrowserAccessibilityManager( |
| BrowserAccessibilityDelegate* delegate, |
| @@ -225,21 +242,6 @@ class CONTENT_EXPORT BrowserAccessibilityManager : public ui::AXTreeDelegate { |
| OSK_ALLOWED |
| }; |
| - // Update a set of nodes using data received from the renderer |
| - // process. |
| - bool UpdateNodes(const std::vector<ui::AXNodeData>& nodes); |
| - |
| - // Update one node from the tree using data received from the renderer |
| - // process. Returns true on success, false on fatal error. |
| - bool UpdateNode(const ui::AXNodeData& src); |
| - |
| - void SetRoot(BrowserAccessibility* root); |
| - |
| - BrowserAccessibility* CreateNode( |
| - BrowserAccessibility* parent, |
| - int32 id, |
| - int32 index_in_parent); |
| - |
| protected: |
| // The object that can perform actions on our behalf. |
| BrowserAccessibilityDelegate* delegate_; |
| @@ -248,7 +250,7 @@ class CONTENT_EXPORT BrowserAccessibilityManager : public ui::AXTreeDelegate { |
| scoped_ptr<BrowserAccessibilityFactory> factory_; |
| // The underlying tree of accessibility objects. |
| - scoped_ptr<ui::AXTree> tree_; |
| + scoped_ptr<ui::AXSerializableTree> tree_; |
| // The node that currently has focus. |
| ui::AXNode* focus_; |