Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/browser.py
diff options
context:
space:
mode:
authorManuel Quiñones <manuq@laptop.org>2011-11-29 11:28:57 (GMT)
committer Manuel Quiñones <manuq@laptop.org>2011-11-29 11:51:19 (GMT)
commit0512c29740db61ad73e533480839e3d26a033bbe (patch)
treee9ee3e371c1e87178e8203678173edb528524fd9 /browser.py
parent781c9561b9388713e0fd32a350e4b36027849d29 (diff)
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 <manuq@laptop.org>
Diffstat (limited to 'browser.py')
-rw-r--r--browser.py100
1 files changed, 45 insertions, 55 deletions
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)