Ant wrote:
Check your prefbar.json file in your profile. The WebM button should be:

   },
   "prefbar:button:webm": {
     "type": "check",
     "label": "WebM",
     "prefstring": "media.webm.enabled",
     "topref": "value",
     "frompref": "value"
   },

It it's not, then just replace with the above. Note, exclude the comma
after the last right bracket if this item is the last in the file.

It looks OK to me? But its formatting is weird. I attached a copy of it
in this newsgroup post.

Hmmm,my post seems to have been rejected for its attachment?
http://zimage.com/~ant/temp/prefbar.json (will delete when my issue is
resolved) is the online copy from my updated 64-bit W7 HPE SP1 machine.


-- {
  "prefbar:menu:enabled": {
    "items": [
      "prefbar:button:WebM",
      "prefbar:button:fontdown",
      "prefbar:button:fontup",
      "prefbar:button:fontreset",
      "prefbar:button:fonts",
      "prefbar:button:minimumfontsize",
      "prefbar:button:togglecss",
      "prefbar:button:colors",
      "prefbar:button:images",
      "prefbar:button:prefbartabimages",
      "prefbar:button:animation",
      "prefbar:button:javascript",
      "prefbar:button:prefbartabjavascript",
      "prefbar:button:killflash",
      "prefbar:button:prefbarrestoretab",
      "prefbar:button:clonetab",
      "prefbar:button:popups",
      "prefbar:button:unpopup",
      "prefbar:button:java",
      "prefbar:button:resizelist",
      "prefbar:button:prefbartabplugins",
      "prefbar:button:cookies",
      "prefbar:button:referrer",
      "prefbar:button:mre_refererspoof",
      "prefbar:button:deldomaincookies",
      "prefbar:button:expirehistory",
      "prefbar:button:serverinfo",
      "prefbar:button:sminfolist",
      "prefbar:button:useragent",
      "prefbar:button:pagetojpeg"
    ]
  },
  "prefbar:menu:disabled": {
    "items": [
      "prefbar:button:back",
      "prefbar:button:forward",
      "prefbar:button:reload",
      "prefbar:button:stop",
      "prefbar:button:separator0",
      "prefbar:button:home",
      "prefbar:button:separator1",
      "prefbar:button:whatsnew",
      "prefbar:button:customize",
      "prefbar:button:proxycheck",
      "prefbar:button:systemcolors",
      "prefbar:button:Flash",
      "prefbar:button:proxymenu",
      "prefbar:button:silverlight",
      "prefbar:button:clearallcache",
      "prefbar:button:cookieask",
      "prefbar:button:pipelining",
      "prefbar:button:savepage",
      "prefbar:button:cacheenabled",
      "prefbar:button:separator2",
      "prefbar:button:clearhist",
      "prefbar:button:clearurlbar",
      "prefbar:button:clearcookies",
      "prefbar:button:clearall",
      "prefbar:button:separator5",
      "prefbar:button:newtab",
      "prefbar:button:separator12",
      "prefbar:button:prefbarhomepagelink",
      "prefbar:button:mozilla",
      "prefbar:button:mozillazine",
      "prefbar:button:separator7",
      "prefbar:button:help",
      "prefbar:button:hidetoolbar",
      "prefbar:button:proxylist",
      "prefbar:button:prefbarlanglist"
    ]
  },
  "prefbar:info": {
    "formatversion": 3
  },
  "prefbar:button:colors": {
    "label": "Colors",
    "type": "check",
    "prefstring": "browser.display.use_document_colors",
    "topref": "value",
    "frompref": "value"
  },
  "prefbar:button:images": {
    "label": "Img",
    "type": "check",
    "prefstring": "permissions.default.image",
    "topref": "value ? 1 : 2",
    "frompref": "value == 1"
  },
  "prefbar:button:javascript": {
    "label": "JS",
    "type": "check",
    "prefstring": "javascript.enabled",
    "topref": "value",
    "frompref": "value"
  },
  "prefbar:button:Flash": {
    "label": "Flash",
    "type": "extcheck",
    "setfunction": "prefbarSetFlash(value);",
    "getfunction": "value = prefbarGetFlash();"
  },
  "prefbar:button:clearallcache": {
    "label": "Clear Cache",
    "type": "button",
    "onclick": "prefbarClearAllCache()"
  },
  "prefbar:button:savepage": {
    "label": "Save Page",
    "type": "button",
    "onclick": "saveDocument(window.content.document);"
  },
  "prefbar:button:useragent": {
    "items": [
      [
        "Real UA",
        "!RESET!"
      ],
      [
        "SM 2.7.2 Lin",
"js:useragent=\"Mozilla/5.0 (X11; Linux i686; rv:10.0.2) Gecko/20120216 SeaMonkey/2.7.2\"; appname=\"Netscape\"; appversion=\"5.0 (X11)\"; platform=\"Linux i686\";"
      ],
      [
        "FF 10.0.2 Lin",
"js:useragent=\"Mozilla/5.0 (X11; Linux i686; rv:10.0.2) Gecko/20100101 Firefox/10.0.2\"; appname=\"Netscape\"; appversion=\"5.0 (X11)\"; platform=\"Linux i686\";"
      ],
      [
        "IE 9.0 Win7",
"js:useragent=\"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1)\"; appname=\"Microsoft Internet Explorer\"; appversion=\"5.0 (compatible; MSIE 9.0; Windows NT 6.1)\"; platform=\"Win32\";"
      ],
      [
        "Chrome",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21"
      ],
      [
        "Safari",
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1"
      ]
    ],
    "label": "UserAgent",
    "type": "extlist",
    "dontupdatelistitems": true,
    "setfunction": "prefbarSetUseragent(value);",
    "getfunction": "value = prefbarGetUseragent(items);"
  },
  "prefbar:button:whatsnew": {
    "label": "What's New",
    "type": "link",
    "url": "chrome://prefbar/content/help/newstuff.xhtml"
  },
  "prefbar:button:customize": {
    "label": "Customize",
    "type": "button",
    "onclick": "OpenPrefs();"
  },
  "prefbar:button:back": {
    "label": "Back",
    "type": "button",
    "onclick": "BrowserBack();",
    "observes": "canGoBack"
  },
  "prefbar:button:forward": {
    "label": "Forward",
    "type": "button",
    "onclick": "BrowserForward();",
    "observes": "canGoForward"
  },
  "prefbar:button:reload": {
    "label": "Reload",
    "type": "button",
"onclick": "if (event.shiftKey) BrowserReloadSkipCache(); else BrowserReload();"
  },
  "prefbar:button:stop": {
    "label": "Stop",
    "type": "button",
    "onclick": "BrowserStop();",
    "observes": "canStop"
  },
  "prefbar:button:separator0": {
    "type": "separator"
  },
  "prefbar:button:home": {
    "label": "Home",
    "type": "button",
    "onclick": "BrowserHome();"
  },
  "prefbar:button:prefbartabjavascript": {
    "label": "JS(Tab)",
    "type": "extcheck",
    "browserbtnupdatefor": "tab",
    "setfunction": "prefbarSetTabJavascript(value);",
    "getfunction": "value = prefbarGetTabJavascript();"
  },
  "prefbar:button:prefbartabimages": {
    "label": "Img(Tab)",
    "type": "extcheck",
    "browserbtnupdatefor": "tab",
    "setfunction": "prefbarSetTabImages(value);",
    "getfunction": "value = prefbarGetTabImages();"
  },
  "prefbar:button:prefbartabplugins": {
    "label": "Plugins(Tab)",
    "type": "extcheck",
    "browserbtnupdatefor": "tab",
    "setfunction": "prefbarSetTabPlugins(value, button, event);",
    "getfunction": "value = prefbarGetTabPlugins();"
  },
  "prefbar:button:separator1": {
    "type": "separator"
  },
  "prefbar:button:fonts": {
    "label": "Fonts",
    "type": "check",
    "prefstring": "browser.display.use_document_fonts",
    "topref": "Number(value)",
    "frompref": "Boolean(value)"
  },
  "prefbar:button:systemcolors": {
    "label": "Sys.Colors",
    "type": "check",
    "prefstring": "browser.display.use_system_colors",
    "topref": "value",
    "frompref": "value"
  },
  "prefbar:button:animation": {
    "label": "Ani",
    "type": "check",
    "prefstring": "image.animation_mode",
    "topref": "value ? 'normal' : 'none'",
    "frompref": "value=='normal'"
  },
  "prefbar:button:java": {
    "label": "Java",
    "type": "extcheck",
    "setfunction": "prefbarSetJava(value);",
    "getfunction": "value = prefbarGetJava();"
  },
  "prefbar:button:popups": {
    "label": "Popups",
    "type": "check",
    "prefstring": "dom.disable_open_during_load",
    "topref": "!value",
    "frompref": "!value"
  },
  "prefbar:button:proxycheck": {
    "label": "Proxies",
    "type": "extcheck",
    "setfunction": "prefbarSetProxyEnabled(value);",
    "getfunction": "value = prefbarGetProxyEnabled();"
  },
  "prefbar:button:proxymenu": {
    "items": [
      [
        "No Proxies",
        "0"
      ],
      [
        "Manual Proxy",
        "1"
      ],
      [
        "Automatic Proxy",
        "2"
      ]
    ],
    "label": "Proxy Menulist",
    "type": "menulist",
    "prefstring": "network.proxy.type"
  },
  "prefbar:button:cookies": {
    "label": "Cookies",
    "type": "check",
    "prefstring": "network.cookie.cookieBehavior",
    "topref": "2*Number(!value)",
    "frompref": "value != 2"
  },
  "prefbar:button:cookieask": {
    "label": "Cookie Warning",
    "type": "check",
    "prefstring": "network.cookie.lifetimePolicy",
    "topref": "value ? 1 : 0",
    "frompref": "value==1"
  },
  "prefbar:button:pipelining": {
    "label": "Pipelining",
    "type": "extcheck",
    "setfunction": "prefbarSetPipelining(value);",
    "getfunction": "value = prefbarGetPipelining();"
  },
  "prefbar:button:cacheenabled": {
    "label": "Cache",
    "type": "extcheck",
    "setfunction": "prefbarSetCacheEnabled(value);",
    "getfunction": "value = prefbarGetCacheEnabled();"
  },
  "prefbar:button:referrer": {
    "label": "SendReferer",
    "type": "check",
    "prefstring": "network.http.sendRefererHeader",
    "topref": "2*Number(value)",
    "frompref": "Boolean(value)"
  },
  "prefbar:button:separator2": {
    "type": "separator"
  },
  "prefbar:button:clearhist": {
    "label": "Clear History",
    "type": "button",
    "onclick": "prefbarClearHistory()"
  },
  "prefbar:button:clearurlbar": {
    "label": "Clear Location Bar",
    "type": "button",
    "onclick": "prefbarClearLocationBar()"
  },
  "prefbar:button:clearcookies": {
    "label": "Clear Cookies",
    "type": "button",
    "onclick": "prefbarClearCookies()"
  },
  "prefbar:button:clearall": {
    "label": "Clear All",
    "type": "button",
"onclick": "//### DO NOT EDIT THIS BUTTON! ###\n// This button will be overwritten with each PrefBar update!\n// If you want to customize this button, create a copy first.\n// On your copy, you may (un)comment below, as desired\n\nprefbarClearLocationBar();\nprefbarClearHistory();\nprefbarClearAllCache();\n//prefbarClearCookies();\n//prefbarClearFormData();\n//prefbarClearDownloads();\n//prefbarClearPasswords();\n//prefbarClearSessions();\n//prefbarClearOfflineApps();"
  },
  "prefbar:button:separator5": {
    "type": "separator"
  },
  "prefbar:button:resizelist": {
    "items": [
      [
        "800x1111",
        "800x1111"
      ],
      [
        "1024x1111",
        "1024x1111"
      ]
    ],
    "label": "Resize",
    "type": "extlist",
    "dontupdatelistitems": true,
    "setfunction": "prefbarSetResolution(value);",
    "getfunction": "value = prefbarGetResolution(items);"
  },
  "prefbar:button:newtab": {
    "label": "New Tab",
    "type": "button",
    "onclick": "BrowserOpenTab();"
  },
  "prefbar:button:prefbarrestoretab": {
    "label": "RestoreTab",
    "type": "button",
    "onclick": "prefbarRestoreTab();"
  },
  "prefbar:button:killflash": {
    "label": "KillFlash",
    "type": "button",
    "onclick": "prefbarKillFlash()"
  },
  "prefbar:button:separator12": {
    "type": "separator"
  },
  "prefbar:button:fontdown": {
    "label": "-",
    "type": "button",
    "onclick": "prefbarZoomReduce();"
  },
  "prefbar:button:fontup": {
    "label": "+",
    "type": "button",
    "onclick": "prefbarZoomEnlarge();"
  },
  "prefbar:button:prefbarhomepagelink": {
    "label": "PrefBar homepage",
    "type": "link",
    "url": "http://prefbar.tuxfamily.org";
  },
  "prefbar:button:mozilla": {
    "label": "mozilla.org",
    "type": "link",
    "url": "http://www.mozilla.org";
  },
  "prefbar:button:mozillazine": {
    "label": "MozillaZine.org",
    "type": "link",
    "url": "http://www.mozillazine.org";
  },
  "prefbar:button:separator7": {
    "type": "separator"
  },
  "prefbar:button:hidetoolbar": {
    "label": "Hide Toolbar",
    "type": "button",
    "onclick": "setTimeout(TogglePrefBar);"
  },
  "prefbar:button:proxylist": {
    "items": [
      [
        "None",
        ""
      ],
      [
        "Proxy1",
        "testproxy:8080"
      ],
      [
        "Proxy2",
        "testproxy2:80"
      ]
    ],
    "label": "Proxy Serverlist",
    "type": "extlist",
    "dontupdatelistitems": true,
    "setfunction": "prefbarSetProxy(value);",
    "getfunction": "value=prefbarGetProxy();"
  },
  "prefbar:button:prefbarlanglist": {
    "items": [
      [
        "Default",
        "!RESET!"
      ],
      [
        "English",
        "en-us,en"
      ],
      [
        "French",
        "fr-fr,fr,en-us,en"
      ],
      [
        "German",
        "de-de,de,en-us,en"
      ],
      [
        "Japanese",
        "ja,en-us,en"
      ],
      [
        "Spanish",
        "es-es,es,en-us,en"
      ]
    ],
    "label": "Language",
    "type": "menulist",
    "prefstring": "intl.accept_languages",
    "dontupdatelistitems": true
  },
  "prefbar:button:deldomaincookies": {
    "type": "button",
    "label": "DelDomainCookies",
"onclick": "// Clear all domain cookies\nvar curHost = window._content.document.location.host;\nvar idx = curHost.lastIndexOf(\".\");\nif (idx > 0) {\n idx = curHost.lastIndexOf(\".\", idx-1);\n}\nif (idx > 0) {\n curHost = curHost.substring(idx+1);\n}\n// cut away port\nidx = curHost.lastIndexOf(\":\");\nif (idx > 0) {\n curHost = curHost.substring(0, idx);\n}\nif (confirm (\"clear cookies for \"+curHost)) {\n var cookiemanager = Components.classes[\"@mozilla.org/cookiemanager;1\"].getService();\n cookiemanager = cookiemanager.QueryInterface(Components.interfaces.nsICookieManager);\n var enumerator = cookiemanager.enumerator;\n while (enumerator.hasMoreElements()) {\n var cookie = enumerator.getNext();\n if (!cookie) break;\n cookie = cookie.QueryInterface(Components.interfaces.nsICookie);\n //alert(\"cookie for: \"+cookie.host);\n if (cookie.host.indexOf(curHost) >= 0) {\n cookiemanager.remove(cookie.host, cookie.name, cookie.path, false);\n }\n }\n}\n"
  },
  "prefbar:button:expirehistory": {
    "type": "button",
    "label": "ExpireHistory",
"onclick": "// This script was suggested by \"al_9x\" in a comment in bug #660646\nComponents.classes['@mozilla.org/browser/nav-history-service;1'].getService(Components.interfaces.nsIBrowserHistory).removeVisitsByTimeframe(0, \n (new Date().setHours(0, 0, 0, 0)\n - (parseInt(prompt('Days of history to keep', 29)) - 1) \n * 24 * 60 * 60 * 1000) * 1000 - 1)"
  },
  "prefbar:button:serverinfo": {
    "type": "button",
    "label": "ServerInfo",
"onclick": "// Server Info Button for PrefBar\n// Copyright (C) Manuel Reimer (Manuel _dot_ Reimer _at_ gmx _dot_ de)\n// This program is free software; you can redistribute it and/or\n// modify it under the terms of the GNU General Public License\n// version 2 as published by the Free Software Foundation\n\nfunction onLoad(e) {\n var svr = e.target.getResponseHeader(\"Server\");\n\n var title = \"PrefBar Server Info Button\";\n\n // No response at all? Tell user and exit\n if (!svr) {\n goPrefBar.msgAlert(window, \"Server did not return any information\", title);\n if (typeof button == \"object\") button.disabled = false;\n return;\n }\n\n // Try to preparse response\n var os; var mods;\n if (svr.match(/([^ ]+) *\\((.*?)\\) ?(.*)/)) {\n svr = RegExp.$1;\n os = RegExp.$2;\n mods = RegExp.$3;\n }\n\n // Add some more info based on given stuff\n if (svr.match(/microsoft/i) && !os) os = \"Windows\";\n if (os && os.match(/^(debian|red hat)$/i))\n os = \"Linux, \" + os;\n\n // Generate Message\n var msg = \"\";\n if (svr) msg += \"Server: \" + svr + \"\\n\";\n if (os) msg += \"OS: \" + os + \"\\n\";\n if (mods) {\n msg += \"\\nMods:\\n\";\n msg += mods.split(\" \").join(\"\\n\");\n }\n\n goPrefBar.msgAlert(window, msg, title);\n\n if (typeof button == \"object\") button.disabled = false;\n}\n\nfunction onError(e) {\n alert(\"Error \" + e.target.status + \" occurred while requesting info.\");\n if (typeof button == \"object\") button.disabled = false;\n}\n\nfunction onTimeout(request) {\n if (request.readyState == 4) return;\n request.abort();\n alert(\"Request timed out\");\n if (typeof button == \"object\") button.disabled = false;\n}\n\nvar url = window._content.document.location.toString();\n\n// Send request\nvar request = new XMLHttpRequest;\nrequest.onerror = onError;\nrequest.onload = onLoad;\nrequest.open(\"HEAD\", url, true);\nrequest.send(null);\n\n// Set a timeout of 10 seconds.\nsetTimeout(onTimeout, 10000, request);\n\n// Disable button\nif (typeof button == \"object\") button.disabled = true;"
  },
  "prefbar:button:silverlight": {
    "type": "extcheck",
    "label": "Silverlight",
    "browserbtnupdatefor": "false",
"setfunction": "//---------------------------------------------------\n// Silverlight Checkbox v1.0\n// 2010-12-05 by Alexander Brück\n// Switch the Microsoft Silverlight Plugin ON/OFF\n//---------------------------------------------------\nvar plugin = \"Silverlight\";\nvar regEx = /(^| )silverlight plug-?in/i;\ngoPrefBar.SetPluginEnabled(regEx, value, plugin);", "getfunction": "var regEx = /(^| )silverlight plug-?in/i;\nvalue = goPrefBar.GetPluginEnabled(regEx);"
  },
  "prefbar:button:minimumfontsize": {
    "type": "extcheck",
    "label": "MinFontSize",
"getfunction": "value = (goPrefBar.GetPref(\"font.minimum-size.x-western\") != 0)", "setfunction": "const sizepref = \"font.minimum-size.x-western\";\nconst storepref = \"extensions.prefbar.buttons.minimumfontsize.lastsize\";\n\n// Checkbox checked\nif (value)\n goPrefBar.SetPref(sizepref, goPrefBar.GetPref(storepref));\n// Checkbox unchecked and value in pref not zero\nelse if (goPrefBar.GetPref(sizepref) != 0) {\n goPrefBar.SetPref(storepref, goPrefBar.GetPref(sizepref));\n goPrefBar.SetPref(sizepref, 0);\n}"
  },
  "prefbar:button:sminfolist": {
    "type": "button",
    "label": "InfoList",
"onclick": "// PrefBar InfoList button\n// Copyright (C) Manuel Reimer <[email protected]>\n// This program is free software; you can redistribute it and/or\n// modify it under the terms of the GNU General Public License\n// version 3 as published by the Free Software Foundation\n\nfunction main() {\n if (getExtMgrExts()) return;\n if (getExtMgr2Exts()) return;\n alert(\"Failed to get extensions.\");\n}\n\n// Firefox up to 3.6, SeaMonkey 2.0\nfunction getExtMgrExts() {\n if (!(\"@mozilla.org/extensions/manager;1\" in Components.classes)) return false;\n var RDF = goPrefBar.RDF.RDFService;\n\n var RDisabledPref = RDF.GetResource(\"http://www.mozilla.org/2004/em-rdf#isDisabled\";);\n var RURLPref = RDF.GetResource(\"http://www.mozilla.org/2004/em-rdf#homepageURL\";);\n\n var extMgr = Components.classes[\"@mozilla.org/extensions/manager;1\"]\n .getService(Components.interfaces.nsIExtensionManager);\n var appInfo = Components.classes[\"@mozilla.org/xre/app-info;1\"]\n .getService(Components.interfaces.nsIXULAppInfo);\n\n var ds = extMgr.datasource;\n\n var ditems;\n try {\n ditems = extMgr.getIncompatibleItemList(appInfo.ID, appInfo.version, appInfo.platformVersion, 2, true, {});\n } catch(e) {\n ditems = extMgr.getIncompatibleItemList(appInfo.version, appInfo.platformVersion, 2, true, {});\n }\n var extdisabled = {};\n for (var i = 0; i < ditems.length; i++)\n extdisabled[ditems[i].id] = true;\n\n var arrout = new Array();\n\n var items = extMgr.getItemList(2, {});\n for (var j = 0; j < items.length; j++) {\n var item = items[j];\n\n var Ritem = RDF.GetResource(\"urn:mozilla:item:\" + item.id);\n\n var obj = {'name':item.name,\n 'version':item.version,\n 'isActive':!extdisabled[item.id],\n 'homepageURL':''};\n\n if (obj.isActive) {\n var Ldisabled = ds.GetTarget(Ritem, RDisabledPref, true);\n if (Ldisabled) {\n var dvalue = Ldisabled.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;\n obj.isActive = (dvalue != \"true\");\n }\n }\n\n var Lurl = ds.GetTarget(Ritem, RURLPref, true);\n if (Lurl) obj.homepageURL = Lurl.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;\n\n arrout.push(obj);\n }\n\n printInfo(arrout);\n\n return true;\n}\n\n// Firefox 3.7, SeaMonkey 2.1?\nfunction getExtMgr2Exts() {\n var extMgr = {};\n try {\n Components.utils.import(\"resource://gre/modules/AddonManager.jsm\", extMgr);\n } catch(e) { return false; }\n extMgr.AddonManager.getAddonsByTypes([\"extension\"], printInfo);\n return true;\n}\n\nfunction printInfo(aData) {\n var output = \"\";\n\n var date = new Date();\n output += \"Last updated: \" + date.toString() + \"\\n\";\n output += \"User Agent: \" + navigator.userAgent + \"\\n\";\n output += \"\\n\";\n\n var enabledcount = 0;\n var arrout = new Array();\n for (var index in aData) {\n var addon = aData[index];\n var line = \"* \" + addon.name + \" \" + addon.version;\n if (addon.homepageURL) line += \" (\" + addon.homepageURL + \")\";\n if (addon.isActive)\n enabledcount++;\n else\n line += \" (disabled)\";\n arrout.push(line);\n }\n\n arrout.sort();\n\n output += \"Extensions (enabled: \" + enabledcount + \")\\n\";\n output += arrout.join(\"\\n\");\n\n var tb = document.getElementById(\"content\");\n var tres = tb.addTab(\"data:text/plain,\" + escape(output));\n tb.selectedTab = tres;\n}\n\nmain();"
  },
  "prefbar:button:mre_refererspoof": {
    "items": [
      [
        "don't spoof",
        "DEFAULT"
      ],
      [
        "send nothing",
        ""
      ],
      [
        "linux",
        "http://www.linux.org/";
      ],
      [
        "example",
        "http://www.example.com/";
      ]
    ],
    "type": "extlist",
    "dontupdatelistitems": "true",
    "label": "refererspoof",
    "browserbtnupdatefor": "false",
"setfunction": "// Just set preference with selected value\ngoPrefBar.SetPref(\"extensions.prefbar.buttons.refererspoof\", value);", "getfunction": "// Just display value of our preference\nvalue = goPrefBar.GetPref(\"extensions.prefbar.buttons.refererspoof\");", "initfunction": "// Referer Spoof Menulist for PrefBar\n// Copyright (C) Manuel Reimer (Manuel _dot_ Reimer _at_ gmx _dot_ de)\n// This program is free software; you can redistribute it and/or\n// modify it under the terms of the GNU General Public License\n// version 3 as published by the Free Software Foundation\n\n// If our observer isn't already initialized, then do so, now\nif (!(\"refererspoofobserver\" in goPrefBar.buttons)) {\n var observer = {\n observe: function(subject, topic, data) \n {\n if (topic == \"http-on-modify-request\") {\n // The References to \"goPrefBar\" and \"Components\", we inherit from the first\n // browser window, are lost with the close of this window, so we override\n // them with globals ones, based on our goPrefBar reference in this object.\n var goPrefBar = this.goPrefBar;\n var Components = goPrefBar.Components ? goPrefBar.Components : goPrefBar.__parent__.Components;\n\n var httpChannel = subject.QueryInterface(Components.interfaces.nsIHttpChannel);\n var val = goPrefBar.GetPref(\"extensions.prefbar.buttons.refererspoof\", \"DEFAULT\");\n if (val == \"DEFAULT\") return;\n httpChannel.setRequestHeader(\"Referer\", val, false);\n }\n }\n };\n\n // Keep a reference to \"goPrefBar\" in the observer object\n observer.goPrefBar = goPrefBar;\n\n var observerService = Components.classes[\"@mozilla.org/observer-service;1\"]\n .getService(Components.interfaces.nsIObserverService);\n observerService.addObserver(observer, \"http-on-modify-request\", false);\n\n // Place reference to observer to goPrefBar.buttons\n goPrefBar.buttons.refererspoofobserver = observer;\n}"
  },
  "prefbar:button:pagetojpeg": {
    "type": "button",
    "label": "page2img",
"onclick": "// Page2Image Button for PrefBar\n// Copyright (C) Manuel Reimer (Manuel _dot_ Reimer _at_ gmx _dot_ de)\n// This program is free software; you can redistribute it and/or\n// modify it under the terms of the GNU General Public License\n// version 3 as published by the Free Software Foundation\n\n// Legacy stuff for backwards compatibility.\n// On newer PrefBar versions, goPrefBar exports pref functions.\n// If they exist, we define a abbreviation to it. If not, we use a replacement.\nvar GetPref = (\"GetPref\" in goPrefBar) ? goPrefBar.GetPref : function(aPrefstring, aDefault) {\n var val = navigator.preference(aPrefstring);\n if (val == undefined) val = aDefault;\n return val;\n};\nvar SetPref = (\"SetPref\" in goPrefBar) ? goPrefBar.SetPref : function(aPrefstring, aValue) {\n navigator.preference(aPrefstring, aValue);\n};\n// End legacy stuff\n\nvar preflasttype = \"extensions.prefbar.buttons.pagetojpeg.lasttype\";\n\n// http://weblogs.mozillazine.org/roc/archives/2005/05/rendering_web_p.html\n\nfunction main() {\n //\n // Generate the \"screenshot\" of the full page\n //\n var mainwin = document.getElementById(\"main-window\");\n if (!mainwin.getAttribute(\"xmlns:html\"))\n mainwin.setAttribute(\"xmlns:html\", \"http://www.w3.org/1999/xhtml\";);\n\n var content = window.content;\n\n var desth = content.innerHeight + content.scrollMaxY;\n var destw = content.innerWidth + content.scrollMaxX;\n\n // Unfortunately there is a limit:\n if (desth > 16384) desth = 16384;\n\n var canvas = document.createElementNS(\"http://www.w3.org/1999/xhtml\";, \"html:canvas\");\n var ctx = canvas.getContext(\"2d\");\n\n canvas.height = desth;\n canvas.width = destw;\n ctx.drawWindow(content, 0, 0, destw, desth, \"rgb(0,0,0)\");\n\n //\n // Ask the user, where he wants to have the file\n //\n const nsIFilePicker = Components.interfaces.nsIFilePicker;\n var fp = Components.classes[\"@mozilla.org/filepicker;1\"]\n .createInstance(nsIFilePicker);\n fp.init(window, \"PrefBar page2image button\", nsIFilePicker.modeSave);\n fp.filterIndex = GetPref(preflasttype, 0);\n fp.appendFilter(\"PNG image\", \"*.png\");\n fp.appendFilter(\"JPEG image\", \"*.jpg\");\n fp.defaultString = (fp.filterIndex == 0) ? \"saved_page.png\" : \"saved_page.jpg\";\n var rv = fp.show();\n if (rv == nsIFilePicker.returnCancel) return;\n SetPref(preflasttype, fp.filterIndex);\n\n //\n // Generate the image\n //\n var imgdata;\n switch (fp.filterIndex) {\n case 0:\n imgdata = canvas.toDataURL(\"image/png\", \"transparency=none\");\n break;\n default:\n imgdata = canvas.toDataURL(\"image/jpeg\", \"quality=80\");\n }\n\n var ioserv = Components.classes[\"@mozilla.org/network/io-service;1\"]\n .getService(Components.interfaces.nsIIOService);\n var channel = ioserv.newChannel(imgdata, 0, null);\n var istream = channel.open();\n var bstream = Components.classes[\"@mozilla.org/binaryinputstream;1\"]\n .createInstance(Components.interfaces.nsIBinaryInputStream);\n bstream.setInputStream(istream);\n var bytes = bstream.readBytes(bstream.available());\n var stream = Components.classes[\"@mozilla.org/network/safe-file-output-stream;1\"]\n .createInstance(Components.interfaces.nsIFileOutputStream);\n stream.init(fp.file, 0x04 | 0x08 | 0x20, -1, 0); // write, create, truncate\n stream.write(bytes, bytes.length);\n if (stream instanceof Components.interfaces.nsISafeOutputStream) {\n stream.finish();\n } else {\n stream.close();\n }\n}\n\nmain();"
  },
  "prefbar:button:unpopup": {
    "type": "button",
    "label": "unpopup",
"onclick": "var win = document.getElementById(\"main-window\");\nwin.removeAttribute(\"chromehidden\");"
  },
  "prefbar:button:clonetab": {
    "type": "button",
    "label": "Clone",
"onclick": "// PrefBar Clone Tab button\n// Copyright (C) Manuel Reimer (Manuel _dot_ Reimer _at_ gmx _dot_ de)\n// This program is free software; you can redistribute it and/or\n// modify it under the terms of the GNU General Public License\n// version 2 as published by the Free Software Foundation\n\nvar curTab = gBrowser.mCurrentTab;\nvar curBrowser = curTab.linkedBrowser;\nvar curX = curBrowser.contentWindow.scrollX;\nvar curY = curBrowser.contentWindow.scrollY\nvar curHistory = curBrowser.sessionHistory;\nvar newTab = gBrowser.addTab(\"about:blank\");\nvar newBrowser = newTab.linkedBrowser;\nvar newHistory = newBrowser.sessionHistory;\n\nnewHistory.QueryInterface(Components.interfaces.nsISHistoryInternal);\n\nfor (var i = 0; i < curHistory.count; i++) {\n newHistory.addEntry(curHistory.getEntryAtIndex(i, false), true);\n}\n\nif (curHistory.count) newBrowser.gotoIndex(curHistory.index);\n\nvar background = navigator.preference(\"browser.tabs.loadInBackground\");\nif (!background)\n gBrowser.selectedTab = newTab;\n\nfunction doScroll(browser, x, y, tries) {\n if (!tries) tries = 0;\n if (tries > 20) return;\n if (browser.docShell.busyFlags != browser.docShell.BUSY_FLAGS_NONE)\n setTimeout(doScroll, 10, browser, x, y, tries + 1);\n else\n browser.contentWindow.scrollTo(x, y);\n}\n\ndoScroll(newBrowser, curX, curY);"
  },
  "prefbar:button:togglecss": {
    "type": "extcheck",
    "label": "CSS(Tab)",
"setfunction": "getBrowser().markupDocumentViewer.authorStyleDisabled = !value;", "getfunction": "value = !getBrowser().markupDocumentViewer.authorStyleDisabled;",
    "browserbtnupdatefor": "tab"
  },
  "prefbar:button:fontreset": {
    "type": "button",
    "label": "=",
"onclick": "if (\"FullZoom\" in window)\n FullZoom.reset();\nelse\n ZoomManager.prototype.getInstance().reset();"
  },
  "prefbar:button:help": {
    "label": "PrefBar Help",
    "type": "link",
    "url": "chrome://prefbar/content/help/index.xhtml"
  },
  "prefbar:button:WebM": {
    "type": "check",
    "label": "webM",
    "prefstring": "media.webm.enabled",
    "topref": "value",
    "frompref": "value"
  }
}

Vink

User agent: Mozilla/5.0 (X11; Linux x86_64; rv:29.0) Gecko/20100101 Firefox/29.0 SeaMonkey/2.26
_______________________________________________
support-seamonkey mailing list
[email protected]
https://lists.mozilla.org/listinfo/support-seamonkey

Reply via email to