Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Unified Diff: chrome/content/watcher.js

Issue 8396008: Fixed: Don't access string bundle using a constant URL to avoid hitting bug 719376 (Closed)
Patch Set: Created Sept. 20, 2012, 11:11 a.m.
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/content/watcher.xul » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/content/watcher.js
===================================================================
--- a/chrome/content/watcher.js
+++ b/chrome/content/watcher.js
@@ -46,25 +46,25 @@ else if ("require" in policyGlobal)
else
window.close();
let origShouldLoad = PolicyPrivate.shouldLoad;
let origProcessNode = Policy.processNode;
let currentData = null;
let processingQueue = [];
-let stringBundle;
let notifier = null;
+// Randomize URI to work around bug 719376
+let stringBundle = Services.strings.createBundle("chrome://abpwatcher/locale/global.properties?" + Math.random());
+
let clipboardHelper = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);
function init()
{
- stringBundle = document.getElementById("stringbundle-global");
-
let list = document.getElementById("list");
list.view = treeView;
list.focus();
treeView.addObserver(updateProcessingTime);
updateProcessingTime(treeView, "refresh");
// Make sure the tree view has correct filters
@@ -203,69 +203,69 @@ function processQueue()
{
entry.cols.type = String(entry.type);
try {
// Nasty hack: try to get type name from ABP
if (entry.type in Policy.localizedDescr)
entry.cols.type = String(Policy.localizedDescr[entry.type]);
} catch(e) {}
}
- entry.cols.result = stringBundle.getString(entry.result ? "decision.allow" : "decision.block");
+ entry.cols.result = stringBundle.GetStringFromName(entry.result ? "decision.allow" : "decision.block");
if (typeof entry.context != "undefined")
entry.cols.context = (entry.context ? getNodeLabel(entry.context) : String(entry.context));
if (typeof entry.window != "undefined")
entry.cols.document = (entry.window ? getNodeLabel(entry.window) : String(entry.window));
if (typeof entry.origin != "undefined")
entry.cols.origin = String(entry.origin);
if (entry.filters.length)
entry.cols.filter = entry.filters.join(", ");
if (typeof entry.processingTime != "undefined")
entry.cols.time = String(entry.processingTime);
let additional = [];
if (entry.internal)
- additional.push(stringBundle.getString("additional.internalInvocation"));
+ additional.push(stringBundle.GetStringFromName("additional.internalInvocation"));
if (typeof entry.internalType != "undefined" && entry.type != entry.internalType)
{
let internalType = String(entry.internalType);
try {
// Nasty hack: try to get type name from ABP
if (entry.internalType in Policy.localizedDescr)
internalType = String(Policy.localizedDescr[entry.internalType]);
} catch(e) {}
- additional.push(stringBundle.getFormattedString("additional.typeChanged", [internalType]));
+ additional.push(stringBundle.formatStringFromName("additional.typeChanged", [internalType], 1));
}
if (typeof entry.internalLocation != "undefined" && entry.location != entry.internalLocation)
- additional.push(stringBundle.getFormattedString("additional.locationChanged", [String(entry.internalLocation)]));
+ additional.push(stringBundle.formatStringFromName("additional.locationChanged", [String(entry.internalLocation)], 1));
if (additional.length > 0)
entry.cols.additional = additional.join(", ");
treeView.add(entry);
}
processingQueue = [];
}
function getNodeLabel(node)
{
if (node instanceof Ci.nsIDOMWindow)
- return stringBundle.getFormattedString("NodeLabel.window", [node.location.href]);
+ return stringBundle.formatStringFromName("NodeLabel.window", [node.location.href], 1);
if (node instanceof Ci.nsIDOMDocument)
- return stringBundle.getFormattedString("NodeLabel.document", [node.URL]);
+ return stringBundle.formatStringFromName("NodeLabel.document", [node.URL], 1);
else if (node instanceof Ci.nsIDOMXULElement)
- return stringBundle.getFormattedString("NodeLabel.xulElement", [node.tagName]);
+ return stringBundle.formatStringFromName("NodeLabel.xulElement", [node.tagName], 1);
else if (node instanceof Ci.nsIDOMHTMLElement)
- return stringBundle.getFormattedString("NodeLabel.htmlElement", [node.tagName]);
+ return stringBundle.formatStringFromName("NodeLabel.htmlElement", [node.tagName], 1);
else if (node instanceof Ci.nsIDOMSVGElement)
- return stringBundle.getFormattedString("NodeLabel.svgElement", [node.tagName]);
+ return stringBundle.formatStringFromName("NodeLabel.svgElement", [node.tagName], 1);
else if (node instanceof Ci.nsIDOMElement)
- return stringBundle.getFormattedString("NodeLabel.element", [node.tagName]);
+ return stringBundle.formatStringFromName("NodeLabel.element", [node.tagName], 1);
else
- return stringBundle.getFormattedString("NodeLabel.unknown", [String(node)]);
+ return stringBundle.formatStringFromName("NodeLabel.unknown", [String(node)], 1);
}
function fillInTooltip(event)
{
let entry = treeView.getEntryAt(event.clientX, event.clientY);
if (!entry)
return false;
« no previous file with comments | « no previous file | chrome/content/watcher.xul » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld