Changeset 64084 in webkit


Ignore:
Timestamp:
Jul 26, 2010 3:49:18 PM (14 years ago)
Author:
Chris Fleizach
Message:

AX: remove intValue() hasIntValue() from AccessibilityObject
https://bugs.webkit.org/show_bug.cgi?id=43006

Reviewed by Darin Adler.

These methods are very Mac centric. The mac centric code should be moved into the Mac wrapper.

No new tests, existing tests cover changes to logic.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::checkboxOrRadioValue):

  • accessibility/AccessibilityObject.h:

(WebCore::):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::selectedRadioButton):
(WebCore::AccessibilityRenderObject::selectedTabItem):
(WebCore::AccessibilityRenderObject::checkboxOrRadioValue):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/mac/AccessibilityObjectWrapper.mm:

(-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

Location:
trunk/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r64083 r64084  
     12010-07-26  Chris Fleizach  <cfleizach@apple.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        AX: remove intValue() hasIntValue() from AccessibilityObject
     6        https://bugs.webkit.org/show_bug.cgi?id=43006
     7
     8        These methods are very Mac centric. The mac centric code should be moved into the Mac wrapper.
     9
     10        No new tests, existing tests cover changes to logic.
     11
     12        * accessibility/AccessibilityObject.cpp:
     13        (WebCore::AccessibilityObject::checkboxOrRadioValue):
     14        * accessibility/AccessibilityObject.h:
     15        (WebCore::):
     16        * accessibility/AccessibilityRenderObject.cpp:
     17        (WebCore::AccessibilityRenderObject::selectedRadioButton):
     18        (WebCore::AccessibilityRenderObject::selectedTabItem):
     19        (WebCore::AccessibilityRenderObject::checkboxOrRadioValue):
     20        * accessibility/AccessibilityRenderObject.h:
     21        * accessibility/mac/AccessibilityObjectWrapper.mm:
     22        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
     23
    1242010-07-26  Ryosuke Niwa  <rniwa@webkit.org>
    225
  • trunk/WebCore/accessibility/AccessibilityObject.cpp

    r63358 r64084  
    978978}
    979979   
    980 int AccessibilityObject::intValue() const
    981 {
    982     if (isPasswordField())
    983         return 0;
    984    
    985     if (isHeading())
    986         return headingLevel();
    987    
     980AccessibilityButtonState AccessibilityObject::checkboxOrRadioValue() const
     981{
    988982    // If this is a real checkbox or radio button, AccessibilityRenderObject will handle.
    989983    // If it's an ARIA checkbox or radio, the aria-checked attribute should be used.
    990     if (isCheckboxOrRadio())
    991         return equalIgnoringCase(getAttribute(aria_checkedAttr), "true");
    992    
    993     return 0;
    994 }
    995 
    996 bool AccessibilityObject::hasIntValue() const
    997 {
    998     if (isHeading())
    999         return true;
    1000    
    1001     if (isCheckboxOrRadio())
    1002         return true;
    1003    
    1004     return false;
     984
     985    const AtomicString& result = getAttribute(aria_checkedAttr);
     986    if (equalIgnoringCase(result, "true"))
     987        return ButtonStateOn;
     988   
     989    return ButtonStateOff;
    1005990}
    1006991   
  • trunk/WebCore/accessibility/AccessibilityObject.h

    r63358 r64084  
    210210    DefaultBehavior,
    211211};
     212   
     213enum AccessibilityButtonState {
     214    ButtonStateOff = 0,
     215    ButtonStateOn,
     216};
    212217
    213218struct VisiblePositionRange {
     
    328333    virtual bool canSetExpandedAttribute() const { return false; }
    329334   
    330     bool hasIntValue() const;
    331     virtual int intValue() const;
    332    
    333335    // A programmatic way to set a name on an AccessibleObject.
    334336    virtual void setAccessibleName(String&) { }
     
    339341
    340342    virtual int headingLevel() const { return 0; }
     343    virtual AccessibilityButtonState checkboxOrRadioValue() const;
    341344    virtual String valueDescription() const { return String(); }
    342345    virtual float valueForRange() const { return 0.0f; }
  • trunk/WebCore/accessibility/AccessibilityRenderObject.cpp

    r63358 r64084  
    725725    for (int i = 0; i < count; ++i) {
    726726        AccessibilityObject* object = m_children[i].get();
    727         if (object->roleValue() == RadioButtonRole && object->intValue() == 1)
     727        if (object->roleValue() == RadioButtonRole && object->checkboxOrRadioValue() == ButtonStateOn)
    728728            return object;
    729729    }
     
    743743    for (int i = 0; i < count; ++i) {
    744744        AccessibilityObject* object = m_children[i].get();
    745         if (object->isTabItem() && object->intValue() == 1)
     745        if (object->isTabItem() && object->isChecked())
    746746            return object;
    747747    }
     
    10101010}   
    10111011   
    1012 int AccessibilityRenderObject::intValue() const
    1013 {
    1014     if (isCheckboxOrRadio())
    1015         return isChecked() ? 1 : 0;
    1016 
    1017     return AccessibilityObject::intValue();
     1012AccessibilityButtonState AccessibilityRenderObject::checkboxOrRadioValue() const
     1013{
     1014    return isChecked() ? ButtonStateOn : ButtonStateOff;
    10181015}
    10191016
  • trunk/WebCore/accessibility/AccessibilityRenderObject.h

    r63358 r64084  
    118118   
    119119    virtual int headingLevel() const;
    120     virtual int intValue() const;
     120    virtual AccessibilityButtonState checkboxOrRadioValue() const;
    121121    virtual String valueDescription() const;
    122122    virtual float valueForRange() const;
  • trunk/WebCore/accessibility/mac/AccessibilityObjectWrapper.mm

    r62735 r64084  
    15161516        if (m_object->isProgressIndicator() || m_object->isSlider() || m_object->isScrollbar())
    15171517            return [NSNumber numberWithFloat:m_object->valueForRange()];
    1518         if (m_object->hasIntValue())
    1519             return [NSNumber numberWithInt:m_object->intValue()];
     1518        if (m_object->isHeading())
     1519            return [NSNumber numberWithInt:m_object->headingLevel()];
     1520       
     1521        if (m_object->isCheckboxOrRadio()) {
     1522            switch (m_object->checkboxOrRadioValue()) {
     1523            case ButtonStateOff:
     1524                return [NSNumber numberWithInt:0];
     1525            case ButtonStateOn:
     1526                return [NSNumber numberWithInt:1];
     1527            }
     1528        }
    15201529
    15211530        // radio groups return the selected radio button as the AXValue
Note: See TracChangeset for help on using the changeset viewer.