Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(94)

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLSelectElement.h

Issue 2104883004: Improve performance of HTMLSelectElement::setActiveSelectionAnchor(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/html/HTMLSelectElement.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 void dispatchInputAndChangeEventForMenuList(); 193 void dispatchInputAndChangeEventForMenuList();
194 194
195 void recalcListItems() const; 195 void recalcListItems() const;
196 enum ResetReason { 196 enum ResetReason {
197 ResetReasonSelectedOptionRemoved, 197 ResetReasonSelectedOptionRemoved,
198 ResetReasonOthers 198 ResetReasonOthers
199 }; 199 };
200 void resetToDefaultSelection(ResetReason = ResetReasonOthers); 200 void resetToDefaultSelection(ResetReason = ResetReasonOthers);
201 void typeAheadFind(KeyboardEvent*); 201 void typeAheadFind(KeyboardEvent*);
202 void saveLastSelection(); 202 void saveLastSelection();
203 void saveListboxActiveSelection();
203 // Returns the first selected OPTION, or nullptr. 204 // Returns the first selected OPTION, or nullptr.
204 HTMLOptionElement* selectedOption() const; 205 HTMLOptionElement* selectedOption() const;
205 206
206 bool isOptionalFormControl() const override { return !isRequiredFormControl( ); } 207 bool isOptionalFormControl() const override { return !isRequiredFormControl( ); }
207 bool isRequiredFormControl() const override; 208 bool isRequiredFormControl() const override;
208 209
209 bool hasPlaceholderLabelOption() const; 210 bool hasPlaceholderLabelOption() const;
210 211
211 enum SelectOptionFlag { 212 enum SelectOptionFlag {
212 DeselectOtherOptions = 1 << 0, 213 DeselectOtherOptions = 1 << 0,
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 283
283 FRIEND_TEST_ALL_PREFIXES(HTMLSelectElementTest, FirstSelectableOption); 284 FRIEND_TEST_ALL_PREFIXES(HTMLSelectElementTest, FirstSelectableOption);
284 FRIEND_TEST_ALL_PREFIXES(HTMLSelectElementTest, LastSelectableOption); 285 FRIEND_TEST_ALL_PREFIXES(HTMLSelectElementTest, LastSelectableOption);
285 FRIEND_TEST_ALL_PREFIXES(HTMLSelectElementTest, NextSelectableOption); 286 FRIEND_TEST_ALL_PREFIXES(HTMLSelectElementTest, NextSelectableOption);
286 FRIEND_TEST_ALL_PREFIXES(HTMLSelectElementTest, PreviousSelectableOption); 287 FRIEND_TEST_ALL_PREFIXES(HTMLSelectElementTest, PreviousSelectableOption);
287 }; 288 };
288 289
289 } // namespace blink 290 } // namespace blink
290 291
291 #endif // HTMLSelectElement_h 292 #endif // HTMLSelectElement_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/html/HTMLSelectElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698