Changeset 44969 in webkit


Ignore:
Timestamp:
Jun 22, 2009 8:05:03 PM (15 years ago)
Author:
weinig@apple.com
Message:

WebCore:

2009-06-22 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

Add event handler attribute getter/setters to HTMLFrameSetElement
as specified in HTML 5. These match the ones on HTMLBodyElement.

  • dom/Node.h:
  • html/HTMLFrameSetElement.cpp: (WebCore::HTMLFrameSetElement::parseMappedAttribute): (WebCore::HTMLFrameSetElement::onblur): (WebCore::HTMLFrameSetElement::setOnblur): (WebCore::HTMLFrameSetElement::onerror): (WebCore::HTMLFrameSetElement::setOnerror): (WebCore::HTMLFrameSetElement::onfocus): (WebCore::HTMLFrameSetElement::setOnfocus): (WebCore::HTMLFrameSetElement::onload): (WebCore::HTMLFrameSetElement::setOnload): (WebCore::HTMLFrameSetElement::onbeforeunload): (WebCore::HTMLFrameSetElement::setOnbeforeunload): (WebCore::HTMLFrameSetElement::onmessage): (WebCore::HTMLFrameSetElement::setOnmessage): (WebCore::HTMLFrameSetElement::onoffline): (WebCore::HTMLFrameSetElement::setOnoffline): (WebCore::HTMLFrameSetElement::ononline): (WebCore::HTMLFrameSetElement::setOnonline): (WebCore::HTMLFrameSetElement::onresize): (WebCore::HTMLFrameSetElement::setOnresize): (WebCore::HTMLFrameSetElement::onstorage): (WebCore::HTMLFrameSetElement::setOnstorage): (WebCore::HTMLFrameSetElement::onunload): (WebCore::HTMLFrameSetElement::setOnunload):
  • html/HTMLFrameSetElement.h:
  • html/HTMLFrameSetElement.idl:

LayoutTests:

2009-06-22 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

Add event handler attribute getter/setters to HTMLFrameSetElement
as specified in HTML 5. These match the ones on HTMLBodyElement.

  • fast/dom/event-attribute-availability-expected.txt:
  • fast/dom/resources/event-attribute-availability.js:
Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r44968 r44969  
     12009-06-22  Sam Weinig  <sam@webkit.org>
     2
     3        Reviewed by Gavin Barraclough.
     4
     5        Add event handler attribute getter/setters to HTMLFrameSetElement
     6        as specified in HTML 5.  These match the ones on HTMLBodyElement.
     7
     8        * fast/dom/event-attribute-availability-expected.txt:
     9        * fast/dom/resources/event-attribute-availability.js:
     10
    1112009-06-22  Oliver Hunt  <oliver@apple.com>
    212
  • trunk/LayoutTests/fast/dom/event-attribute-availability-expected.txt

    r44944 r44969  
    254254PASS 'onfocus' in body is true
    255255PASS 'onload' in body is true
     256
     257Test HTMLFrameSetElement
     258PASS 'onabort' in frameSet is true
     259PASS 'onblur' in frameSet is true
     260PASS 'onchange' in frameSet is true
     261PASS 'onclick' in frameSet is true
     262PASS 'oncontextmenu' in frameSet is true
     263PASS 'ondblclick' in frameSet is true
     264PASS 'ondrag' in frameSet is true
     265PASS 'ondragend' in frameSet is true
     266PASS 'ondragenter' in frameSet is true
     267PASS 'ondragleave' in frameSet is true
     268PASS 'ondragover' in frameSet is true
     269PASS 'ondragstart' in frameSet is true
     270PASS 'ondrop' in frameSet is true
     271PASS 'onerror' in frameSet is true
     272PASS 'onfocus' in frameSet is true
     273PASS 'oninput' in frameSet is true
     274PASS 'onkeydown' in frameSet is true
     275PASS 'onkeypress' in frameSet is true
     276PASS 'onkeyup' in frameSet is true
     277PASS 'onload' in frameSet is true
     278PASS 'onmousedown' in frameSet is true
     279PASS 'onmousemove' in frameSet is true
     280PASS 'onmouseout' in frameSet is true
     281PASS 'onmouseover' in frameSet is true
     282PASS 'onmouseup' in frameSet is true
     283PASS 'onmousewheel' in frameSet is true
     284PASS 'onscroll' in frameSet is true
     285PASS 'onselect' in frameSet is true
     286PASS 'onsubmit' in frameSet is true
     287PASS 'onbeforecut' in frameSet is true
     288PASS 'oncut' in frameSet is true
     289PASS 'onbeforecopy' in frameSet is true
     290PASS 'oncopy' in frameSet is true
     291PASS 'onbeforepaste' in frameSet is true
     292PASS 'onpaste' in frameSet is true
     293PASS 'onreset' in frameSet is true
     294PASS 'onsearch' in frameSet is true
     295PASS 'onselectstart' in frameSet is true
     296PASS 'onbeforeunload' in frameSet is true
     297PASS 'onmessage' in frameSet is true
     298PASS 'onoffline' in frameSet is true
     299PASS 'ononline' in frameSet is true
     300PASS 'onresize' in frameSet is true
     301PASS 'onstorage' in frameSet is true
     302PASS 'onunload' in frameSet is true
     303PASS 'onblur' in frameSet is true
     304PASS 'onerror' in frameSet is true
     305PASS 'onfocus' in frameSet is true
     306PASS 'onload' in frameSet is true
    256307PASS successfullyParsed is true
    257308
  • trunk/LayoutTests/fast/dom/resources/event-attribute-availability.js

    r44944 r44969  
    1818];
    1919
    20 var bodyProperties = [
     20var bodyAndFrameSetProperties = [
    2121    "onbeforeunload", "onmessage", "onoffline", "ononline", "onresize", "onstorage", "onunload", "onblur",
    2222    "onerror", "onfocus", "onload",
     
    6060    shouldBeTrue("'" + elementAndDocumentProperties[i] + "' in body");
    6161}
    62 for (var i = 0; i < bodyProperties.length; ++i) {
    63     shouldBeTrue("'" + bodyProperties[i] + "' in body");
     62for (var i = 0; i < bodyAndFrameSetProperties.length; ++i) {
     63    shouldBeTrue("'" + bodyAndFrameSetProperties[i] + "' in body");
     64}
     65
     66debug("\nTest HTMLFrameSetElement");
     67var frameSet = document.createElement("frameset");
     68for (var i = 0; i < elementAndDocumentProperties.length; ++i) {
     69    shouldBeTrue("'" + elementAndDocumentProperties[i] + "' in frameSet");
     70}
     71for (var i = 0; i < bodyAndFrameSetProperties.length; ++i) {
     72    shouldBeTrue("'" + bodyAndFrameSetProperties[i] + "' in frameSet");
    6473}
    6574
  • trunk/WebCore/ChangeLog

    r44966 r44969  
     12009-06-22  Sam Weinig  <sam@webkit.org>
     2
     3        Reviewed by Gavin Barraclough.
     4
     5        Add event handler attribute getter/setters to HTMLFrameSetElement
     6        as specified in HTML 5.  These match the ones on HTMLBodyElement.
     7
     8        * dom/Node.h:
     9        * html/HTMLFrameSetElement.cpp:
     10        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
     11        (WebCore::HTMLFrameSetElement::onblur):
     12        (WebCore::HTMLFrameSetElement::setOnblur):
     13        (WebCore::HTMLFrameSetElement::onerror):
     14        (WebCore::HTMLFrameSetElement::setOnerror):
     15        (WebCore::HTMLFrameSetElement::onfocus):
     16        (WebCore::HTMLFrameSetElement::setOnfocus):
     17        (WebCore::HTMLFrameSetElement::onload):
     18        (WebCore::HTMLFrameSetElement::setOnload):
     19        (WebCore::HTMLFrameSetElement::onbeforeunload):
     20        (WebCore::HTMLFrameSetElement::setOnbeforeunload):
     21        (WebCore::HTMLFrameSetElement::onmessage):
     22        (WebCore::HTMLFrameSetElement::setOnmessage):
     23        (WebCore::HTMLFrameSetElement::onoffline):
     24        (WebCore::HTMLFrameSetElement::setOnoffline):
     25        (WebCore::HTMLFrameSetElement::ononline):
     26        (WebCore::HTMLFrameSetElement::setOnonline):
     27        (WebCore::HTMLFrameSetElement::onresize):
     28        (WebCore::HTMLFrameSetElement::setOnresize):
     29        (WebCore::HTMLFrameSetElement::onstorage):
     30        (WebCore::HTMLFrameSetElement::setOnstorage):
     31        (WebCore::HTMLFrameSetElement::onunload):
     32        (WebCore::HTMLFrameSetElement::setOnunload):
     33        * html/HTMLFrameSetElement.h:
     34        * html/HTMLFrameSetElement.idl:
     35
    1362009-06-22  Darin Adler  <darin@apple.com>
    237
  • trunk/WebCore/dom/Node.h

    r44944 r44969  
    569569
    570570    // These 4 attribute event handler attributes are overrided by HTMLBodyElement
    571     // to forward to the DOMWindow.
     571    // and HTMLFrameSetElement to forward to the DOMWindow.
    572572    virtual EventListener* onblur() const;
    573573    virtual void setOnblur(PassRefPtr<EventListener>);
  • trunk/WebCore/html/HTMLFrameSetElement.cpp

    r43187 r44969  
    44 *           (C) 2000 Simon Hausmann (hausmann@kde.org)
    55 *           (C) 2001 Dirk Mueller (mueller@kde.org)
    6  * Copyright (C) 2004, 2006 Apple Computer, Inc.
     6 * Copyright (C) 2004, 2006, 2009 Apple Inc. All rights reserved.
    77 *
    88 * This library is free software; you can redistribute it and/or
     
    126126            m_borderColorSet = true;
    127127        }
    128     } else if (attr->name() == onloadAttr) {
     128    } else if (attr->name() == onloadAttr)
    129129        document()->setWindowAttributeEventListener(eventNames().loadEvent, createAttributeEventListener(document()->frame(), attr));
    130     } else if (attr->name() == onbeforeunloadAttr) {
     130    else if (attr->name() == onbeforeunloadAttr)
    131131        document()->setWindowAttributeEventListener(eventNames().beforeunloadEvent, createAttributeEventListener(document()->frame(), attr));
    132     } else if (attr->name() == onunloadAttr) {
     132    else if (attr->name() == onunloadAttr)
    133133        document()->setWindowAttributeEventListener(eventNames().unloadEvent, createAttributeEventListener(document()->frame(), attr));
    134     } else
     134    else if (attr->name() == onblurAttr)
     135        document()->setWindowAttributeEventListener(eventNames().blurEvent, createAttributeEventListener(document()->frame(), attr));
     136    else if (attr->name() == onfocusAttr)
     137        document()->setWindowAttributeEventListener(eventNames().focusEvent, createAttributeEventListener(document()->frame(), attr));
     138    else if (attr->name() == onresizeAttr)
     139        document()->setWindowAttributeEventListener(eventNames().resizeEvent, createAttributeEventListener(document()->frame(), attr));
     140    else if (attr->name() == onscrollAttr)
     141        document()->setWindowAttributeEventListener(eventNames().scrollEvent, createAttributeEventListener(document()->frame(), attr));
     142    else if (attr->name() == onstorageAttr)
     143        document()->setWindowAttributeEventListener(eventNames().storageEvent, createAttributeEventListener(document()->frame(), attr));
     144    else if (attr->name() == ononlineAttr)
     145        document()->setWindowAttributeEventListener(eventNames().onlineEvent, createAttributeEventListener(document()->frame(), attr));
     146    else if (attr->name() == onofflineAttr)
     147        document()->setWindowAttributeEventListener(eventNames().offlineEvent, createAttributeEventListener(document()->frame(), attr));
     148    else
    135149        HTMLElement::parseMappedAttribute(attr);
    136150}
     
    215229}
    216230
    217 }
     231EventListener* HTMLFrameSetElement::onblur() const
     232{
     233    return document()->getWindowAttributeEventListener(eventNames().blurEvent);
     234}
     235
     236void HTMLFrameSetElement::setOnblur(PassRefPtr<EventListener> eventListener)
     237{
     238    document()->setAttributeEventListener(eventNames().blurEvent, eventListener);
     239}
     240
     241EventListener* HTMLFrameSetElement::onerror() const
     242{
     243    return document()->getWindowAttributeEventListener(eventNames().errorEvent);
     244}
     245
     246void HTMLFrameSetElement::setOnerror(PassRefPtr<EventListener> eventListener)
     247{
     248    document()->setAttributeEventListener(eventNames().errorEvent, eventListener);
     249}
     250
     251EventListener* HTMLFrameSetElement::onfocus() const
     252{
     253    return document()->getWindowAttributeEventListener(eventNames().focusEvent);
     254}
     255
     256void HTMLFrameSetElement::setOnfocus(PassRefPtr<EventListener> eventListener)
     257{
     258    document()->setAttributeEventListener(eventNames().focusEvent, eventListener);
     259}
     260
     261EventListener* HTMLFrameSetElement::onload() const
     262{
     263    return document()->getWindowAttributeEventListener(eventNames().loadEvent);
     264}
     265
     266void HTMLFrameSetElement::setOnload(PassRefPtr<EventListener> eventListener)
     267{
     268    document()->setAttributeEventListener(eventNames().loadEvent, eventListener);
     269}
     270
     271EventListener* HTMLFrameSetElement::onbeforeunload() const
     272{
     273    return document()->getWindowAttributeEventListener(eventNames().beforeunloadEvent);
     274}
     275
     276void HTMLFrameSetElement::setOnbeforeunload(PassRefPtr<EventListener> eventListener)
     277{
     278    document()->setAttributeEventListener(eventNames().beforeunloadEvent, eventListener);
     279}
     280
     281EventListener* HTMLFrameSetElement::onmessage() const
     282{
     283    return document()->getWindowAttributeEventListener(eventNames().messageEvent);
     284}
     285
     286void HTMLFrameSetElement::setOnmessage(PassRefPtr<EventListener> eventListener)
     287{
     288    document()->setAttributeEventListener(eventNames().messageEvent, eventListener);
     289}
     290
     291EventListener* HTMLFrameSetElement::onoffline() const
     292{
     293    return document()->getWindowAttributeEventListener(eventNames().offlineEvent);
     294}
     295
     296void HTMLFrameSetElement::setOnoffline(PassRefPtr<EventListener> eventListener)
     297{
     298    document()->setAttributeEventListener(eventNames().offlineEvent, eventListener);
     299}
     300
     301EventListener* HTMLFrameSetElement::ononline() const
     302{
     303    return document()->getWindowAttributeEventListener(eventNames().onlineEvent);
     304}
     305
     306void HTMLFrameSetElement::setOnonline(PassRefPtr<EventListener> eventListener)
     307{
     308    document()->setAttributeEventListener(eventNames().onlineEvent, eventListener);
     309}
     310
     311EventListener* HTMLFrameSetElement::onresize() const
     312{
     313    return document()->getWindowAttributeEventListener(eventNames().resizeEvent);
     314}
     315
     316void HTMLFrameSetElement::setOnresize(PassRefPtr<EventListener> eventListener)
     317{
     318    document()->setAttributeEventListener(eventNames().resizeEvent, eventListener);
     319}
     320
     321EventListener* HTMLFrameSetElement::onstorage() const
     322{
     323    return document()->getWindowAttributeEventListener(eventNames().storageEvent);
     324}
     325
     326void HTMLFrameSetElement::setOnstorage(PassRefPtr<EventListener> eventListener)
     327{
     328    document()->setAttributeEventListener(eventNames().storageEvent, eventListener);
     329}
     330
     331EventListener* HTMLFrameSetElement::onunload() const
     332{
     333    return document()->getWindowAttributeEventListener(eventNames().unloadEvent);
     334}
     335
     336void HTMLFrameSetElement::setOnunload(PassRefPtr<EventListener> eventListener)
     337{
     338    document()->setAttributeEventListener(eventNames().unloadEvent, eventListener);
     339}
     340
     341} // namespace WebCore
  • trunk/WebCore/html/HTMLFrameSetElement.h

    r38791 r44969  
    11/*
    2  * This file is part of the DOM implementation for KDE.
    3  *
    42 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
    53 *           (C) 1999 Antti Koivisto (koivisto@kde.org)
    64 *           (C) 2000 Simon Hausmann <hausmann@kde.org>
    7  * Copyright (C) 2004, 2006 Apple Computer, Inc.
     5 * Copyright (C) 2004, 2006, 2009 Apple Inc. All rights reserved.
    86 *
    97 * This library is free software; you can redistribute it and/or
     
    4644    virtual void attach();
    4745    virtual bool rendererIsNeeded(RenderStyle*);
    48     virtual RenderObject *createRenderer(RenderArena*, RenderStyle*);
     46    virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
    4947   
    5048    virtual void defaultEventHandler(Event*);
     
    5957    bool hasBorderColor() const { return m_borderColorSet; }
    6058
    61     virtual void recalcStyle( StyleChange ch );
     59    virtual void recalcStyle(StyleChange);
    6260   
    6361    String cols() const;
     
    6967    const Length* rowLengths() const { return m_rows; }
    7068    const Length* colLengths() const { return m_cols; }
     69
     70    // Event handler attributes
     71    virtual EventListener* onblur() const;
     72    virtual void setOnblur(PassRefPtr<EventListener>);
     73    virtual EventListener* onerror() const;
     74    virtual void setOnerror(PassRefPtr<EventListener>);
     75    virtual EventListener* onfocus() const;
     76    virtual void setOnfocus(PassRefPtr<EventListener>);
     77    virtual EventListener* onload() const;
     78    virtual void setOnload(PassRefPtr<EventListener>);
     79
     80    EventListener* onbeforeunload() const;
     81    void setOnbeforeunload(PassRefPtr<EventListener>);
     82    EventListener* onmessage() const;
     83    void setOnmessage(PassRefPtr<EventListener>);
     84    EventListener* onoffline() const;
     85    void setOnoffline(PassRefPtr<EventListener>);
     86    EventListener* ononline() const;
     87    void setOnonline(PassRefPtr<EventListener>);
     88    EventListener* onresize() const;
     89    void setOnresize(PassRefPtr<EventListener>);
     90    EventListener* onstorage() const;
     91    void setOnstorage(PassRefPtr<EventListener>);
     92    EventListener* onunload() const;
     93    void setOnunload(PassRefPtr<EventListener>);
    7194
    7295private:
     
    87110};
    88111
    89 } //namespace
     112} // namespace WebCore
    90113
    91 #endif
     114#endif // HTMLFrameSetElement_h
  • trunk/WebCore/html/HTMLFrameSetElement.idl

    r29672 r44969  
    11/*
    2  * Copyright (C) 2006, 2007 Apple Inc. All rights reserve
     2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserve
    33 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
    44 *
     
    2727        ImplementationUUID=450f7bf6-fdc0-4a0f-b7e1-baea7f7e5732
    2828    ] HTMLFrameSetElement : HTMLElement {
    29 
    3029        attribute [ConvertNullToNullString] DOMString cols;
    3130        attribute [ConvertNullToNullString] DOMString rows;
    3231
     32#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
     33#if !defined(LANGUAGE_COM) || !LANGUAGE_COM
     34        // Event handler attributes
     35        attribute [DontEnum] EventListener onbeforeunload;
     36        attribute [DontEnum] EventListener onmessage;
     37        attribute [DontEnum] EventListener onoffline;
     38        attribute [DontEnum] EventListener ononline;
     39        attribute [DontEnum] EventListener onresize;
     40        attribute [DontEnum] EventListener onstorage;
     41        attribute [DontEnum] EventListener onunload;
     42
     43        // Overrides of Element attributes.
     44        // attribute [DontEnum] EventListener onblur;
     45        // attribute [DontEnum] EventListener onerror;
     46        // attribute [DontEnum] EventListener onfocus;
     47        // attribute [DontEnum] EventListener onload;
     48
     49        // Not implemented yet.
     50        // attribute [DontEnum] EventListener onafterprint;
     51        // attribute [DontEnum] EventListener onbeforeprint;
     52        // attribute [DontEnum] EventListener onhashchange;
     53        // attribute [DontEnum] EventListener onpopstate;
     54        // attribute [DontEnum] EventListener onredo;
     55        // attribute [DontEnum] EventListener onundo;
     56#endif
     57#endif
    3358    };
    3459
Note: See TracChangeset for help on using the changeset viewer.