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

Side by Side Diff: Source/core/html/HTMLFieldSetElement.cpp

Issue 17381010: Introduce toHTMLFormControlElement, and use it. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/editing/FrameSelection.cpp ('k') | Source/core/html/HTMLFormControlElement.h » ('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) 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, 2010 Apple Inc. All rights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2010 Apple Inc. All rights reserved.
6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com)
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 PassRefPtr<HTMLFieldSetElement> HTMLFieldSetElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form) 48 PassRefPtr<HTMLFieldSetElement> HTMLFieldSetElement::create(const QualifiedName& tagName, Document* document, HTMLFormElement* form)
49 { 49 {
50 return adoptRef(new HTMLFieldSetElement(tagName, document, form)); 50 return adoptRef(new HTMLFieldSetElement(tagName, document, form));
51 } 51 }
52 52
53 void HTMLFieldSetElement::invalidateDisabledStateUnder(Element* base) 53 void HTMLFieldSetElement::invalidateDisabledStateUnder(Element* base)
54 { 54 {
55 for (Element* element = ElementTraversal::firstWithin(base); element; elemen t = ElementTraversal::next(element, base)) { 55 for (Element* element = ElementTraversal::firstWithin(base); element; elemen t = ElementTraversal::next(element, base)) {
56 if (element->isFormControlElement()) 56 if (element->isFormControlElement())
57 static_cast<HTMLFormControlElement*>(element)->ancestorDisabledState WasChanged(); 57 toHTMLFormControlElement(element)->ancestorDisabledStateWasChanged() ;
58 } 58 }
59 } 59 }
60 60
61 void HTMLFieldSetElement::disabledAttributeChanged() 61 void HTMLFieldSetElement::disabledAttributeChanged()
62 { 62 {
63 // This element must be updated before the style of nodes in its subtree get s recalculated. 63 // This element must be updated before the style of nodes in its subtree get s recalculated.
64 HTMLFormControlElement::disabledAttributeChanged(); 64 HTMLFormControlElement::disabledAttributeChanged();
65 invalidateDisabledStateUnder(this); 65 invalidateDisabledStateUnder(this);
66 } 66 }
67 67
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 116
117 for (Element* element = ElementTraversal::firstWithin(this); element; elemen t = ElementTraversal::next(element, this)) { 117 for (Element* element = ElementTraversal::firstWithin(this); element; elemen t = ElementTraversal::next(element, this)) {
118 if (element->hasTagName(objectTag)) { 118 if (element->hasTagName(objectTag)) {
119 m_associatedElements.append(static_cast<HTMLObjectElement*>(element) ); 119 m_associatedElements.append(static_cast<HTMLObjectElement*>(element) );
120 continue; 120 continue;
121 } 121 }
122 122
123 if (!element->isFormControlElement()) 123 if (!element->isFormControlElement())
124 continue; 124 continue;
125 125
126 m_associatedElements.append(static_cast<HTMLFormControlElement*>(element )); 126 m_associatedElements.append(toHTMLFormControlElement(element));
127 } 127 }
128 } 128 }
129 129
130 const Vector<FormAssociatedElement*>& HTMLFieldSetElement::associatedElements() const 130 const Vector<FormAssociatedElement*>& HTMLFieldSetElement::associatedElements() const
131 { 131 {
132 refreshElementsIfNeeded(); 132 refreshElementsIfNeeded();
133 return m_associatedElements; 133 return m_associatedElements;
134 } 134 }
135 135
136 unsigned HTMLFieldSetElement::length() const 136 unsigned HTMLFieldSetElement::length() const
137 { 137 {
138 refreshElementsIfNeeded(); 138 refreshElementsIfNeeded();
139 unsigned len = 0; 139 unsigned len = 0;
140 for (unsigned i = 0; i < m_associatedElements.size(); ++i) 140 for (unsigned i = 0; i < m_associatedElements.size(); ++i)
141 if (m_associatedElements[i]->isEnumeratable()) 141 if (m_associatedElements[i]->isEnumeratable())
142 ++len; 142 ++len;
143 return len; 143 return len;
144 } 144 }
145 145
146 } // namespace 146 } // namespace
OLDNEW
« no previous file with comments | « Source/core/editing/FrameSelection.cpp ('k') | Source/core/html/HTMLFormControlElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698