Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2008-06-15 02:53:51 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2008-06-15 02:53:51 (GMT)
commite151eafd75adf7ed2c5d771d02d07d5a17841234 (patch)
tree7ed8e4fe0bb2298fc4885927a61707d04fbda7e7
parent74091aaec5176b29da05d1b6ba4b2e338bcffb8b (diff)
Support certificate exceptions.
-rw-r--r--browser.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/browser.py b/browser.py
index 208ff93..39a697f 100644
--- a/browser.py
+++ b/browser.py
@@ -67,6 +67,23 @@ class GetSourceListener(gobject.GObject):
def onSecurityChange(self, progress, request, state):
pass
+class CommandListener(object):
+ _com_interfaces_ = interfaces.nsIDOMEventListener
+ def __init__(self, window):
+ self._window = window
+
+ def handleEvent(self, event):
+ if not event.isTrusted:
+ return
+
+ uri = event.originalTarget.ownerDocument.documentURI
+ if not uri.startswith('about:neterror?e=nssBadCert'):
+ return
+
+ cls = components.classes['@sugarlabs.org/add-cert-exception;1']
+ cert_exception = cls.createInstance(interfaces.hulahopAddCertException)
+ cert_exception.showDialog(self._window)
+
class Browser(WebView):
AGENT_SHEET = os.path.join(activity.get_bundle_path(),
@@ -106,7 +123,11 @@ class Browser(WebView):
listener = xpcom.server.WrapObject(ContentInvoker(self),
interfaces.nsIDOMEventListener)
- self.get_window_root().addEventListener('click', listener, False)
+ self.window_root.addEventListener('click', listener, False)
+
+ listener = xpcom.server.WrapObject(CommandListener(self.dom_window),
+ interfaces.nsIDOMEventListener)
+ self.window_root.addEventListener('command', listener, False)
def get_session(self):
return sessionstore.get_session(self)