| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "modules/accessibility/InspectorAccessibilityAgent.h" | 5 #include "modules/accessibility/InspectorAccessibilityAgent.h" |
| 6 | 6 |
| 7 #include "core/HTMLNames.h" | 7 #include "core/HTMLNames.h" |
| 8 #include "core/dom/AXObjectCache.h" | 8 #include "core/dom/AXObjectCache.h" |
| 9 #include "core/dom/DOMNodeIds.h" | 9 #include "core/dom/DOMNodeIds.h" |
| 10 #include "core/dom/Element.h" | 10 #include "core/dom/Element.h" |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 334 SparseAttributeAXPropertyAdapter(AXObject& axObject, | 334 SparseAttributeAXPropertyAdapter(AXObject& axObject, |
| 335 protocol::Array<AXProperty>& properties) | 335 protocol::Array<AXProperty>& properties) |
| 336 : m_axObject(&axObject), m_properties(properties) {} | 336 : m_axObject(&axObject), m_properties(properties) {} |
| 337 | 337 |
| 338 DEFINE_INLINE_TRACE() { visitor->trace(m_axObject); } | 338 DEFINE_INLINE_TRACE() { visitor->trace(m_axObject); } |
| 339 | 339 |
| 340 private: | 340 private: |
| 341 Member<AXObject> m_axObject; | 341 Member<AXObject> m_axObject; |
| 342 protocol::Array<AXProperty>& m_properties; | 342 protocol::Array<AXProperty>& m_properties; |
| 343 | 343 |
| 344 void addBoolAttribute(AXBoolAttribute attribute, bool value) {} | 344 void addBoolAttribute(AXBoolAttribute attribute, bool value) { |
| 345 // Implement this when we add the first sparse bool attribute. |
| 346 } |
| 345 | 347 |
| 346 void addStringAttribute(AXStringAttribute attribute, const String& value) {} | 348 void addStringAttribute(AXStringAttribute attribute, const String& value) { |
| 349 switch (attribute) { |
| 350 case AXStringAttribute::AriaKeyShortcuts: |
| 351 m_properties.addItem( |
| 352 createProperty(AXGlobalStatesEnum::Keyshortcuts, |
| 353 createValue(value, AXValueTypeEnum::String))); |
| 354 break; |
| 355 case AXStringAttribute::AriaRoleDescription: |
| 356 m_properties.addItem( |
| 357 createProperty(AXGlobalStatesEnum::Roledescription, |
| 358 createValue(value, AXValueTypeEnum::String))); |
| 359 break; |
| 360 } |
| 361 } |
| 347 | 362 |
| 348 void addObjectAttribute(AXObjectAttribute attribute, AXObject& object) { | 363 void addObjectAttribute(AXObjectAttribute attribute, AXObject& object) { |
| 349 switch (attribute) { | 364 switch (attribute) { |
| 350 case AXObjectAttribute::AriaActiveDescendant: | 365 case AXObjectAttribute::AriaActiveDescendant: |
| 351 m_properties.addItem( | 366 m_properties.addItem( |
| 352 createProperty(AXRelationshipAttributesEnum::Activedescendant, | 367 createProperty(AXRelationshipAttributesEnum::Activedescendant, |
| 353 createRelatedNodeListValue(object))); | 368 createRelatedNodeListValue(object))); |
| 354 break; | 369 break; |
| 370 case AXObjectAttribute::AriaErrorMessage: |
| 371 m_properties.addItem( |
| 372 createProperty(AXRelationshipAttributesEnum::Errormessage, |
| 373 createRelatedNodeListValue(object))); |
| 374 break; |
| 355 } | 375 } |
| 356 } | 376 } |
| 357 | 377 |
| 358 void addObjectVectorAttribute(AXObjectVectorAttribute attribute, | 378 void addObjectVectorAttribute(AXObjectVectorAttribute attribute, |
| 359 HeapVector<Member<AXObject>>& objects) { | 379 HeapVector<Member<AXObject>>& objects) { |
| 360 switch (attribute) { | 380 switch (attribute) { |
| 361 case AXObjectVectorAttribute::AriaControls: | 381 case AXObjectVectorAttribute::AriaControls: |
| 362 m_properties.addItem(createRelatedNodeListProperty( | 382 m_properties.addItem(createRelatedNodeListProperty( |
| 363 AXRelationshipAttributesEnum::Controls, objects, aria_controlsAttr, | 383 AXRelationshipAttributesEnum::Controls, objects, aria_controlsAttr, |
| 364 *m_axObject)); | 384 *m_axObject)); |
| 365 break; | 385 break; |
| 386 case AXObjectVectorAttribute::AriaDetails: |
| 387 m_properties.addItem(createRelatedNodeListProperty( |
| 388 AXRelationshipAttributesEnum::Details, objects, aria_controlsAttr, |
| 389 *m_axObject)); |
| 390 break; |
| 366 case AXObjectVectorAttribute::AriaFlowTo: | 391 case AXObjectVectorAttribute::AriaFlowTo: |
| 367 m_properties.addItem(createRelatedNodeListProperty( | 392 m_properties.addItem(createRelatedNodeListProperty( |
| 368 AXRelationshipAttributesEnum::Flowto, objects, aria_flowtoAttr, | 393 AXRelationshipAttributesEnum::Flowto, objects, aria_flowtoAttr, |
| 369 *m_axObject)); | 394 *m_axObject)); |
| 370 break; | 395 break; |
| 371 } | 396 } |
| 372 } | 397 } |
| 373 }; | 398 }; |
| 374 | 399 |
| 375 void fillRelationships(AXObject& axObject, | 400 void fillRelationships(AXObject& axObject, |
| (...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 708 } | 733 } |
| 709 } | 734 } |
| 710 | 735 |
| 711 DEFINE_TRACE(InspectorAccessibilityAgent) { | 736 DEFINE_TRACE(InspectorAccessibilityAgent) { |
| 712 visitor->trace(m_page); | 737 visitor->trace(m_page); |
| 713 visitor->trace(m_domAgent); | 738 visitor->trace(m_domAgent); |
| 714 InspectorBaseAgent::trace(visitor); | 739 InspectorBaseAgent::trace(visitor); |
| 715 } | 740 } |
| 716 | 741 |
| 717 } // namespace blink | 742 } // namespace blink |
| OLD | NEW |