Changeset 51000 in webkit


Ignore:
Timestamp:
Nov 15, 2009 3:15:07 PM (14 years ago)
Author:
dbates@webkit.org
Message:

2009-11-15 Daniel Bates <dbates@webkit.org>

No review, rolling out r50999.
http://trac.webkit.org/changeset/50999

Need to fix some issues in the Windows build. Missed some places where
RenderTextControl::isEdited is called.

  • bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _isEdited]): (-[DOMHTMLTextAreaElement _isEdited]):
  • dom/Document.cpp: (WebCore::Document::setFocusedNode):
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::RenderTextControl): (WebCore::RenderTextControl::setInnerTextValue): (WebCore::RenderTextControl::setUserEdited): (WebCore::RenderTextControl::subtreeHasChanged):
  • rendering/RenderTextControl.h: (WebCore::RenderTextControl::isEdited): (WebCore::RenderTextControl::setEdited): (WebCore::RenderTextControl::isUserEdited):
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
  • wml/WMLInputElement.cpp: (WebCore::WMLInputElement::defaultEventHandler):
Location:
trunk/WebCore
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r50999 r51000  
     12009-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
    1302009-11-15  Daniel Bates  <dbates@webkit.org>
    231
  • trunk/WebCore/bindings/objc/DOMHTML.mm

    r50999 r51000  
    168168{
    169169    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();
    171171}
    172172
     
    178178{
    179179    WebCore::RenderObject* renderer = core(self)->renderer();
    180     return renderer && static_cast<WebCore::RenderTextControl*>(renderer)->lastChangeWasUserEdit();
     180    return renderer && static_cast<WebCore::RenderTextControl*>(renderer)->isUserEdited();
    181181}
    182182
  • trunk/WebCore/dom/Document.cpp

    r50999 r51000  
    26562656        // Dispatch a change event for text fields or textareas that have been edited
    26572657        RenderObject* r = oldFocusedNode->renderer();
    2658         if (r && r->isTextControl() && toRenderTextControl(r)->wasChangedSinceLastChangeEvent()) {
     2658        if (r && r->isTextControl() && toRenderTextControl(r)->isEdited()) {
    26592659            oldFocusedNode->dispatchEvent(Event::create(eventNames().changeEvent, true, false));
    26602660            r = oldFocusedNode->renderer();
    26612661            if (r && r->isTextControl())
    2662                 toRenderTextControl(r)->setChangedSinceLastChangeEvent(false);
     2662                toRenderTextControl(r)->setEdited(false);
    26632663        }
    26642664
  • trunk/WebCore/html/HTMLInputElement.cpp

    r50999 r51000  
    15851585        // Fire onChange for text fields.
    15861586        RenderObject* r = renderer();
    1587         if (r && r->isTextField() && toRenderTextControl(r)->wasChangedSinceLastChangeEvent()) {
     1587        if (r && r->isTextField() && toRenderTextControl(r)->isEdited()) {
    15881588            dispatchFormControlChangeEvent();
    15891589            // Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.
    15901590            r = renderer();
    15911591            if (r && r->isTextField())
    1592                 toRenderTextControl(r)->setChangedSinceLastChangeEvent(false);
     1592                toRenderTextControl(r)->setEdited(false);
    15931593        }
    15941594
  • trunk/WebCore/rendering/RenderTextControl.cpp

    r50999 r51000  
    7171    : RenderBlock(node)
    7272    , m_placeholderVisible(placeholderVisible)
    73     , m_wasChangedSinceLastChangeEvent(false)
    74     , m_lastChangeWasUserEdit(false)
     73    , m_edited(false)
     74    , m_userEdited(false)
    7575{
    7676}
     
    196196        }
    197197
    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;
    199200    }
    200201
     
    202203}
    203204
    204 void RenderTextControl::setLastChangeWasUserEdit(bool lastChangeWasUserEdit)
    205 {
    206     m_lastChangeWasUserEdit = lastChangeWasUserEdit;
    207     document()->setIgnoreAutofocus(lastChangeWasUserEdit);
     205void RenderTextControl::setUserEdited(bool isUserEdited)
     206{
     207    m_userEdited = isUserEdited;
     208    document()->setIgnoreAutofocus(isUserEdited);
    208209}
    209210
     
    312313void RenderTextControl::subtreeHasChanged()
    313314{
    314     m_wasChangedSinceLastChangeEvent = true;
    315     m_lastChangeWasUserEdit = true;
     315    m_edited = true;
     316    m_userEdited = true;
    316317}
    317318
  • trunk/WebCore/rendering/RenderTextControl.h

    r50999 r51000  
    3535    virtual ~RenderTextControl();
    3636
    37     bool wasChangedSinceLastChangeEvent() const { return m_wasChangedSinceLastChangeEvent; }
    38     void setChangedSinceLastChangeEvent(bool wasChangedSinceLastChangeEvent) { m_wasChangedSinceLastChangeEvent = wasChangedSinceLastChangeEvent; }
     37    bool isEdited() const { return m_edited; }
     38    void setEdited(bool isEdited) { m_edited = isEdited; }
    3939
    40     bool lastChangeWasUserEdit() const { return m_lastChangeWasUserEdit; }
    41     void setLastChangeWasUserEdit(bool lastChangeWasUserEdit);
     40    bool isUserEdited() const { return m_userEdited; }
     41    void setUserEdited(bool isUserEdited);
    4242
    4343    int selectionStart();
     
    106106    String finishText(Vector<UChar>&) const;
    107107
    108     bool m_wasChangedSinceLastChangeEvent;
    109     bool m_lastChangeWasUserEdit;
     108    bool m_edited;
     109    bool m_userEdited;
    110110    RefPtr<TextControlInnerTextElement> m_innerText;
    111111};
  • trunk/WebCore/rendering/RenderTextControlSingleLine.cpp

    r50999 r51000  
    151151void RenderTextControlSingleLine::subtreeHasChanged()
    152152{
    153     bool wasChanged = wasChangedSinceLastChangeEvent();
     153    bool wasEdited = isEdited();
    154154    RenderTextControl::subtreeHasChanged();
    155155
     
    168168        startSearchEventTimer();
    169169
    170     if (!wasChanged && node()->focused()) {
     170    if (!wasEdited && node()->focused()) {
    171171        if (Frame* frame = document()->frame())
    172172            frame->textFieldDidBeginEditing(static_cast<Element*>(node()));
  • trunk/WebCore/wml/WMLInputElement.cpp

    r50999 r51000  
    281281        // Fire onChange for text fields.
    282282        RenderObject* r = renderer();
    283         if (r && toRenderTextControl(r)->wasChangedSinceLastChangeEvent()) {
     283        if (r && toRenderTextControl(r)->isEdited()) {
    284284            dispatchEvent(eventNames().changeEvent, true, false);
    285285           
     
    287287            r = renderer();
    288288            if (r)
    289                 toRenderTextControl(r)->setChangedSinceLastChangeEvent(false);
     289                toRenderTextControl(r)->setEdited(false);
    290290        }
    291291
Note: See TracChangeset for help on using the changeset viewer.