Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ | 5 #ifndef CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ |
| 6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ | 6 #define CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <utility> | 10 #include <utility> |
| 11 #include <vector> | 11 #include <vector> |
| 12 | 12 |
| 13 #include "base/basictypes.h" | 13 #include "base/basictypes.h" |
| 14 #include "build/build_config.h" | 14 #include "build/build_config.h" |
| 15 #include "content/common/accessibility_node_data.h" | |
| 15 #include "content/common/content_export.h" | 16 #include "content/common/content_export.h" |
| 16 #include "webkit/glue/webaccessibility.h" | |
| 17 | 17 |
| 18 class BrowserAccessibilityManager; | 18 class BrowserAccessibilityManager; |
| 19 #if defined(OS_MACOSX) && __OBJC__ | 19 #if defined(OS_MACOSX) && __OBJC__ |
| 20 @class BrowserAccessibilityCocoa; | 20 @class BrowserAccessibilityCocoa; |
| 21 #elif defined(OS_WIN) | 21 #elif defined(OS_WIN) |
| 22 class BrowserAccessibilityWin; | 22 class BrowserAccessibilityWin; |
| 23 #elif defined(TOOLKIT_GTK) | 23 #elif defined(TOOLKIT_GTK) |
| 24 class BrowserAccessibilityGtk; | 24 class BrowserAccessibilityGtk; |
| 25 #endif | 25 #endif |
| 26 | 26 |
| 27 using webkit_glue::WebAccessibility; | 27 using content::AccessibilityNodeData; |
|
jam
2012/06/12 00:00:42
this is against the google style guide per http://
dmazzoni
2012/06/12 18:35:33
Done throughout, got rid of "using" in header file
| |
| 28 typedef std::map<WebAccessibility::BoolAttribute, bool> BoolAttrMap; | 28 typedef std::map<AccessibilityNodeData::BoolAttribute, bool> BoolAttrMap; |
| 29 typedef std::map<WebAccessibility::FloatAttribute, float> FloatAttrMap; | 29 typedef std::map<AccessibilityNodeData::FloatAttribute, float> FloatAttrMap; |
| 30 typedef std::map<WebAccessibility::IntAttribute, int> IntAttrMap; | 30 typedef std::map<AccessibilityNodeData::IntAttribute, int> IntAttrMap; |
| 31 typedef std::map<WebAccessibility::StringAttribute, string16> StringAttrMap; | 31 typedef std::map<AccessibilityNodeData::StringAttribute, string16> |
| 32 StringAttrMap; | |
| 32 | 33 |
| 33 //////////////////////////////////////////////////////////////////////////////// | 34 //////////////////////////////////////////////////////////////////////////////// |
| 34 // | 35 // |
| 35 // BrowserAccessibility | 36 // BrowserAccessibility |
| 36 // | 37 // |
| 37 // Class implementing the cross platform interface for the Browser-Renderer | 38 // Class implementing the cross platform interface for the Browser-Renderer |
| 38 // communication of accessibility information, providing accessibility | 39 // communication of accessibility information, providing accessibility |
| 39 // to be used by screen readers and other assistive technology (AT). | 40 // to be used by screen readers and other assistive technology (AT). |
| 40 // | 41 // |
| 41 // An implementation for each platform handles platform specific accessibility | 42 // An implementation for each platform handles platform specific accessibility |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 63 // Returns true if this is a native platform-specific object, vs a | 64 // Returns true if this is a native platform-specific object, vs a |
| 64 // cross-platform generic object. | 65 // cross-platform generic object. |
| 65 virtual bool IsNative() const; | 66 virtual bool IsNative() const; |
| 66 | 67 |
| 67 // Initialize this object, reading attributes from |src|. Does not | 68 // Initialize this object, reading attributes from |src|. Does not |
| 68 // recurse into children of |src| and build the whole subtree. | 69 // recurse into children of |src| and build the whole subtree. |
| 69 void PreInitialize(BrowserAccessibilityManager* manager, | 70 void PreInitialize(BrowserAccessibilityManager* manager, |
| 70 BrowserAccessibility* parent, | 71 BrowserAccessibility* parent, |
| 71 int32 child_id, | 72 int32 child_id, |
| 72 int32 index_in_parent, | 73 int32 index_in_parent, |
| 73 const WebAccessibility& src); | 74 const AccessibilityNodeData& src); |
| 74 | 75 |
| 75 // Add a child of this object. | 76 // Add a child of this object. |
| 76 void AddChild(BrowserAccessibility* child); | 77 void AddChild(BrowserAccessibility* child); |
| 77 | 78 |
| 78 // Update the parent and index in parent if this node has been moved. | 79 // Update the parent and index in parent if this node has been moved. |
| 79 void UpdateParent(BrowserAccessibility* parent, int index_in_parent); | 80 void UpdateParent(BrowserAccessibility* parent, int index_in_parent); |
| 80 | 81 |
| 81 // Return true if this object is equal to or a descendant of |ancestor|. | 82 // Return true if this object is equal to or a descendant of |ancestor|. |
| 82 bool IsDescendantOf(BrowserAccessibility* ancestor); | 83 bool IsDescendantOf(BrowserAccessibility* ancestor); |
| 83 | 84 |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 196 #if defined(OS_MACOSX) && __OBJC__ | 197 #if defined(OS_MACOSX) && __OBJC__ |
| 197 BrowserAccessibilityCocoa* ToBrowserAccessibilityCocoa(); | 198 BrowserAccessibilityCocoa* ToBrowserAccessibilityCocoa(); |
| 198 #elif defined(OS_WIN) | 199 #elif defined(OS_WIN) |
| 199 BrowserAccessibilityWin* ToBrowserAccessibilityWin(); | 200 BrowserAccessibilityWin* ToBrowserAccessibilityWin(); |
| 200 #elif defined(TOOLKIT_GTK) | 201 #elif defined(TOOLKIT_GTK) |
| 201 BrowserAccessibilityGtk* ToBrowserAccessibilityGtk(); | 202 BrowserAccessibilityGtk* ToBrowserAccessibilityGtk(); |
| 202 #endif | 203 #endif |
| 203 | 204 |
| 204 // Retrieve the value of a bool attribute from the bool attribute | 205 // Retrieve the value of a bool attribute from the bool attribute |
| 205 // map and returns true if found. | 206 // map and returns true if found. |
| 206 bool GetBoolAttribute(WebAccessibility::BoolAttribute attr, bool* value) | 207 bool GetBoolAttribute(AccessibilityNodeData::BoolAttribute attr, bool* value) |
| 207 const; | 208 const; |
| 208 | 209 |
| 209 // Retrieve the value of a float attribute from the float attribute | 210 // Retrieve the value of a float attribute from the float attribute |
| 210 // map and returns true if found. | 211 // map and returns true if found. |
| 211 bool GetFloatAttribute(WebAccessibility::FloatAttribute attr, float* value) | 212 bool GetFloatAttribute(AccessibilityNodeData::FloatAttribute attr, |
| 212 const; | 213 float* value) const; |
| 213 | 214 |
| 214 // Retrieve the value of an integer attribute from the integer attribute | 215 // Retrieve the value of an integer attribute from the integer attribute |
| 215 // map and returns true if found. | 216 // map and returns true if found. |
| 216 bool GetIntAttribute(WebAccessibility::IntAttribute attribute, int* value) | 217 bool GetIntAttribute(AccessibilityNodeData::IntAttribute attribute, |
| 217 const; | 218 int* value) const; |
| 218 | 219 |
| 219 // Retrieve the value of a string attribute from the attribute map and | 220 // Retrieve the value of a string attribute from the attribute map and |
| 220 // returns true if found. | 221 // returns true if found. |
| 221 bool GetStringAttribute(WebAccessibility::StringAttribute attribute, | 222 bool GetStringAttribute(AccessibilityNodeData::StringAttribute attribute, |
| 222 string16* value) const; | 223 string16* value) const; |
| 223 | 224 |
| 224 // Retrieve the value of a html attribute from the attribute map and | 225 // Retrieve the value of a html attribute from the attribute map and |
| 225 // returns true if found. | 226 // returns true if found. |
| 226 bool GetHtmlAttribute(const char* attr, string16* value) const; | 227 bool GetHtmlAttribute(const char* attr, string16* value) const; |
| 227 | 228 |
| 228 // Utility method to handle special cases for ARIA booleans, tristates and | 229 // Utility method to handle special cases for ARIA booleans, tristates and |
| 229 // booleans which have a "mixed" state. | 230 // booleans which have a "mixed" state. |
| 230 // | 231 // |
| 231 // Warning: the term "Tristate" is used loosely by the spec and here, | 232 // Warning: the term "Tristate" is used loosely by the spec and here, |
| 232 // as some attributes support a 4th state. | 233 // as some attributes support a 4th state. |
| 233 // | 234 // |
| 234 // The following attributes are appropriate to use with this method: | 235 // The following attributes are appropriate to use with this method: |
| 235 // aria-selected (selectable) | 236 // aria-selected (selectable) |
| 236 // aria-grabbed (grabbable) | 237 // aria-grabbed (grabbable) |
| 237 // aria-expanded (expandable) | 238 // aria-expanded (expandable) |
| 238 // aria-pressed (toggleable/pressable) -- supports 4th "mixed" state | 239 // aria-pressed (toggleable/pressable) -- supports 4th "mixed" state |
| 239 // aria-checked (checkable) -- supports 4th "mixed state" | 240 // aria-checked (checkable) -- supports 4th "mixed state" |
| 240 bool GetAriaTristate(const char* attr_name, | 241 bool GetAriaTristate(const char* attr_name, |
| 241 bool* is_defined, | 242 bool* is_defined, |
| 242 bool* is_mixed) const; | 243 bool* is_mixed) const; |
| 243 | 244 |
| 244 // Returns true if the bit corresponding to the given state enum is 1. | 245 // Returns true if the bit corresponding to the given state enum is 1. |
| 245 bool HasState(WebAccessibility::State state_enum) const; | 246 bool HasState(AccessibilityNodeData::State state_enum) const; |
| 246 | 247 |
| 247 // Returns true if this node is an editable text field of any kind. | 248 // Returns true if this node is an editable text field of any kind. |
| 248 bool IsEditableText() const; | 249 bool IsEditableText() const; |
| 249 | 250 |
| 250 // Append the text from this node and its children. | 251 // Append the text from this node and its children. |
| 251 string16 GetTextRecursive() const; | 252 string16 GetTextRecursive() const; |
| 252 | 253 |
| 253 protected: | 254 protected: |
| 254 // Perform platform specific initialization. This can be called multiple times | 255 // Perform platform specific initialization. This can be called multiple times |
| 255 // during the lifetime of this instance after the members of this base object | 256 // during the lifetime of this instance after the members of this base object |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 303 // tree, a client may still be holding onto a pointer to this object, so | 304 // tree, a client may still be holding onto a pointer to this object, so |
| 304 // we mark it as inactive so that calls to any of this object's methods | 305 // we mark it as inactive so that calls to any of this object's methods |
| 305 // immediately return failure. | 306 // immediately return failure. |
| 306 bool instance_active_; | 307 bool instance_active_; |
| 307 | 308 |
| 308 private: | 309 private: |
| 309 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibility); | 310 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibility); |
| 310 }; | 311 }; |
| 311 | 312 |
| 312 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ | 313 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ |
| OLD | NEW |