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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLFormElement.cpp

Issue 2470233009: WTF/std normalization: replace WTF::Vector::first() with ::front() (Closed)
Patch Set: rebase Created 4 years 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
6 * reserved. 6 * reserved.
7 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 7 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
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 722 matching lines...) Expand 10 before | Expand all | Expand 10 after
733 } 733 }
734 } 734 }
735 735
736 void HTMLFormElement::getNamedElements( 736 void HTMLFormElement::getNamedElements(
737 const AtomicString& name, 737 const AtomicString& name,
738 HeapVector<Member<Element>>& namedItems) { 738 HeapVector<Member<Element>>& namedItems) {
739 // http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom- form-nameditem 739 // http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom- form-nameditem
740 elements()->namedItems(name, namedItems); 740 elements()->namedItems(name, namedItems);
741 741
742 Element* elementFromPast = elementFromPastNamesMap(name); 742 Element* elementFromPast = elementFromPastNamesMap(name);
743 if (namedItems.size() && namedItems.first() != elementFromPast) { 743 if (namedItems.size() && namedItems.front() != elementFromPast) {
744 addToPastNamesMap(namedItems.first().get(), name); 744 addToPastNamesMap(namedItems.front().get(), name);
745 } else if (elementFromPast && namedItems.isEmpty()) { 745 } else if (elementFromPast && namedItems.isEmpty()) {
746 namedItems.append(elementFromPast); 746 namedItems.append(elementFromPast);
747 UseCounter::count(document(), UseCounter::FormNameAccessForPastNamesMap); 747 UseCounter::count(document(), UseCounter::FormNameAccessForPastNamesMap);
748 } 748 }
749 } 749 }
750 750
751 bool HTMLFormElement::shouldAutocomplete() const { 751 bool HTMLFormElement::shouldAutocomplete() const {
752 return !equalIgnoringCase(fastGetAttribute(autocompleteAttr), "off"); 752 return !equalIgnoringCase(fastGetAttribute(autocompleteAttr), "off");
753 } 753 }
754 754
(...skipping 22 matching lines...) Expand all
777 return; 777 return;
778 } 778 }
779 779
780 // Second call may return different results from the first call, 780 // Second call may return different results from the first call,
781 // but if the first the size cannot be zero. 781 // but if the first the size cannot be zero.
782 HeapVector<Member<Element>> elements; 782 HeapVector<Member<Element>> elements;
783 getNamedElements(name, elements); 783 getNamedElements(name, elements);
784 DCHECK(!elements.isEmpty()); 784 DCHECK(!elements.isEmpty());
785 785
786 bool onlyMatchImg = 786 bool onlyMatchImg =
787 !elements.isEmpty() && isHTMLImageElement(*elements.first()); 787 !elements.isEmpty() && isHTMLImageElement(*elements.front());
788 if (onlyMatchImg) { 788 if (onlyMatchImg) {
789 UseCounter::count(document(), UseCounter::FormNameAccessForImageElement); 789 UseCounter::count(document(), UseCounter::FormNameAccessForImageElement);
790 // The following code has performance impact, but it should be small 790 // The following code has performance impact, but it should be small
791 // because <img> access via <form> name getter is rarely used. 791 // because <img> access via <form> name getter is rarely used.
792 for (auto& element : elements) { 792 for (auto& element : elements) {
793 if (isHTMLImageElement(*element) && !element->isDescendantOf(this)) { 793 if (isHTMLImageElement(*element) && !element->isDescendantOf(this)) {
794 UseCounter::count( 794 UseCounter::count(
795 document(), UseCounter::FormNameAccessForNonDescendantImageElement); 795 document(), UseCounter::FormNameAccessForNonDescendantImageElement);
796 break; 796 break;
797 } 797 }
(...skipping 17 matching lines...) Expand all
815 for (const auto& control : associatedElements()) { 815 for (const auto& control : associatedElements()) {
816 if (!control->isFormControlElement()) 816 if (!control->isFormControlElement())
817 continue; 817 continue;
818 if (toHTMLFormControlElement(control)->canBeSuccessfulSubmitButton()) 818 if (toHTMLFormControlElement(control)->canBeSuccessfulSubmitButton())
819 toHTMLFormControlElement(control)->pseudoStateChanged( 819 toHTMLFormControlElement(control)->pseudoStateChanged(
820 CSSSelector::PseudoDefault); 820 CSSSelector::PseudoDefault);
821 } 821 }
822 } 822 }
823 823
824 } // namespace blink 824 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLCollection.cpp ('k') | third_party/WebKit/Source/core/html/HTMLSlotElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698