| Index: Source/core/accessibility/AXListBoxOption.cpp
|
| diff --git a/Source/core/accessibility/AXListBoxOption.cpp b/Source/core/accessibility/AXListBoxOption.cpp
|
| deleted file mode 100644
|
| index a40cd33de6af00243fc9a2bb5185d83d549f4eb8..0000000000000000000000000000000000000000
|
| --- a/Source/core/accessibility/AXListBoxOption.cpp
|
| +++ /dev/null
|
| @@ -1,170 +0,0 @@
|
| -/*
|
| - * Copyright (C) 2008 Apple Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - *
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
|
| - * its contributors may be used to endorse or promote products derived
|
| - * from this software without specific prior written permission.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
|
| - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
| - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
| - * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
|
| - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
| - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
| - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
| - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
| - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -#include "config.h"
|
| -#include "core/accessibility/AXListBoxOption.h"
|
| -
|
| -#include "core/accessibility/AXObjectCacheImpl.h"
|
| -#include "core/html/HTMLOptionElement.h"
|
| -#include "core/html/HTMLSelectElement.h"
|
| -#include "core/rendering/RenderListBox.h"
|
| -
|
| -
|
| -namespace blink {
|
| -
|
| -using namespace HTMLNames;
|
| -
|
| -AXListBoxOption::AXListBoxOption(RenderObject* renderer)
|
| - : AXRenderObject(renderer)
|
| -{
|
| -}
|
| -
|
| -AXListBoxOption::~AXListBoxOption()
|
| -{
|
| -}
|
| -
|
| -PassRefPtr<AXListBoxOption> AXListBoxOption::create(RenderObject* renderer)
|
| -{
|
| - return adoptRef(new AXListBoxOption(renderer));
|
| -}
|
| -
|
| -bool AXListBoxOption::isEnabled() const
|
| -{
|
| - if (!node())
|
| - return false;
|
| -
|
| - if (equalIgnoringCase(getAttribute(aria_disabledAttr), "true"))
|
| - return false;
|
| -
|
| - if (toElement(node())->hasAttribute(disabledAttr))
|
| - return false;
|
| -
|
| - return true;
|
| -}
|
| -
|
| -bool AXListBoxOption::isSelected() const
|
| -{
|
| - return isHTMLOptionElement(node()) && toHTMLOptionElement(node())->selected();
|
| -}
|
| -
|
| -bool AXListBoxOption::isSelectedOptionActive() const
|
| -{
|
| - HTMLSelectElement* listBoxParentNode = listBoxOptionParentNode();
|
| - if (!listBoxParentNode)
|
| - return false;
|
| -
|
| - return listBoxParentNode->activeSelectionEndListIndex() == listBoxOptionIndex();
|
| -}
|
| -
|
| -bool AXListBoxOption::computeAccessibilityIsIgnored() const
|
| -{
|
| - if (!node())
|
| - return true;
|
| -
|
| - if (accessibilityIsIgnoredByDefault())
|
| - return true;
|
| -
|
| - return false;
|
| -}
|
| -
|
| -bool AXListBoxOption::canSetSelectedAttribute() const
|
| -{
|
| - if (!isHTMLOptionElement(node()))
|
| - return false;
|
| -
|
| - if (toHTMLOptionElement(node())->isDisabledFormControl())
|
| - return false;
|
| -
|
| - HTMLSelectElement* selectElement = listBoxOptionParentNode();
|
| - if (selectElement && selectElement->isDisabledFormControl())
|
| - return false;
|
| -
|
| - return true;
|
| -}
|
| -
|
| -String AXListBoxOption::stringValue() const
|
| -{
|
| - if (!node())
|
| - return String();
|
| -
|
| - const AtomicString& ariaLabel = getAttribute(aria_labelAttr);
|
| - if (!ariaLabel.isNull())
|
| - return ariaLabel;
|
| -
|
| - if (isHTMLOptionElement(node()))
|
| - return toHTMLOptionElement(node())->text();
|
| -
|
| - return String();
|
| -}
|
| -
|
| -void AXListBoxOption::setSelected(bool selected)
|
| -{
|
| - HTMLSelectElement* selectElement = listBoxOptionParentNode();
|
| - if (!selectElement)
|
| - return;
|
| -
|
| - if (!canSetSelectedAttribute())
|
| - return;
|
| -
|
| - bool isOptionSelected = isSelected();
|
| - if ((isOptionSelected && selected) || (!isOptionSelected && !selected))
|
| - return;
|
| -
|
| - // Convert from the entire list index to the option index.
|
| - int optionIndex = selectElement->listToOptionIndex(listBoxOptionIndex());
|
| - selectElement->accessKeySetSelectedIndex(optionIndex);
|
| -}
|
| -
|
| -HTMLSelectElement* AXListBoxOption::listBoxOptionParentNode() const
|
| -{
|
| - if (!node())
|
| - return 0;
|
| -
|
| - if (isHTMLOptionElement(node()))
|
| - return toHTMLOptionElement(node())->ownerSelectElement();
|
| -
|
| - return 0;
|
| -}
|
| -
|
| -int AXListBoxOption::listBoxOptionIndex() const
|
| -{
|
| - HTMLSelectElement* selectElement = listBoxOptionParentNode();
|
| - if (!selectElement)
|
| - return -1;
|
| -
|
| - const WillBeHeapVector<RawPtrWillBeMember<HTMLElement> >& listItems = selectElement->listItems();
|
| - unsigned length = listItems.size();
|
| - for (unsigned i = 0; i < length; i++) {
|
| - if (listItems[i] == node())
|
| - return i;
|
| - }
|
| -
|
| - return -1;
|
| -}
|
| -
|
| -} // namespace blink
|
|
|