From 2c92da58d54b62149d5e286f6d44d334cb415b5f Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Tue, 22 May 2007 10:29:30 +0000 Subject: Skeleton implementation of chrome --- (limited to 'python') diff --git a/python/hulahop.defs b/python/hulahop.defs index 49dff91..7c17625 100644 --- a/python/hulahop.defs +++ b/python/hulahop.defs @@ -5,6 +5,12 @@ (gtype-id "HULAHOP_TYPE_WEB_VIEW") ) +(define-method create_window + (of-object "HulahopWebView") + (c-name "hulahop_web_view_create_window") + (return-type "none") +) + (define-method get_browser (of-object "HulahopWebView") (c-name "hulahop_web_view_get_browser") diff --git a/python/webview.py b/python/webview.py index 81465fe..9c077a9 100644 --- a/python/webview.py +++ b/python/webview.py @@ -17,12 +17,65 @@ from hulahop import _hulahop +import xpcom from xpcom import components from xpcom.components import interfaces +class _Chrome: + _com_interfaces_ = interfaces.nsIWebBrowserChrome, \ + interfaces.nsIEmbeddingSiteWindow + + # nsIWebBrowserChrome + def destroyBrowserWindow(self): + pass + + def exitModalEventLoop(self, status): + pass + + def isWindowModal(self): + return False + + def setStatus(self, statusType, status): + pass + + def showAsModal(self): + pass + + def sizeBrowserTo(self, cx, cy): + pass + + # nsIEmbeddingSiteWindow + def getDimensions(self, flags): + pass + + def setDimensions(self, flags, x, y, cx, cy): + pass + + def setFocus(self): + pass + + def get_title(self): + return '' + + def set_title(self, title): + print title + + def get_visibility(self): + return True + + def set_visibility(self, visibility): + pass + class WebView(_hulahop.WebView): def __init__(self): _hulahop.WebView.__init__(self) + + self._chrome = xpcom.server.WrapObject( + _Chrome(), interfaces.nsIEmbeddingSiteWindow) + weak_ref = xpcom.client.WeakReference(self._chrome) + self.browser.containerWindow = self._chrome + + self.create_window() def get_window_root(self): return _hulahop.WebView.get_window_root(self) -- cgit v0.9.1