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