diff options
Diffstat (limited to 'src/hulahop-web-view.cpp')
-rw-r--r-- | src/hulahop-web-view.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/hulahop-web-view.cpp b/src/hulahop-web-view.cpp index 1ee6da4..3fcc3a7 100644 --- a/src/hulahop-web-view.cpp +++ b/src/hulahop-web-view.cpp @@ -25,6 +25,8 @@ #include <nsIDOMWindow2.h> #include <nsIDOMEventTarget.h> #include <nsIBaseWindow.h> +#include <nsIDocShell.h> +#include <nsIInterfaceRequestorUtils.h> #include <PyXPCOM.h> #include <gtk/gtkfixed.h> @@ -252,3 +254,15 @@ hulahop_web_view_get_window_root(HulahopWebView *web_view) return PyObject_FromNSInterface(eventTarget, NS_GET_IID(nsIDOMEventTarget)); } + +PyObject * +hulahop_web_view_get_doc_shell(HulahopWebView *web_view) +{ + nsresult rv; + + nsCOMPtr<nsIDocShell> docShell(do_GetInterface(web_view->browser, &rv)); + NS_ENSURE_SUCCESS (rv, NULL); + + return PyObject_FromNSInterface(docShell, + NS_GET_IID(nsIDocShell)); +} |