summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: db52d44)
raw | patch | inline | side by side (parent: db52d44)
author | ishmal <ishmal@users.sourceforge.net> | |
Mon, 28 Aug 2006 15:28:50 +0000 (15:28 +0000) | ||
committer | ishmal <ishmal@users.sourceforge.net> | |
Mon, 28 Aug 2006 15:28:50 +0000 (15:28 +0000) |
src/dom/jsbind.cpp | patch | blob | history |
diff --git a/src/dom/jsbind.cpp b/src/dom/jsbind.cpp
index 0fdbc77aed96fe1e47a7f573c76f34fba0cf0ca0..60d7adadcfaef4f3d603f9a42cb8061d1d166923 100644 (file)
--- a/src/dom/jsbind.cpp
+++ b/src/dom/jsbind.cpp
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+
+/**
+ * This code provides the ECMAScript (Javascript) binding to the classes
+ * of the DOM Level 3 Core. This should provide DOM manipulation for
+ * most general-purpose XML and Document-like applications. More specialized
+ * applications like SVG should inherit from the core C++ classes, and also
+ * use the prototypes in this file as the basis for their bindings.
+ *
+ * To ensure that we at least attempt to bind ECMAScript to DOM
+ * as closely as possible to the standards, we will include the entire
+ * Appendix H of the XML Level 3 Core spec as annotations in this file.
+ * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/ecma-script-binding.html
+ */
+
+
+
#include "domimpl.h"
#include "jsengine.h"
{
- /**
- * To ensure that we at least attempt to bind ECMAScript to DOM as closely as
- * possible, we will include the entire Appendix H of the XML Level 3 Core spec:
- * http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/ecma-script-binding.html
- */
-
+
//########################################################################
//# U T I L I T Y
* Level 3 Document Object Model Core definitions. H.1 ECMAScript Binding
* Extension
*
- *
+ */
+
+
+//########################################################################
+//# DOMImplementationRegistry
+//########################################################################
+
+/**
* This section defines the DOMImplementationRegistry object, discussed in
* Bootstrapping, for ECMAScript.
*
*
* Objects that implements the DOMImplementationRegistry interface
*
- * DOMImplementationRegistry is a global variable which has the following functions:
+ * DOMImplementationRegistry is a global variable which has the following
+ * functions:
*
* getDOMImplementation(features)
- * This method returns the first registered object that implements the
- * DOMImplementation interface and has the desired features, or null if none is
- * found. The features parameter is a String. See also
- * DOMImplementationSource.getDOMImplementation().
+ * This method returns the first registered object that implements
+ * the DOMImplementation interface and has the desired features,
+ * or null if none is found. The features parameter is a String.
+ * See also DOMImplementationSource.getDOMImplementation().
*
* getDOMImplementationList(features)
- * This method returns a DOMImplementationList list of registered object that
- * implements the DOMImplementation interface and has the desired features. The
- * features parameter is a String. See also
- * DOMImplementationSource.getDOMImplementationList().
+ * This method returns a DOMImplementationList list of registered
+ * object that implements the DOMImplementation interface and
+ * has the desired features. The features parameter is a String.
+ * See also DOMImplementationSource.getDOMImplementationList().
*
*
*/
{
if (argc != 1)
return JS_FALSE;
- DOMException *p = new DOMException(JSVAL_TO_INT( argv[0] ));
- if ( ! JS_SetPrivate(cx, obj, p) )
- return JS_FALSE;
+ //DOMException *p = new DOMException(JSVAL_TO_INT( argv[0] ));
+ //if ( ! JS_SetPrivate(cx, obj, p) )
+ // return JS_FALSE;
*rval = OBJECT_TO_JSVAL(obj);
return JS_TRUE;
}
*/
static void JSDestructor(JSContext *cx, JSObject *obj)
{
- DOMException *p = (DOMException *) JS_GetPrivate(cx, obj);
- delete p;
- p = NULL;
+ //DOMException *p = (DOMException *) JS_GetPrivate(cx, obj);
+ //delete p;
}
/**
*/
+
+
+//########################################################################
+//# DOMException
+//########################################################################
+
/**
* Properties of the DOMException Constructor function:
*
{
DOMException *p = (DOMException *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+
+//########################################################################
+//# DOMStringList
+//########################################################################
+
/**
* Objects that implement the DOMStringList interface:
*
* item(index)
* This function returns a String.
* The index parameter is a Number.
- * Note: This object can also be dereferenced using square bracket notation
- * (e.g. obj[1]). Dereferencing with an integer index is equivalent
- * to invoking the item function with that index.
+ * Note: This object can also be dereferenced using square bracket
+ * notation (e.g. obj[1]). Dereferencing with an integer index
+ * is equivalent to invoking the item function with that index.
*
* contains(str)
* This function returns a Boolean.
{
DOMStringList *p = (DOMStringList *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+//########################################################################
+//# NameList
+//########################################################################
/**
* Objects that implement the NameList interface:
{
DOMException *p = (DOMException *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+//########################################################################
+//# DOMImplementationList
+//########################################################################
+
/**
* Objects that implement the DOMImplementationList interface:
*
* Functions of objects that implement the DOMImplementationList interface:
*
* item(index)
- * This function returns an object that implements the DOMImplementation interface.
+ * This function returns an object that implements the
+ * DOMImplementation interface.
* The index parameter is a Number.
- * Note: This object can also be dereferenced using square bracket notation
- * (e.g. obj[1]). Dereferencing with an integer index is equivalent
- * to invoking the item function with that index.
+ * Note: This object can also be dereferenced using square bracket
+ * notation (e.g. obj[1]). Dereferencing with an integer index
+ * is equivalent to invoking the item function with that index.
*
*
*/
{
DOMException *p = (DOMException *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+
+
+//########################################################################
+//# DOMImplementationSource
+//########################################################################
+
/**
* Objects that implement the DOMImplementationSource interface:
*
* Functions of objects that implement the DOMImplementationSource interface:
*
* getDOMImplementation(features)
- * This function returns an object that implements the DOMImplementation interface.
+ * This function returns an object that implements the
+ * DOMImplementation interface.
* The features parameter is a String.
* getDOMImplementationList(features)
- * This function returns an object that implements the DOMImplementationList
- * interface.
+ * This function returns an object that implements the
+ * DOMImplementationList interface.
* The features parameter is a String.
*/
{
DOMImplementationSource *p = (DOMImplementationSource *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
+ //#######################
+ //# M E T H O D S
+ //#######################
+
/**
*
*/
+//########################################################################
+//# DOMImplementation
+//########################################################################
+
/**
* Objects that implement the DOMImplementation interface:
*
* The feature parameter is a String.
* The version parameter is a String.
* createDocumentType(qualifiedName, publicId, systemId)
- * This function returns an object that implements the DocumentType interface.
+ * This function returns an object that implements the
+ * DocumentType interface.
* The qualifiedName parameter is a String.
* The publicId parameter is a String.
* The systemId parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements the
+ * DOMException interface.
* createDocument(namespaceURI, qualifiedName, doctype)
- * This function returns an object that implements the Document interface.
+ * This function returns an object that implements the
+ * Document interface.
* The namespaceURI parameter is a String.
* The qualifiedName parameter is a String.
- * The doctype parameter is an object that implements the DocumentType interface.
- * This function can raise an object that implements the DOMException interface.
+ * The doctype parameter is an object that implements the
+ * DocumentType interface.
+ * This function can raise an object that implements the
+ * DOMException interface.
* getFeature(feature, version)
- * This function returns an object that implements the Object interface.
+ * This function returns an object that implements
+ * the Object interface.
* The feature parameter is a String.
* The version parameter is a String.
*/
{
DOMImplementation *p = (DOMImplementation *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
+ //#######################
+ //# M E T H O D S
+ //#######################
+
/**
*
*/
+//########################################################################
+//# DocumentFragment
+//########################################################################
+
/**
* Objects that implement the DocumentFragment interface:
*
- * Objects that implement the DocumentFragment interface have all properties and
- * functions of the Node interface.
+ * Objects that implement the DocumentFragment interface have all
+ * properties and functions of the Node interface.
*/
class ECMA_DocumentFragment
{
DocumentFragment *p = (DocumentFragment *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
- /**
- *
- */
- static JSBool getDOMImplementation(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
-
- /**
- *
- */
- static JSBool getDOMImplementationList(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
-
private:
JSFunctionSpec ECMA_DocumentFragment::methods[] =
{
- { "getDOMImplementation", getDOMImplementation, 1, 0, 0 },
- { "getDOMImplementationList", getDOMImplementationList, 1, 0, 0 },
{ 0 }
};
+
+
+
+
+//########################################################################
+//# Document
+//########################################################################
+
/**
* Objects that implement the Document interface:
*
- * Objects that implement the Document interface have all properties and functions
- * of the Node interface as well as the properties and functions defined below.
+ * Objects that implement the Document interface have all properties
+ * and functions of the Node interface as well as the properties
+ * and functions defined below.
* Properties of objects that implement the Document interface:
*
*
* doctype
- * This read-only property is an object that implements the DocumentType interface.
+ * This read-only property is an object that implements
+ * the DocumentType interface.
* implementation
- * This read-only property is an object that implements the DOMImplementation
- * interface.
+ * This read-only property is an object that implements
+ * the DOMImplementation interface.
* documentElement
- * This read-only property is an object that implements the Element interface.
+ * This read-only property is an object that implements
+ * the Element interface.
* inputEncoding
* This read-only property is a String.
* xmlEncoding
* This read-only property is a String.
* xmlStandalone
- * This property is a Boolean and can raise an object that implements the
- * DOMException interface on setting.
+ * This property is a Boolean and can raise an object
+ * that implements the DOMException interface on setting.
* xmlVersion
- * This property is a String and can raise an object that implements the
- * DOMException interface on setting.
+ * This property is a String and can raise an object
+ * that implements the DOMException interface on setting.
* strictErrorChecking
* This property is a Boolean.
* documentURI
* This property is a String.
* domConfig
- * This read-only property is an object that implements the DOMConfiguration
- * interface.
+ * This read-only property is an object that implements
+ * the DOMConfiguration interface.
*
*
* Functions of objects that implement the Document interface:
*
* createElement(tagName)
- * This function returns an object that implements the Element interface.
+ * This function returns an object that implements
+ * the Element interface.
* The tagName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* createDocumentFragment()
- * This function returns an object that implements the DocumentFragment interface.
+ * This function returns an object that implements
+ * the DocumentFragment interface.
* createTextNode(data)
- * This function returns an object that implements the Text interface.
+ * This function returns an object that implements
+ * the Text interface.
* The data parameter is a String.
* createComment(data)
- * This function returns an object that implements the Comment interface.
+ * This function returns an object that implements
+ * the Comment interface.
* The data parameter is a String.
* createCDATASection(data)
- * This function returns an object that implements the CDATASection interface.
+ * This function returns an object that implements
+ * the CDATASection interface.
* The data parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* createProcessingInstruction(target, data)
- * This function returns an object that implements the ProcessingInstruction interface.
+ * This function returns an object that implements
+ * the ProcessingInstruction interface.
* The target parameter is a String.
* The data parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* createAttribute(name)
- * This function returns an object that implements the Attr interface.
+ * This function returns an object that implements
+ * the Attr interface.
* The name parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* createEntityReference(name)
- * This function returns an object that implements the EntityReference interface.
+ * This function returns an object that implements
+ * the EntityReference interface.
* The name parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* getElementsByTagName(tagname)
- * This function returns an object that implements the NodeList interface.
+ * This function returns an object that implements
+ * the NodeList interface.
* The tagname parameter is a String.
* importNode(importedNode, deep)
- * This function returns an object that implements the Node interface.
- * The importedNode parameter is an object that implements the Node interface.
+ * This function returns an object that implements
+ * the Node interface.
+ * The importedNode parameter is an object that implements
+ * the Node interface.
* The deep parameter is a Boolean.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* createElementNS(namespaceURI, qualifiedName)
- * This function returns an object that implements the Element interface.
+ * This function returns an object that implements
+ * the Element interface.
* The namespaceURI parameter is a String.
* The qualifiedName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* createAttributeNS(namespaceURI, qualifiedName)
- * This function returns an object that implements the Attr interface.
+ * This function returns an object that implements
+ * the Attr interface.
* The namespaceURI parameter is a String.
* The qualifiedName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* getElementsByTagNameNS(namespaceURI, localName)
- * This function returns an object that implements the NodeList interface.
+ * This function returns an object that implements
+ * the NodeList interface.
* The namespaceURI parameter is a String.
* The localName parameter is a String.
* getElementById(elementId)
- * This function returns an object that implements the Element interface.
+ * This function returns an object that implements
+ * the Element interface.
* The elementId parameter is a String.
* adoptNode(source)
- * This function returns an object that implements the Node interface.
- * The source parameter is an object that implements the Node interface.
- * This function can raise an object that implements the DOMException interface.
+ * This function returns an object that implements
+ * the Node interface.
+ * The source parameter is an object that implements
+ * the Node interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* normalizeDocument()
* This function has no return value.
* renameNode(n, namespaceURI, qualifiedName)
- * This function returns an object that implements the Node interface.
- * The n parameter is an object that implements the Node interface.
+ * This function returns an object that implements
+ * the Node interface.
+ * The n parameter is an object that implements
+ * the Node interface.
* The namespaceURI parameter is a String.
* The qualifiedName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
*/
class ECMA_Document
{
Document *p = (Document *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
+
//#######################
//# M E T H O D S
//#######################
+
+//########################################################################
+//# Node
+//########################################################################
+
/**
* Properties of the Node Constructor function:
*
* Node.NOTATION_NODE
* The value of the constant Node.NOTATION_NODE is 12.
* Node.DOCUMENT_POSITION_DISCONNECTED
- * The value of the constant Node.DOCUMENT_POSITION_DISCONNECTED is 0x01.
+ * The value of the constant Node.DOCUMENT_POSITION_DISCONNECTED
+ * is 0x01.
* Node.DOCUMENT_POSITION_PRECEDING
- * The value of the constant Node.DOCUMENT_POSITION_PRECEDING is 0x02.
+ * The value of the constant Node.DOCUMENT_POSITION_PRECEDING
+ * is 0x02.
* Node.DOCUMENT_POSITION_FOLLOWING
- * The value of the constant Node.DOCUMENT_POSITION_FOLLOWING is 0x04.
+ * The value of the constant Node.DOCUMENT_POSITION_FOLLOWING
+ * is 0x04.
* Node.DOCUMENT_POSITION_CONTAINS
- * The value of the constant Node.DOCUMENT_POSITION_CONTAINS is 0x08.
+ * The value of the constant Node.DOCUMENT_POSITION_CONTAINS
+ * is 0x08.
* Node.DOCUMENT_POSITION_CONTAINED_BY
- * The value of the constant Node.DOCUMENT_POSITION_CONTAINED_BY is 0x10.
+ * The value of the constant Node.DOCUMENT_POSITION_CONTAINED_BY
+ * is 0x10.
* Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
- * The value of the constant Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC is 0x20.
+ * The value of the constant Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
+ * is 0x20.
*
* Objects that implement the Node interface:
*
* nodeName
* This read-only property is a String.
* nodeValue
- * This property is a String, can raise an object that implements the DOMException
- * interface on setting and can raise an object that implements the DOMException
+ * This property is a String, can raise an object that implements
+ * the DOMException
+ * interface on setting and can raise an object that implements
+ * the DOMException
* interface on retrieval.
* nodeType
* This read-only property is a Number.
* parentNode
- * This read-only property is an object that implements the Node interface.
+ * This read-only property is an object that implements
+ * the Node interface.
* childNodes
- * This read-only property is an object that implements the NodeList interface.
+ * This read-only property is an object that implements
+ * the NodeList interface.
* firstChild
- * This read-only property is an object that implements the Node interface.
+ * This read-only property is an object that implements
+ * the Node interface.
* lastChild
- * This read-only property is an object that implements the Node interface.
+ * This read-only property is an object that implements
+ * the Node interface.
* previousSibling
- * This read-only property is an object that implements the Node interface.
+ * This read-only property is an object that implements
+ * the Node interface.
* nextSibling
- * This read-only property is an object that implements the Node interface.
+ * This read-only property is an object that implements
+ * the Node interface.
* attributes
- * This read-only property is an object that implements the NamedNodeMap interface.
+ * This read-only property is an object that implements
+ * the NamedNodeMap interface.
* ownerDocument
- * This read-only property is an object that implements the Document interface.
+ * This read-only property is an object that implements
+ * the Document interface.
* namespaceURI
* This read-only property is a String.
* prefix
- * This property is a String and can raise an object that implements the
- * DOMException interface on setting.
+ * This property is a String and can raise an object
+ * that implements the DOMException interface on setting.
* localName
* This read-only property is a String.
* baseURI
* This read-only property is a String.
* textContent
- * This property is a String, can raise an object that implements the DOMException
- * interface on setting and can raise an object that implements the DOMException
- * interface on retrieval.
+ * This property is a String, can raise an object that implements
+ * the DOMException interface on setting and can raise
+ * an object that implements the DOMException interface
+ * on retrieval.
*
*
* Functions of objects that implement the Node interface:
*
* insertBefore(newChild, refChild)
- * This function returns an object that implements the Node interface.
- * The newChild parameter is an object that implements the Node interface.
- * The refChild parameter is an object that implements the Node interface.
- * This function can raise an object that implements the DOMException interface.
+ * This function returns an object that implements
+ * the Node interface.
+ * The newChild parameter is an object that implements
+ * the Node interface.
+ * The refChild parameter is an object that implements
+ * the Node interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* replaceChild(newChild, oldChild)
- * This function returns an object that implements the Node interface.
- * The newChild parameter is an object that implements the Node interface.
- * The oldChild parameter is an object that implements the Node interface.
- * This function can raise an object that implements the DOMException interface.
+ * This function returns an object that implements
+ * the Node interface.
+ * The newChild parameter is an object that implements
+ * the Node interface.
+ * The oldChild parameter is an object that implements
+ * the Node interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* removeChild(oldChild)
- * This function returns an object that implements the Node interface.
- * The oldChild parameter is an object that implements the Node interface.
- * This function can raise an object that implements the DOMException interface.
+ * This function returns an object that implements
+ * the Node interface.
+ * The oldChild parameter is an object that implements
+ * the Node interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* appendChild(newChild)
- * This function returns an object that implements the Node interface.
- * The newChild parameter is an object that implements the Node interface.
- * This function can raise an object that implements the DOMException interface.
+ * This function returns an object that implements
+ * the Node interface.
+ * The newChild parameter is an object that implements
+ * the Node interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* hasChildNodes()
* This function returns a Boolean.
* cloneNode(deep)
- * This function returns an object that implements the Node interface.
+ * This function returns an object that implements
+ * the Node interface.
* The deep parameter is a Boolean.
* normalize()
* This function has no return value.
* This function returns a Boolean.
* compareDocumentPosition(other)
* This function returns a Number.
- * The other parameter is an object that implements the Node interface.
- * This function can raise an object that implements the DOMException interface.
+ * The other parameter is an object that implements
+ * the Node interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* isSameNode(other)
* This function returns a Boolean.
- * The other parameter is an object that implements the Node interface.
+ * The other parameter is an object that implements
+ * the Node interface.
* lookupPrefix(namespaceURI)
* This function returns a String.
* The namespaceURI parameter is a String.
* The prefix parameter is a String.
* isEqualNode(arg)
* This function returns a Boolean.
- * The arg parameter is an object that implements the Node interface.
+ * The arg parameter is an object that implements
+ * the Node interface.
* getFeature(feature, version)
- * This function returns an object that implements the Object interface.
+ * This function returns an object that implements
+ * the Object interface.
* The feature parameter is a String.
* The version parameter is a String.
* setUserData(key, data, handler)
- * This function returns an object that implements the any type interface.
+ * This function returns an object that implements
+ * the any type interface.
* The key parameter is a String.
- * The data parameter is an object that implements the any type interface.
- * The handler parameter is an object that implements the UserDataHandler interface.
+ * The data parameter is an object that implements
+ * the any type interface.
+ * The handler parameter is an object that implements
+ * the UserDataHandler interface.
* getUserData(key)
- * This function returns an object that implements the any type interface.
+ * This function returns an object that implements
+ * the any type interface.
* The key parameter is a String.
*
*/
{
Node *p = (Node *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
+
//#######################
//# M E T H O D S
//#######################
+//########################################################################
+//# NodeList
+//########################################################################
/**
* Objects that implement the NodeList interface:
* Functions of objects that implement the NodeList interface:
*
* item(index)
- * This function returns an object that implements the Node interface.
+ * This function returns an object that implements
+ * the Node interface.
* The index parameter is a Number.
- * Note: This object can also be dereferenced using square bracket notation
- * (e.g. obj[1]). Dereferencing with an integer index is equivalent
- * to invoking the item function with that index.
+ * Note: This object can also be dereferenced using square
+ * bracket notation (e.g. obj[1]). Dereferencing with
+ * an integer index is equivalent to invoking the item
+ * function with that index.
*
*
*/
{
NodeList *p = (NodeList *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
- * JSGetProperty - Callback for retrieving properties
+ * JSGetProperty - We are using this one for indexes
*/
static JSBool JSGetProperty(JSContext *cx, JSObject *obj,
jsval id, jsval *vp)
}
/**
- * JSSetProperty - Callback for setting properties
+ * JSGetNamedProperty - Provide a second property getter if
+ * the default one is delegated to indexes
*/
- static JSBool JSSetProperty(JSContext *cx, JSObject *obj,
+ static JSBool JSGetNamedProperty(JSContext *cx, JSObject *obj,
jsval id, jsval *vp)
{
return JS_FALSE;
}
/**
- *
+ * JSSetProperty - Callback for setting properties
*/
- static JSBool getName(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
+ static JSBool JSSetProperty(JSContext *cx, JSObject *obj,
+ jsval id, jsval *vp)
{
return JS_FALSE;
}
- /**
- *
- */
- static JSBool getNamespaceURI(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
+ //#######################
+ //# M E T H O D S
+ //#######################
/**
*
*/
- static JSBool contains(JSContext *cx, JSObject *obj,
+ static JSBool item(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
}
- /**
- *
- */
- static JSBool containsNS(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
private:
// Standard JS Binding fields
static JSClass classDef;
static JSPropertySpec properties[];
+ enum
+ {
+ prop_length,
+ prop_item
+ };
static JSFunctionSpec methods[];
};
JSPropertySpec ECMA_NodeList::properties[] =
{
+ { "length", prop_length,
+ JSPROP_ENUMERATE|JSPROP_READONLY, JSGetNamedProperty },
{ 0 }
};
JSFunctionSpec ECMA_NodeList::methods[] =
{
- { "getName", getName, 1, 0, 0 },
- { "getNamespaceURI", getNamespaceURI, 1, 0, 0 },
- { "contains", contains, 1, 0, 0 },
- { "containsNS", containsNS, 2, 0, 0 },
+ { "item", item, 1, 0, 0 },
{ 0 }
};
+
+
+//########################################################################
+//# NamedNodeMap
+//########################################################################
+
/**
* Objects that implement the NamedNodeMap interface:
*
* Functions of objects that implement the NamedNodeMap interface:
*
* getNamedItem(name)
- * This function returns an object that implements the Node interface.
+ * This function returns an object that implements
+ * the Node interface.
* The name parameter is a String.
* setNamedItem(arg)
- * This function returns an object that implements the Node interface.
- * The arg parameter is an object that implements the Node interface.
- * This function can raise an object that implements the DOMException interface.
+ * This function returns an object that implements
+ * the Node interface.
+ * The arg parameter is an object that implements
+ * the Node interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* removeNamedItem(name)
- * This function returns an object that implements the Node interface.
+ * This function returns an object that implements
+ * the Node interface.
* The name parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* item(index)
- * This function returns an object that implements the Node interface.
+ * This function returns an object that implements
+ * the Node interface.
* The index parameter is a Number.
- * Note: This object can also be dereferenced using square bracket notation
- * (e.g. obj[1]). Dereferencing with an integer index is equivalent
- * to invoking the item function with that index.
+ * Note: This object can also be dereferenced using square
+ * bracket notation (e.g. obj[1]). Dereferencing with
+ * an integer index is equivalent to invoking the item
+ * function with that index.
* getNamedItemNS(namespaceURI, localName)
- * This function returns an object that implements the Node interface.
+ * This function returns an object that implements
+ * the Node interface.
* The namespaceURI parameter is a String.
* The localName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* setNamedItemNS(arg)
- * This function returns an object that implements the Node interface.
- * The arg parameter is an object that implements the Node interface.
- * This function can raise an object that implements the DOMException interface.
+ * This function returns an object that implements
+ * the Node interface.
+ * The arg parameter is an object that implements
+ * the Node interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* removeNamedItemNS(namespaceURI, localName)
- * This function returns an object that implements the Node interface.
+ * This function returns an object that implements
+ * the Node interface.
* The namespaceURI parameter is a String.
* The localName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
*/
{
NamedNodeMap *p = (NamedNodeMap *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
+ /**
+ * JSGetProperty - Callback for retrieving properties
+ */
+ static JSBool JSGetNamedProperty(JSContext *cx, JSObject *obj,
+ jsval id, jsval *vp)
+ {
+ return JS_FALSE;
+ }
+
/**
* JSSetProperty - Callback for setting properties
*/
return JS_FALSE;
}
+ //#######################
+ //# M E T H O D S
+ //#######################
+
+ /**
+ *
+ */
+ static JSBool getNamedItem(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
/**
*
*/
- static JSBool getName(JSContext *cx, JSObject *obj,
+ static JSBool setNamedItem(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
/**
*
*/
- static JSBool getNamespaceURI(JSContext *cx, JSObject *obj,
+ static JSBool removeNamedItem(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
/**
*
*/
- static JSBool contains(JSContext *cx, JSObject *obj,
+ static JSBool item(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
/**
*
*/
- static JSBool containsNS(JSContext *cx, JSObject *obj,
+ static JSBool getNamedItemNS(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool setNamedItemNS(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool removeNamedItemNS(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
// Standard JS Binding fields
static JSClass classDef;
static JSPropertySpec properties[];
+ enum
+ {
+ prop_length
+ };
static JSFunctionSpec methods[];
};
JSPropertySpec ECMA_NamedNodeMap::properties[] =
{
+ { "length", prop_length,
+ JSPROP_ENUMERATE|JSPROP_READONLY, JSGetNamedProperty },
{ 0 }
};
JSFunctionSpec ECMA_NamedNodeMap::methods[] =
{
- { "getName", getName, 1, 0, 0 },
- { "getNamespaceURI", getNamespaceURI, 1, 0, 0 },
- { "contains", contains, 1, 0, 0 },
- { "containsNS", containsNS, 2, 0, 0 },
+ { "getNamedItem", getNamedItem, 1, 0, 0 },
+ { "setNamedItem", setNamedItem, 1, 0, 0 },
+ { "removeNamedItem", removeNamedItem, 1, 0, 0 },
+ { "item", item, 1, 0, 0 },
+ { "getNamedItemNS", getNamedItemNS, 2, 0, 0 },
+ { "setNamedItemNS", setNamedItemNS, 2, 0, 0 },
+ { "removeNamedItemNS", removeNamedItemNS, 2, 0, 0 },
{ 0 }
};
+
+//########################################################################
+//# CharacterData
+//########################################################################
+
/**
* Objects that implement the CharacterData interface:
*
- * Objects that implement the CharacterData interface have all properties and
- * functions of the Node interface as well as the properties and functions defined
- * below. Properties of objects that implement the CharacterData interface:
+ * Objects that implement the CharacterData interface have all
+ * properties and functions of the Node interface as well as
+ * the properties and functions defined below. Properties
+ * of objects that implement the CharacterData interface:
*
*
* data
- * This property is a String, can raise an object that implements the DOMException
- * interface on setting and can raise an object that implements the DOMException
+ * This property is a String, can raise an object
+ * that implements the DOMException interface on setting
+ * and can raise an object that implements the DOMException
* interface on retrieval.
* length
* This read-only property is a Number.
* This function returns a String.
* The offset parameter is a Number.
* The count parameter is a Number.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* appendData(arg)
* This function has no return value.
* The arg parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* insertData(offset, arg)
* This function has no return value.
* The offset parameter is a Number.
* The arg parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* deleteData(offset, count)
* This function has no return value.
* The offset parameter is a Number.
* The count parameter is a Number.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* replaceData(offset, count, arg)
* This function has no return value.
* The offset parameter is a Number.
* The count parameter is a Number.
* The arg parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
*/
class ECMA_CharacterData
{
CharacterData *p = (CharacterData *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
+
+ //#######################
+ //# M E T H O D S
+ //#######################
+
+ /**
+ *
+ */
+ static JSBool substringData(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
/**
*
*/
- static JSBool getName(JSContext *cx, JSObject *obj,
+ static JSBool appendData(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
/**
*
*/
- static JSBool getNamespaceURI(JSContext *cx, JSObject *obj,
+ static JSBool insertData(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
/**
*
*/
- static JSBool contains(JSContext *cx, JSObject *obj,
+ static JSBool deleteData(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
/**
*
*/
- static JSBool containsNS(JSContext *cx, JSObject *obj,
+ static JSBool replaceData(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
// Standard JS Binding fields
static JSClass classDef;
static JSPropertySpec properties[];
+ enum
+ {
+ prop_data,
+ prop_length
+ };
static JSFunctionSpec methods[];
};
JSPropertySpec ECMA_CharacterData::properties[] =
{
+ { "data", prop_data,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
+ { "length", prop_length,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
{ 0 }
};
JSFunctionSpec ECMA_CharacterData::methods[] =
{
- { "getName", getName, 1, 0, 0 },
- { "getNamespaceURI", getNamespaceURI, 1, 0, 0 },
- { "contains", contains, 1, 0, 0 },
- { "containsNS", containsNS, 2, 0, 0 },
+ { "substringData", substringData, 2, 0, 0 },
+ { "appendData", appendData, 1, 0, 0 },
+ { "insertData", insertData, 2, 0, 0 },
+ { "deleteData", deleteData, 2, 0, 0 },
+ { "replaceData", replaceData, 3, 0, 0 },
{ 0 }
};
+
+//########################################################################
+//# Attr
+//########################################################################
+
/**
* Objects that implement the Attr interface:
*
- * Objects that implement the Attr interface have all properties and functions of
- * the Node interface as well as the properties and functions defined below.
+ * Objects that implement the Attr interface have all properties
+ * and functions of the Node interface as well as the properties
+ * and functions defined below.
* Properties of objects that implement the Attr interface:
*
*
* specified
* This read-only property is a Boolean.
* value
- * This property is a String and can raise an object that implements the
- * DOMException interface on setting.
+ * This property is a String and can raise an object
+ * that implements the DOMException interface on setting.
* ownerElement
- * This read-only property is an object that implements the Element interface.
+ * This read-only property is an object that implements
+ * the Element interface.
* schemaTypeInfo
- * This read-only property is an object that implements the TypeInfo interface.
+ * This read-only property is an object that implements
+ * the TypeInfo interface.
* isId
* This read-only property is a Boolean.
*
{
Attr *p = (Attr *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
- /**
- *
- */
- static JSBool getName(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
-
- /**
- *
- */
- static JSBool getNamespaceURI(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
-
- /**
- *
- */
- static JSBool contains(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
-
- /**
- *
- */
- static JSBool containsNS(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
private:
// Standard JS Binding fields
static JSClass classDef;
static JSPropertySpec properties[];
+ enum
+ {
+ prop_name,
+ prop_specified,
+ prop_value,
+ prop_ownerElement,
+ prop_schemaTypeInfo,
+ prop_isId,
+ };
static JSFunctionSpec methods[];
};
JSPropertySpec ECMA_Attr::properties[] =
{
+ { "name", prop_name,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
+ { "specified", prop_specified,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
+ { "value", prop_value,
+ JSPROP_ENUMERATE },
+ { "ownerElement", prop_ownerElement,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
+ { "schemaTypeInfo", prop_schemaTypeInfo,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
+ { "isId", prop_isId,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
{ 0 }
};
JSFunctionSpec ECMA_Attr::methods[] =
{
- { "getName", getName, 1, 0, 0 },
- { "getNamespaceURI", getNamespaceURI, 1, 0, 0 },
- { "contains", contains, 1, 0, 0 },
- { "containsNS", containsNS, 2, 0, 0 },
{ 0 }
};
+
+
+//########################################################################
+//# Element
+//########################################################################
+
/**
* Objects that implement the Element interface:
*
- * Objects that implement the Element interface have all properties and functions
- * of the Node interface as well as the properties and functions defined below.
+ * Objects that implement the Element interface have all properties
+ * and functions of the Node interface as well as the properties
+ * and functions defined below.
* Properties of objects that implement the Element interface:
*
*
* tagName
* This read-only property is a String.
* schemaTypeInfo
- * This read-only property is an object that implements the TypeInfo interface.
+ * This read-only property is an object that implements
+ * the TypeInfo interface.
*
* Functions of objects that implement the Element interface:
*
* This function has no return value.
* The name parameter is a String.
* The value parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* removeAttribute(name)
* This function has no return value.
* The name parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* getAttributeNode(name)
- * This function returns an object that implements the Attr interface.
+ * This function returns an object that implements
+ * the Attr interface.
* The name parameter is a String.
* setAttributeNode(newAttr)
- * This function returns an object that implements the Attr interface.
- * The newAttr parameter is an object that implements the Attr interface.
- * This function can raise an object that implements the DOMException interface.
+ * This function returns an object that implements
+ * the Attr interface.
+ * The newAttr parameter is an object that implements
+ * the Attr interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* removeAttributeNode(oldAttr)
- * This function returns an object that implements the Attr interface.
- * The oldAttr parameter is an object that implements the Attr interface.
- * This function can raise an object that implements the DOMException interface.
+ * This function returns an object that implements
+ * the Attr interface.
+ * The oldAttr parameter is an object that implements
+ * the Attr interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* getElementsByTagName(name)
- * This function returns an object that implements the NodeList interface.
+ * This function returns an object that implements
+ * the NodeList interface.
* The name parameter is a String.
* getAttributeNS(namespaceURI, localName)
* This function returns a String.
* The namespaceURI parameter is a String.
* The localName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* setAttributeNS(namespaceURI, qualifiedName, value)
* This function has no return value.
* The namespaceURI parameter is a String.
* The qualifiedName parameter is a String.
* The value parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* removeAttributeNS(namespaceURI, localName)
* This function has no return value.
* The namespaceURI parameter is a String.
* The localName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* getAttributeNodeNS(namespaceURI, localName)
- * This function returns an object that implements the Attr interface.
+ * This function returns an object that implements
+ * the Attr interface.
* The namespaceURI parameter is a String.
* The localName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* setAttributeNodeNS(newAttr)
- * This function returns an object that implements the Attr interface.
- * The newAttr parameter is an object that implements the Attr interface.
- * This function can raise an object that implements the DOMException interface.
+ * This function returns an object that implements
+ * the Attr interface.
+ * The newAttr parameter is an object that implements
+ * the Attr interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* getElementsByTagNameNS(namespaceURI, localName)
- * This function returns an object that implements the NodeList interface.
+ * This function returns an object that implements
+ * the NodeList interface.
* The namespaceURI parameter is a String.
* The localName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* hasAttribute(name)
* This function returns a Boolean.
* The name parameter is a String.
* This function returns a Boolean.
* The namespaceURI parameter is a String.
* The localName parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* setIdAttribute(name, isId)
* This function has no return value.
* The name parameter is a String.
* The isId parameter is a Boolean.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* setIdAttributeNS(namespaceURI, localName, isId)
* This function has no return value.
* The namespaceURI parameter is a String.
* The localName parameter is a String.
* The isId parameter is a Boolean.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* setIdAttributeNode(idAttr, isId)
* This function has no return value.
- * The idAttr parameter is an object that implements the Attr interface.
+ * The idAttr parameter is an object that implements
+ * the Attr interface.
* The isId parameter is a Boolean.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
*/
class ECMA_Element
{
Element *p = (Element *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
+ //############################
+ //# M E T H O D S
+ //############################
+
/**
*
*/
- static JSBool getName(JSContext *cx, JSObject *obj,
+ static JSBool getAttribute(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
/**
*
*/
- static JSBool getNamespaceURI(JSContext *cx, JSObject *obj,
+ static JSBool setAttribute(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
/**
*
*/
- static JSBool contains(JSContext *cx, JSObject *obj,
+ static JSBool removeAttribute(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
/**
*
*/
- static JSBool containsNS(JSContext *cx, JSObject *obj,
+ static JSBool getAttributeNode(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool setAttributeNode(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool removeAttributeNode(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool getElementsByTagName(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool getAttributeNS(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool setAttributeNS(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool removeAttributeNS(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool getAttributeNodeNS(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool setAttributeNodeNS(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool getElementsByTagNameNS(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool hasAttribute(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool hasAttributeNS(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool setIdAttribute(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool setIdAttributeNS(JSContext *cx, JSObject *obj,
+ uintN argc, jsval *argv, jsval *rval)
+ {
+ return JS_FALSE;
+ }
+
+ /**
+ *
+ */
+ static JSBool setIdAttributeNode(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
// Standard JS Binding fields
static JSClass classDef;
static JSPropertySpec properties[];
+ enum
+ {
+ prop_tagName,
+ prop_schemaTypeInfo
+ };
static JSFunctionSpec methods[];
};
JSPropertySpec ECMA_Element::properties[] =
{
+ { "tagName", prop_tagName,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
+ { "schemaTypeInfo", prop_schemaTypeInfo,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
{ 0 }
};
JSFunctionSpec ECMA_Element::methods[] =
{
- { "getName", getName, 1, 0, 0 },
- { "getNamespaceURI", getNamespaceURI, 1, 0, 0 },
- { "contains", contains, 1, 0, 0 },
- { "containsNS", containsNS, 2, 0, 0 },
+ { "getAttribute", getAttribute, 1, 0, 0 },
+ { "setAttribute", setAttribute, 2, 0, 0 },
+ { "removeAttribute", removeAttribute, 1, 0, 0 },
+ { "getAttributeNode", getAttributeNode, 1, 0, 0 },
+ { "setAttributeNode", setAttributeNode, 1, 0, 0 },
+ { "removeAttributeNode", removeAttributeNode, 1, 0, 0 },
+ { "getElementsByTagName", getElementsByTagName, 1, 0, 0 },
+ { "getAttributeNS", getAttributeNS, 2, 0, 0 },
+ { "setAttributeNS", setAttributeNS, 3, 0, 0 },
+ { "removeAttributeNS", removeAttributeNS, 2, 0, 0 },
+ { "getAttributeNodeNS", getAttributeNodeNS, 2, 0, 0 },
+ { "setAttributeNodeNS", setAttributeNodeNS, 1, 0, 0 },
+ { "getElementsByTagNameNS", getElementsByTagNameNS, 2, 0, 0 },
+ { "hasAttribute", hasAttribute, 1, 0, 0 },
+ { "hasAttributeNS", hasAttributeNS, 2, 0, 0 },
+ { "setIdAttribute", setIdAttribute, 2, 0, 0 },
+ { "setIdAttributeNS", setIdAttributeNS, 3, 0, 0 },
+ { "setIdAttributeNode", setIdAttributeNode, 2, 0, 0 },
{ 0 }
};
+//########################################################################
+//# Text
+//########################################################################
+
/**
* Objects that implement the Text interface:
*
- * Objects that implement the Text interface have all properties and functions of
- * the CharacterData interface as well as the properties and functions defined
- * below. Properties of objects that implement the Text interface:
+ * Objects that implement the Text interface have all properties
+ * and functions of the CharacterData interface as well as
+ * the properties and functions defined below. Properties of objects
+ * that implement the Text interface:
*
*
* isElementContentWhitespace
* Functions of objects that implement the Text interface:
*
* splitText(offset)
- * This function returns an object that implements the Text interface.
+ * This function returns an object that implements
+ * the Text interface.
* The offset parameter is a Number.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* replaceWholeText(content)
- * This function returns an object that implements the Text interface.
+ * This function returns an object that implements
+ * the Text interface.
* The content parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
*/
class ECMA_Text
{
Text *p = (Text *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
- /**
- *
- */
- static JSBool getName(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
+ //############################
+ //# M E T H O D S
+ //############################
/**
*
*/
- static JSBool getNamespaceURI(JSContext *cx, JSObject *obj,
+ static JSBool splitText(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
/**
*
*/
- static JSBool contains(JSContext *cx, JSObject *obj,
+ static JSBool replaceWholeText(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
}
- /**
- *
- */
- static JSBool containsNS(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
private:
// Standard JS Binding fields
static JSClass classDef;
static JSPropertySpec properties[];
+ enum
+ {
+ prop_isElementContentWhitespace,
+ prop_wholeText
+ };
static JSFunctionSpec methods[];
};
JSPropertySpec ECMA_Text::properties[] =
{
+ { "isElementContentWhitespace", prop_isElementContentWhitespace,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
+ { "wholeText", prop_wholeText,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
{ 0 }
};
JSFunctionSpec ECMA_Text::methods[] =
{
- { "getName", getName, 1, 0, 0 },
- { "getNamespaceURI", getNamespaceURI, 1, 0, 0 },
- { "contains", contains, 1, 0, 0 },
- { "containsNS", containsNS, 2, 0, 0 },
+ { "splitText", splitText, 1, 0, 0 },
+ { "replaceWholeText", replaceWholeText, 1, 0, 0 },
{ 0 }
};
+
+
+
+//########################################################################
+//# Comment
+//########################################################################
+
/**
* Objects that implement the Comment interface:
*
- * Objects that implement the Comment interface have all properties and functions
- * of the CharacterData interface.
+ * Objects that implement the Comment interface have all properties
+ * and functions of the CharacterData interface.
*
*/
{
Comment *p = (Comment *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
- /**
- *
- */
- static JSBool getName(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
-
- /**
- *
- */
- static JSBool getNamespaceURI(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
-
- /**
- *
- */
- static JSBool contains(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
-
- /**
- *
- */
- static JSBool containsNS(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
-
private:
JSFunctionSpec ECMA_Comment::methods[] =
{
- { "getName", getName, 1, 0, 0 },
- { "getNamespaceURI", getNamespaceURI, 1, 0, 0 },
- { "contains", contains, 1, 0, 0 },
- { "containsNS", containsNS, 2, 0, 0 },
{ 0 }
};
+
+
+//########################################################################
+//# TypeInfo
+//########################################################################
+
/**
* Properties of the TypeInfo Constructor function:
*
* TypeInfo.DERIVATION_RESTRICTION
- * The value of the constant TypeInfo.DERIVATION_RESTRICTION is 0x00000001.
+ * The value of the constant TypeInfo.DERIVATION_RESTRICTION
+ * is 0x00000001.
* TypeInfo.DERIVATION_EXTENSION
- * The value of the constant TypeInfo.DERIVATION_EXTENSION is 0x00000002.
+ * The value of the constant TypeInfo.DERIVATION_EXTENSION
+ * is 0x00000002.
* TypeInfo.DERIVATION_UNION
- * The value of the constant TypeInfo.DERIVATION_UNION is 0x00000004.
+ * The value of the constant TypeInfo.DERIVATION_UNION
+ * is 0x00000004.
* TypeInfo.DERIVATION_LIST
- * The value of the constant TypeInfo.DERIVATION_LIST is 0x00000008.
+ * The value of the constant TypeInfo.DERIVATION_LIST
+ * is 0x00000008.
*
* Objects that implement the TypeInfo interface:
*
{
TypeInfo *p = (TypeInfo *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
- /**
- *
- */
- static JSBool getName(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
-
- /**
- *
- */
- static JSBool getNamespaceURI(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
+ //############################
+ //# M E T H O D S
+ //############################
/**
*
*/
- static JSBool contains(JSContext *cx, JSObject *obj,
+ static JSBool isDerivedFrom(JSContext *cx, JSObject *obj,
uintN argc, jsval *argv, jsval *rval)
{
return JS_FALSE;
}
- /**
- *
- */
- static JSBool containsNS(JSContext *cx, JSObject *obj,
- uintN argc, jsval *argv, jsval *rval)
- {
- return JS_FALSE;
- }
private:
// Standard JS Binding fields
static JSClass classDef;
static JSPropertySpec properties[];
+ enum
+ {
+ prop_typeName,
+ prop_typeNamespace
+ };
static JSFunctionSpec methods[];
static JSPropertySpec staticProperties[];
JSPropertySpec ECMA_TypeInfo::properties[] =
{
+ { "typeName", prop_typeName,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
+ { "typeNamespace", prop_typeNamespace,
+ JSPROP_ENUMERATE|JSPROP_READONLY },
{ 0 }
};
JSFunctionSpec ECMA_TypeInfo::methods[] =
{
- { "getName", getName, 1, 0, 0 },
- { "getNamespaceURI", getNamespaceURI, 1, 0, 0 },
- { "contains", contains, 1, 0, 0 },
- { "containsNS", containsNS, 2, 0, 0 },
+ { "isDerivedFrom", isDerivedFrom, 3, 0, 0 },
{ 0 }
};
+
+
+
+//########################################################################
+//# UserDataHandler
+//########################################################################
+
/**
* Properties of the UserDataHandler Constructor function:
*
* The value of the constant UserDataHandler.NODE_ADOPTED is 5.
*
* UserDataHandler function:
- * This function has no return value. The first parameter is a Number. The second
- * parameter is a String. The third parameter is an object that implements the any
- * type interface. The fourth parameter is an object that implements the Node
- * interface. The fifth parameter is an object that implements the Node interface.
+ * This function has no return value.
+ * The first parameter is a Number.
+ * The second parameter is a String.
+ * The third parameter is an object that implements the any
+ * type interface.
+ * The fourth parameter is an object that implements the Node
+ * interface.
+ * The fifth parameter is an object that implements the Node interface.
* Properties of the DOMError Constructor function:
*
*
{
UserDataHandler *p = (UserDataHandler *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+//########################################################################
+//# DOMError
+//########################################################################
/**
* Objects that implement the DOMError interface:
* type
* This read-only property is a String.
* relatedException
- * This read-only property is an object that implements the Object interface.
+ * This read-only property is an object that implements
+ * the Object interface.
* relatedData
- * This read-only property is an object that implements the Object interface.
+ * This read-only property is an object that implements
+ * the Object interface.
* location
- * This read-only property is an object that implements the DOMLocator interface.
+ * This read-only property is an object that implements
+ * the DOMLocator interface.
*
* DOMErrorHandler function:
- * This function returns a Boolean. The parameter is an object that implements the
- * DOMError interface.
+ * This function returns a Boolean.
+ * The parameter is an object that implements the
+ * DOMError interface.
*
*
*/
{
DOMError *p = (DOMError *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+
+
+//########################################################################
+//# DOMLocator
+//########################################################################
+
/**
* Objects that implement the DOMLocator interface:
*
* utf16Offset
* This read-only property is a Number.
* relatedNode
- * This read-only property is an object that implements the Node interface.
+ * This read-only property is an object that implements
+ * the Node interface.
* uri
* This read-only property is a String.
*/
{
DOMLocator *p = (DOMLocator *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+
+//########################################################################
+//# DOMConfiguration
+//########################################################################
+
/**
* Objects that implement the DOMConfiguration interface:
*
* Properties of objects that implement the DOMConfiguration interface:
*
* parameterNames
- * This read-only property is an object that implements the DOMStringList interface.
+ * This read-only property is an object that implements
+ * the DOMStringList interface.
*
* Functions of objects that implement the DOMConfiguration interface:
*
* setParameter(name, value)
* This function has no return value.
* The name parameter is a String.
- * The value parameter is an object that implements the any type interface.
- * This function can raise an object that implements the DOMException interface.
+ * The value parameter is an object that implements
+ * the any type interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* getParameter(name)
- * This function returns an object that implements the any type interface.
+ * This function returns an object that implements
+ * the any type interface.
* The name parameter is a String.
- * This function can raise an object that implements the DOMException interface.
+ * This function can raise an object that implements
+ * the DOMException interface.
* canSetParameter(name, value)
* This function returns a Boolean.
* The name parameter is a String.
- * The value parameter is an object that implements the any type interface.
+ * The value parameter is an object that implements
+ * the any type interface.
*/
{
DOMConfiguration *p = (DOMConfiguration *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
return JS_FALSE;
}
+ //############################
+ //# M E T H O D S
+ //############################
+
/**
*
*/
+
+
+
+//########################################################################
+//# CDATASection
+//########################################################################
+
/**
* Objects that implement the CDATASection interface:
*
- * Objects that implement the CDATASection interface have all properties and
- * functions of the Text interface.
+ * Objects that implement the CDATASection interface
+ * have all properties and functions of the Text interface.
*
*/
{
CDATASection *p = (CDATASection *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+
+
+//########################################################################
+//# DocumentType
+//########################################################################
+
/**
* Objects that implement the DocumentType interface:
*
- * Objects that implement the DocumentType interface have all properties and
- * functions of the Node interface as well as the properties and functions defined
- * below. Properties of objects that implement the DocumentType interface:
+ * Objects that implement the DocumentType interface have all
+ * properties and functions of the Node interface as well as
+ * the properties and functions defined below.
+ * Properties of objects that implement the DocumentType interface:
*
*
* name
* This read-only property is a String.
* entities
- * This read-only property is an object that implements the NamedNodeMap interface.
+ * This read-only property is an object that implements
+ * the NamedNodeMap interface.
* notations
- * This read-only property is an object that implements the NamedNodeMap interface.
+ * This read-only property is an object that implements
+ * the NamedNodeMap interface.
* publicId
* This read-only property is a String.
* systemId
{
DocumentType *p = (DocumentType *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+
+
+//########################################################################
+//# Notation
+//########################################################################
+
/**
* Objects that implement the Notation interface:
*
- * Objects that implement the Notation interface have all properties and functions
- * of the Node interface as well as the properties and functions defined below.
+ * Objects that implement the Notation interface have all
+ * properties and functions of the Node interface as well as
+ * the properties and functions defined below.
* Properties of objects that implement the Notation interface:
*
*
{
Notation *p = (Notation *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+
+
+//########################################################################
+//# Entity
+//########################################################################
+
/**
* Objects that implement the Entity interface:
*
- * Objects that implement the Entity interface have all properties and functions
- * of the Node interface as well as the properties and functions defined below.
- * Properties of objects that implement the Entity
- * interface:
+ * Objects that implement the Entity interface have all properties
+ * and functions of the Node interface as well as the properties
+ * and functions defined below.
+ * Properties of objects that implement the Entity interface:
*
*
* publicId
{
Entity *p = (Entity *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+
+//########################################################################
+//# EntityReference
+//########################################################################
+
/**
* Objects that implement the EntityReference interface:
*
- * Objects that implement the EntityReference interface have all properties and
- * functions of the Node interface.
+ * Objects that implement the EntityReference interface have all
+ * properties and functions of the Node interface.
*
*/
{
EntityReference *p = (EntityReference *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
+
+//########################################################################
+//# ProcessingInstruction
+//########################################################################
+
/**
* Objects that implement the ProcessingInstruction interface:
*
- * Objects that implement the ProcessingInstruction interface have all properties
- * and functions of the Node interface as well as the properties and functions
- * defined below. Properties of objects that implement the ProcessingInstruction
- * interface:
+ * Objects that implement the ProcessingInstruction interface
+ * have all properties and functions of the Node interface
+ * as well as the properties and functions defined below.
+ * Properties of objects that implement the ProcessingInstruction
+ * interface:
*
* target
* This read-only property is a String.
* data
- * This property is a String and can raise an object that implements the
- * DOMException interface on setting.
+ * This property is a String and can raise an object
+ * that implements the DOMException interface on setting.
*
*/
{
ProcessingInstruction *p = (ProcessingInstruction *) JS_GetPrivate(cx, obj);
delete p;
- p = NULL;
}
/**
/**
- * Note: In addition of having DOMConfiguration parameters exposed to the
- * application using the setParameter and getParameter, those parameters are also
- * exposed as ECMAScript properties on the DOMConfiguration object. The name of
- * the parameter is converted into a property name using a camel-case convention:
- * the character '-' (HYPHEN-MINUS) is removed and the following character is
- * being replaced by its uppercase equivalent.
+ * Note: In addition of having DOMConfiguration parameters
+ * exposed to the application using the setParameter
+ * and getParameter, those parameters are also exposed
+ * as ECMAScript properties on the DOMConfiguration object.
+ * The name of the parameter is converted into a property name
+ * using a camel-case convention:
+ * the character '-' (HYPHEN-MINUS) is removed
+ * and the following character is
+ * being replaced by its uppercase equivalent.
*/
+
+
//########################################################################
//# M A I N B I N D I N G
//########################################################################