| 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 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 653 { | 653 { |
| 654 if (index == m_activeSelectionEndIndex) | 654 if (index == m_activeSelectionEndIndex) |
| 655 return; | 655 return; |
| 656 m_activeSelectionEndIndex = index; | 656 m_activeSelectionEndIndex = index; |
| 657 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing::create(
StyleChangeReason::Control)); | 657 setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForTracing::create(
StyleChangeReason::Control)); |
| 658 } | 658 } |
| 659 | 659 |
| 660 void HTMLSelectElement::updateListBoxSelection(bool deselectOtherOptions, bool s
croll) | 660 void HTMLSelectElement::updateListBoxSelection(bool deselectOtherOptions, bool s
croll) |
| 661 { | 661 { |
| 662 ASSERT(renderer() && (renderer()->isListBox() || m_multiple)); | 662 ASSERT(renderer() && (renderer()->isListBox() || m_multiple)); |
| 663 ASSERT(!listItems().size() || m_activeSelectionAnchorIndex >= 0); | |
| 664 | 663 |
| 665 unsigned start = std::min(m_activeSelectionAnchorIndex, m_activeSelectionEnd
Index); | 664 int start = std::min(m_activeSelectionAnchorIndex, m_activeSelectionEndIndex
); |
| 666 unsigned end = std::max(m_activeSelectionAnchorIndex, m_activeSelectionEndIn
dex); | 665 int end = std::max(m_activeSelectionAnchorIndex, m_activeSelectionEndIndex); |
| 667 | 666 |
| 668 const WillBeHeapVector<RawPtrWillBeMember<HTMLElement>>& items = listItems()
; | 667 const WillBeHeapVector<RawPtrWillBeMember<HTMLElement>>& items = listItems()
; |
| 669 for (unsigned i = 0; i < items.size(); ++i) { | 668 for (int i = 0; i < static_cast<int>(items.size()); ++i) { |
| 670 HTMLElement* element = items[i]; | 669 HTMLElement* element = items[i]; |
| 671 if (!isHTMLOptionElement(*element) || toHTMLOptionElement(element)->isDi
sabledFormControl() || !toHTMLOptionElement(element)->renderer()) | 670 if (!isHTMLOptionElement(*element) || toHTMLOptionElement(element)->isDi
sabledFormControl() || !toHTMLOptionElement(element)->renderer()) |
| 672 continue; | 671 continue; |
| 673 | 672 |
| 674 if (i >= start && i <= end) | 673 if (i >= start && i <= end) |
| 675 toHTMLOptionElement(element)->setSelectedState(m_activeSelectionStat
e); | 674 toHTMLOptionElement(element)->setSelectedState(m_activeSelectionStat
e); |
| 676 else if (deselectOtherOptions || i >= m_cachedStateForActiveSelection.si
ze()) | 675 else if (deselectOtherOptions || i >= static_cast<int>(m_cachedStateForA
ctiveSelection.size())) |
| 677 toHTMLOptionElement(element)->setSelectedState(false); | 676 toHTMLOptionElement(element)->setSelectedState(false); |
| 678 else | 677 else |
| 679 toHTMLOptionElement(element)->setSelectedState(m_cachedStateForActiv
eSelection[i]); | 678 toHTMLOptionElement(element)->setSelectedState(m_cachedStateForActiv
eSelection[i]); |
| 680 } | 679 } |
| 681 | 680 |
| 682 setNeedsValidityCheck(); | 681 setNeedsValidityCheck(); |
| 683 if (scroll) | 682 if (scroll) |
| 684 scrollToSelection(); | 683 scrollToSelection(); |
| 685 notifyFormStateChanged(); | 684 notifyFormStateChanged(); |
| 686 } | 685 } |
| (...skipping 1087 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1774 int focusedIndex = activeSelectionEndListIndex(); | 1773 int focusedIndex = activeSelectionEndListIndex(); |
| 1775 if (focusedIndex < 0) | 1774 if (focusedIndex < 0) |
| 1776 focusedIndex = firstSelectableListIndex(); | 1775 focusedIndex = firstSelectableListIndex(); |
| 1777 if (focusedIndex < 0) | 1776 if (focusedIndex < 0) |
| 1778 return nullptr; | 1777 return nullptr; |
| 1779 HTMLElement* focused = listItems()[focusedIndex]; | 1778 HTMLElement* focused = listItems()[focusedIndex]; |
| 1780 return isHTMLOptionElement(focused) ? toHTMLOptionElement(focused) : nullptr
; | 1779 return isHTMLOptionElement(focused) ? toHTMLOptionElement(focused) : nullptr
; |
| 1781 } | 1780 } |
| 1782 | 1781 |
| 1783 } // namespace | 1782 } // namespace |
| OLD | NEW |