Chromium Code Reviews| 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) 2000 Dirk Mueller (mueller@kde.org) | 5 * (C) 2000 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 * Copyright (C) 2010 Google Inc. All rights reserved. | 7 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 108 int activeSelectionStartListIndex() const; | 108 int activeSelectionStartListIndex() const; |
| 109 int activeSelectionEndListIndex() const; | 109 int activeSelectionEndListIndex() const; |
| 110 void setActiveSelectionAnchorIndex(int); | 110 void setActiveSelectionAnchorIndex(int); |
| 111 void setActiveSelectionEndIndex(int); | 111 void setActiveSelectionEndIndex(int); |
| 112 void updateListBoxSelection(bool deselectOtherOptions); | 112 void updateListBoxSelection(bool deselectOtherOptions); |
| 113 | 113 |
| 114 // For use in the implementation of HTMLOptionElement. | 114 // For use in the implementation of HTMLOptionElement. |
| 115 void optionSelectionStateChanged(HTMLOptionElement*, bool optionIsSelected); | 115 void optionSelectionStateChanged(HTMLOptionElement*, bool optionIsSelected); |
| 116 bool anonymousIndexedSetter(unsigned, PassRefPtr<HTMLOptionElement>, Excepti onState&); | 116 bool anonymousIndexedSetter(unsigned, PassRefPtr<HTMLOptionElement>, Excepti onState&); |
| 117 | 117 |
| 118 void updateListOnRenderer(); | |
| 118 protected: | 119 protected: |
| 119 HTMLSelectElement(Document&, HTMLFormElement*); | 120 HTMLSelectElement(Document&, HTMLFormElement*); |
| 120 | 121 |
| 121 private: | 122 private: |
| 122 virtual const AtomicString& formControlType() const OVERRIDE; | 123 virtual const AtomicString& formControlType() const OVERRIDE; |
| 123 | 124 |
| 124 virtual bool shouldShowFocusRingOnMouseFocus() const OVERRIDE; | 125 virtual bool shouldShowFocusRingOnMouseFocus() const OVERRIDE; |
| 125 | 126 |
| 126 virtual void dispatchFocusEvent(Element* oldFocusedElement, FocusType) OVERR IDE; | 127 virtual void dispatchFocusEvent(Element* oldFocusedElement, FocusType) OVERR IDE; |
| 127 virtual void dispatchBlurEvent(Element* newFocusedElemnet) OVERRIDE; | 128 virtual void dispatchBlurEvent(Element* newFocusedElemnet) OVERRIDE; |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 188 | 189 |
| 189 virtual void childrenChanged(bool changedByParser = false, Node* beforeChang e = 0, Node* afterChange = 0, int childCountDelta = 0) OVERRIDE; | 190 virtual void childrenChanged(bool changedByParser = false, Node* beforeChang e = 0, Node* afterChange = 0, int childCountDelta = 0) OVERRIDE; |
| 190 virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; } | 191 virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; } |
| 191 virtual void finishParsingChildren() OVERRIDE; | 192 virtual void finishParsingChildren() OVERRIDE; |
| 192 | 193 |
| 193 // TypeAheadDataSource functions. | 194 // TypeAheadDataSource functions. |
| 194 virtual int indexOfSelectedOption() const OVERRIDE; | 195 virtual int indexOfSelectedOption() const OVERRIDE; |
| 195 virtual int optionCount() const OVERRIDE; | 196 virtual int optionCount() const OVERRIDE; |
| 196 virtual String optionAtIndex(int index) const OVERRIDE; | 197 virtual String optionAtIndex(int index) const OVERRIDE; |
| 197 | 198 |
| 199 void timerFired(Timer<HTMLSelectElement>*); | |
| 200 | |
| 198 // m_listItems contains HTMLOptionElement, HTMLOptGroupElement, and HTMLHREl ement objects. | 201 // m_listItems contains HTMLOptionElement, HTMLOptGroupElement, and HTMLHREl ement objects. |
| 199 mutable Vector<HTMLElement*> m_listItems; | 202 mutable Vector<HTMLElement*> m_listItems; |
| 200 Vector<bool> m_lastOnChangeSelection; | 203 Vector<bool> m_lastOnChangeSelection; |
| 201 Vector<bool> m_cachedStateForActiveSelection; | 204 Vector<bool> m_cachedStateForActiveSelection; |
| 202 TypeAhead m_typeAhead; | 205 TypeAhead m_typeAhead; |
| 203 int m_size; | 206 int m_size; |
| 204 int m_lastOnChangeIndex; | 207 int m_lastOnChangeIndex; |
| 205 int m_activeSelectionAnchorIndex; | 208 int m_activeSelectionAnchorIndex; |
| 206 int m_activeSelectionEndIndex; | 209 int m_activeSelectionEndIndex; |
| 207 bool m_isProcessingUserDrivenChange; | 210 bool m_isProcessingUserDrivenChange; |
| 208 bool m_multiple; | 211 bool m_multiple; |
| 209 bool m_activeSelectionState; | 212 bool m_activeSelectionState; |
| 210 mutable bool m_shouldRecalcListItems; | 213 mutable bool m_shouldRecalcListItems; |
| 211 int m_suggestedIndex; | 214 int m_suggestedIndex; |
| 215 Timer<HTMLSelectElement> m_optionChildChangedTimer; | |
|
esprehn
2014/03/20 17:09:25
Please remove this timer, it's not correct to use
spartha
2014/03/21 05:13:26
The idea to use the timer is to avoid multiple cal
| |
| 212 }; | 216 }; |
| 213 | 217 |
| 214 } // namespace | 218 } // namespace |
| 215 | 219 |
| 216 #endif | 220 #endif |
| OLD | NEW |