| Index: Source/modules/accessibility/AXNodeObject.cpp | 
| diff --git a/Source/modules/accessibility/AXNodeObject.cpp b/Source/modules/accessibility/AXNodeObject.cpp | 
| index 6e79ce19f6a1582343e14a50267155993d77f1e6..69c0ab5f06e891270661d1a5f2231da825ea45c2 100644 | 
| --- a/Source/modules/accessibility/AXNodeObject.cpp | 
| +++ b/Source/modules/accessibility/AXNodeObject.cpp | 
| @@ -1137,6 +1137,17 @@ AccessibilityRole AXNodeObject::ariaRoleAttribute() const | 
| return m_ariaRole; | 
| } | 
|  | 
| +AccessibilityDefined AXNodeObject::isAriaGrabbed() const | 
| +{ | 
| +    const AtomicString& grabbed = getAttribute(aria_grabbedAttr); | 
| +    if (equalIgnoringCase(grabbed, "true")) | 
| +        return DefinedTrue; | 
| +    if (equalIgnoringCase(grabbed, "false")) | 
| +        return DefinedFalse; | 
| + | 
| +    return DefinedUndefined; | 
| +} | 
| + | 
| // When building the textUnderElement for an object, determine whether or not | 
| // we should include the inner text of this given descendant object or skip it. | 
| static bool shouldUseAccessibilityObjectInnerText(AXObject* obj) | 
|  |