Changeset 82925 in webkit


Ignore:
Timestamp:
Apr 5, 2011 4:45:29 AM (13 years ago)
Author:
ap@apple.com
Message:

2011-04-05 Alexey Proskuryakov <ap@apple.com>

Reviewed by Darin Adler.

Remove onformchange and onforminput events/event handlers
https://bugs.webkit.org/show_bug.cgi?id=55755
<rdar://problem/9087969>

  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/Window/window-property-descriptors-expected.txt:
  • fast/forms/formchange-event-expected.txt: Removed.
  • fast/forms/formchange-event.html: Removed.
  • fast/forms/forminput-event-expected.txt: Removed.
  • fast/forms/forminput-event.html: Removed.
  • fast/forms/script-tests/formchange-event.js: Removed.
  • fast/forms/script-tests/forminput-event.js: Removed.

2011-04-05 Alexey Proskuryakov <ap@apple.com>

Reviewed by Darin Adler.

Remove onformchange and onforminput events/event handlers
https://bugs.webkit.org/show_bug.cgi?id=55755
<rdar://problem/9087969>

Covered by existing tests.

  • dom/Document.h:
  • dom/Document.idl:
  • dom/Element.h:
  • dom/Element.idl:
  • dom/Event.cpp: (WebCore::Event::fromUserGesture):
  • dom/EventNames.h:
  • html/FormAssociatedElement.h:
  • html/HTMLAttributeNames.in:
  • html/HTMLElement.cpp: (WebCore::HTMLElement::parseMappedAttribute):
  • html/HTMLElement.h:
  • html/HTMLFormControlElement.h: (WebCore::HTMLFormControlElement::isEnumeratable):
  • html/HTMLFormElement.cpp:
  • html/HTMLFormElement.h:
  • html/HTMLFormElement.idl:
  • html/HTMLInputElement.h:
  • html/HTMLKeygenElement.h:
  • html/HTMLObjectElement.h: (WebCore::HTMLObjectElement::isEnumeratable):
  • html/HTMLOutputElement.h: (WebCore::HTMLOutputElement::isEnumeratable):
  • html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::isEnumeratable):
  • html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::isEnumeratable):
  • page/DOMWindow.h:
  • page/DOMWindow.idl:
Location:
trunk
Files:
6 deleted
26 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r82924 r82925  
     12011-04-05  Alexey Proskuryakov  <ap@apple.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        Remove onformchange and onforminput events/event handlers
     6        https://bugs.webkit.org/show_bug.cgi?id=55755
     7        <rdar://problem/9087969>
     8
     9        * fast/dom/Window/window-properties-expected.txt:
     10        * fast/dom/Window/window-property-descriptors-expected.txt:
     11        * fast/forms/formchange-event-expected.txt: Removed.
     12        * fast/forms/formchange-event.html: Removed.
     13        * fast/forms/forminput-event-expected.txt: Removed.
     14        * fast/forms/forminput-event.html: Removed.
     15        * fast/forms/script-tests/formchange-event.js: Removed.
     16        * fast/forms/script-tests/forminput-event.js: Removed.
     17
    1182011-04-05  Pavel Podivilov  <podivilov@chromium.org>
    219
  • trunk/LayoutTests/fast/dom/Window/window-properties-expected.txt

    r80846 r82925  
    23372337window.onerror [null]
    23382338window.onfocus [null]
    2339 window.onformchange [null]
    2340 window.onforminput [null]
    23412339window.onhashchange [null]
    23422340window.oninput [null]
  • trunk/LayoutTests/fast/dom/Window/window-property-descriptors-expected.txt

    r80846 r82925  
    397397PASS typeof Object.getOwnPropertyDescriptor(window, 'onerror') is 'object'
    398398PASS typeof Object.getOwnPropertyDescriptor(window, 'onfocus') is 'object'
    399 PASS typeof Object.getOwnPropertyDescriptor(window, 'onformchange') is 'object'
    400 PASS typeof Object.getOwnPropertyDescriptor(window, 'onforminput') is 'object'
    401399PASS typeof Object.getOwnPropertyDescriptor(window, 'onhashchange') is 'object'
    402400PASS typeof Object.getOwnPropertyDescriptor(window, 'oninput') is 'object'
  • trunk/Source/WebCore/ChangeLog

    r82923 r82925  
     12011-04-05  Alexey Proskuryakov  <ap@apple.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        Remove onformchange and onforminput events/event handlers
     6        https://bugs.webkit.org/show_bug.cgi?id=55755
     7        <rdar://problem/9087969>
     8
     9        Covered by existing tests.
     10
     11        * dom/Document.h:
     12        * dom/Document.idl:
     13        * dom/Element.h:
     14        * dom/Element.idl:
     15        * dom/Event.cpp:
     16        (WebCore::Event::fromUserGesture):
     17        * dom/EventNames.h:
     18        * html/FormAssociatedElement.h:
     19        * html/HTMLAttributeNames.in:
     20        * html/HTMLElement.cpp:
     21        (WebCore::HTMLElement::parseMappedAttribute):
     22        * html/HTMLElement.h:
     23        * html/HTMLFormControlElement.h:
     24        (WebCore::HTMLFormControlElement::isEnumeratable):
     25        * html/HTMLFormElement.cpp:
     26        * html/HTMLFormElement.h:
     27        * html/HTMLFormElement.idl:
     28        * html/HTMLInputElement.h:
     29        * html/HTMLKeygenElement.h:
     30        * html/HTMLObjectElement.h:
     31        (WebCore::HTMLObjectElement::isEnumeratable):
     32        * html/HTMLOutputElement.h:
     33        (WebCore::HTMLOutputElement::isEnumeratable):
     34        * html/HTMLSelectElement.h:
     35        (WebCore::HTMLSelectElement::isEnumeratable):
     36        * html/HTMLTextAreaElement.h:
     37        (WebCore::HTMLTextAreaElement::isEnumeratable):
     38        * page/DOMWindow.h:
     39        * page/DOMWindow.idl:
     40
    1412011-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
    242
  • trunk/Source/WebCore/dom/Document.h

    r82882 r82925  
    239239    DEFINE_ATTRIBUTE_EVENT_LISTENER(drag);
    240240    DEFINE_ATTRIBUTE_EVENT_LISTENER(dragend);
    241     DEFINE_ATTRIBUTE_EVENT_LISTENER(formchange);
    242     DEFINE_ATTRIBUTE_EVENT_LISTENER(forminput);
    243241    DEFINE_ATTRIBUTE_EVENT_LISTENER(input);
    244242    DEFINE_ATTRIBUTE_EVENT_LISTENER(invalid);
  • trunk/Source/WebCore/dom/Document.idl

    r79208 r82925  
    267267        attribute [DontEnum] EventListener onerror;
    268268        attribute [DontEnum] EventListener onfocus;
    269         attribute [DontEnum] EventListener onformchange;
    270         attribute [DontEnum] EventListener onforminput;
    271269        attribute [DontEnum] EventListener oninput;
    272270        attribute [DontEnum] EventListener oninvalid;
  • trunk/Source/WebCore/dom/Element.h

    r82595 r82925  
    6565    DEFINE_ATTRIBUTE_EVENT_LISTENER(drag);
    6666    DEFINE_ATTRIBUTE_EVENT_LISTENER(dragend);
    67     DEFINE_ATTRIBUTE_EVENT_LISTENER(formchange);
    68     DEFINE_ATTRIBUTE_EVENT_LISTENER(forminput);
    6967    DEFINE_ATTRIBUTE_EVENT_LISTENER(input);
    7068    DEFINE_ATTRIBUTE_EVENT_LISTENER(invalid);
  • trunk/Source/WebCore/dom/Element.idl

    r80846 r82925  
    156156        attribute [DontEnum] EventListener onerror;
    157157        attribute [DontEnum] EventListener onfocus;
    158         attribute [DontEnum] EventListener onformchange;
    159         attribute [DontEnum] EventListener onforminput;
    160158        attribute [DontEnum] EventListener oninput;
    161159        attribute [DontEnum] EventListener oninvalid;
  • trunk/Source/WebCore/dom/Event.cpp

    r82891 r82925  
    260260        || type == eventNames().selectEvent || type == eventNames().changeEvent
    261261        || type == eventNames().focusEvent || type == eventNames().blurEvent
    262         || type == eventNames().submitEvent || type == eventNames().formchangeEvent;
     262        || type == eventNames().submitEvent;
    263263}
    264264
  • trunk/Source/WebCore/dom/EventNames.h

    r80183 r82925  
    6868    macro(focusin) \
    6969    macro(focusout) \
    70     macro(formchange) \
    71     macro(forminput) \
    7270    macro(hashchange) \
    7371    macro(input) \
  • trunk/Source/WebCore/html/FormAssociatedElement.h

    r77114 r82925  
    4747    virtual bool isFormControlElement() const = 0;
    4848    virtual bool isEnumeratable() const = 0;
    49     virtual bool isResettable() const = 0;
    5049
    5150    const AtomicString& name() const { return formControlName(); }
  • trunk/Source/WebCore/html/HTMLAttributeNames.in

    r81038 r82925  
    179179onfocusin
    180180onfocusout
    181 onformchange
    182 onforminput
    183181onhashchange
    184182oninput
  • trunk/Source/WebCore/html/HTMLElement.cpp

    r82886 r82925  
    195195    } else if (attr->name() == onfocusoutAttr) {
    196196        setAttributeEventListener(eventNames().focusoutEvent, createAttributeEventListener(this, attr));
    197     } else if (attr->name() == onformchangeAttr) {
    198         setAttributeEventListener(eventNames().formchangeEvent, createAttributeEventListener(this, attr));
    199     } else if (attr->name() == onforminputAttr) {
    200         setAttributeEventListener(eventNames().forminputEvent, createAttributeEventListener(this, attr));
    201197    } else if (attr->name() == onblurAttr) {
    202198        setAttributeEventListener(eventNames().blurEvent, createAttributeEventListener(this, attr));
     
    815811}
    816812
    817 HTMLFormElement* HTMLElement::shadowAncestorOwnerForm()
    818 {
    819     Node* ancestorNode = shadowAncestorNode();
    820     if (!ancestorNode)
    821         return form();
    822 
    823     if (!ancestorNode->isHTMLElement())
    824         return 0;
    825     HTMLElement* ancestorHTML = toHTMLElement(ancestorNode);
    826     if (!ancestorHTML)
    827         return 0;
    828     return ancestorHTML->form();
    829 }
    830 
    831 void HTMLElement::dispatchChangeEvents()
    832 {
    833     RefPtr<HTMLElement> protector(this);
    834     RefPtr<HTMLFormElement> ownerForm(shadowAncestorOwnerForm());
    835 
    836     Node::dispatchChangeEvents();
    837     if (ownerForm)
    838         ownerForm->dispatchFormChange();
    839 }
    840 
    841 void HTMLElement::dispatchInputEvents()
    842 {
    843     RefPtr<HTMLElement> protector(this);
    844     RefPtr<HTMLFormElement> ownerForm(shadowAncestorOwnerForm());
    845 
    846     Node::dispatchInputEvents();
    847     if (ownerForm)
    848         ownerForm->dispatchFormInput();
    849 }
    850 
    851813static void setHasDirAutoFlagRecursively(Node* firstNode, bool flag, Node* lastNode = 0)
    852814{
  • trunk/Source/WebCore/html/HTMLElement.h

    r82886 r82925  
    8282    HTMLFormElement* findFormAncestor() const;
    8383
    84     virtual void dispatchChangeEvents();
    85     virtual void dispatchInputEvents();
    86 
    8784    TextDirection directionalityIfhasDirAutoAttribute(bool& isAuto) const;
    8885
     
    106103    Node* insertAdjacent(const String& where, Node* newChild, ExceptionCode&);
    107104    PassRefPtr<DocumentFragment> textToFragment(const String&, ExceptionCode&);
    108 
    109     HTMLFormElement* shadowAncestorOwnerForm();
    110105
    111106    void dirAttributeChanged(Attribute*);
  • trunk/Source/WebCore/html/HTMLFormControlElement.h

    r81978 r82925  
    6464    virtual bool isFocusable() const;
    6565    virtual bool isEnumeratable() const { return false; }
    66     virtual bool isResettable() const { return false; }
    6766
    6867    // Determines whether or not a control will be automatically focused.
  • trunk/Source/WebCore/html/HTMLFormElement.cpp

    r82535 r82925  
    588588}
    589589
    590 void HTMLFormElement::broadcastFormEvent(const AtomicString& eventName)
    591 {
    592     RefPtr<HTMLFormElement> protector(this);
    593     // Copy m_associatedElements because event handlers called from
    594     // formElement->dispatchEvent() might change m_associatedElements.
    595     Vector<RefPtr<FormAssociatedElement> > elements;
    596     elements.reserveCapacity(m_associatedElements.size());
    597     for (unsigned i = 0; i < m_associatedElements.size(); ++i) {
    598         if (!m_associatedElements[i]->isResettable())
    599             continue;
    600         elements.append(m_associatedElements[i]);
    601     }
    602 
    603     for (unsigned i = 0; i < elements.size(); ++i) {
    604         // We can assume a resettable control is always a HTMLFormControlElement.
    605         // FIXME: We should handle resettable non-HTMLFormControlElements maybe in the future.
    606         ASSERT(elements[i]->isFormControlElement());
    607         HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(elements[i].get());
    608         if (!formElement->dispatchEvent(Event::create(eventName, false, false)))
    609             continue;
    610     }
    611 }
    612 
    613 void HTMLFormElement::dispatchFormInput()
    614 {
    615     broadcastFormEvent(eventNames().forminputEvent);
    616 }
    617 
    618 void HTMLFormElement::dispatchFormChange()
    619 {
    620     broadcastFormEvent(eventNames().formchangeEvent);
    621 }
    622 
    623590bool HTMLFormElement::checkInvalidControlsAndCollectUnhandled(Vector<RefPtr<FormAssociatedElement> >& unhandledInvalidControls)
    624591{
  • trunk/Source/WebCore/html/HTMLFormElement.h

    r76663 r82925  
    115115    const Vector<FormAssociatedElement*>& associatedElements() const { return m_associatedElements; }
    116116
    117     void dispatchFormInput();
    118     void dispatchFormChange();
    119 
    120117private:
    121118    HTMLFormElement(const QualifiedName&, Document*);
     
    149146    bool checkInvalidControlsAndCollectUnhandled(Vector<RefPtr<FormAssociatedElement> >&);
    150147
    151     void broadcastFormEvent(const AtomicString&);
    152 
    153148    friend class HTMLFormCollection;
    154149
  • trunk/Source/WebCore/html/HTMLFormElement.idl

    r76115 r82925  
    4444        void reset();
    4545        boolean checkValidity();
    46 
    47         void dispatchFormInput();
    48         void dispatchFormChange();
    4946    };
    5047
  • trunk/Source/WebCore/html/HTMLInputElement.h

    r81263 r82925  
    216216    virtual bool isMouseFocusable() const;
    217217    virtual bool isEnumeratable() const;
    218     virtual bool isResettable() const { return true; }
    219218    virtual void updateFocusAppearance(bool restorePreviousSelection);
    220219    virtual void aboutToUnload();
  • trunk/Source/WebCore/html/HTMLKeygenElement.h

    r77781 r82925  
    5050    virtual bool isEnumeratable() const { return true; }
    5151
    52     virtual bool isResettable() const { return true; }
    5352    virtual void reset();
    5453
  • trunk/Source/WebCore/html/HTMLObjectElement.h

    r77891 r82925  
    5151
    5252    virtual bool isEnumeratable() const { return true; }
    53     virtual bool isResettable() const { return false; }
    5453    virtual bool appendFormData(FormDataList&, bool);
    5554
  • trunk/Source/WebCore/html/HTMLOutputElement.h

    r78232 r82925  
    5757    virtual const AtomicString& formControlType() const;
    5858    virtual bool isEnumeratable() const { return true; }
    59     virtual bool isResettable() const { return true; }
    6059    virtual void childrenChanged(bool createdByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
    6160    virtual void reset();
  • trunk/Source/WebCore/html/HTMLSelectElement.h

    r76929 r82925  
    108108
    109109    virtual bool isEnumeratable() const { return true; }
    110     virtual bool isResettable() const { return true; }
    111110
    112111    virtual bool saveFormControlState(String& value) const;
  • trunk/Source/WebCore/html/HTMLTextAreaElement.h

    r81263 r82925  
    8383
    8484    virtual bool isEnumeratable() const { return true; }
    85     virtual bool isResettable() const { return true; }
    8685
    8786    virtual const AtomicString& formControlType() const;
  • trunk/Source/WebCore/page/DOMWindow.h

    r81438 r82925  
    285285        DEFINE_ATTRIBUTE_EVENT_LISTENER(error);
    286286        DEFINE_ATTRIBUTE_EVENT_LISTENER(focus);
    287         DEFINE_ATTRIBUTE_EVENT_LISTENER(formchange);
    288         DEFINE_ATTRIBUTE_EVENT_LISTENER(forminput);
    289287        DEFINE_ATTRIBUTE_EVENT_LISTENER(hashchange);
    290288        DEFINE_ATTRIBUTE_EVENT_LISTENER(input);
  • trunk/Source/WebCore/page/DOMWindow.idl

    r81821 r82925  
    268268        attribute EventListener onerror;
    269269        attribute EventListener onfocus;
    270         attribute EventListener onformchange;
    271         attribute EventListener onforminput;
    272270        attribute EventListener onhashchange;
    273271        attribute EventListener oninput;
Note: See TracChangeset for help on using the changeset viewer.