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

Unified Diff: third_party/WebKit/Source/core/html/HTMLSelectElement.cpp

Issue 2104883004: Improve performance of HTMLSelectElement::setActiveSelectionAnchor(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLSelectElement.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/html/HTMLSelectElement.cpp
diff --git a/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp b/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp
index 3117a85f4d7e33e04735d4864d8f66dbb1ca27ae..14591cd7fa4bafc5702624b2e7db65b2bf5c46b5 100644
--- a/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLSelectElement.cpp
@@ -377,6 +377,8 @@ void HTMLSelectElement::parseAttribute(const QualifiedName& name, const AtomicSt
if (inActiveDocument())
lazyReattachIfAttached();
resetToDefaultSelection();
+ if (!usesMenuList())
+ saveListboxActiveSelection();
}
} else if (name == multipleAttr) {
parseMultipleAttribute(value);
@@ -640,7 +642,12 @@ void HTMLSelectElement::saveLastSelection()
void HTMLSelectElement::setActiveSelectionAnchor(HTMLOptionElement* option)
{
m_activeSelectionAnchor = option;
+ if (!usesMenuList())
+ saveListboxActiveSelection();
+}
+void HTMLSelectElement::saveListboxActiveSelection()
+{
// Cache the selection state so we can restore the old selection as the new
// selection pivots around this anchor index.
// Example:
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLSelectElement.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698