re-introduce compatibility with Gecko < 2.0 apps
authorRobert Kaiser <kairo@kairo.at>
Tue, 18 Jan 2011 17:23:50 +0000 (18:23 +0100)
committerRobert Kaiser <kairo@kairo.at>
Tue, 18 Jan 2011 17:23:50 +0000 (18:23 +0100)
extension/aboutMandelbrot.js
xulapp/chrome/mandelbrot/content/mandelbrot-tab.xul
xulapp/chrome/mandelbrot/content/mandelbrot.js
xulapp/chrome/mandelbrot/content/mandelbrot.xul
xulapp/chrome/mandelbrot/locales/en-US/mandelbrot-overlay.dtd

index 9715b348893dcc42e3d470ef6eb9b732892164cd..b52f3fccb6253552621abe0dbf1f75d0239c00db 100644 (file)
@@ -35,7 +35,7 @@
  *
  * ***** END LICENSE BLOCK ***** */
 
-Components.utils.import("resource://gre/modules/Services.jsm");
+//Components.utils.import("resource://gre/modules/Services.jsm");
 Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
 
 function AboutMandelbrot() { }
@@ -50,8 +50,12 @@ AboutMandelbrot.prototype = {
   },
 
   newChannel: function(aURI) {
-    let channel = Services.io.newChannel("chrome://mandelbrot/content/mandelbrot-tab.xul",
-                                         null, null);
+    //let channel = Services.io.newChannel("chrome://mandelbrot/content/mandelbrot-tab.xul",
+    //                                     null, null);
+    let ios = Components.classes["@mozilla.org/network/io-service;1"]
+                        .getService(Components.interfaces.nsIIOService);
+    let channel = ios.newChannel("chrome://mandelbrot/content/mandelbrot-tab.xul",
+                                 null, null);
     channel.originalURI = aURI;
     return channel;
   }
index 3b61bc6f51e982111bf95440648707d261688032..48cb896a9fd6ceb1af84fcc23d5be730e9e88852 100644 (file)
                      class="tabbable"
                      label="&debugMenu.label;">
         <menupopup id="menu_debugPopup" onpopupshowing="updateDebugMenu();">
+          <menuitem type="checkbox" id="jitEnabled" label="&tracejitEnabled.label;" oncommand="toggleJITState(event.target, '');" hidden="true"/>
           <menuitem type="checkbox" id="tracejitEnabled" label="&tracejitEnabled.label;" oncommand="toggleJITState(event.target, 'trace');"/>
           <menuitem type="checkbox" id="methodjitEnabled" label="&methodjitEnabled.label;" oncommand="toggleJITState(event.target, 'method');"/>
           <menu id="algoMenu" label="&algoMenu.label;">
index c2bfba29e800c03a1ef0c7b9d40df704d944850f..1ccebbedd725b884acd92d2358a1210ff4dd1d17 100644 (file)
@@ -712,9 +712,23 @@ function imgSettings() {
 
 function updateDebugMenu() {
   let scope = (document.getElementById("mandelbrotWindow").nodeName == "page") ? "content" : "chrome";
-  for each (let type in ["tracejit", "methodjit"]) {
-    let jitMenuItem = document.getElementById(type + "Enabled");
-    jitMenuItem.setAttribute("checked", gPref.getBoolPref("javascript.options." + type + "." + scope));
+  try {
+    // This throws in versions that don't have JaegerMonkey yet --> catch block
+    gPref.getBoolPref("javascript.options.methodjit." + scope);
+
+    // We have JaegerMonkey, i.e. two prefs for trace/method JIT
+    for each (let type in ["tracejit", "methodjit"]) {
+      let jitMenuItem = document.getElementById(type + "Enabled");
+      jitMenuItem.setAttribute("checked", gPref.getBoolPref("javascript.options." + type + "." + scope));
+    }
+  }
+  catch (e) {
+    // We have TraceMonkey only, i.e. one JIT pref, care only that is displayed
+    for each (let type in ["tracejit", "methodjit"])
+      document.getElementById(type + "Enabled").hidden = true;
+    let jitMenuItem = document.getElementById("jitEnabled");
+    jitMenuItem.hidden = false;
+    jitMenuItem.setAttribute("checked", gPref.getBoolPref("javascript.options.jit." + scope));
   }
 }
 
index cbf7c6d68c3ad0238073b1d3cecc32dd13345881..1663d188d97a4d8aeee94126cf4558d27bda1c61 100644 (file)
       </menu>
       <menu id="debugMenu" label="&debugMenu.label;">
         <menupopup id="menu_debugPopup" onpopupshowing="updateDebugMenu();">
+          <menuitem type="checkbox" id="jitEnabled" label="&tracejitEnabled.label;" oncommand="toggleJITState(event.target, '');" hidden="true"/>
           <menuitem type="checkbox" id="tracejitEnabled" label="&tracejitEnabled.label;" oncommand="toggleJITState(event.target, 'trace');"/>
           <menuitem type="checkbox" id="methodjitEnabled" label="&methodjitEnabled.label;" oncommand="toggleJITState(event.target, 'method');"/>
           <menu id="algoMenu" label="&algoMenu.label;">
index 422a623b65cbed4cff28c916b7760f999e91032a..2cda80e43efe4b8abf8c17b4697adadb6c9ea9b6 100644 (file)
@@ -37,7 +37,7 @@
 
 <!ENTITY mbBrandFullName "Mandelbrot">
 <!ENTITY mbBrandShortName "Mandelbrot">
-<!ENTITY mbBrandVersion "4.0 Beta 1">
+<!ENTITY mbBrandVersion "4.0 Beta 2">
 <!ENTITY mbVendorShortName "KaiRo.at">
 
 <!ENTITY mandelbrotCmd.label "&mbVendorShortName; &mbBrandShortName;">