Commit 622da3cf authored by weinig's avatar weinig
Browse files

Reviewed by Darin.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=13853
        Autogenerate the JS bindings for the HTMLFrameSetElement

        * DerivedSources.make:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        * bindings/js/JSHTMLFrameSetCustom.cpp: Added.
        (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
        (WebCore::JSHTMLFrameSetElement::nameGetter):
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        (KJS::JSHTMLElement::getOwnPropertySlot):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        * html/HTMLFrameSetElement.idl:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21714 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 18a9d5e4
2007-05-24 Sam Weinig <sam@webkit.org>
Reviewed by Darin.
Patch for http://bugs.webkit.org/show_bug.cgi?id=13853
Autogenerate the JS bindings for the HTMLFrameSetElement
* DerivedSources.make:
* WebCore.pro:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSHTMLElementWrapperFactory.cpp:
* bindings/js/JSHTMLFrameSetCustom.cpp: Added.
(WebCore::JSHTMLFrameSetElement::canGetItemsForName):
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/kjs_html.cpp:
(KJS::):
(KJS::JSHTMLElement::classInfo):
(KJS::JSHTMLElement::accessors):
(KJS::JSHTMLElement::getOwnPropertySlot):
* bindings/js/kjs_html.h:
(KJS::JSHTMLElement::):
* html/HTMLFrameSetElement.idl:
2007-05-24 Zack Rusin <zrusin@trolltech.com>
 
Reviewed by andersca
......@@ -341,6 +341,7 @@ all : \
JSHTMLFontElement.h \
JSHTMLFormElement.h \
JSHTMLFrameElement.h \
JSHTMLFrameSetElement.h \
JSHTMLHRElement.h \
JSHTMLHeadElement.h \
JSHTMLHeadingElement.h \
......
......@@ -220,6 +220,7 @@ IDL_BINDINGS += \
html/HTMLFontElement.idl \
html/HTMLFormElement.idl \
html/HTMLFrameElement.idl \
html/HTMLFrameSetElement.idl \
html/HTMLHeadElement.idl \
html/HTMLHeadingElement.idl \
html/HTMLHRElement.idl \
......@@ -270,6 +271,7 @@ SOURCES += \
bindings/js/JSHTMLDocumentCustom.cpp \
bindings/js/JSHTMLElementWrapperFactory.cpp \
bindings/js/JSHTMLFormElementCustom.cpp \
bindings/js/JSHTMLFrameSetElementCustom.cpp \
bindings/js/JSHTMLInputElementBase.cpp \
bindings/js/JSHTMLOptionElementConstructor.cpp \
bindings/js/JSHTMLOptionsCollectionCustom.cpp \
......
......@@ -2791,6 +2791,9 @@
BC6E2B1A0C04B93600444EF8 /* DOMHTMLDocumentPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = BC6E2B190C04B93600444EF8 /* DOMHTMLDocumentPrivate.h */; };
BC6E2B290C04B95400444EF8 /* DOMHTMLDocumentPrivate.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = BC6E2B190C04B93600444EF8 /* DOMHTMLDocumentPrivate.h */; };
BC7F44A80B9E324E00A9D081 /* ImageObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC7F44A70B9E324E00A9D081 /* ImageObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC926F7D0C05520F0082776B /* JSHTMLFrameSetCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC926F7C0C05520F0082776B /* JSHTMLFrameSetCustom.cpp */; };
BC926F800C0552470082776B /* JSHTMLFrameSetElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC926F7E0C0552470082776B /* JSHTMLFrameSetElement.cpp */; };
BC926F810C0552470082776B /* JSHTMLFrameSetElement.h in Headers */ = {isa = PBXBuildFile; fileRef = BC926F7F0C0552470082776B /* JSHTMLFrameSetElement.h */; };
BCA169A20BFD55B40019CA76 /* JSHTMLTableCaptionElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCA169A00BFD55B40019CA76 /* JSHTMLTableCaptionElement.cpp */; };
BCA169A30BFD55B40019CA76 /* JSHTMLTableCaptionElement.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA169A10BFD55B40019CA76 /* JSHTMLTableCaptionElement.h */; };
BCAA90C30A7EBA60008B1229 /* ScrollBar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCAA90C20A7EBA60008B1229 /* ScrollBar.cpp */; };
......@@ -6035,6 +6038,9 @@
BC7B2AF80450824100A8000F /* ScrollBar.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = ScrollBar.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
BC7B2AF90450824100A8000F /* PlatformScrollBarMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformScrollBarMac.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
BC7F44A70B9E324E00A9D081 /* ImageObserver.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ImageObserver.h; sourceTree = "<group>"; };
BC926F7C0C05520F0082776B /* JSHTMLFrameSetCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLFrameSetCustom.cpp; sourceTree = "<group>"; };
BC926F7E0C0552470082776B /* JSHTMLFrameSetElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLFrameSetElement.cpp; sourceTree = "<group>"; };
BC926F7F0C0552470082776B /* JSHTMLFrameSetElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLFrameSetElement.h; sourceTree = "<group>"; };
BCA169A00BFD55B40019CA76 /* JSHTMLTableCaptionElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLTableCaptionElement.cpp; sourceTree = "<group>"; };
BCA169A10BFD55B40019CA76 /* JSHTMLTableCaptionElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLTableCaptionElement.h; sourceTree = "<group>"; };
BCAA90C20A7EBA60008B1229 /* ScrollBar.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ScrollBar.cpp; path = platform/ScrollBar.cpp; sourceTree = SOURCE_ROOT; };
......@@ -6370,8 +6376,6 @@
14DFB33F0A7DF7630018F769 /* Derived Sources */ = {
isa = PBXGroup;
children = (
BC491B760C023EFD009D6316 /* JSHTMLMarqueeElement.cpp */,
BC491B770C023EFD009D6316 /* JSHTMLMarqueeElement.h */,
65DF31D809D1C122000BE325 /* JSAttr.cpp */,
65DF31D909D1C123000BE325 /* JSAttr.h */,
65DF323309D1DE65000BE325 /* JSCanvasGradient.cpp */,
......@@ -6458,6 +6462,8 @@
A8D064FA0A23C0CC005E7203 /* JSHTMLFormElement.h */,
BC4918C00BFEA050009D6316 /* JSHTMLFrameElement.cpp */,
BC4918C10BFEA050009D6316 /* JSHTMLFrameElement.h */,
BC926F7E0C0552470082776B /* JSHTMLFrameSetElement.cpp */,
BC926F7F0C0552470082776B /* JSHTMLFrameSetElement.h */,
A80E7B0A0A19D606007FB8C5 /* JSHTMLHeadElement.cpp */,
A80E7B0B0A19D606007FB8C5 /* JSHTMLHeadElement.h */,
1AE2AA1A0A1CDAB400B42B25 /* JSHTMLHeadingElement.cpp */,
......@@ -6484,6 +6490,8 @@
A80E7B030A19D606007FB8C5 /* JSHTMLLinkElement.h */,
1AE2AB1D0A1CE63B00B42B25 /* JSHTMLMapElement.cpp */,
1AE2AB1E0A1CE63B00B42B25 /* JSHTMLMapElement.h */,
BC491B760C023EFD009D6316 /* JSHTMLMarqueeElement.cpp */,
BC491B770C023EFD009D6316 /* JSHTMLMarqueeElement.h */,
1AE2AE590A1D26F200B42B25 /* JSHTMLMenuElement.cpp */,
1AE2AE5A0A1D26F200B42B25 /* JSHTMLMenuElement.h */,
A80E7A150A19C3D6007FB8C5 /* JSHTMLMetaElement.cpp */,
......@@ -9080,6 +9088,7 @@
938E65F609F0985D008A48EC /* JSHTMLElementWrapperFactory.cpp */,
938E65F009F09840008A48EC /* JSHTMLElementWrapperFactory.h */,
A8D065AD0A2446CD005E7203 /* JSHTMLFormElementCustom.cpp */,
BC926F7C0C05520F0082776B /* JSHTMLFrameSetCustom.cpp */,
A80E7E640A1A82EC007FB8C5 /* JSHTMLInputElementBase.cpp */,
A80E7E630A1A82EC007FB8C5 /* JSHTMLInputElementBase.h */,
A826E8AD0A1A8F2300CD1BB6 /* JSHTMLOptionElementConstructor.cpp */,
......@@ -11384,6 +11393,7 @@
BC51579F0C03BBD3008BB0EE /* DOMHTMLMarqueeElement.h in Headers */,
BC5157DD0C03BC22008BB0EE /* DOMHTMLFrameElementPrivate.h in Headers */,
BC6E2B1A0C04B93600444EF8 /* DOMHTMLDocumentPrivate.h in Headers */,
BC926F810C0552470082776B /* JSHTMLFrameSetElement.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -12775,6 +12785,8 @@
BC5156E90C03B741008BB0EE /* DOMHTMLMarqueeElement.mm in Sources */,
ABAF22080C03B1C700B0BCF0 /* ChromeMac.mm in Sources */,
BC51580B0C03D404008BB0EE /* JSHTMLDocumentCustom.cpp in Sources */,
BC926F7D0C05520F0082776B /* JSHTMLFrameSetCustom.cpp in Sources */,
BC926F800C0552470082776B /* JSHTMLFrameSetElement.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -36,6 +36,7 @@
#include "HTMLFontElement.h"
#include "HTMLFormElement.h"
#include "HTMLFrameElement.h"
#include "HTMLFrameSetElement.h"
#include "HTMLHRElement.h"
#include "HTMLHeadElement.h"
#include "HTMLHeadingElement.h"
......@@ -92,6 +93,7 @@
#include "JSHTMLFontElement.h"
#include "JSHTMLFormElement.h"
#include "JSHTMLFrameElement.h"
#include "JSHTMLFrameSetElement.h"
#include "JSHTMLHRElement.h"
#include "JSHTMLHeadElement.h"
#include "JSHTMLHeadingElement.h"
......@@ -162,6 +164,7 @@ typedef DOMNode* (*CreateHTMLElementWrapperFunction)(ExecState*, PassRefPtr<HTML
macro(font, Font) \
macro(form, Form) \
macro(frame, Frame) \
macro(frameset, FrameSet) \
macro(h1, Heading) \
macro(head, Head) \
macro(hr, HR) \
......
/*
* Copyright (C) 2007 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "config.h"
#include "JSHTMLFrameSetElement.h"
#include "Document.h"
#include "HTMLFrameElement.h"
#include "HTMLFrameSetElement.h"
#include "HTMLNames.h"
#include "kjs_binding.h"
#include "kjs_window.h"
namespace WebCore {
using namespace KJS;
using namespace HTMLNames;
bool JSHTMLFrameSetElement::canGetItemsForName(ExecState*, HTMLFrameSetElement* frameSet, const AtomicString& propertyName)
{
Node* frame = frameSet->children()->namedItem(propertyName);
return frame && frame->hasTagName(frameTag);
}
JSValue* JSHTMLFrameSetElement::nameGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
{
JSHTMLElement* thisObj = static_cast<JSHTMLElement*>(slot.slotBase());
HTMLElement* element = static_cast<HTMLElement*>(thisObj->impl());
Node* frame = element->children()->namedItem(propertyName);
if (Document* doc = static_cast<HTMLFrameElement*>(frame)->contentDocument()) {
if (Window* window = Window::retrieveWindow(doc->frame()))
return window;
}
return jsUndefined();
}
} // namespace WebCore
......@@ -33,7 +33,6 @@
#include "HTMLEmbedElement.h"
#include "HTMLFormElement.h"
#include "HTMLFrameElement.h"
#include "HTMLFrameSetElement.h"
#include "HTMLIFrameElement.h"
#include "HTMLImageElement.h"
#include "HTMLLabelElement.h"
......@@ -74,7 +73,6 @@ private:
const ClassInfo JSHTMLElement::info = { "HTMLElement", &JSElement::info, &HTMLElementTable, 0 };
const ClassInfo JSHTMLElement::embed_info = { "HTMLEmbedElement", &JSHTMLElement::info, &HTMLEmbedElementTable, 0 };
const ClassInfo JSHTMLElement::frameSet_info = { "HTMLFrameSetElement", &JSHTMLElement::info, &HTMLFrameSetElementTable, 0 };
const ClassInfo JSHTMLElement::object_info = { "HTMLObjectElement", &JSHTMLElement::info, &HTMLObjectElementTable, 0 };
const ClassInfo* JSHTMLElement::classInfo() const
......@@ -82,7 +80,6 @@ const ClassInfo* JSHTMLElement::classInfo() const
static HashMap<AtomicStringImpl*, const ClassInfo*> classInfoMap;
if (classInfoMap.isEmpty()) {
classInfoMap.set(embedTag.localName().impl(), &embed_info);
classInfoMap.set(framesetTag.localName().impl(), &frameSet_info);
classInfoMap.set(objectTag.localName().impl(), &object_info);
}
......@@ -95,14 +92,12 @@ const ClassInfo* JSHTMLElement::classInfo() const
const JSHTMLElement::Accessors JSHTMLElement::object_accessors = { &JSHTMLElement::objectGetter, &JSHTMLElement::objectSetter };
const JSHTMLElement::Accessors JSHTMLElement::embed_accessors = { &JSHTMLElement::embedGetter, &JSHTMLElement::embedSetter };
const JSHTMLElement::Accessors JSHTMLElement::frameSet_accessors = { &JSHTMLElement::frameSetGetter, &JSHTMLElement::frameSetSetter };
const JSHTMLElement::Accessors* JSHTMLElement::accessors() const
{
static HashMap<AtomicStringImpl*, const Accessors*> accessorMap;
if (accessorMap.isEmpty()) {
accessorMap.add(embedTag.localName().impl(), &embed_accessors);
accessorMap.add(framesetTag.localName().impl(), &frameSet_accessors);
accessorMap.add(objectTag.localName().impl(), &object_accessors);
}
......@@ -146,10 +141,6 @@ const JSHTMLElement::Accessors* JSHTMLElement::accessors() const
type KJS::JSHTMLElement::EmbedType DontDelete
width KJS::JSHTMLElement::EmbedWidth DontDelete
@end
@begin HTMLFrameSetElementTable 2
cols KJS::JSHTMLElement::FrameSetCols DontDelete
rows KJS::JSHTMLElement::FrameSetRows DontDelete
@end
*/
KJS_IMPLEMENT_PROTOTYPE_FUNCTION(JSHTMLElementPrototypeFunction)
......@@ -166,19 +157,6 @@ JSHTMLElement::JSHTMLElement(ExecState* exec, HTMLElement* e)
setPrototype(JSHTMLElementPrototype::self(exec));
}
JSValue *JSHTMLElement::framesetNameGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
{
JSHTMLElement* thisObj = static_cast<JSHTMLElement*>(slot.slotBase());
HTMLElement* element = static_cast<HTMLElement*>(thisObj->impl());
WebCore::Node *frame = element->children()->namedItem(propertyName);
if (Document* doc = static_cast<HTMLFrameElement*>(frame)->contentDocument())
if (Window *window = Window::retrieveWindow(doc->frame()))
return window;
return jsUndefined();
}
JSValue *JSHTMLElement::runtimeObjectGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot)
{
JSHTMLElement* thisObj = static_cast<JSHTMLElement*>(slot.slotBase());
......@@ -202,13 +180,7 @@ bool JSHTMLElement::getOwnPropertySlot(ExecState* exec, const Identifier& proper
HTMLElement &element = *static_cast<HTMLElement*>(impl());
// First look at dynamic properties
if (element.hasLocalName(framesetTag)) {
WebCore::Node *frame = element.children()->namedItem(propertyName);
if (frame && frame->hasTagName(frameTag)) {
slot.setCustom(this, framesetNameGetter);
return true;
}
} else if (element.hasLocalName(embedTag) || element.hasLocalName(objectTag) || element.hasLocalName(appletTag)) {
if (element.hasLocalName(embedTag) || element.hasLocalName(objectTag) || element.hasLocalName(appletTag)) {
if (propertyName == "__apple_runtime_object") {
slot.setCustom(this, runtimeObjectGetter);
return true;
......@@ -306,16 +278,6 @@ JSValue *JSHTMLElement::embedGetter(ExecState* exec, int token) const
return jsUndefined();
}
JSValue *JSHTMLElement::frameSetGetter(ExecState* exec, int token) const
{
HTMLFrameSetElement& frameSet = *static_cast<HTMLFrameSetElement*>(impl());
switch (token) {
case FrameSetCols: return jsString(frameSet.cols());
case FrameSetRows: return jsString(frameSet.rows());
}
return jsUndefined();
}
JSValue *JSHTMLElement::getValueProperty(ExecState* exec, int token) const
{
// Check the properties specific to our element type.
......@@ -470,15 +432,6 @@ void JSHTMLElement::embedSetter(ExecState* exec, int token, JSValue* value)
}
}
void JSHTMLElement::frameSetSetter(ExecState* exec, int token, JSValue* value)
{
HTMLFrameSetElement& frameSet = *static_cast<HTMLFrameSetElement*>(impl());
switch (token) {
case FrameSetCols: { frameSet.setCols(valueToStringWithNullCheck(exec, value)); return; }
case FrameSetRows: { frameSet.setRows(valueToStringWithNullCheck(exec, value)); return; }
}
}
void JSHTMLElement::putValueProperty(ExecState* exec, int token, JSValue *value, int)
{
// Check for properties that apply to a specific element type.
......
......@@ -2,7 +2,7 @@
/*
* This file is part of the KDE libraries
* Copyright (C) 1999 Harri Porten (porten@kde.org)
* Copyright (C) 2004, 2006, 2007 Apple Inc.
* Copyright (C) 2004, 2006, 2007 Apple Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
......@@ -57,33 +57,28 @@ namespace KJS {
virtual const ClassInfo* classInfo() const;
static const ClassInfo info;
static const ClassInfo object_info, embed_info, frameSet_info;
static const ClassInfo object_info, embed_info;
// FIXME: Might make sense to combine this with ClassInfo some day.
typedef JSValue* (JSHTMLElement::*GetterFunction)(ExecState*, int token) const;
typedef void (JSHTMLElement::*SetterFunction)(ExecState*, int token, JSValue*);
struct Accessors { GetterFunction m_getter; SetterFunction m_setter; };
const Accessors* accessors() const;
static const Accessors object_accessors, embed_accessors, frameSet_accessors;
static const Accessors object_accessors, embed_accessors;
JSValue* objectGetter(ExecState* exec, int token) const;
void objectSetter(ExecState*, int token, JSValue*);
JSValue* embedGetter(ExecState*, int token) const;
void embedSetter(ExecState*, int token, JSValue*);
JSValue* frameSetGetter(ExecState* exec, int token) const;
void frameSetSetter(ExecState*, int token, JSValue*);
enum {
ObjectHspace, ObjectHeight, ObjectAlign,
ObjectBorder, ObjectCode, ObjectType, ObjectVspace, ObjectArchive,
ObjectDeclare, ObjectForm, ObjectCodeBase, ObjectCodeType, ObjectData,
ObjectName, ObjectStandby, ObjectTabIndex, ObjectUseMap, ObjectWidth, ObjectContentDocument, ObjectGetSVGDocument,
EmbedAlign, EmbedHeight, EmbedName, EmbedSrc, EmbedType, EmbedWidth, EmbedGetSVGDocument,
FrameSetCols, FrameSetRows
EmbedAlign, EmbedHeight, EmbedName, EmbedSrc, EmbedType, EmbedWidth, EmbedGetSVGDocument
};
private:
static JSValue* framesetNameGetter(ExecState*, JSObject*, const Identifier&, const PropertySlot&);
static JSValue* frameWindowPropertyGetter(ExecState*, JSObject*, const Identifier&, const PropertySlot&);
static JSValue* runtimeObjectGetter(ExecState*, JSObject*, const Identifier&, const PropertySlot&);
static JSValue* runtimeObjectPropertyGetter(ExecState*, JSObject*, const Identifier&, const PropertySlot&);
};
......
/*
* Copyright (C) 2006 Apple Computer, Inc.
* Copyright (C) 2006, 2007 Apple Inc. All rights reserve
* Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com>
*
* This library is free software; you can redistribute it and/or
......@@ -20,7 +20,7 @@
module html {
interface HTMLFrameSetElement : HTMLElement {
interface [LegacyParent=KJS::JSHTMLElement, GenerateConstructor, HasOverridingNameGetter] HTMLFrameSetElement : HTMLElement {
attribute [ConvertNullToNullString] DOMString cols;
attribute [ConvertNullToNullString] DOMString rows;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment