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

jhoneycutt at apple.com jhoneycutt at apple.com
Thu Apr 8 01:04:15 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 8acea0807ab7bc1c0ce274a1df387666f86a697b
Author: jhoneycutt at apple.com <jhoneycutt at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 14 01:16:15 2010 +0000

    MSAA: selected, selectable, extended selectable, and multiple
    selectable states are not reported
    
    https://bugs.webkit.org/show_bug.cgi?id=33574
    <rdar://problem/7536826>
    
    Reviewed by Darin Adler.
    
    WebCore:
    
    * accessibility/AccessibilityObject.h:
    (WebCore::AccessibilityObject::isMultiSelectable):
    Use the correct function name - the function name overriden by
    and used in AccessiblityRenderObject.
    
    * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
    (setAtkStateSetFromCoreObject):
    Update for function rename.
    (webkit_accessible_selection_select_all_selection):
    Ditto.
    
    WebKit/chromium:
    
    * public/WebAccessibilityObject.h:
    Update for WebCore::AccessibilityObject function rename.
    
    * src/WebAccessibilityObject.cpp:
    (WebKit::WebAccessibilityObject::isMultiSelectable):
    Ditto.
    
    WebKit/win:
    
    * AccessibleBase.cpp:
    (AccessibleBase::get_accState):
    Remove the call to isMultiSelect(). Call the correctly-named
    isMultiSelectable(), and if it returns true, set both the "extended
    selectable" and "multiple selectable" states. Check whether the object
    is selected or selectable, and report those states.
    
    WebKitTools:
    
    * DumpRenderTree/AccessibilityUIElement.cpp:
    (getIsSelectableCallback):
    Return the result of calling isSelectable().
    (getIsMultiSelectableCallback):
    Return the result of calling isMultiSelectable().
    (AccessibilityUIElement::getJSClass):
    Add isSelected and isMultiSelectable properties to the JSClass
    definition.
    
    * DumpRenderTree/AccessibilityUIElement.h:
    Declare isSelectable() and isMultiSelectable().
    
    * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
    (AccessibilityUIElement::isSelectable):
    Stubbed.
    (AccessibilityUIElement::isMultiSelectable):
    Stubbed.
    
    * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
    (AccessibilityUIElement::isSelectable):
    Stubbed.
    (AccessibilityUIElement::isMultiSelectable):
    Stubbed.
    
    * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
    (accessibilityState):
    Get the object's state, and return it.
    (AccessibilityUIElement::isSelected):
    Check the object's selected state.
    (AccessibilityUIElement::isSelectable):
    Check the object's selectable state.
    (AccessibilityUIElement::isMultiSelectable):
    Check the object's extended/multiple selectable state.
    
    LayoutTests:
    
    * accessibility/selection-states-expected.txt: Added.
    
    * accessibility/selection-states.html: Added.
    
    * platform/gtk/Skipped:
    Add new test to skipped list due to stubbed AccessibilityUIElement
    functions.
    
    * platform/mac/Skipped:
    Ditto.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53220 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index afed379..e38df49 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,24 @@
+2010-01-13  Jon Honeycutt  <jhoneycutt at apple.com>
+
+        MSAA: selected, selectable, extended selectable, and multiple
+        selectable states are not reported
+
+        https://bugs.webkit.org/show_bug.cgi?id=33574
+        <rdar://problem/7536826>
+
+        Reviewed by Darin Adler.
+
+        * accessibility/selection-states-expected.txt: Added.
+
+        * accessibility/selection-states.html: Added.
+
+        * platform/gtk/Skipped:
+        Add new test to skipped list due to stubbed AccessibilityUIElement
+        functions.
+
+        * platform/mac/Skipped:
+        Ditto.
+
 2010-01-13  Dumitru Daniliuc  <dumi at chromium.org>
 
         Reviewed by Dimitri Glazkov.
diff --git a/LayoutTests/accessibility/selection-states-expected.txt b/LayoutTests/accessibility/selection-states-expected.txt
new file mode 100644
index 0000000..e388283
--- /dev/null
+++ b/LayoutTests/accessibility/selection-states-expected.txt
@@ -0,0 +1,12 @@
+
+This tests that we report the correct selection-related states.
+
+
+PASS accessibilityController.focusedElement.isMultiSelectable is true
+PASS accessibilityController.focusedElement.childAtIndex(0).isSelectable is true
+PASS accessibilityController.focusedElement.childAtIndex(0).isSelected is true
+PASS accessibilityController.focusedElement.childAtIndex(1).isSelectable is true
+PASS accessibilityController.focusedElement.childAtIndex(1).isSelected is false
+PASS accessibilityController.focusedElement.childAtIndex(2).isSelectable is false
+PASS accessibilityController.focusedElement.childAtIndex(2).isSelected is false
+
diff --git a/LayoutTests/accessibility/selection-states.html b/LayoutTests/accessibility/selection-states.html
new file mode 100644
index 0000000..421858b
--- /dev/null
+++ b/LayoutTests/accessibility/selection-states.html
@@ -0,0 +1,39 @@
+<html>
+<head>
+    <link rel="stylesheet" href="../fast/js/resources/js-test-style.css">
+    <script src="../fast/js/resources/js-test-pre.js"></script>
+</head>
+
+<body id="body">
+
+<select id="selectElement" multiple title="selectElement">
+    <option SELECTED>Option 1</option>
+    <option>Option 2</option>
+    <option DISABLED>Option 3</option>
+</select>
+
+<p>This tests that we report the correct selection-related states.</p>
+
+<p id="notDRT">This test should only be run inside of DumpRenderTree.</p>
+
+<p id="console"></p>
+
+<script>
+    if (window.layoutTestController && window.accessibilityController) {
+        document.getElementById("notDRT").style.visibility = "hidden";
+
+        layoutTestController.dumpAsText();
+
+        document.getElementById("selectElement").focus();
+
+        shouldBeTrue('accessibilityController.focusedElement.isMultiSelectable');
+        shouldBeTrue('accessibilityController.focusedElement.childAtIndex(0).isSelectable');
+        shouldBeTrue('accessibilityController.focusedElement.childAtIndex(0).isSelected');
+        shouldBeTrue('accessibilityController.focusedElement.childAtIndex(1).isSelectable');
+        shouldBeFalse('accessibilityController.focusedElement.childAtIndex(1).isSelected');
+        shouldBeFalse('accessibilityController.focusedElement.childAtIndex(2).isSelectable');
+        shouldBeFalse('accessibilityController.focusedElement.childAtIndex(2).isSelected');
+    }
+</script>
+</body>
+</html>
diff --git a/LayoutTests/platform/gtk/Skipped b/LayoutTests/platform/gtk/Skipped
index 6e8553f..020a098 100644
--- a/LayoutTests/platform/gtk/Skipped
+++ b/LayoutTests/platform/gtk/Skipped
@@ -71,6 +71,7 @@ accessibility/aria-option-role.html
 accessibility/placeholder.html
 accessibility/radio-button-title-label.html
 accessibility/secure-textfield-title-ui.html
+accessibility/selection-states.html
 accessibility/textarea-insertion-point-line-number.html
 accessibility/textarea-line-for-index.html
 accessibility/textarea-selected-text-range.html
diff --git a/LayoutTests/platform/mac/Skipped b/LayoutTests/platform/mac/Skipped
index 3cf6ade..e1ab7bf 100644
--- a/LayoutTests/platform/mac/Skipped
+++ b/LayoutTests/platform/mac/Skipped
@@ -84,6 +84,9 @@ fast/ruby
 # Accessibility tests without results
 accessibility/document-attributes.html
 
+# Accessibility tests with missing AccessibilityController functionality.
+accessibility/selection-states.html
+
 # Need to add functionality to DumpRenderTree to handle error pages
 fast/history/back-forward-reset-after-error-handling.html
 
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 3464813..27d3470 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,24 @@
+2010-01-12  Jon Honeycutt  <jhoneycutt at apple.com>
+
+        MSAA: selected, selectable, extended selectable, and multiple
+        selectable states are not reported
+
+        https://bugs.webkit.org/show_bug.cgi?id=33574
+        <rdar://problem/7536826>
+
+        Reviewed by Darin Adler.
+
+        * accessibility/AccessibilityObject.h:
+        (WebCore::AccessibilityObject::isMultiSelectable):
+        Use the correct function name - the function name overriden by
+        and used in AccessiblityRenderObject.
+
+        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
+        (setAtkStateSetFromCoreObject):
+        Update for function rename.
+        (webkit_accessible_selection_select_all_selection):
+        Ditto.
+
 2010-01-13  Darin Adler  <darin at apple.com>
 
         Reviewed by Dan Bernstein.
diff --git a/WebCore/accessibility/AccessibilityObject.h b/WebCore/accessibility/AccessibilityObject.h
index d46ec86..d7bca67 100644
--- a/WebCore/accessibility/AccessibilityObject.h
+++ b/WebCore/accessibility/AccessibilityObject.h
@@ -299,7 +299,7 @@ public:
     virtual bool isHovered() const { return false; }
     virtual bool isIndeterminate() const { return false; }
     virtual bool isLoaded() const { return false; }
-    virtual bool isMultiSelect() const { return false; }
+    virtual bool isMultiSelectable() const { return false; }
     virtual bool isOffScreen() const { return false; }
     virtual bool isPressed() const { return false; }
     virtual bool isReadOnly() const { return false; }
diff --git a/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp b/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
index 9b534e6..d1b463c 100644
--- a/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
+++ b/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp
@@ -493,7 +493,7 @@ static void setAtkStateSetFromCoreObject(AccessibilityObject* coreObject, AtkSta
     if (coreObject->isIndeterminate())
         atk_state_set_add_state(stateSet, ATK_STATE_INDETERMINATE);
 
-    if (coreObject->isMultiSelect())
+    if (coreObject->isMultiSelectable())
         atk_state_set_add_state(stateSet, ATK_STATE_MULTISELECTABLE);
 
     // TODO: ATK_STATE_OPAQUE
@@ -787,7 +787,7 @@ static gboolean webkit_accessible_selection_remove_selection(AtkSelection* selec
 static gboolean webkit_accessible_selection_select_all_selection(AtkSelection* selection)
 {
     AccessibilityObject* coreSelection = core(selection);
-    if (!coreSelection || !coreSelection->isMultiSelect())
+    if (!coreSelection || !coreSelection->isMultiSelectable())
         return false;
 
     AccessibilityRenderObject::AccessibilityChildrenVector children = coreSelection->children();
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 59fc594..54d07e0 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,20 @@
+2010-01-13  Jon Honeycutt  <jhoneycutt at apple.com>
+
+        MSAA: selected, selectable, extended selectable, and multiple
+        selectable states are not reported
+
+        https://bugs.webkit.org/show_bug.cgi?id=33574
+        <rdar://problem/7536826>
+
+        Reviewed by Darin Adler.
+
+        * public/WebAccessibilityObject.h:
+        Update for WebCore::AccessibilityObject function rename.
+
+        * src/WebAccessibilityObject.cpp:
+        (WebKit::WebAccessibilityObject::isMultiSelectable):
+        Ditto.
+
 2010-01-13  Jeremy Orlow  <jorlow at chromium.org>
 
         Reviewed by Darin Fisher.
diff --git a/WebKit/chromium/public/WebAccessibilityObject.h b/WebKit/chromium/public/WebAccessibilityObject.h
index d32c548..f46c0d8 100644
--- a/WebKit/chromium/public/WebAccessibilityObject.h
+++ b/WebKit/chromium/public/WebAccessibilityObject.h
@@ -85,7 +85,7 @@ public:
     bool isEnabled() const;
     bool isHovered() const;
     bool isIndeterminate() const;
-    bool isMultiSelect() const;
+    bool isMultiSelectable() const;
     bool isOffScreen() const;
     bool isPasswordField() const;
     bool isPressed() const;
diff --git a/WebKit/chromium/src/WebAccessibilityObject.cpp b/WebKit/chromium/src/WebAccessibilityObject.cpp
index bdbd260..c386d44 100644
--- a/WebKit/chromium/src/WebAccessibilityObject.cpp
+++ b/WebKit/chromium/src/WebAccessibilityObject.cpp
@@ -231,13 +231,13 @@ bool WebAccessibilityObject::isIndeterminate() const
     return m_private->isIndeterminate();
 }
 
-bool WebAccessibilityObject::isMultiSelect() const
+bool WebAccessibilityObject::isMultiSelectable() const
 {
     if (!m_private)
         return 0;
 
     m_private->updateBackingStore();
-    return m_private->isMultiSelect();
+    return m_private->isMultiSelectable();
 }
 
 bool WebAccessibilityObject::isOffScreen() const
diff --git a/WebKit/win/AccessibleBase.cpp b/WebKit/win/AccessibleBase.cpp
index c03f235..0e9966d 100644
--- a/WebKit/win/AccessibleBase.cpp
+++ b/WebKit/win/AccessibleBase.cpp
@@ -252,9 +252,6 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accState(VARIANT vChild, VARIANT*
     if (childObj->isOffScreen())
         pvState->lVal |= STATE_SYSTEM_OFFSCREEN;
 
-    if (childObj->isMultiSelect())
-        pvState->lVal |= STATE_SYSTEM_MULTISELECTABLE;
-
     if (childObj->isPasswordField())
         pvState->lVal |= STATE_SYSTEM_PROTECTED;
 
@@ -276,7 +273,14 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accState(VARIANT vChild, VARIANT*
     if (childObj->canSetFocusAttribute())
         pvState->lVal |= STATE_SYSTEM_FOCUSABLE;
 
-    // TODO: Add selected and selectable states.
+    if (childObj->isSelected())
+        pvState->lVal |= STATE_SYSTEM_SELECTED;
+
+    if (childObj->canSetSelectedAttribute())
+        pvState->lVal |= STATE_SYSTEM_SELECTABLE;
+
+    if (childObj->isMultiSelectable())
+        pvState->lVal |= STATE_SYSTEM_EXTSELECTABLE | STATE_SYSTEM_MULTISELECTABLE;
 
     return S_OK;
 }
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index 8e19b80..9799e8f 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,20 @@
+2010-01-12  Jon Honeycutt  <jhoneycutt at apple.com>
+
+        MSAA: selected, selectable, extended selectable, and multiple
+        selectable states are not reported
+
+        https://bugs.webkit.org/show_bug.cgi?id=33574
+        <rdar://problem/7536826>
+
+        Reviewed by Darin Adler.
+
+        * AccessibleBase.cpp:
+        (AccessibleBase::get_accState):
+        Remove the call to isMultiSelect(). Call the correctly-named
+        isMultiSelectable(), and if it returns true, set both the "extended
+        selectable" and "multiple selectable" states. Check whether the object
+        is selected or selectable, and report those states.
+
 2010-01-13  Steve Falkenburg  <sfalken at apple.com>
 
         Reviewed by Adam Roben.
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 4339666..bd9d65b 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,47 @@
+2010-01-12  Jon Honeycutt  <jhoneycutt at apple.com>
+
+        MSAA: selected, selectable, extended selectable, and multiple
+        selectable states are not reported
+
+        https://bugs.webkit.org/show_bug.cgi?id=33574
+        <rdar://problem/7536826>
+
+        Reviewed by Darin Adler.
+
+        * DumpRenderTree/AccessibilityUIElement.cpp:
+        (getIsSelectableCallback):
+        Return the result of calling isSelectable().
+        (getIsMultiSelectableCallback):
+        Return the result of calling isMultiSelectable().
+        (AccessibilityUIElement::getJSClass):
+        Add isSelected and isMultiSelectable properties to the JSClass
+        definition.
+
+        * DumpRenderTree/AccessibilityUIElement.h:
+        Declare isSelectable() and isMultiSelectable().
+
+        * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
+        (AccessibilityUIElement::isSelectable):
+        Stubbed.
+        (AccessibilityUIElement::isMultiSelectable):
+        Stubbed.
+
+        * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
+        (AccessibilityUIElement::isSelectable):
+        Stubbed.
+        (AccessibilityUIElement::isMultiSelectable):
+        Stubbed.
+
+        * DumpRenderTree/win/AccessibilityUIElementWin.cpp:
+        (accessibilityState):
+        Get the object's state, and return it.
+        (AccessibilityUIElement::isSelected):
+        Check the object's selected state.
+        (AccessibilityUIElement::isSelectable):
+        Check the object's selectable state.
+        (AccessibilityUIElement::isMultiSelectable):
+        Check the object's extended/multiple selectable state.
+
 2010-01-13  Adam Barth  <abarth at webkit.org>
 
         Unreviewed.  Repeat the below for CloseBugForLandDiff.
diff --git a/WebKitTools/DumpRenderTree/AccessibilityUIElement.cpp b/WebKitTools/DumpRenderTree/AccessibilityUIElement.cpp
index dd6c5fc..ccc11a7 100644
--- a/WebKitTools/DumpRenderTree/AccessibilityUIElement.cpp
+++ b/WebKitTools/DumpRenderTree/AccessibilityUIElement.cpp
@@ -492,6 +492,16 @@ static JSValueRef getIsSelectedCallback(JSContextRef context, JSObjectRef thisOb
     return JSValueMakeBoolean(context, toAXElement(thisObject)->isSelected());
 }
 
+static JSValueRef getIsSelectableCallback(JSContextRef context, JSObjectRef thisObject, JSStringRef, JSValueRef*)
+{
+    return JSValueMakeBoolean(context, toAXElement(thisObject)->isSelectable());
+}
+
+static JSValueRef getIsMultiSelectableCallback(JSContextRef context, JSObjectRef thisObject, JSStringRef, JSValueRef*)
+{
+    return JSValueMakeBoolean(context, toAXElement(thisObject)->isMultiSelectable());
+}
+
 static JSValueRef getIsExpandedCallback(JSContextRef context, JSObjectRef thisObject, JSStringRef, JSValueRef*)
 {
     return JSValueMakeBoolean(context, toAXElement(thisObject)->isExpanded());
@@ -587,6 +597,8 @@ JSClassRef AccessibilityUIElement::getJSClass()
         { "isEnabled", getIsEnabledCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "isRequired", getIsRequiredCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "isSelected", getIsSelectedCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "isSelectable", getIsSelectableCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { "isMultiSelectable", getIsMultiSelectableCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "isExpanded", getIsExpandedCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "isChecked", getIsCheckedCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
         { "valueDescription", getValueDescriptionCallback, 0, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
diff --git a/WebKitTools/DumpRenderTree/AccessibilityUIElement.h b/WebKitTools/DumpRenderTree/AccessibilityUIElement.h
index b30379e..e2abb23 100644
--- a/WebKitTools/DumpRenderTree/AccessibilityUIElement.h
+++ b/WebKitTools/DumpRenderTree/AccessibilityUIElement.h
@@ -113,6 +113,8 @@ public:
     bool isEnabled();
     bool isRequired() const;
     bool isSelected() const;
+    bool isSelectable() const;
+    bool isMultiSelectable() const;
     bool isExpanded() const;
     bool isChecked() const;
     int hierarchicalLevel() const;
diff --git a/WebKitTools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp b/WebKitTools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
index 50c0d41..c79b362 100644
--- a/WebKitTools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
+++ b/WebKitTools/DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp
@@ -558,3 +558,14 @@ bool AccessibilityUIElement::addNotificationListener(JSObjectRef functionCallbac
     return false;
 }
 
+bool AccessibilityUIElement::isSelectable() const
+{
+    // FIXME: implement
+    return false;
+}
+
+bool AccessibilityUIElement::isMultiSelectable() const
+{
+    // FIXME: implement
+    return false;
+}
diff --git a/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm b/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
index e085c0e..21e450e 100644
--- a/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
+++ b/WebKitTools/DumpRenderTree/mac/AccessibilityUIElementMac.mm
@@ -780,3 +780,14 @@ bool AccessibilityUIElement::addNotificationListener(JSObjectRef functionCallbac
     return true;
 }
 
+bool AccessibilityUIElement::isSelectable() const
+{
+    // FIXME: implement
+    return false;
+}
+
+bool AccessibilityUIElement::isMultiSelectable() const
+{
+    // FIXME: implement
+    return false;
+}
diff --git a/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp b/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
index 48270da..f67b635 100644
--- a/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
+++ b/WebKitTools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
@@ -263,9 +263,24 @@ JSStringRef AccessibilityUIElement::valueDescription()
 {
     return 0;
 }
+
+static DWORD accessibilityState(COMPtr<IAccessible> element)
+{
+    VARIANT state;
+    element->get_accState(self(), &state);
+
+    ASSERT(V_VT(&state) == VT_I4);
+
+    DWORD result = state.lVal;
+    VariantClear(&state);
+
+    return result;
+}
+
 bool AccessibilityUIElement::isSelected() const
 {
-    return false;
+    DWORD state = accessibilityState(m_element);
+    return (state & STATE_SYSTEM_SELECTED) == STATE_SYSTEM_SELECTED;
 }
 
 int AccessibilityUIElement::hierarchicalLevel() const
@@ -512,4 +527,17 @@ bool AccessibilityUIElement::addNotificationListener(JSObjectRef functionCallbac
     return false;
 }
 
+bool AccessibilityUIElement::isSelectable() const
+{
+    DWORD state = accessibilityState(m_element);
+    return (state & STATE_SYSTEM_SELECTABLE) == STATE_SYSTEM_SELECTABLE;
+}
+
+bool AccessibilityUIElement::isMultiSelectable() const
+{
+    DWORD multiSelectable = STATE_SYSTEM_EXTSELECTABLE | STATE_SYSTEM_MULTISELECTABLE;
+    DWORD state = accessibilityState(m_element);
+    return (state & multiSelectable) == multiSelectable;
+}
+
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list