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

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

Issue 2583233002: Migrate WTF::Vector::append() to ::push_back() [part 7 of N] (Closed)
Patch Set: 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 544 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 elements.clear(); 555 elements.clear();
556 for (HTMLElement& element : Traversal<HTMLElement>::startsAfter(root)) { 556 for (HTMLElement& element : Traversal<HTMLElement>::startsAfter(root)) {
557 ListedElement* listedElement = 0; 557 ListedElement* listedElement = 0;
558 if (element.isFormControlElement()) 558 if (element.isFormControlElement())
559 listedElement = toHTMLFormControlElement(&element); 559 listedElement = toHTMLFormControlElement(&element);
560 else if (isHTMLObjectElement(element)) 560 else if (isHTMLObjectElement(element))
561 listedElement = toHTMLObjectElement(&element); 561 listedElement = toHTMLObjectElement(&element);
562 else 562 else
563 continue; 563 continue;
564 if (listedElement->form() == this) 564 if (listedElement->form() == this)
565 elements.append(listedElement); 565 elements.push_back(listedElement);
566 } 566 }
567 } 567 }
568 568
569 // This function should be const conceptually. However we update some fields 569 // This function should be const conceptually. However we update some fields
570 // because of lazy evaluation. 570 // because of lazy evaluation.
571 const ListedElement::List& HTMLFormElement::listedElements() const { 571 const ListedElement::List& HTMLFormElement::listedElements() const {
572 if (!m_listedElementsAreDirty) 572 if (!m_listedElementsAreDirty)
573 return m_listedElements; 573 return m_listedElements;
574 HTMLFormElement* mutableThis = const_cast<HTMLFormElement*>(this); 574 HTMLFormElement* mutableThis = const_cast<HTMLFormElement*>(this);
575 Node* scope = mutableThis; 575 Node* scope = mutableThis;
576 if (m_hasElementsAssociatedByParser) 576 if (m_hasElementsAssociatedByParser)
577 scope = &NodeTraversal::highestAncestorOrSelf(*mutableThis); 577 scope = &NodeTraversal::highestAncestorOrSelf(*mutableThis);
578 if (isConnected() && m_hasElementsAssociatedByFormAttribute) 578 if (isConnected() && m_hasElementsAssociatedByFormAttribute)
579 scope = &treeScope().rootNode(); 579 scope = &treeScope().rootNode();
580 DCHECK(scope); 580 DCHECK(scope);
581 collectListedElements(*scope, mutableThis->m_listedElements); 581 collectListedElements(*scope, mutableThis->m_listedElements);
582 mutableThis->m_listedElementsAreDirty = false; 582 mutableThis->m_listedElementsAreDirty = false;
583 return m_listedElements; 583 return m_listedElements;
584 } 584 }
585 585
586 void HTMLFormElement::collectImageElements( 586 void HTMLFormElement::collectImageElements(
587 Node& root, 587 Node& root,
588 HeapVector<Member<HTMLImageElement>>& elements) { 588 HeapVector<Member<HTMLImageElement>>& elements) {
589 elements.clear(); 589 elements.clear();
590 for (HTMLImageElement& image : 590 for (HTMLImageElement& image :
591 Traversal<HTMLImageElement>::startsAfter(root)) { 591 Traversal<HTMLImageElement>::startsAfter(root)) {
592 if (image.formOwner() == this) 592 if (image.formOwner() == this)
593 elements.append(&image); 593 elements.push_back(&image);
594 } 594 }
595 } 595 }
596 596
597 const HeapVector<Member<HTMLImageElement>>& HTMLFormElement::imageElements() { 597 const HeapVector<Member<HTMLImageElement>>& HTMLFormElement::imageElements() {
598 if (!m_imageElementsAreDirty) 598 if (!m_imageElementsAreDirty)
599 return m_imageElements; 599 return m_imageElements;
600 collectImageElements(m_hasElementsAssociatedByParser 600 collectImageElements(m_hasElementsAssociatedByParser
601 ? NodeTraversal::highestAncestorOrSelf(*this) 601 ? NodeTraversal::highestAncestorOrSelf(*this)
602 : *this, 602 : *this,
603 m_imageElements); 603 m_imageElements);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 651
652 bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled( 652 bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(
653 HeapVector<Member<HTMLFormControlElement>>* unhandledInvalidControls, 653 HeapVector<Member<HTMLFormControlElement>>* unhandledInvalidControls,
654 CheckValidityEventBehavior eventBehavior) { 654 CheckValidityEventBehavior eventBehavior) {
655 // Copy listedElements because event handlers called from 655 // Copy listedElements because event handlers called from
656 // HTMLFormControlElement::checkValidity() might change listedElements. 656 // HTMLFormControlElement::checkValidity() might change listedElements.
657 const ListedElement::List& listedElements = this->listedElements(); 657 const ListedElement::List& listedElements = this->listedElements();
658 HeapVector<Member<ListedElement>> elements; 658 HeapVector<Member<ListedElement>> elements;
659 elements.reserveCapacity(listedElements.size()); 659 elements.reserveCapacity(listedElements.size());
660 for (const auto& element : listedElements) 660 for (const auto& element : listedElements)
661 elements.append(element); 661 elements.push_back(element);
662 int invalidControlsCount = 0; 662 int invalidControlsCount = 0;
663 for (const auto& element : elements) { 663 for (const auto& element : elements) {
664 if (element->form() == this && element->isFormControlElement()) { 664 if (element->form() == this && element->isFormControlElement()) {
665 HTMLFormControlElement* control = toHTMLFormControlElement(element); 665 HTMLFormControlElement* control = toHTMLFormControlElement(element);
666 if (control->isSubmittableElement() && 666 if (control->isSubmittableElement() &&
667 !control->checkValidity(unhandledInvalidControls, eventBehavior) && 667 !control->checkValidity(unhandledInvalidControls, eventBehavior) &&
668 control->formOwner() == this) { 668 control->formOwner() == this) {
669 ++invalidControlsCount; 669 ++invalidControlsCount;
670 if (!unhandledInvalidControls && 670 if (!unhandledInvalidControls &&
671 eventBehavior == CheckValidityDispatchNoEvent) 671 eventBehavior == CheckValidityDispatchNoEvent)
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
725 void HTMLFormElement::getNamedElements( 725 void HTMLFormElement::getNamedElements(
726 const AtomicString& name, 726 const AtomicString& name,
727 HeapVector<Member<Element>>& namedItems) { 727 HeapVector<Member<Element>>& namedItems) {
728 // http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom- form-nameditem 728 // http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom- form-nameditem
729 elements()->namedItems(name, namedItems); 729 elements()->namedItems(name, namedItems);
730 730
731 Element* elementFromPast = elementFromPastNamesMap(name); 731 Element* elementFromPast = elementFromPastNamesMap(name);
732 if (namedItems.size() && namedItems.front() != elementFromPast) { 732 if (namedItems.size() && namedItems.front() != elementFromPast) {
733 addToPastNamesMap(namedItems.front().get(), name); 733 addToPastNamesMap(namedItems.front().get(), name);
734 } else if (elementFromPast && namedItems.isEmpty()) { 734 } else if (elementFromPast && namedItems.isEmpty()) {
735 namedItems.append(elementFromPast); 735 namedItems.push_back(elementFromPast);
736 UseCounter::count(document(), UseCounter::FormNameAccessForPastNamesMap); 736 UseCounter::count(document(), UseCounter::FormNameAccessForPastNamesMap);
737 } 737 }
738 } 738 }
739 739
740 bool HTMLFormElement::shouldAutocomplete() const { 740 bool HTMLFormElement::shouldAutocomplete() const {
741 return !equalIgnoringCase(fastGetAttribute(autocompleteAttr), "off"); 741 return !equalIgnoringCase(fastGetAttribute(autocompleteAttr), "off");
742 } 742 }
743 743
744 void HTMLFormElement::finishParsingChildren() { 744 void HTMLFormElement::finishParsingChildren() {
745 HTMLElement::finishParsingChildren(); 745 HTMLElement::finishParsingChildren();
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 for (const auto& control : listedElements()) { 804 for (const auto& control : listedElements()) {
805 if (!control->isFormControlElement()) 805 if (!control->isFormControlElement())
806 continue; 806 continue;
807 if (toHTMLFormControlElement(control)->canBeSuccessfulSubmitButton()) 807 if (toHTMLFormControlElement(control)->canBeSuccessfulSubmitButton())
808 toHTMLFormControlElement(control)->pseudoStateChanged( 808 toHTMLFormControlElement(control)->pseudoStateChanged(
809 CSSSelector::PseudoDefault); 809 CSSSelector::PseudoDefault);
810 } 810 }
811 } 811 }
812 812
813 } // namespace blink 813 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698