[or-cvs] [torbutton/maint-1.2 20/37] Fix bug 1337: Bind alerts to correct window.

mikeperry at torproject.org mikeperry at torproject.org
Thu Apr 8 06:24:30 UTC 2010


Author: Mike Perry <mikeperry-git at fscked.org>
Date: Wed, 31 Mar 2010 04:32:11 -0700
Subject: Fix bug 1337: Bind alerts to correct window.
Commit: 1019255b452d69f4a5ed678040743125c88f7ff6

---
 src/chrome/content/torbutton.js |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index f279e72..b3292bf 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -269,7 +269,10 @@ var torbutton_unique_pref_observer =
                     var o_stringbundle = torbutton_get_stringbundle();
                     var warning = o_stringbundle.GetStringFromName("torbutton.popup.toggle.warning");
                     this.did_toggle_warning = true;
-                    window.alert(warning);
+                    var wm = Cc["@mozilla.org/appshell/window-mediator;1"]
+                               .getService(Components.interfaces.nsIWindowMediator);
+                    var chrome = wm.getMostRecentWindow("navigator:browser");
+                    chrome.alert(warning);
                 }
                 break;
 
@@ -280,7 +283,7 @@ var torbutton_unique_pref_observer =
                     var o_stringbundle = torbutton_get_stringbundle();
                     var warning = o_stringbundle.GetStringFromName("torbutton.popup.toggle.warning");
                     this.did_toggle_warning = true;
-                    window.alert(warning);
+                    chrome.alert(warning);
                 }
                 break;
 
@@ -720,7 +723,10 @@ function torbutton_enable_tor(force)
   if(!force && m_tb_prefs.getBoolPref("extensions.torbutton.test_failed")) {
       var strings = torbutton_get_stringbundle();
       var warning = strings.GetStringFromName("torbutton.popup.test.confirm_toggle");
-      if(!window.confirm(warning)) {
+      var wm = Cc["@mozilla.org/appshell/window-mediator;1"]
+                   .getService(Components.interfaces.nsIWindowMediator);
+      var chrome = wm.getMostRecentWindow("navigator:browser");
+      if(!chrome.confirm(warning)) {
           return;
       }
   }
@@ -2749,7 +2755,11 @@ function torbutton_check_google_captcha(subject, topic, data) {
         var launch = bundle.GetStringFromName("torbutton.popup.redirect");
         var cancel = bundle.GetStringFromName("torbutton.popup.no_redirect");
 
-        var result = prompts.confirmEx(window, title, ask, flags,
+        var wm = Cc["@mozilla.org/appshell/window-mediator;1"]
+                   .getService(Components.interfaces.nsIWindowMediator);
+        var chrome = wm.getMostRecentWindow("navigator:browser");
+
+        var result = prompts.confirmEx(chrome, title, ask, flags,
                                        launch, cancel, "", dontask, check);
 
         if (check.value) {
@@ -3806,7 +3816,10 @@ function torbutton_check_progress(aProgress, aRequest, aFlags, new_loc) {
                             torbutton_eclog(2, 'Cleared document');
 
                             if(typeof(DOMWindow.__tb_kill_flag) == 'undefined') {
-                                window.alert(warning);
+                                var wm = Cc["@mozilla.org/appshell/window-mediator;1"]
+                                           .getService(Components.interfaces.nsIWindowMediator);
+                                var chrome = wm.getMostRecentWindow("navigator:browser");
+                                chrome.alert(warning);
                                 DOMWindow.__tb_kill_flag = true;
                             }
                             // This doesn't seem to actually remove the child..
@@ -3820,7 +3833,10 @@ function torbutton_check_progress(aProgress, aRequest, aFlags, new_loc) {
                         }
                     } else {
                         torbutton_eclog(4, 'No progress for document cancel!');
-                        window.alert(warning);
+                        var wm = Cc["@mozilla.org/appshell/window-mediator;1"]
+                                   .getService(Components.interfaces.nsIWindowMediator);
+                        var chrome = wm.getMostRecentWindow("navigator:browser");
+                        chrome.alert(warning);
                     }
                     torbutton_eclog(3, 'Killed plugin document');
                     return 0;
-- 
1.6.5




More information about the tor-commits mailing list