From 0512c29740db61ad73e533480839e3d26a033bbe Mon Sep 17 00:00:00 2001 From: Manuel QuiƱones Date: Tue, 29 Nov 2011 11:28:57 +0000 Subject: Remove mozilla xpcom and hulahop, add WebKit This commit breaks a lot of Browse functionality. This is marked in the code with a FIXME keyword. Original work was done by Daniel Drake. Signed-off-by: Manuel QuiƱones --- (limited to 'browser.py') diff --git a/browser.py b/browser.py index ce30067..573a9ab 100644 --- a/browser.py +++ b/browser.py @@ -23,22 +23,18 @@ from gettext import gettext as _ from gi.repository import GObject from gi.repository import Gtk from gi.repository import Pango -import hulahop -import xpcom -from xpcom.nsError import * -from xpcom import components -from xpcom.components import interfaces -from hulahop.webview import WebView +from gi.repository import WebKit from sugar3 import env from sugar3.activity import activity from sugar3.graphics import style from sugar3.graphics.icon import Icon -import sessionstore -from palettes import ContentInvoker -from sessionhistory import HistoryListener -from progresslistener import ProgressListener +# FIXME +# import sessionstore +# from palettes import ContentInvoker +# from sessionhistory import HistoryListener +# from progresslistener import ProgressListener from widgets import BrowserNotebook _ZOOM_AMOUNT = 0.1 @@ -46,8 +42,6 @@ _LIBRARY_PATH = '/usr/share/library-common/index.html' class SaveListener(object): - _com_interfaces_ = interfaces.nsIWebProgressListener - def __init__(self, user_data, callback): self._user_data = user_data self._callback = callback @@ -79,9 +73,6 @@ class SaveListener(object): class CommandListener(object): - - _com_interfaces_ = interfaces.nsIDOMEventListener - def __init__(self, window): self._window = window @@ -107,8 +98,6 @@ class TabbedView(BrowserNotebook): ([])), } - _com_interfaces_ = interfaces.nsIWindowCreator - AGENT_SHEET = os.path.join(activity.get_bundle_path(), 'agent-stylesheet.css') USER_SHEET = os.path.join(env.get_profile_path(), 'gecko', @@ -120,36 +109,37 @@ class TabbedView(BrowserNotebook): self.props.show_border = False self.props.scrollable = True - io_service_class = components.classes[ \ - "@mozilla.org/network/io-service;1"] - io_service = io_service_class.getService(interfaces.nsIIOService) - - # Use xpcom to turn off "offline mode" detection, which disables - # access to localhost for no good reason. (Trac #6250.) - io_service2 = io_service_class.getService(interfaces.nsIIOService2) - io_service2.manageOfflineStatus = False - - cls = components.classes['@mozilla.org/content/style-sheet-service;1'] - style_sheet_service = cls.getService(interfaces.nsIStyleSheetService) - - if os.path.exists(TabbedView.AGENT_SHEET): - agent_sheet_uri = io_service.newURI('file:///' + - TabbedView.AGENT_SHEET, - None, None) - style_sheet_service.loadAndRegisterSheet(agent_sheet_uri, - interfaces.nsIStyleSheetService.AGENT_SHEET) - - if os.path.exists(TabbedView.USER_SHEET): - url = 'file:///' + TabbedView.USER_SHEET - user_sheet_uri = io_service.newURI(url, None, None) - style_sheet_service.loadAndRegisterSheet(user_sheet_uri, - interfaces.nsIStyleSheetService.USER_SHEET) - - cls = components.classes['@mozilla.org/embedcomp/window-watcher;1'] - window_watcher = cls.getService(interfaces.nsIWindowWatcher) - window_creator = xpcom.server.WrapObject(self, - interfaces.nsIWindowCreator) - window_watcher.setWindowCreator(window_creator) + # FIXME + # io_service_class = components.classes[ \ + # "@mozilla.org/network/io-service;1"] + # io_service = io_service_class.getService(interfaces.nsIIOService) + + # # Use xpcom to turn off "offline mode" detection, which disables + # # access to localhost for no good reason. (Trac #6250.) + # io_service2 = io_service_class.getService(interfaces.nsIIOService2) + # io_service2.manageOfflineStatus = False + + # cls = components.classes['@mozilla.org/content/style-sheet-service;1'] + # style_sheet_service = cls.getService(interfaces.nsIStyleSheetService) + + # if os.path.exists(TabbedView.AGENT_SHEET): + # agent_sheet_uri = io_service.newURI('file:///' + + # TabbedView.AGENT_SHEET, + # None, None) + # style_sheet_service.loadAndRegisterSheet(agent_sheet_uri, + # interfaces.nsIStyleSheetService.AGENT_SHEET) + + # if os.path.exists(TabbedView.USER_SHEET): + # url = 'file:///' + TabbedView.USER_SHEET + # user_sheet_uri = io_service.newURI(url, None, None) + # style_sheet_service.loadAndRegisterSheet(user_sheet_uri, + # interfaces.nsIStyleSheetService.USER_SHEET) + + # cls = components.classes['@mozilla.org/embedcomp/window-watcher;1'] + # window_watcher = cls.getService(interfaces.nsIWindowWatcher) + # window_creator = xpcom.server.WrapObject(self, + # interfaces.nsIWindowCreator) + # window_watcher.setWindowCreator(window_creator) self.connect('size-allocate', self.__size_allocate_cb) self.connect('page-added', self.__page_added_cb) @@ -242,7 +232,9 @@ class TabbedView(BrowserNotebook): n_pages = self.get_n_pages() canvas_size = self.get_allocation() - overlap_size = self.style_get_property('tab-overlap') * n_pages - 1 + # FIXME + # overlap_size = self.style_get_property('tab-overlap') * n_pages - 1 + overlap_size = 0 allowed_size = canvas_size.width - overlap_size tab_new_size = int(allowed_size * 1.0 / (n_pages + 1)) @@ -385,7 +377,7 @@ class TabLabel(Gtk.HBox): self._label.set_text(browser.props.title) -class Browser(WebView): +class Browser(WebKit.WebView): __gtype_name__ = 'Browser' __gsignals__ = { @@ -398,13 +390,11 @@ class Browser(WebView): } def __init__(self): - WebView.__init__(self) - - self.history = HistoryListener() - self.progress = ProgressListener() + WebKit.WebView.__init__(self) - cls = components.classes["@mozilla.org/typeaheadfind;1"] - self.typeahead = cls.createInstance(interfaces.nsITypeAheadFind) + # FIXME + # self.history = HistoryListener() + # self.progress = ProgressListener() def do_setup(self): WebView.do_setup(self) -- cgit v0.9.1