Index: webkit/webkit-1.1.defs =================================================================== --- webkit/webkit-1.1.defs (revision 161) +++ webkit/webkit-1.1.defs (working copy) @@ -244,6 +244,25 @@ ;; from webkit/webkitwebframe.h +(define-method get_xml_http_request + (of-object "WebKitWebFrame") + (c-name "webkit_web_frame_get_xml_http_request") + (return-type "gpointer") +) + +(define-method get_dom_window + (of-object "WebKitWebFrame") + (c-name "webkit_web_frame_get_dom_window") + (return-type "gpointer") +) + +(define-method get_dom_document + (of-object "WebKitWebFrame") + (c-name "webkit_web_frame_get_dom_document") + (return-type "gpointer") +) + + (define-method load_uri (of-object "WebKitWebFrame") (c-name "webkit_web_frame_load_uri") Index: webkit/webkit.override =================================================================== --- webkit/webkit.override (revision 161) +++ webkit/webkit.override (working copy) @@ -30,6 +30,12 @@ #include #include "javascriptcore/javascriptcore_types.h" + +#include "pywebkit.h" + +extern struct pyjoinapi pywebkit_api_fns; + + %% body static PyObject * @@ -310,3 +316,34 @@ } +%% +override webkit_web_frame_get_dom_document noargs +static PyObject * +_wrap_webkit_web_frame_get_dom_document(PyGObject *self) +{ + gpointer ptr; + ptr = webkit_web_frame_get_dom_document(WEBKIT_WEB_FRAME(self->obj)); + return pywebkit_api_fns.doc(ptr); +} + +%% +override webkit_web_frame_get_xml_http_request noargs +static PyObject * +_wrap_webkit_web_frame_get_xml_http_request(PyGObject *self) +{ + gpointer ptr; + ptr = webkit_web_frame_get_xml_http_request(WEBKIT_WEB_FRAME(self->obj)); + return pywebkit_api_fns.xhr(ptr); +} + +%% +override webkit_web_frame_get_dom_window noargs +static PyObject * +_wrap_webkit_web_frame_get_dom_window(PyGObject *self) +{ + gpointer ptr; + ptr = webkit_web_frame_get_dom_window(WEBKIT_WEB_FRAME(self->obj)); + return pywebkit_api_fns.win(ptr); +} + + Index: webkit/pywebkit.h =================================================================== --- webkit/pywebkit.h (revision 0) +++ webkit/pywebkit.h (revision 0) @@ -0,0 +1,10 @@ +typedef PyObject* (*ToPythonFn) (gpointer); + +struct pyjoinapi { + ToPythonFn xhr; + ToPythonFn win; + ToPythonFn doc; +}; + +extern struct pyjoinapi pywebkit_api_fns; + Index: webkit/webkitmodule.c =================================================================== --- webkit/webkitmodule.c (revision 161) +++ webkit/webkitmodule.c (working copy) @@ -27,10 +27,16 @@ #include #include +#include "pywebkit.h" + extern PyMethodDef pywebkit_functions[]; void pywebkit_register_classes (PyObject *d); +void webkit_init_pywebkit(PyObject *m, struct pyjoinapi *api_fns); +struct pyjoinapi pywebkit_api_fns; + + DL_EXPORT(void) initwebkit(void) { @@ -50,6 +56,7 @@ m = Py_InitModule ("webkit", pywebkit_functions); d = PyModule_GetDict (m); pywebkit_register_classes (d); + webkit_init_pywebkit(m, &pywebkit_api_fns); if (PyErr_Occurred ()) { PyErr_Print();

AltStyle によって変換されたページ (->オリジナル) /