From 7d3a1a97044b902d83e901c30fdc5a5d4a1f6d55 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Wed, 15 Oct 2008 10:44:49 +0000 Subject: Adapt to hulahop API changes and start to clean up the singletons mess. --- (limited to 'browser.py') diff --git a/browser.py b/browser.py index fec52f1..4ca84c1 100644 --- a/browser.py +++ b/browser.py @@ -27,7 +27,6 @@ from xpcom.nsError import * from xpcom import components from xpcom.components import interfaces from hulahop.webview import WebView -from hulahop.webview import lookup_view from sugar.datastore import datastore from sugar import profile @@ -37,6 +36,8 @@ from sugar.graphics import style import sessionstore from palettes import ContentInvoker +from sessionhistory import HistoryListener +from progresslistener import ProgressListener _ZOOM_AMOUNT = 0.1 @@ -96,6 +97,12 @@ class Browser(WebView): def __init__(self): WebView.__init__(self) + self.history = HistoryListener() + self.progress = ProgressListener() + + cls = components.classes["@mozilla.org/typeaheadfind;1"] + self.typeahead = cls.createInstance(interfaces.nsITypeAheadFind) + self._jobject = None io_service_class = components.classes[ \ @@ -123,6 +130,9 @@ class Browser(WebView): style_sheet_service.loadAndRegisterSheet(user_sheet_uri, interfaces.nsIStyleSheetService.USER_SHEET) + def do_setup(self): + WebView.do_setup(self) + listener = xpcom.server.WrapObject(ContentInvoker(self), interfaces.nsIDOMEventListener) self.window_root.addEventListener('click', listener, False) @@ -131,6 +141,12 @@ class Browser(WebView): interfaces.nsIDOMEventListener) self.window_root.addEventListener('command', listener, False) + self.progress.setup(self) + + self.history.setup(self.web_navigation) + + self.typeahead.init(self.doc_shell) + def get_session(self): return sessionstore.get_session(self) @@ -233,7 +249,8 @@ class WindowCreator: def createChromeWindow(self, parent, flags): dialog = PopupDialog() - parent_view = lookup_view(parent) + parent_dom_window = parent.webBrowser.contentDOMWindow + parent_view = hulahop.get_view_for_window(parent_dom_window) if parent_view: dialog.set_transient_for(parent_view.get_toplevel()) -- cgit v0.9.1