OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). | 2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). |
3 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 3 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
4 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 4 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights
reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2011 Apple Inc. All rights
reserved. |
7 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 7 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
8 * Copyright (C) 2010 Google Inc. All rights reserved. | 8 * Copyright (C) 2010 Google Inc. All rights reserved. |
9 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 9 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
10 * | 10 * |
(...skipping 712 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
723 } | 723 } |
724 | 724 |
725 void HTMLSelectElement::scrollToSelection() | 725 void HTMLSelectElement::scrollToSelection() |
726 { | 726 { |
727 if (!isFinishedParsingChildren()) | 727 if (!isFinishedParsingChildren()) |
728 return; | 728 return; |
729 if (usesMenuList()) | 729 if (usesMenuList()) |
730 return; | 730 return; |
731 scrollToIndex(activeSelectionEndListIndex()); | 731 scrollToIndex(activeSelectionEndListIndex()); |
732 if (AXObjectCache* cache = document().existingAXObjectCache()) | 732 if (AXObjectCache* cache = document().existingAXObjectCache()) |
733 cache->listboxActiveIndexChanged(this); | 733 cache->selectedChildrenChanged(this); |
734 } | 734 } |
735 | 735 |
736 void HTMLSelectElement::setOptionsChangedOnRenderer() | 736 void HTMLSelectElement::setOptionsChangedOnRenderer() |
737 { | 737 { |
738 if (LayoutObject* renderer = this->layoutObject()) { | 738 if (LayoutObject* renderer = this->layoutObject()) { |
739 if (usesMenuList()) | 739 if (usesMenuList()) |
740 toLayoutMenuList(renderer)->setOptionsChanged(true); | 740 toLayoutMenuList(renderer)->setOptionsChanged(true); |
741 } | 741 } |
742 } | 742 } |
743 | 743 |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
963 scrollToSelection(); | 963 scrollToSelection(); |
964 setNeedsValidityCheck(); | 964 setNeedsValidityCheck(); |
965 | 965 |
966 if (usesMenuList()) { | 966 if (usesMenuList()) { |
967 m_isProcessingUserDrivenChange = flags & UserDriven; | 967 m_isProcessingUserDrivenChange = flags & UserDriven; |
968 if (flags & DispatchInputAndChangeEvent) | 968 if (flags & DispatchInputAndChangeEvent) |
969 dispatchInputAndChangeEventForMenuList(); | 969 dispatchInputAndChangeEventForMenuList(); |
970 if (LayoutObject* renderer = this->layoutObject()) { | 970 if (LayoutObject* renderer = this->layoutObject()) { |
971 if (usesMenuList()) { | 971 if (usesMenuList()) { |
972 toLayoutMenuList(renderer)->didSetSelectedIndex(listIndex); | 972 toLayoutMenuList(renderer)->didSetSelectedIndex(listIndex); |
| 973 } else if (renderer->isListBox()) { |
| 974 if (AXObjectCache* cache = document().existingAXObjectCache()) |
| 975 cache->selectedChildrenChanged(this); |
973 } | 976 } |
974 } | 977 } |
975 } | 978 } |
976 | 979 |
977 notifyFormStateChanged(); | 980 notifyFormStateChanged(); |
978 } | 981 } |
979 | 982 |
980 int HTMLSelectElement::optionToListIndex(int optionIndex) const | 983 int HTMLSelectElement::optionToListIndex(int optionIndex) const |
981 { | 984 { |
982 const WillBeHeapVector<RawPtrWillBeMember<HTMLElement>>& items = listItems()
; | 985 const WillBeHeapVector<RawPtrWillBeMember<HTMLElement>>& items = listItems()
; |
(...skipping 782 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1765 int focusedIndex = activeSelectionEndListIndex(); | 1768 int focusedIndex = activeSelectionEndListIndex(); |
1766 if (focusedIndex < 0) | 1769 if (focusedIndex < 0) |
1767 focusedIndex = firstSelectableListIndex(); | 1770 focusedIndex = firstSelectableListIndex(); |
1768 if (focusedIndex < 0) | 1771 if (focusedIndex < 0) |
1769 return nullptr; | 1772 return nullptr; |
1770 HTMLElement* focused = listItems()[focusedIndex]; | 1773 HTMLElement* focused = listItems()[focusedIndex]; |
1771 return isHTMLOptionElement(focused) ? toHTMLOptionElement(focused) : nullptr
; | 1774 return isHTMLOptionElement(focused) ? toHTMLOptionElement(focused) : nullptr
; |
1772 } | 1775 } |
1773 | 1776 |
1774 } // namespace | 1777 } // namespace |
OLD | NEW |