[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Wed Apr 7 23:22:45 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit e77f4dd14981b6514734257df3be153ade42468c
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Nov 4 20:22:13 2009 +0000

    2009-11-04  Chris Fleizach  <cfleizach at apple.com>
    
            Reviewed by Beth Dakin.
    
            Need to implement ARIA role="combobox"
            https://bugs.webkit.org/show_bug.cgi?id=31096
    
            * accessibility/aria-combobox.html: Added.
            * platform/gtk/Skipped:
            * platform/mac/accessibility/aria-combobox-expected.txt: Added.
            * platform/win/Skipped:
    2009-11-04  Chris Fleizach  <cfleizach at apple.com>
    
            Reviewed by Beth Dakin.
    
            Need to implement ARIA role="combobox"
            https://bugs.webkit.org/show_bug.cgi?id=31096
    
            Test: accessibility/aria-combobox.html
    
            * accessibility/AccessibilityObject.h:
            (WebCore::AccessibilityObject::isComboBox):
            (WebCore::AccessibilityObject::isExpanded):
            (WebCore::AccessibilityObject::expandObject):
            (WebCore::AccessibilityObject::increment):
            (WebCore::AccessibilityObject::decrement):
            * accessibility/AccessibilityRenderObject.cpp:
            (WebCore::AccessibilityRenderObject::expandObject):
            (WebCore::AccessibilityRenderObject::isExpanded):
            (WebCore::createARIARoleMap):
            * accessibility/AccessibilityRenderObject.h:
            * accessibility/mac/AccessibilityObjectWrapper.mm:
            (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
            (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
            (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
            * html/HTMLAttributeNames.in:
    2009-11-04  Chris Fleizach  <cfleizach at apple.com>
    
            Reviewed by Beth Dakin.
    
            Need to implement ARIA role="combobox"
            https://bugs.webkit.org/show_bug.cgi?id=31096
    
            * DumpRenderTree/AccessibilityUIElement.cpp:
            (showMenuCallback):
            (getIsExpandedCallback):
            (AccessibilityUIElement::getJSClass):
            * DumpRenderTree/AccessibilityUIElement.h:
            * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
            (AccessibilityUIElement::isExpanded):
            (AccessibilityUIElement::showMenu):
            * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
            (AccessibilityUIElement::isExpanded):
            (AccessibilityUIElement::showMenu):
            * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
            (AccessibilityUIElement::isSelected):
            (AccessibilityUIElement::isExpanded):
            (AccessibilityUIElement::showMenu):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50525 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 81e8f26..2f8a102 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2009-11-04  Chris Fleizach  <cfleizach at apple.com>
+
+        Reviewed by Beth Dakin.
+
+        Need to implement ARIA role="combobox"
+        https://bugs.webkit.org/show_bug.cgi?id=31096
+
+        * accessibility/aria-combobox.html: Added.
+        * platform/gtk/Skipped:
+        * platform/mac/accessibility/aria-combobox-expected.txt: Added.
+        * platform/win/Skipped:
+
 2009-11-04  Csaba Osztrogonác  <ossy at webkit.org>
 
         Put test into skiplist added in r50489 because
diff --git a/LayoutTests/accessibility/aria-combobox.html b/LayoutTests/accessibility/aria-combobox.html
new file mode 100644
index 0000000..c9b9660
--- /dev/null
+++ b/LayoutTests/accessibility/aria-combobox.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../fast/js/resources/js-test-style.css">
+<script>
+var successfullyParsed = false;
+</script>
+<script src="../fast/js/resources/js-test-pre.js"></script>
+</head>
+<body id="body">
+
+<div id="combo" tabindex=0 role="combobox" aria-expanded="false" aria-label="Test">
+<div role="listbox">
+<div role="option">option 1</div>
+<div role="option">option 2</div>
+</div>
+</div>
+
+
+<p id="description"></p>
+<div id="console"></div>
+
+<script>
+
+    description("This tests that the aria roles for combobox and aria-expanded work correctly in conjunction.");
+
+    if (window.accessibilityController) {
+
+          var combobox = document.getElementById("combo");
+          combobox.focus();
+
+          combobox = accessibilityController.focusedElement;
+
+          shouldBe("combobox.role", "'AXRole: AXComboBox'");
+          shouldBe("combobox.isExpanded", "false");
+    
+          combobox.showMenu();
+
+          shouldBe("combobox.isExpanded", "true");
+
+          var firstChild = combobox.childAtIndex(0);
+          shouldBe("firstChild.role", "'AXRole: AXList'");
+    }
+
+    successfullyParsed = true;
+</script>
+
+<script src="../fast/js/resources/js-test-post.js"></script>
+</body>
+</html>
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index fc7a7d6..cb83892 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -43,6 +43,7 @@
 # Tests in accessibility/ directory
 # An implementation of accessibilityController is required.
 #   Tests failing
+accessibility/aria-combobox.html
 accessibility/aria-disabled.html
 accessibility/aria-hidden.html
 accessibility/aria-label.html
diff --git a/LayoutTests/platform/mac/accessibility/aria-combobox-expected.txt b/LayoutTests/platform/mac/accessibility/aria-combobox-expected.txt
new file mode 100644
index 0000000..4f68406
--- /dev/null
+++ b/LayoutTests/platform/mac/accessibility/aria-combobox-expected.txt
@@ -0,0 +1,15 @@
+option 1
+option 2
+This tests that the aria roles for combobox and aria-expanded work correctly in conjunction.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS combobox.role is 'AXRole: AXComboBox'
+PASS combobox.isExpanded is false
+PASS combobox.isExpanded is true
+PASS firstChild.role is 'AXRole: AXList'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/win/Skipped b/LayoutTests/platform/win/Skipped
index 2cb1413..9073201 100644
--- a/LayoutTests/platform/win/Skipped
+++ b/LayoutTests/platform/win/Skipped
@@ -352,6 +352,7 @@ http/tests/xmlhttprequest/access-control-basic-non-simple-allow-async.html
 http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html
 
 # Accessibility tests without results or with Mac-specific results.
+accessibility/aria-combobox.html
 accessibility/aria-describedby-on-input.html
 accessibility/aria-disabled.html
 accessibility/aria-hidden.html
@@ -673,4 +674,4 @@ platform/win/editing/selection/doubleclick-should-not-expand-across-lines.html
 
 # Windows Release bots are having problems in xmlhttprequest tests, Skipping them temporarily
 # to see if this eliminates the problem, and it is a test causing httpd problems.
-http/tests/xmlhttprequest
\ No newline at end of file
+http/tests/xmlhttprequest
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 1aae6d9..cbb7fc6 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,29 @@
+2009-11-04  Chris Fleizach  <cfleizach at apple.com>
+
+        Reviewed by Beth Dakin.
+
+        Need to implement ARIA role="combobox"
+        https://bugs.webkit.org/show_bug.cgi?id=31096
+
+        Test: accessibility/aria-combobox.html
+
+        * accessibility/AccessibilityObject.h:
+        (WebCore::AccessibilityObject::isComboBox):
+        (WebCore::AccessibilityObject::isExpanded):
+        (WebCore::AccessibilityObject::expandObject):
+        (WebCore::AccessibilityObject::increment):
+        (WebCore::AccessibilityObject::decrement):
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::expandObject):
+        (WebCore::AccessibilityRenderObject::isExpanded):
+        (WebCore::createARIARoleMap):
+        * accessibility/AccessibilityRenderObject.h:
+        * accessibility/mac/AccessibilityObjectWrapper.mm:
+        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
+        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
+        (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
+        * html/HTMLAttributeNames.in:
+
 2009-11-04  Kelly Norton  <knorton at google.com>
 
         Reviewed by Pavel Feldman.
diff --git a/WebCore/accessibility/AccessibilityObject.h b/WebCore/accessibility/AccessibilityObject.h
index d7f0eba..b1109ef 100644
--- a/WebCore/accessibility/AccessibilityObject.h
+++ b/WebCore/accessibility/AccessibilityObject.h
@@ -275,6 +275,7 @@ public:
     bool isTabList() const { return roleValue() == TabListRole; }
     bool isTabItem() const { return roleValue() == TabRole; }
     bool isRadioGroup() const { return roleValue() == RadioGroupRole; }
+    bool isComboBox() const { return roleValue() == ComboBoxRole; }
     
     virtual bool isChecked() const { return false; }
     virtual bool isEnabled() const { return false; }
@@ -290,6 +291,7 @@ public:
     virtual bool isVisited() const { return false; }
     virtual bool isRequired() const { return false; }
     virtual bool isLinked() const { return false; }
+    virtual bool isExpanded() const { return false; }
 
     virtual bool canSetFocusAttribute() const { return false; }
     virtual bool canSetTextRangeAttributes() const { return false; }
@@ -386,10 +388,11 @@ public:
     virtual void makeRangeVisible(const PlainTextRange&) { }
     virtual bool press() const;
     bool performDefaultAction() const { return press(); }
-
+    virtual void expandObject() const { }
+    
     virtual AccessibilityOrientation orientation() const;
-    virtual void increment() { };
-    virtual void decrement() { };
+    virtual void increment() { }
+    virtual void decrement() { }
 
     virtual void childrenChanged() { }
     virtual const AccessibilityChildrenVector& children() { return m_children; }
diff --git a/WebCore/accessibility/AccessibilityRenderObject.cpp b/WebCore/accessibility/AccessibilityRenderObject.cpp
index e89594d..9f4658b 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -1575,6 +1575,29 @@ bool AccessibilityRenderObject::isVisited() const
     return m_renderer->style()->pseudoState() == PseudoVisited;
 }
     
+void AccessibilityRenderObject::expandObject() const
+{
+    // Combo boxes can be expanded (in different ways on different platforms).
+    // That action translates into setting the aria-expanded attribute to true
+    if (roleValue() != ComboBoxRole || !m_renderer)
+        return;
+    
+    Node* node = m_renderer->node();
+    if (!node || !node->isElementNode())
+        return;
+
+    Element* element = static_cast<Element*>(node);
+    element->setAttribute(aria_expandedAttr, "true");
+}
+    
+bool AccessibilityRenderObject::isExpanded() const
+{
+    if (equalIgnoringCase(getAttribute(aria_expandedAttr).string(), "true"))
+        return true;
+    
+    return false;  
+}
+    
 bool AccessibilityRenderObject::isRequired() const
 {
     if (equalIgnoringCase(getAttribute(aria_requiredAttr).string(), "true"))
@@ -2343,6 +2366,7 @@ static const ARIARoleMap& createARIARoleMap()
         { "grid", TableRole },
         { "gridcell", CellRole },
         { "columnheader", ColumnHeaderRole },
+        { "combobox", ComboBoxRole },
         { "definition", DefinitionListDefinitionRole },
         { "document", DocumentRole },
         { "rowheader", RowHeaderRole },
diff --git a/WebCore/accessibility/AccessibilityRenderObject.h b/WebCore/accessibility/AccessibilityRenderObject.h
index a64b385..ba2ea24 100644
--- a/WebCore/accessibility/AccessibilityRenderObject.h
+++ b/WebCore/accessibility/AccessibilityRenderObject.h
@@ -103,7 +103,8 @@ public:
     virtual bool isVisited() const;        
     virtual bool isRequired() const;
     virtual bool isLinked() const;
-
+    virtual bool isExpanded() const;
+    
     const AtomicString& getAttribute(const QualifiedName&) const;
     virtual bool canSetFocusAttribute() const;
     virtual bool canSetTextRangeAttributes() const;
@@ -145,6 +146,7 @@ public:
     
     virtual AXObjectCache* axObjectCache() const;
     
+    virtual void expandObject() const;
     virtual Element* actionElement() const;
     Element* mouseButtonListener() const;
     FrameView* frameViewIfRenderView() const;
diff --git a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
index 009986b..9d12dd2 100644
--- a/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
+++ b/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm
@@ -601,6 +601,7 @@ static WebCoreTextMarkerRange* textMarkerRangeFromVisiblePositions(VisiblePositi
     static NSArray* inputImageAttrs = nil;
     static NSArray* passwordFieldAttrs = nil;
     static NSArray *tabListAttrs = nil;
+    static NSArray *comboBoxAttrs = nil;
     NSMutableArray* tempArray;
     if (attributes == nil) {
         attributes = [[NSArray alloc] initWithObjects: NSAccessibilityRoleAttribute,
@@ -740,6 +741,12 @@ static WebCoreTextMarkerRange* textMarkerRangeFromVisiblePositions(VisiblePositi
         controlAttrs = [[NSArray alloc] initWithArray:tempArray];
         [tempArray release];
     }
+    if (comboBoxAttrs == nil) {
+        tempArray = [[NSMutableArray alloc] initWithArray:controlAttrs];
+        [tempArray addObject:NSAccessibilityExpandedAttribute];
+        comboBoxAttrs = [[NSArray alloc] initWithArray:tempArray];
+        [tempArray release];        
+    }
     if (tableAttrs == nil) {
         tempArray = [[NSMutableArray alloc] initWithArray:attributes];
         [tempArray addObject:NSAccessibilityRowsAttribute];
@@ -827,6 +834,9 @@ static WebCoreTextMarkerRange* textMarkerRangeFromVisiblePositions(VisiblePositi
     if (m_object->isListBox() || m_object->isList())
         return listBoxAttrs;
 
+    if (m_object->isComboBox())
+        return comboBoxAttrs;
+    
     if (m_object->isProgressIndicator() || m_object->isSlider())
         return rangeAttrs;
 
@@ -1558,6 +1568,9 @@ static NSString* roleValueToNSString(AccessibilityRole value)
     if ([attributeName isEqualToString:NSAccessibilityLanguageAttribute]) 
         return m_object->language();
     
+    if ([attributeName isEqualToString:NSAccessibilityExpandedAttribute])
+        return [NSNumber numberWithBool:m_object->isExpanded()];
+    
     if ([attributeName isEqualToString:NSAccessibilityRequiredAttribute])
         return [NSNumber numberWithBool:m_object->isRequired()];
 
@@ -1790,9 +1803,13 @@ static NSString* roleValueToNSString(AccessibilityRole value)
 
 - (void)accessibilityPerformShowMenuAction
 {
-    // This needs to be performed in an iteration of the run loop that did not start from an AX call. 
-    // If it's the same run loop iteration, the menu open notification won't be sent
-    [self performSelector:@selector(accessibilityShowContextMenu) withObject:nil afterDelay:0.0];
+    if (m_object->roleValue() == ComboBoxRole)
+        m_object->expandObject();
+    else {
+        // This needs to be performed in an iteration of the run loop that did not start from an AX call. 
+        // If it's the same run loop iteration, the menu open notification won't be sent
+        [self performSelector:@selector(accessibilityShowContextMenu) withObject:nil afterDelay:0.0];
+    }
 }
 
 - (void)accessibilityShowContextMenu
diff --git a/WebCore/html/HTMLAttributeNames.in b/WebCore/html/HTMLAttributeNames.in
index 671125e..15cf522 100644
--- a/WebCore/html/HTMLAttributeNames.in
+++ b/WebCore/html/HTMLAttributeNames.in
@@ -17,6 +17,7 @@ aria-checked
 aria-controls
 aria-describedby
 aria-disabled
+aria-expanded
 aria-hidden
 aria-label
 aria-labeledby
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 93dc9a1..85429bf 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,26 @@
+2009-11-04  Chris Fleizach  <cfleizach at apple.com>
+
+        Reviewed by Beth Dakin.
+
+        Need to implement ARIA role="combobox"
+        https://bugs.webkit.org/show_bug.cgi?id=31096
+
+        * DumpRenderTree/AccessibilityUIElement.cpp:
+        (showMenuCallback):
+        (getIsExpandedCallback):
+        (AccessibilityUIElement::getJSClass):
+        * DumpRenderTree/AccessibilityUIElement.h:
+        * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+        (AccessibilityUIElement::isExpanded):
+        (AccessibilityUIElement::showMenu):
+        * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+        (AccessibilityUIElement::isExpanded):
+        (AccessibilityUIElement::showMenu):
+        * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+        (AccessibilityUIElement::isSelected):
+        (AccessibilityUIElement::isExpanded):
+        (AccessibilityUIElement::showMenu):
+
 2009-11-04  Eric Seidel  <eric at webkit.org>
 
         Reviewed by Adam Barth.
diff --git a/WebKitTools/DumpRenderTree/AccessibilityUIElement.cpp b/WebKitTools/DumpRenderTree/AccessibilityUIElement.cpp
index aca4a16..20c8621 100644
--- a/WebKitTools/DumpRenderTree/AccessibilityUIElement.cpp
+++ b/WebKitTools/DumpRenderTree/AccessibilityUIElement.cpp
@@ -254,6 +254,11 @@ static JSValueRef decrementCallback(JSContextRef context, JSObjectRef function,
     return 0;
 }
 
+static JSValueRef showMenuCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    toAXElement(thisObject)->showMenu();
+    return 0;
+}
 
 // Static Value Getters
 
@@ -369,6 +374,11 @@ static JSValueRef getIsSelectedCallback(JSContextRef context, JSObjectRef thisOb
     return JSValueMakeBoolean(context, toAXElement(thisObject)->isSelected());
 }
 
+static JSValueRef getIsExpandedCallback(JSContextRef context, JSObjectRef thisObject, JSStringRef, JSValueRef*)
+{
+    return JSValueMakeBoolean(context, toAXElement(thisObject)->isExpanded());
+}
+
 static JSValueRef getValueDescriptionCallback(JSContextRef context, JSObjectRef thisObject, JSStringRef propertyName, JSValueRef* exception)
 {
     JSRetainPtr<JSStringRef> valueDescription(Adopt, toAXElement(thisObject)->valueDescription());
@@ -420,6 +430,7 @@ JSClassRef AccessibilityUIElement::getJSClass()
         { "isEnabled", getIsEnabledCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "isRequired", getIsRequiredCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "isSelected", getIsSelectedCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "isExpanded", getIsExpandedCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "valueDescription", getValueDescriptionCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { 0, 0, 0, 0 }
     };
@@ -453,6 +464,7 @@ JSClassRef AccessibilityUIElement::getJSClass()
         { "parentElement", parentElementCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "increment", incrementCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "decrement", decrementCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "showMenu", showMenuCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { 0, 0, 0 }
     };
 
diff --git a/WebKitTools/DumpRenderTree/AccessibilityUIElement.h b/WebKitTools/DumpRenderTree/AccessibilityUIElement.h
index 9a72d41..1feacde 100644
--- a/WebKitTools/DumpRenderTree/AccessibilityUIElement.h
+++ b/WebKitTools/DumpRenderTree/AccessibilityUIElement.h
@@ -80,6 +80,7 @@ public:
     JSStringRef parameterizedAttributeNames();
     void increment();
     void decrement();
+    void showMenu();
 
     // Attributes - platform-independent implementations
     JSStringRef attributeValue(JSStringRef attribute);
@@ -105,6 +106,7 @@ public:
     bool isEnabled();
     bool isRequired() const;
     bool isSelected() const;
+    bool isExpanded() const;
     double clickPointX();
     double clickPointY();
 
diff --git a/WebKitTools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp b/WebKitTools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
index 925c658..230e06b 100644
--- a/WebKitTools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
@@ -328,6 +328,12 @@ bool AccessibilityUIElement::isSelected() const
     return false;
 }
 
+bool AccessibilityUIElement::isExpanded() const
+{
+    // FIXME: implement
+    return false;
+}
+
 JSStringRef AccessibilityUIElement::attributesOfColumnHeaders()
 {
     // FIXME: implement
@@ -439,6 +445,11 @@ void AccessibilityUIElement::decrement()
     // FIXME: implement
 }
 
+void AccessibilityUIElement::showMenu()
+{
+    // FIXME: implement
+}
+
 JSStringRef AccessibilityUIElement::accessibilityValue() const
 {
     // FIXME: implement
diff --git a/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm b/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
index 6a41656..56c2cc0 100644
--- a/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
+++ b/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
@@ -447,6 +447,14 @@ bool AccessibilityUIElement::isSelected() const
     return false;
 }
 
+bool AccessibilityUIElement::isExpanded() const
+{
+    id value = [m_element accessibilityAttributeValue:NSAccessibilityExpandedAttribute];
+    if ([value isKindOfClass:[NSNumber class]])
+        return [value boolValue];
+    return false;
+}
+
 // parameterized attributes
 int AccessibilityUIElement::lineForIndex(int index)
 {
@@ -586,6 +594,11 @@ void AccessibilityUIElement::decrement()
     [m_element accessibilityPerformAction:NSAccessibilityDecrementAction];
 }
 
+void AccessibilityUIElement::showMenu()
+{
+    [m_element accessibilityPerformAction:NSAccessibilityShowMenuAction];
+}
+
 JSStringRef AccessibilityUIElement::accessibilityValue() const
 {
     // FIXME: implement
diff --git a/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp b/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
index 1714da1..3008782 100644
--- a/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
+++ b/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
@@ -252,6 +252,15 @@ JSStringRef AccessibilityUIElement::valueDescription()
 {
     return 0;
 }
+bool AccessibilityUIElement::isSelected() const
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isExpanded() const
+{
+    return false;
+}
 
 double AccessibilityUIElement::intValue()
 {
@@ -289,10 +298,6 @@ bool AccessibilityUIElement::isRequired() const
     return false;
 }
 
-bool AccessibilityUIElement::isSelected() const
-{
-    return false;
-}
 
 int AccessibilityUIElement::insertionPointLineNumber()
 {
@@ -391,6 +396,10 @@ void AccessibilityUIElement::decrement()
 {
 }
 
+void AccessibilityUIElement::showMenu()
+{
+}
+
 JSStringRef AccessibilityUIElement::accessibilityValue() const
 {
     BSTR valueBSTR;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list