make Mandelbrot work nicely inside a tab in Fennec 4 - some remaining problems/confli...
[mandelbrot.git] / xulapp / chrome / mandelbrot / content / mandelbrot.js
index e4c7d9a77de84f7dcae94470317f5f3ac5b86319..72154191907dd4592a2f881ac53280fcb87f9d85 100644 (file)
@@ -45,6 +45,7 @@ var gCurrentImageData;
 
 function Startup() {
   updateIterMenu();
+  updateAlgoMenu();
   updatePaletteMenu();
   gMbrotBundle = document.getElementById("mbrotBundle");
   document.getElementById("statusLabel").value = gMbrotBundle.getString("statusEmpty");
@@ -484,6 +485,15 @@ function saveImage() {
   }
 }
 
+function exitMandelbrot() {
+  var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
+                          .getService(Components.interfaces.nsIXULAppInfo);
+  if (appInfo.ID == "mandelbrot@kairo.at")
+    quitApp(false);
+  else
+    window.close();
+}
+
 function updateBookmarkMenu(aParent) {
   document.getElementById("bookmarkSave").disabled =
     (!document.getElementById("drawButton").hidden || (gStartTime > 0));
@@ -668,14 +678,19 @@ function imgSettings() {
 }
 
 function updateDebugMenu() {
-  var jitMenuItem = document.getElementById("jitEnabled");
-  jitMenuItem.setAttribute("checked", gPref.getBoolPref("javascript.options.jit.chrome"));
+  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));
+  }
 }
 
-function toggleJITState(jitMenuItem) {
-  var jitEnabled = !gPref.getBoolPref("javascript.options.jit.chrome");
-  gPref.setBoolPref("javascript.options.jit.chrome", jitEnabled)
-  jitMenuItem.setAttribute("checked", jitEnabled? "true" : "false");
+function toggleJITState(jitMenuItem, jittype) {
+  let scope = (document.getElementById("mandelbrotWindow").nodeName == "page") ? "content" : "chrome";
+  let jitpref = "javascript.options." + jittype + "jit." + scope;
+  let jitEnabled = !gPref.getBoolPref(jitpref);
+  gPref.setBoolPref(jitpref, jitEnabled)
+  jitMenuItem.setAttribute("checked", jitEnabled ? "true" : "false");
 }
 
 function updateAlgoMenu() {