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

Side by Side Diff: content/browser/accessibility/browser_accessibility.h

Issue 1768753003: Implemented the reporting of text style and language information on Windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated to using HashTable from base and GetInheritedStringAttribute instead of specialized methods… Created 4 years, 9 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 unified diff | Download patch
OLDNEW
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 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 virtual void NativeAddReference() { } 185 virtual void NativeAddReference() { }
186 186
187 // Subclasses should override this to support platform reference counting. 187 // Subclasses should override this to support platform reference counting.
188 virtual void NativeReleaseReference(); 188 virtual void NativeReleaseReference();
189 189
190 // 190 //
191 // Accessors 191 // Accessors
192 // 192 //
193 193
194 BrowserAccessibilityManager* manager() const { return manager_; } 194 BrowserAccessibilityManager* manager() const { return manager_; }
195 bool instance_active() const { return node_ != NULL; } 195 bool instance_active() const { return node_ && manager_; }
196 ui::AXNode* node() const { return node_; } 196 ui::AXNode* node() const { return node_; }
197 197
198 // These access the internal accessibility tree, which doesn't necessarily 198 // These access the internal accessibility tree, which doesn't necessarily
199 // reflect the accessibility tree that should be exposed on each platform. 199 // reflect the accessibility tree that should be exposed on each platform.
200 // Use PlatformChildCount and PlatformGetChild to implement platform 200 // Use PlatformChildCount and PlatformGetChild to implement platform
201 // accessibility APIs. 201 // accessibility APIs.
202 uint32_t InternalChildCount() const; 202 uint32_t InternalChildCount() const;
203 BrowserAccessibility* InternalGetChild(uint32_t child_index) const; 203 BrowserAccessibility* InternalGetChild(uint32_t child_index) const;
204 BrowserAccessibility* InternalGetParent() const; 204 BrowserAccessibility* InternalGetParent() const;
205 205
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 // either std::string or base::string16, for convenience. 247 // either std::string or base::string16, for convenience.
248 248
249 bool HasBoolAttribute(ui::AXBoolAttribute attr) const; 249 bool HasBoolAttribute(ui::AXBoolAttribute attr) const;
250 bool GetBoolAttribute(ui::AXBoolAttribute attr) const; 250 bool GetBoolAttribute(ui::AXBoolAttribute attr) const;
251 bool GetBoolAttribute(ui::AXBoolAttribute attr, bool* value) const; 251 bool GetBoolAttribute(ui::AXBoolAttribute attr, bool* value) const;
252 252
253 bool HasFloatAttribute(ui::AXFloatAttribute attr) const; 253 bool HasFloatAttribute(ui::AXFloatAttribute attr) const;
254 float GetFloatAttribute(ui::AXFloatAttribute attr) const; 254 float GetFloatAttribute(ui::AXFloatAttribute attr) const;
255 bool GetFloatAttribute(ui::AXFloatAttribute attr, float* value) const; 255 bool GetFloatAttribute(ui::AXFloatAttribute attr, float* value) const;
256 256
257 bool HasInheritedStringAttribute(ui::AXStringAttribute attribute) const;
258 std::string GetInheritedStringAttribute(
259 ui::AXStringAttribute attribute) const;
260 bool GetInheritedStringAttribute(ui::AXStringAttribute attribute,
261 std::string* value) const;
262
263 bool GetInheritedString16Attribute(ui::AXStringAttribute attribute,
264 base::string16* value) const;
265 base::string16 GetInheritedString16Attribute(
266 ui::AXStringAttribute attribute) const;
267
257 bool HasIntAttribute(ui::AXIntAttribute attribute) const; 268 bool HasIntAttribute(ui::AXIntAttribute attribute) const;
258 int GetIntAttribute(ui::AXIntAttribute attribute) const; 269 int GetIntAttribute(ui::AXIntAttribute attribute) const;
259 bool GetIntAttribute(ui::AXIntAttribute attribute, int* value) const; 270 bool GetIntAttribute(ui::AXIntAttribute attribute, int* value) const;
260 271
261 bool HasStringAttribute( 272 bool HasStringAttribute(
262 ui::AXStringAttribute attribute) const; 273 ui::AXStringAttribute attribute) const;
263 const std::string& GetStringAttribute(ui::AXStringAttribute attribute) const; 274 const std::string& GetStringAttribute(ui::AXStringAttribute attribute) const;
264 bool GetStringAttribute(ui::AXStringAttribute attribute, 275 bool GetStringAttribute(ui::AXStringAttribute attribute,
265 std::string* value) const; 276 std::string* value) const;
266 277
(...skipping 22 matching lines...) Expand all
289 // The following attributes are appropriate to use with this method: 300 // The following attributes are appropriate to use with this method:
290 // aria-selected (selectable) 301 // aria-selected (selectable)
291 // aria-grabbed (grabbable) 302 // aria-grabbed (grabbable)
292 // aria-expanded (expandable) 303 // aria-expanded (expandable)
293 // aria-pressed (toggleable/pressable) -- supports 4th "mixed" state 304 // aria-pressed (toggleable/pressable) -- supports 4th "mixed" state
294 // aria-checked (checkable) -- supports 4th "mixed state" 305 // aria-checked (checkable) -- supports 4th "mixed state"
295 bool GetAriaTristate(const char* attr_name, 306 bool GetAriaTristate(const char* attr_name,
296 bool* is_defined, 307 bool* is_defined,
297 bool* is_mixed) const; 308 bool* is_mixed) const;
298 309
310 base::string16 GetFontFamily() const;
311 base::string16 GetLanguage() const;
299 virtual base::string16 GetText() const; 312 virtual base::string16 GetText() const;
300 313
301 // Returns true if the bit corresponding to the given state enum is 1. 314 // Returns true if the bit corresponding to the given state enum is 1.
302 bool HasState(ui::AXState state_enum) const; 315 bool HasState(ui::AXState state_enum) const;
303 316
304 // Returns true if this node is an cell or an table header. 317 // Returns true if this node is an cell or an table header.
305 bool IsCellOrTableHeaderRole() const; 318 bool IsCellOrTableHeaderRole() const;
306 319
307 // Returns true if the caret is active on this object. 320 // Returns true if the caret is active on this object.
308 bool HasCaret() const; 321 bool HasCaret() const;
309 322
310 // True if this is a web area, and its grandparent is a presentational iframe. 323 // True if this is a web area, and its grandparent is a presentational iframe.
311 bool IsWebAreaForPresentationalIframe() const; 324 bool IsWebAreaForPresentationalIframe() const;
312 325
313 bool IsControl() const; 326 bool IsControl() const;
314 bool IsSimpleTextControl() const; 327 bool IsSimpleTextControl() const;
315 // Indicates if this object is at the root of a rich edit text control. 328 // Indicates if this object is at the root of a rich edit text control.
316 bool IsRichTextControl() const; 329 bool IsRichTextControl() const;
317 330
318 // If an object is focusable but has no accessible name, use this 331 // If an object is focusable but has no accessible name, use this
319 // to compute a name from its descendants. 332 // to compute a name from its descendants.
320 std::string ComputeAccessibleNameFromDescendants(); 333 std::string ComputeAccessibleNameFromDescendants();
321 334
322 protected: 335 protected:
323 BrowserAccessibility(); 336 BrowserAccessibility();
324 337
338 static void RGBAToColorValues(unsigned int color,
339 unsigned int* red,
340 unsigned int* green,
341 unsigned int* blue,
342 unsigned int* alpha);
343
325 // The manager of this tree of accessibility objects. 344 // The manager of this tree of accessibility objects.
326 BrowserAccessibilityManager* manager_; 345 BrowserAccessibilityManager* manager_;
327 346
328 // The underlying node. 347 // The underlying node.
329 ui::AXNode* node_; 348 ui::AXNode* node_;
330 349
331 private: 350 private:
332 // |GetInnerText| recursively includes all the text from descendants such as 351 // |GetInnerText| recursively includes all the text from descendants such as
333 // text found in any embedded object. In contrast, |GetText| might include a 352 // text found in any embedded object. In contrast, |GetText| might include a
334 // special character in the place of every embedded object instead of its 353 // special character in the place of every embedded object instead of its
(...skipping 10 matching lines...) Expand all
345 // its nearest scrollable ancestor) to local bounds (which are relative 364 // its nearest scrollable ancestor) to local bounds (which are relative
346 // to the top of the web accessibility tree). 365 // to the top of the web accessibility tree).
347 gfx::Rect ElementBoundsToLocalBounds(gfx::Rect bounds) const; 366 gfx::Rect ElementBoundsToLocalBounds(gfx::Rect bounds) const;
348 367
349 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibility); 368 DISALLOW_COPY_AND_ASSIGN(BrowserAccessibility);
350 }; 369 };
351 370
352 } // namespace content 371 } // namespace content
353 372
354 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_ 373 #endif // CONTENT_BROWSER_ACCESSIBILITY_BROWSER_ACCESSIBILITY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698