| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008, 2009, 2011 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 } | 424 } |
| 425 | 425 |
| 426 bool AXObject::isDescendantOfBarrenParent() const | 426 bool AXObject::isDescendantOfBarrenParent() const |
| 427 { | 427 { |
| 428 updateCachedAttributeValuesIfNeeded(); | 428 updateCachedAttributeValuesIfNeeded(); |
| 429 return m_cachedIsDescendantOfBarrenParent; | 429 return m_cachedIsDescendantOfBarrenParent; |
| 430 } | 430 } |
| 431 | 431 |
| 432 bool AXObject::computeIsDescendantOfBarrenParent() const | 432 bool AXObject::computeIsDescendantOfBarrenParent() const |
| 433 { | 433 { |
| 434 for (AXObject* object = parentObject(); object; object = object->parentObjec
t()) { | 434 if (AXObject* parent = parentObject()) { |
| 435 if (!object->canHaveChildren()) | 435 if (!parent->canHaveChildren()) |
| 436 return true; | 436 return true; |
| 437 |
| 438 return parent->isDescendantOfBarrenParent(); |
| 437 } | 439 } |
| 438 | 440 |
| 439 return false; | 441 return false; |
| 440 } | 442 } |
| 441 | 443 |
| 442 const AXObject* AXObject::ariaHiddenRoot() const | 444 const AXObject* AXObject::ariaHiddenRoot() const |
| 443 { | 445 { |
| 444 for (const AXObject* object = this; object; object = object->parentObject())
{ | 446 for (const AXObject* object = this; object; object = object->parentObject())
{ |
| 445 if (equalIgnoringCase(object->getAttribute(aria_hiddenAttr), "true")) | 447 if (equalIgnoringCase(object->getAttribute(aria_hiddenAttr), "true")) |
| 446 return object; | 448 return object; |
| (...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1143 } | 1145 } |
| 1144 | 1146 |
| 1145 const AtomicString& AXObject::roleName(AccessibilityRole role) | 1147 const AtomicString& AXObject::roleName(AccessibilityRole role) |
| 1146 { | 1148 { |
| 1147 static const Vector<AtomicString>* roleNameVector = createRoleNameVector(); | 1149 static const Vector<AtomicString>* roleNameVector = createRoleNameVector(); |
| 1148 | 1150 |
| 1149 return roleNameVector->at(role); | 1151 return roleNameVector->at(role); |
| 1150 } | 1152 } |
| 1151 | 1153 |
| 1152 } // namespace blink | 1154 } // namespace blink |
| OLD | NEW |