diff options
Diffstat (limited to 'sugar/browser')
-rw-r--r-- | sugar/browser/__init__.py | 23 | ||||
-rw-r--r-- | sugar/browser/_sugarbrowser.defs | 6 | ||||
-rw-r--r-- | sugar/browser/browser.py | 1 | ||||
-rw-r--r-- | sugar/browser/xulrunner.cpp | 2 |
4 files changed, 29 insertions, 3 deletions
diff --git a/sugar/browser/__init__.py b/sugar/browser/__init__.py index 7de5339..d02c90c 100644 --- a/sugar/browser/__init__.py +++ b/sugar/browser/__init__.py @@ -5,7 +5,26 @@ XUL Runner and gtkmozembed and is produced by the PyGTK """ try: - from sugar.browser._sugarbrowser import * + from sugar.browser._sugarbrowser import startup, shutdown + from sugar.browser import _sugarbrowser except ImportError: from sugar import ltihooks - from sugar.browser._sugarbrowser import * + from sugar.browser._sugarbrowser import startup, shutdown + from sugar.browser import _sugarbrowser + +class Browser(_sugarbrowser.Browser): + def __init__(self): + _sugarbrowser.Browser.__init__(self) + + def get_browser(self): + from xpcom import components + cls = components.classes["@laptop.org/browser/browserhelper;1"] + browser_helper = cls.getService(components.interfaces.nsIBrowserHelper) + print self.get_instance_id() + return browser_helper.getBrowser(self.get_instance_id()) + + def get_document(self): + return self.browser.contentDOMWindow.document + + document = property(get_document) + browser = property(get_browser) diff --git a/sugar/browser/_sugarbrowser.defs b/sugar/browser/_sugarbrowser.defs index f323d5e..036a34c 100644 --- a/sugar/browser/_sugarbrowser.defs +++ b/sugar/browser/_sugarbrowser.defs @@ -128,6 +128,12 @@ ) ) +(define-method get_instance_id + (of-object "SugarBrowser") + (c-name "sugar_browser_get_instance_id") + (return-type "int") +) + ;; From sugar-key-grabber.h (define-function sugar_key_grabber_get_type diff --git a/sugar/browser/browser.py b/sugar/browser/browser.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/sugar/browser/browser.py @@ -0,0 +1 @@ + diff --git a/sugar/browser/xulrunner.cpp b/sugar/browser/xulrunner.cpp index f7dc0fd..a03604d 100644 --- a/sugar/browser/xulrunner.cpp +++ b/sugar/browser/xulrunner.cpp @@ -39,7 +39,7 @@ xulrunner_startup(void) fprintf(stderr, "Couldn't find a compatible GRE.\n"); return 1; } - + rv = XPCOMGlueStartup(xpcomPath); if (NS_FAILED(rv)) { fprintf(stderr, "Couldn't start XPCOM."); |