We were not returning the right value, the callback
should return True if the signal is handled, False otherwise.

This fixes http://bugs.sugarlabs.org/ticket/3512

-----

v1 -> v2: fixed regression with PDF handling.

Signed-off-by: Manuel Quiñones <ma...@laptop.org>
---
 browser.py |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/browser.py b/browser.py
index c0bb7bc..a40cc03 100644
--- a/browser.py
+++ b/browser.py
@@ -532,14 +532,15 @@ class Browser(WebKit.WebView):
 
     def __mime_type_policy_cb(self, webview, frame, request, mimetype,
                               policy_decision):
+        """Handle downloads and PDF files."""
         if mimetype == 'application/pdf':
             self.emit('open-pdf', request.get_uri())
-            return False
-        elif self.can_show_mime_type(mimetype):
-            return True
-        else:
+
+        elif not self.can_show_mime_type(mimetype):
             policy_decision.download()
-        return True
+            return True
+
+        return False
 
     def __new_window_policy_cb(self, webview, webframe, request,
                                navigation_action, policy_decision):
-- 
1.7.7.6

_______________________________________________
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel

Reply via email to