30
31
class DOMImplementation;
32
class JSDOMImplementation : public DOMObject {
33
typedef DOMObject Base;
33
class JSDOMImplementation : public DOMObjectWithGlobalPointer {
34
typedef DOMObjectWithGlobalPointer Base;
35
JSDOMImplementation(PassRefPtr<JSC::Structure>, PassRefPtr<DOMImplementation>);
36
JSDOMImplementation(NonNullPassRefPtr<JSC::Structure>, JSDOMGlobalObject*, PassRefPtr<DOMImplementation>);
36
37
virtual ~JSDOMImplementation();
37
38
static JSC::JSObject* createPrototype(JSC::ExecState*, JSC::JSGlobalObject*);
38
39
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertySlot&);
40
virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier& propertyName, JSC::PropertyDescriptor&);
39
41
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
40
42
static const JSC::ClassInfo s_info;
42
static PassRefPtr<JSC::Structure> createStructure(JSC::JSValuePtr prototype)
44
static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
44
46
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
47
static JSC::JSValuePtr getConstructor(JSC::ExecState*);
49
static JSC::JSValue getConstructor(JSC::ExecState*, JSC::JSGlobalObject*);
48
50
DOMImplementation* impl() const { return m_impl.get(); }
51
53
RefPtr<DOMImplementation> m_impl;
54
JSC::JSValuePtr toJS(JSC::ExecState*, DOMImplementation*);
55
DOMImplementation* toDOMImplementation(JSC::JSValuePtr);
56
JSC::JSValue toJS(JSC::ExecState*, JSDOMGlobalObject*, DOMImplementation*);
57
DOMImplementation* toDOMImplementation(JSC::JSValue);
57
59
class JSDOMImplementationPrototype : public JSC::JSObject {
60
typedef JSC::JSObject Base;
59
62
static JSC::JSObject* self(JSC::ExecState*, JSC::JSGlobalObject*);
60
63
virtual const JSC::ClassInfo* classInfo() const { return &s_info; }
61
64
static const JSC::ClassInfo s_info;
62
65
virtual bool getOwnPropertySlot(JSC::ExecState*, const JSC::Identifier&, JSC::PropertySlot&);
63
static PassRefPtr<JSC::Structure> createStructure(JSC::JSValuePtr prototype)
66
virtual bool getOwnPropertyDescriptor(JSC::ExecState*, const JSC::Identifier&, JSC::PropertyDescriptor&);
67
static PassRefPtr<JSC::Structure> createStructure(JSC::JSValue prototype)
65
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType));
69
return JSC::Structure::create(prototype, JSC::TypeInfo(JSC::ObjectType, JSC::HasDefaultMark));
67
JSDOMImplementationPrototype(PassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
71
JSDOMImplementationPrototype(NonNullPassRefPtr<JSC::Structure> structure) : JSC::JSObject(structure) { }
72
JSC::JSValuePtr jsDOMImplementationPrototypeFunctionHasFeature(JSC::ExecState*, JSC::JSObject*, JSC::JSValuePtr, const JSC::ArgList&);
73
JSC::JSValuePtr jsDOMImplementationPrototypeFunctionCreateDocumentType(JSC::ExecState*, JSC::JSObject*, JSC::JSValuePtr, const JSC::ArgList&);
74
JSC::JSValuePtr jsDOMImplementationPrototypeFunctionCreateDocument(JSC::ExecState*, JSC::JSObject*, JSC::JSValuePtr, const JSC::ArgList&);
75
JSC::JSValuePtr jsDOMImplementationPrototypeFunctionCreateCSSStyleSheet(JSC::ExecState*, JSC::JSObject*, JSC::JSValuePtr, const JSC::ArgList&);
76
JSC::JSValuePtr jsDOMImplementationPrototypeFunctionCreateHTMLDocument(JSC::ExecState*, JSC::JSObject*, JSC::JSValuePtr, const JSC::ArgList&);
76
JSC::JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionHasFeature(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
77
JSC::JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateDocumentType(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
78
JSC::JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateDocument(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
79
JSC::JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateCSSStyleSheet(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
80
JSC::JSValue JSC_HOST_CALL jsDOMImplementationPrototypeFunctionCreateHTMLDocument(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&);
79
JSC::JSValuePtr jsDOMImplementationConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
83
JSC::JSValue jsDOMImplementationConstructor(JSC::ExecState*, const JSC::Identifier&, const JSC::PropertySlot&);
81
85
} // namespace WebCore