Changeset 51000 in webkit
- Timestamp:
- Nov 15, 2009 3:15:07 PM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r50999 r51000 1 2009-11-15 Daniel Bates <dbates@webkit.org> 2 3 No review, rolling out r50999. 4 http://trac.webkit.org/changeset/50999 5 6 Need to fix some issues in the Windows build. Missed some places where 7 RenderTextControl::isEdited is called. 8 9 * bindings/objc/DOMHTML.mm: 10 (-[DOMHTMLInputElement _isEdited]): 11 (-[DOMHTMLTextAreaElement _isEdited]): 12 * dom/Document.cpp: 13 (WebCore::Document::setFocusedNode): 14 * html/HTMLInputElement.cpp: 15 (WebCore::HTMLInputElement::defaultEventHandler): 16 * rendering/RenderTextControl.cpp: 17 (WebCore::RenderTextControl::RenderTextControl): 18 (WebCore::RenderTextControl::setInnerTextValue): 19 (WebCore::RenderTextControl::setUserEdited): 20 (WebCore::RenderTextControl::subtreeHasChanged): 21 * rendering/RenderTextControl.h: 22 (WebCore::RenderTextControl::isEdited): 23 (WebCore::RenderTextControl::setEdited): 24 (WebCore::RenderTextControl::isUserEdited): 25 * rendering/RenderTextControlSingleLine.cpp: 26 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 27 * wml/WMLInputElement.cpp: 28 (WebCore::WMLInputElement::defaultEventHandler): 29 1 30 2009-11-15 Daniel Bates <dbates@webkit.org> 2 31 -
trunk/WebCore/bindings/objc/DOMHTML.mm
r50999 r51000 168 168 { 169 169 WebCore::RenderObject *renderer = core(self)->renderer(); 170 return renderer && [self _isTextField] && static_cast<WebCore::RenderTextControl *>(renderer)-> lastChangeWasUserEdit();170 return renderer && [self _isTextField] && static_cast<WebCore::RenderTextControl *>(renderer)->isUserEdited(); 171 171 } 172 172 … … 178 178 { 179 179 WebCore::RenderObject* renderer = core(self)->renderer(); 180 return renderer && static_cast<WebCore::RenderTextControl*>(renderer)-> lastChangeWasUserEdit();180 return renderer && static_cast<WebCore::RenderTextControl*>(renderer)->isUserEdited(); 181 181 } 182 182 -
trunk/WebCore/dom/Document.cpp
r50999 r51000 2656 2656 // Dispatch a change event for text fields or textareas that have been edited 2657 2657 RenderObject* r = oldFocusedNode->renderer(); 2658 if (r && r->isTextControl() && toRenderTextControl(r)-> wasChangedSinceLastChangeEvent()) {2658 if (r && r->isTextControl() && toRenderTextControl(r)->isEdited()) { 2659 2659 oldFocusedNode->dispatchEvent(Event::create(eventNames().changeEvent, true, false)); 2660 2660 r = oldFocusedNode->renderer(); 2661 2661 if (r && r->isTextControl()) 2662 toRenderTextControl(r)->set ChangedSinceLastChangeEvent(false);2662 toRenderTextControl(r)->setEdited(false); 2663 2663 } 2664 2664 -
trunk/WebCore/html/HTMLInputElement.cpp
r50999 r51000 1585 1585 // Fire onChange for text fields. 1586 1586 RenderObject* r = renderer(); 1587 if (r && r->isTextField() && toRenderTextControl(r)-> wasChangedSinceLastChangeEvent()) {1587 if (r && r->isTextField() && toRenderTextControl(r)->isEdited()) { 1588 1588 dispatchFormControlChangeEvent(); 1589 1589 // Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it. 1590 1590 r = renderer(); 1591 1591 if (r && r->isTextField()) 1592 toRenderTextControl(r)->set ChangedSinceLastChangeEvent(false);1592 toRenderTextControl(r)->setEdited(false); 1593 1593 } 1594 1594 -
trunk/WebCore/rendering/RenderTextControl.cpp
r50999 r51000 71 71 : RenderBlock(node) 72 72 , m_placeholderVisible(placeholderVisible) 73 , m_ wasChangedSinceLastChangeEvent(false)74 , m_ lastChangeWasUserEdit(false)73 , m_edited(false) 74 , m_userEdited(false) 75 75 { 76 76 } … … 196 196 } 197 197 198 m_lastChangeWasUserEdit = false; 198 // We set m_userEdited to false since this change was not explicty made by the user (say, via typing on the keyboard), see <rdar://problem/5359921>. 199 m_userEdited = false; 199 200 } 200 201 … … 202 203 } 203 204 204 void RenderTextControl::set LastChangeWasUserEdit(bool lastChangeWasUserEdit)205 { 206 m_ lastChangeWasUserEdit = lastChangeWasUserEdit;207 document()->setIgnoreAutofocus( lastChangeWasUserEdit);205 void RenderTextControl::setUserEdited(bool isUserEdited) 206 { 207 m_userEdited = isUserEdited; 208 document()->setIgnoreAutofocus(isUserEdited); 208 209 } 209 210 … … 312 313 void RenderTextControl::subtreeHasChanged() 313 314 { 314 m_ wasChangedSinceLastChangeEvent= true;315 m_ lastChangeWasUserEdit= true;315 m_edited = true; 316 m_userEdited = true; 316 317 } 317 318 -
trunk/WebCore/rendering/RenderTextControl.h
r50999 r51000 35 35 virtual ~RenderTextControl(); 36 36 37 bool wasChangedSinceLastChangeEvent() const { return m_wasChangedSinceLastChangeEvent; }38 void set ChangedSinceLastChangeEvent(bool wasChangedSinceLastChangeEvent) { m_wasChangedSinceLastChangeEvent = wasChangedSinceLastChangeEvent; }37 bool isEdited() const { return m_edited; } 38 void setEdited(bool isEdited) { m_edited = isEdited; } 39 39 40 bool lastChangeWasUserEdit() const { return m_lastChangeWasUserEdit; }41 void set LastChangeWasUserEdit(bool lastChangeWasUserEdit);40 bool isUserEdited() const { return m_userEdited; } 41 void setUserEdited(bool isUserEdited); 42 42 43 43 int selectionStart(); … … 106 106 String finishText(Vector<UChar>&) const; 107 107 108 bool m_ wasChangedSinceLastChangeEvent;109 bool m_ lastChangeWasUserEdit;108 bool m_edited; 109 bool m_userEdited; 110 110 RefPtr<TextControlInnerTextElement> m_innerText; 111 111 }; -
trunk/WebCore/rendering/RenderTextControlSingleLine.cpp
r50999 r51000 151 151 void RenderTextControlSingleLine::subtreeHasChanged() 152 152 { 153 bool was Changed = wasChangedSinceLastChangeEvent();153 bool wasEdited = isEdited(); 154 154 RenderTextControl::subtreeHasChanged(); 155 155 … … 168 168 startSearchEventTimer(); 169 169 170 if (!was Changed && node()->focused()) {170 if (!wasEdited && node()->focused()) { 171 171 if (Frame* frame = document()->frame()) 172 172 frame->textFieldDidBeginEditing(static_cast<Element*>(node())); -
trunk/WebCore/wml/WMLInputElement.cpp
r50999 r51000 281 281 // Fire onChange for text fields. 282 282 RenderObject* r = renderer(); 283 if (r && toRenderTextControl(r)-> wasChangedSinceLastChangeEvent()) {283 if (r && toRenderTextControl(r)->isEdited()) { 284 284 dispatchEvent(eventNames().changeEvent, true, false); 285 285 … … 287 287 r = renderer(); 288 288 if (r) 289 toRenderTextControl(r)->set ChangedSinceLastChangeEvent(false);289 toRenderTextControl(r)->setEdited(false); 290 290 } 291 291
Note: See TracChangeset
for help on using the changeset viewer.