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

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

Issue 26622007: Move isAutofilled and setAutofilled from HTMLInputElement to HTMLFormControlElement (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Update messaging in test. Created 7 years, 2 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/html/HTMLFormControlElement.h ('k') | Source/core/html/HTMLInputElement.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, 2007 Apple Inc. All rights reserved. 5 * Copyright (C) 2004, 2005, 2006, 2007 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 30 matching lines...) Expand all
41 #include "wtf/Vector.h" 41 #include "wtf/Vector.h"
42 42
43 namespace WebCore { 43 namespace WebCore {
44 44
45 using namespace HTMLNames; 45 using namespace HTMLNames;
46 using namespace std; 46 using namespace std;
47 47
48 HTMLFormControlElement::HTMLFormControlElement(const QualifiedName& tagName, Doc ument& document, HTMLFormElement* form) 48 HTMLFormControlElement::HTMLFormControlElement(const QualifiedName& tagName, Doc ument& document, HTMLFormElement* form)
49 : LabelableElement(tagName, document) 49 : LabelableElement(tagName, document)
50 , m_disabled(false) 50 , m_disabled(false)
51 , m_isAutofilled(false)
51 , m_isReadOnly(false) 52 , m_isReadOnly(false)
52 , m_isRequired(false) 53 , m_isRequired(false)
53 , m_valueMatchesRenderer(false) 54 , m_valueMatchesRenderer(false)
54 , m_ancestorDisabledState(AncestorDisabledStateUnknown) 55 , m_ancestorDisabledState(AncestorDisabledStateUnknown)
55 , m_dataListAncestorState(Unknown) 56 , m_dataListAncestorState(Unknown)
56 , m_willValidateInitialized(false) 57 , m_willValidateInitialized(false)
57 , m_willValidate(true) 58 , m_willValidate(true)
58 , m_isValid(true) 59 , m_isValid(true)
59 , m_wasChangedSinceLastFormControlChangeEvent(false) 60 , m_wasChangedSinceLastFormControlChangeEvent(false)
60 , m_wasFocusedByMouse(false) 61 , m_wasFocusedByMouse(false)
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 } 115 }
115 m_ancestorDisabledState = (fieldSetAncestor && fieldSetAncestor->isDisabledF ormControl() && !(legendAncestor && legendAncestor == fieldSetAncestor->legend() )) ? AncestorDisabledStateDisabled : AncestorDisabledStateEnabled; 116 m_ancestorDisabledState = (fieldSetAncestor && fieldSetAncestor->isDisabledF ormControl() && !(legendAncestor && legendAncestor == fieldSetAncestor->legend() )) ? AncestorDisabledStateDisabled : AncestorDisabledStateEnabled;
116 } 117 }
117 118
118 void HTMLFormControlElement::ancestorDisabledStateWasChanged() 119 void HTMLFormControlElement::ancestorDisabledStateWasChanged()
119 { 120 {
120 m_ancestorDisabledState = AncestorDisabledStateUnknown; 121 m_ancestorDisabledState = AncestorDisabledStateUnknown;
121 disabledAttributeChanged(); 122 disabledAttributeChanged();
122 } 123 }
123 124
125 void HTMLFormControlElement::reset()
126 {
127 setAutofilled(false);
128 resetImpl();
129 }
130
124 void HTMLFormControlElement::parseAttribute(const QualifiedName& name, const Ato micString& value) 131 void HTMLFormControlElement::parseAttribute(const QualifiedName& name, const Ato micString& value)
125 { 132 {
126 if (name == formAttr) { 133 if (name == formAttr) {
127 formAttributeChanged(); 134 formAttributeChanged();
128 UseCounter::count(&document(), UseCounter::FormAttribute); 135 UseCounter::count(&document(), UseCounter::FormAttribute);
129 } else if (name == disabledAttr) { 136 } else if (name == disabledAttr) {
130 bool oldDisabled = m_disabled; 137 bool oldDisabled = m_disabled;
131 m_disabled = !value.isNull(); 138 m_disabled = !value.isNull();
132 if (oldDisabled != m_disabled) 139 if (oldDisabled != m_disabled)
133 disabledAttributeChanged(); 140 disabledAttributeChanged();
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 return true; 200 return true;
194 if (hasTagName(keygenTag)) 201 if (hasTagName(keygenTag))
195 return true; 202 return true;
196 if (hasTagName(buttonTag)) 203 if (hasTagName(buttonTag))
197 return true; 204 return true;
198 if (isHTMLTextAreaElement(this)) 205 if (isHTMLTextAreaElement(this))
199 return true; 206 return true;
200 return false; 207 return false;
201 } 208 }
202 209
210 void HTMLFormControlElement::setAutofilled(bool autofilled)
211 {
212 if (autofilled == m_isAutofilled)
213 return;
214
215 m_isAutofilled = autofilled;
216 setNeedsStyleRecalc();
217 }
218
203 static bool shouldAutofocusOnAttach(const HTMLFormControlElement* element) 219 static bool shouldAutofocusOnAttach(const HTMLFormControlElement* element)
204 { 220 {
205 if (!element->isAutofocusable()) 221 if (!element->isAutofocusable())
206 return false; 222 return false;
207 if (element->hasAutofocused()) 223 if (element->hasAutofocused())
208 return false; 224 return false;
209 if (element->document().isSandboxed(SandboxAutomaticFeatures)) { 225 if (element->document().isSandboxed(SandboxAutomaticFeatures)) {
210 // FIXME: This message should be moved off the console once a solution t o https://bugs.webkit.org/show_bug.cgi?id=103274 exists. 226 // FIXME: This message should be moved off the console once a solution t o https://bugs.webkit.org/show_bug.cgi?id=103274 exists.
211 element->document().addConsoleMessage(SecurityMessageSource, ErrorMessag eLevel, "Blocked autofocusing on a form control because the form's frame is sand boxed and the 'allow-scripts' permission is not set."); 227 element->document().addConsoleMessage(SecurityMessageSource, ErrorMessag eLevel, "Blocked autofocusing on a form control because the form's frame is sand boxed and the 'allow-scripts' permission is not set.");
212 return false; 228 return false;
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 HTMLFormControlElement* HTMLFormControlElement::enclosingFormControlElement(Node * node) 506 HTMLFormControlElement* HTMLFormControlElement::enclosingFormControlElement(Node * node)
491 { 507 {
492 for (; node; node = node->parentNode()) { 508 for (; node; node = node->parentNode()) {
493 if (node->isElementNode() && toElement(node)->isFormControlElement()) 509 if (node->isElementNode() && toElement(node)->isFormControlElement())
494 return toHTMLFormControlElement(node); 510 return toHTMLFormControlElement(node);
495 } 511 }
496 return 0; 512 return 0;
497 } 513 }
498 514
499 } // namespace Webcore 515 } // namespace Webcore
OLDNEW
« no previous file with comments | « Source/core/html/HTMLFormControlElement.h ('k') | Source/core/html/HTMLInputElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698