Skip to content
Browse files

last changes of firebug/master is merged now.

  • Loading branch information...
2 parents 2262701 + 60c15cc commit 9796f0ca41ff620db6d3e9d322514363bec354e2 @farshidbeheshti farshidbeheshti committed
Showing with 3,673 additions and 2,589 deletions.
  1. +2 −0 .gitignore
  2. +7 −2 extension/bootstrap.js
  3. +14 −11 extension/chrome.bz.tpl.manifest
  4. +1 −1 extension/chrome.manifest
  5. +10 −2 extension/content/firebug/chrome/activation.js
  6. +3 −1 extension/content/firebug/chrome/chrome.js
  7. +1 −0 extension/content/firebug/chrome/panelActivation.js
  8. +2 −2 extension/content/firebug/chrome/reps.js
  9. +27 −8 extension/content/firebug/chrome/tabWatcher.js
  10. +53 −14 extension/content/firebug/console/autoCompleter.js
  11. +1 −1 extension/content/firebug/console/console.js
  12. +3 −0 extension/content/firebug/console/consolePanel.js
  13. +16 −47 extension/content/firebug/cookies/breakpoints.js
  14. +1 −2 extension/content/firebug/cookies/cookie.js
  15. +71 −47 extension/content/firebug/cookies/cookieModule.js
  16. +44 −12 extension/content/firebug/cookies/cookieObserver.js
  17. +38 −31 extension/content/firebug/cookies/cookiePanel.js
  18. +27 −27 extension/content/firebug/cookies/cookiePanel.xul
  19. +11 −11 extension/content/firebug/cookies/cookiePermissions.js
  20. +76 −65 extension/content/firebug/cookies/cookieReps.js
  21. +10 −4 extension/content/firebug/cookies/editCookie.js
  22. +10 −10 extension/content/firebug/cookies/editCookie.xul
  23. +1 −1 extension/content/firebug/cookies/headerResizer.js
  24. +2 −1 extension/content/firebug/cookies/httpObserver.js
  25. +11 −2 extension/content/firebug/css/computedPanel.js
  26. +30 −16 extension/content/firebug/css/cssModule.js
  27. +154 −45 extension/content/firebug/css/cssPanel.js
  28. +2 −1 extension/content/firebug/css/cssReps.js
  29. +21 −14 extension/content/firebug/css/stylePanel.js
  30. +8 −5 extension/content/firebug/dom/domBreakpointGroup.js
  31. +33 −2 extension/content/firebug/editor/editor.js
  32. +13 −1 extension/content/firebug/firebug.css
  33. +41 −20 extension/content/firebug/firebug.js
  34. +4 −1 extension/content/firebug/firefox/bindings.xml
  35. +23 −29 extension/content/firebug/firefox/browserOverlay.js
  36. +13 −19 extension/content/firebug/firefox/start-button/startButtonOverlay.js
  37. +8 −5 extension/content/firebug/html/htmlPanel.js
  38. +63 −2 extension/content/firebug/js/breakpoint.js
  39. +7 −5 extension/content/firebug/js/debugger.js
  40. +2 −2 extension/content/firebug/js/scriptPanel.js
  41. +6 −2 extension/content/firebug/js/sourceFile.js
  42. +518 −247 extension/content/firebug/lib/css.js
  43. +2 −2 extension/content/firebug/lib/dom.js
  44. +7 −3 extension/content/firebug/lib/options.js
  45. +8 −5 extension/content/firebug/net/netDebugger.js
  46. +4 −3 extension/content/firebug/net/netPanel.js
  47. +24 −3 extension/content/firebug/net/netReps.js
  48. +2 −2 extension/defaults/preferences/cookies.js
  49. +1 −1 extension/defaults/preferences/firebug.js
  50. +42 −42 extension/locale/ca-AD/cookies.properties
  51. +120 −120 extension/locale/cs/cookies.properties
  52. +194 −191 extension/locale/de/cookies.properties
  53. +3 −3 extension/locale/de/firebug-amo.properties
  54. +510 −135 extension/locale/de/firebug.properties
  55. +198 −207 extension/locale/en-US/cookies.properties
  56. +21 −5 extension/locale/en-US/firebug.properties
  57. +193 −193 extension/locale/es-AR/cookies.properties
  58. +110 −110 extension/locale/es-ES/cookies.properties
  59. +110 −110 extension/locale/fr/cookies.properties
  60. +120 −120 extension/locale/hu-HU/cookies.properties
  61. +193 −193 extension/locale/it/cookies.properties
  62. +120 −120 extension/locale/ja-JP/cookies.properties
  63. +110 −110 extension/locale/ko-KR/cookies.properties
  64. +193 −193 extension/locale/nl/cookies.properties
Sorry, we could not display the entire diff because it was too big.
View
2 .gitignore
@@ -22,9 +22,11 @@
/extension/release/
/tests/FBTest/release/
*.graphml
+/extension/bz-locale/
# Files from NPM
/extension/node_modules/
# Extensions
/extension/firebug@software.joehewitt.com
+
View
9 extension/bootstrap.js
@@ -15,13 +15,15 @@ var FIREBUG_MODULES = [
"resource://firebug/firebug-http-observer.js",
"resource://firebug/firebug-service.js",
"resource://firebug/firebug-trace-service.js",
+ "resource://firebug/gcli.js",
"resource://firebug/loader.js",
"resource://firebug/locale.js",
+ "resource://firebug/mini-require.js",
"resource://firebug/observer-service.js",
+ "resource://firebug/prefLoader.js",
"resource://firebug/require-debug.js",
"resource://firebug/require.js",
- "resource://firebug/storageService.js",
- "resource://firebug/prefLoader.js"
+ "resource://firebug/storageService.js"
];
Cu.import("resource://gre/modules/Services.jsm");
@@ -68,6 +70,9 @@ function startup(params, reason)
// Listen for new windows, Firebug must be loaded into them too.
Services.ww.registerNotification(windowWatcher);
+
+ // GCLI commands
+ Cu.import("resource://firebug/gcli.js");
}
function shutdown(params, reason)
View
25 extension/chrome.bz.tpl.manifest
@@ -2,10 +2,10 @@ content firebug content/firebug/
content firebug content/firebug/ contentaccessible=yes
# Maps resource://firebug/* to files in modules/*
-resource firebug modules/
+# resource firebug modules/
# Maps resource://moduleloader/* to files in modules/*
-resource moduleloader modules/
+# resource moduleloader modules/
skin firebug classic/1.0 skin/classic/
skin firebug-os classic/1.0 skin/classic/win/
@@ -58,21 +58,24 @@ locale firebug sl-SI locale/sl-SI/
locale firebug sr locale/sr/
locale firebug sv-SE locale/sv-SE/
locale firebug te-IN locale/te-IN/
-locale firebug tr-TR locale/tr-TR/
+locale firebug tr locale/tr/
locale firebug uk-UA locale/uk-UA/
locale firebug vi locale/vi/
locale firebug zh-CN locale/zh-CN/
locale firebug zh-TW locale/zh-TW/
-overlay chrome://browser/content/browser.xul chrome://firebug/content/browserOverlay.xul
+#overlay chrome://browser/content/browser.xul chrome://firebug/content/browserOverlay.xul
#overlay chrome://browser/content/browser.xul chrome://firebug/content/firefox/browserOverlayWithFrame.xul
-overlay chrome://global/content/customizeToolbar.xul chrome://firebug/content/firefox/start-button/customizeToolbarOverlay.xul
-overlay chrome://mozapps/content/extensions/about.xul chrome://firebug/content/firefox/aboutOverlay.xul
-overlay chrome://navigator/content/navigator.xul chrome://firebug/content/browserOverlay.xul
+#overlay chrome://global/content/customizeToolbar.xul chrome://firebug/content/firefox/start-button/customizeToolbarOverlay.xul
+#overlay chrome://mozapps/content/extensions/about.xul chrome://firebug/content/firefox/aboutOverlay.xul
+
+# Sea Monkey
+#overlay chrome://navigator/content/navigator.xul chrome://firebug/content/browserOverlay.xul
+#overlay chrome://navigator/content/navigator.xul chrome://firebug/content/firefox/browserOverlayWithFrame.xul
# Support for Mac
-override chrome://firebug/skin/debugger.css chrome://firebug/skin/mac/debugger.css os=Darwin
-override chrome://firebug-os/skin/firebug.css chrome://firebug/skin/mac/firebug.css os=Darwin
-override chrome://firebug-os/skin/panel.css chrome://firebug/skin/mac/panel.css os=Darwin
-override chrome://firebug-os/skin/window.css chrome://firebug/skin/mac/window.css os=Darwin
+override chrome://firebug/skin/debugger.css chrome://firebug/skin/mac/debugger.css os=Darwin
+override chrome://firebug-os/skin/firebug.css chrome://firebug/skin/mac/firebug.css os=Darwin
+override chrome://firebug-os/skin/panel.css chrome://firebug/skin/mac/panel.css os=Darwin
+override chrome://firebug-os/skin/window.css chrome://firebug/skin/mac/window.css os=Darwin
View
2 extension/chrome.manifest
@@ -40,7 +40,7 @@ locale firebug sk-SK locale/sk-SK/
locale firebug sl-SI locale/sl-SI/
locale firebug sr locale/sr/
locale firebug sv-SE locale/sv-SE/
-locale firebug tr-TR locale/tr-TR/
+locale firebug tr locale/tr/
locale firebug uk-UA locale/uk-UA/
locale firebug vi locale/vi/
locale firebug zh-CN locale/zh-CN/
View
12 extension/content/firebug/chrome/activation.js
@@ -165,8 +165,16 @@ Firebug.Activation = Obj.extend(Firebug.Module,
// Firebug is opened in browser
watchBrowser: function(browser)
{
- var annotation = "firebugged.showFirebug";
- this.setPageAnnotation(browser.currentURI.spec, annotation);
+ try
+ {
+ var annotation = "firebugged.showFirebug";
+ this.setPageAnnotation(browser.currentURI.spec, annotation);
+ }
+ catch (e)
+ {
+ if (FBTrace.DBG_ERRORS)
+ FBTrace.sysout("activation.watchBrowser; EXCEPTION " + e, e);
+ }
},
// Firebug closes in browser
View
4 extension/content/firebug/chrome/chrome.js
@@ -646,7 +646,9 @@ var FirebugChrome =
" sidePanelName:"+sidePanelName+" forceUpdate:"+forceUpdate+"\n");
var bestPanelName = getBestPanelName(object, Firebug.currentContext, panelName);
- var panel = this.selectPanel(bestPanelName, sidePanelName, true);
+
+ // Allow refresh if needed (the last argument).
+ var panel = this.selectPanel(bestPanelName, sidePanelName/*, true*/);
if (panel)
panel.select(object, forceUpdate);
View
1 extension/content/firebug/chrome/panelActivation.js
@@ -208,6 +208,7 @@ Firebug.PanelActivation = Obj.extend(Firebug.Module,
panelType.prototype.onActivationChanged(enable);
+ Firebug.chrome.$("fbPanelBar1").updateTab(panelType);
Firebug.chrome.syncPanel();
},
View
4 extension/content/firebug/chrome/reps.js
@@ -3026,8 +3026,8 @@ FirebugReps.NamedNodeMap = domplate(Firebug.Rep,
for (var i=0; i<object.length && i<max; i++)
{
var item = object.item(i);
- var name = item.nodeName;
- var value = item.nodeValue;
+ var name = item.name;
+ var value = item.value;
var rep = Firebug.getRep(value);
var tag = rep.tag;
View
35 extension/content/firebug/chrome/tabWatcher.js
@@ -433,7 +433,7 @@ Firebug.TabWatcher = Obj.extend(new Firebug.Listener(),
/**
* Attaches to a window that may be either top-level or a frame within the page.
*/
- watchWindow: function(win, context)
+ watchWindow: function(win, context, skipCompletedDocuments)
{
if (!context)
context = this.getContextByWindow(Win.getRootWindow(win));
@@ -445,6 +445,21 @@ Firebug.TabWatcher = Obj.extend(new Firebug.Listener(),
if (context)
TabWatcherUnloader.registerWindow(win);
+ try
+ {
+ // If the documents is already completed do not register the window
+ // it should be registered already at this point
+ // This condition avoids situation when "about:document-onload-blocker"
+ // and STATE_START is fired for a window, which is consequently never
+ // firing "unload" and so, stays registered within context.windows
+ // See issue 5582 (comment #4)
+ if (skipCompletedDocuments && win.document.readyState == "complete")
+ return;
+ }
+ catch (err)
+ {
+ }
+
// Unfortunately, dummy requests that trigger the call to watchWindow
// are called several times, so we have to avoid dispatching watchWindow
// more than once
@@ -453,8 +468,11 @@ Firebug.TabWatcher = Obj.extend(new Firebug.Listener(),
context.windows.push(win);
if (FBTrace.DBG_WINDOWS)
- FBTrace.sysout("-> watchWindow register *** FRAME *** to context for " +
- "win.location: " + location);
+ {
+ FBTrace.sysout("-> tabWatcher.watchWindow; " + Win.safeGetWindowLocation(win) +
+ " [" + Win.getWindowId(win).toString() + "] " + context.windows.length +
+ " - " + win.document.readyState);
+ }
Events.dispatch(this.fbListeners, "watchWindow", [context, win]);
@@ -509,7 +527,7 @@ Firebug.TabWatcher = Obj.extend(new Firebug.Listener(),
{
if (FBTrace.DBG_ERRORS)
{
- FBTrace.sysout("unwatchWindow: no context for win " +
+ FBTrace.sysout("unwatchWindow: ERROR no context for win " +
Win.safeGetWindowLocation(win));
}
return;
@@ -518,8 +536,9 @@ Firebug.TabWatcher = Obj.extend(new Firebug.Listener(),
var index = context.windows.indexOf(win);
if (FBTrace.DBG_WINDOWS)
{
- FBTrace.sysout("-> tabWatcher.unwatchWindow context: " + context.getName() +
- " index of win: " + index + "/" + context.windows.length, context.windows);
+ FBTrace.sysout("-> tabWatcher.unwatchWindow; " + Win.safeGetWindowLocation(win) +
+ " [" + Win.getWindowId(win).toString() + "] " + context.windows.length +
+ " - " + win.document.readyState);
}
if (index != -1)
@@ -890,7 +909,7 @@ var FrameProgressListener = Obj.extend(Http.BaseProgressListener,
FBTrace.sysout("-> FrameProgressListener.onStateChanged for: " +
Http.safeGetRequestName(request) + ", win: " + win.location.href +
", content URL: " + (win.document ? win.document.URL : "no content URL") +
- " " + Http.getStateDescription(flag));
+ " " + Http.getStateDescription(flag) + ", " + status);
}
if (flag & STATE_IS_REQUEST && flag & STATE_START)
@@ -914,7 +933,7 @@ var FrameProgressListener = Obj.extend(Http.BaseProgressListener,
}
else
{
- Firebug.TabWatcher.watchWindow(win);
+ Firebug.TabWatcher.watchWindow(win, null, true);
}
}
}
View
67 extension/content/firebug/console/autoCompleter.js
@@ -180,6 +180,8 @@ Firebug.JSAutoCompleter = function(textBox, completionBox, options)
FBTrace.sysout("Completing: " + this.completionBase.pre + sep + preExpr + sep + prop);
}
+ var prevCompletions = this.completions;
+
// We only need to calculate a new candidate list if the expression has
// changed (we can ignore this.completionBase.pre since completions do not
// depend upon that).
@@ -188,17 +190,20 @@ Firebug.JSAutoCompleter = function(textBox, completionBox, options)
this.completionBase.expr = preExpr;
this.completionBase.candidates = autoCompleteEval(context, preExpr, spreExpr,
this.options.includeCurrentScope);
+ prevCompletions = null;
}
- this.createCompletions(prop);
+ this.createCompletions(prop, prevCompletions);
};
/**
* From a valid completion base, create a list of completions (containing
* those completion candidates that share a (sometimes case-insensitive)
- * prefix with the user's input) and a default completion.
+ * prefix with the user's input) and a default completion. The completions
+ * for the previous expression (null if none) are used to help with the
+ * latter.
*/
- this.createCompletions = function(prefix)
+ this.createCompletions = function(prefix, prevCompletions)
{
var candidates = this.completionBase.candidates;
var valid = [], ciValid = [];
@@ -247,7 +252,7 @@ Firebug.JSAutoCompleter = function(textBox, completionBox, options)
list: (hasMatchingCase ? valid : ciValid),
prefix: prefix
};
- this.pickDefaultCandidate();
+ this.completions.index = this.pickDefaultCandidate(prevCompletions);
if (hasMatchingCase)
{
@@ -266,20 +271,54 @@ Firebug.JSAutoCompleter = function(textBox, completionBox, options)
};
/**
- * Chose a default candidate from the list of completions. This is currently
- * selected as the shortest completion, to make completions disappear when
- * typing a variable name that is also the prefix of another.
+ * Choose a default candidate from the list of completions. The first of all
+ * shortest completions is current used for this, except in some very hacky,
+ * but useful, special cases (issue 5593).
*/
- this.pickDefaultCandidate = function()
+ this.pickDefaultCandidate = function(prevCompletions)
{
- var pick = 0;
- var ar = this.completions.list;
- for (var i = 1; i < ar.length; i++)
+ var list = this.completions.list, ind;
+
+ // If the typed expression is an extension of the previous completion, keep it.
+ if (prevCompletions && Str.hasPrefix(this.completions.prefix, prevCompletions.prefix))
+ {
+ var lastCompletion = prevCompletions.list[prevCompletions.index];
+ ind = list.indexOf(lastCompletion);
+ if (ind !== -1)
+ return ind;
+ }
+
+ // Special-case certain expressions.
+ var special = {
+ "": ["document", "console", "window", "parseInt", "undefined"],
+ "window.": ["console"],
+ "location.": ["href"],
+ "document.": ["getElementById", "addEventListener", "createElement",
+ "documentElement"]
+ };
+ if (special.hasOwnProperty(this.completionBase.expr))
+ {
+ var ar = special[this.completionBase.expr];
+ for (var i = 0; i < ar.length; ++i)
+ {
+ var prop = ar[i];
+ if (Str.hasPrefix(prop, this.completions.prefix))
+ {
+ // Use 'prop' as a completion, if it exists.
+ ind = list.indexOf(prop);
+ if (ind !== -1)
+ return ind;
+ }
+ }
+ }
+
+ ind = 0;
+ for (var i = 1; i < list.length; ++i)
{
- if (ar[i].length < ar[pick].length)
- pick = i;
+ if (list[i].length < list[ind].length)
+ ind = i;
}
- this.completions.index = pick;
+ return ind;
};
/**
View
2 extension/content/firebug/console/console.js
@@ -389,7 +389,7 @@ Firebug.Console = Obj.extend(ActivableConsole,
setStatus: function()
{
- var fbStatus = Firefox.getElementById('firebugStatus');
+ var fbStatus = Firefox.getElementById("firebugStatus");
if (fbStatus)
{
if (Firebug.Errors.watchForErrors)
View
3 extension/content/firebug/console/consolePanel.js
@@ -298,6 +298,9 @@ Firebug.ConsolePanel.prototype = Obj.extend(Firebug.ActivablePanel,
setFilter: function(filterTypes)
{
var panelNode = this.panelNode;
+
+ Events.dispatch(this.fbListeners, "onFilterSet", [logTypes]);
+
for (var type in logTypes)
{
// Different types of errors and warnings are combined for filtering
View
63 extension/content/firebug/cookies/breakpoints.js
@@ -51,7 +51,7 @@ var Breakpoints =
if (context.breakOnCookie && !conditionIsFalse)
{
context.breakingCause = {
- title: Locale.$STR("firecookie.Break On Cookie"),
+ title: Locale.$STR("cookies.Break On Cookie"),
message: Str.cropString(unescape(cookie.name + "; " + cookie.value), 200)
};
halt = true;
@@ -81,42 +81,8 @@ var Breakpoints =
{
var panel = context.getPanel(panelName, true);
Firebug.Breakpoint.updatePanelTab(panel, false);
-
- // xxxHonza: fix this
- // Don't utilize Firebug.Breakpoint.breakNow since the code doesn't
- // exclude firecookie files from the stack (chrome://firecookie/)
- // Firebug.Debugger.breakNowURLPrefix must be changed to: "chrome://",
- //Firebug.Breakpoint.breakNow(context.getPanel(panelName, true));
- //return;
+ Firebug.Breakpoint.breakNow(context.getPanel(panelName, true));
}
-
- Firebug.Debugger.halt(function(frame)
- {
- if (FBTrace.DBG_COOKIES)
- FBTrace.sysout("cookies.breakNow; debugger halted");
-
- for (; frame && frame.isValid; frame = frame.callingFrame)
- {
- var fileName = frame.script.fileName;
- if (fileName &&
- fileName.indexOf("chrome://firebug/") != 0 &&
- fileName.indexOf("chrome://firecookie/") != 0 &&
- fileName.indexOf("/components/firebug-") == -1 &&
- fileName.indexOf("/modules/firebug-") == -1)
- break;
- }
-
- if (frame)
- {
- Firebug.Debugger.breakContext = context;
- Firebug.Debugger.onBreak(frame, 3);
- }
- else
- {
- if (FBTrace.DBG_COOKIES)
- FBTrace.sysout("cookies.breakNow; NO FRAME");
- }
- });
},
getContextMenuItems: function(cookie, target, context)
@@ -129,8 +95,8 @@ var Breakpoints =
items.push({
nol10n: true,
- tooltiptext: Locale.$STRF("firecookie.menu.tooltip.Break On Cookie", [cookieName]),
- label: Locale.$STRF("firecookie.menu.Break On Cookie", [cookieName]),
+ tooltiptext: Locale.$STRF("cookies.menu.tooltip.Break On Cookie", [cookieName]),
+ label: Locale.$STRF("cookies.menu.Break On Cookie", [cookieName]),
type: "checkbox",
checked: bp != null,
command: Obj.bindFixed(this.onBreakOnCookie, this, context, cookie),
@@ -139,7 +105,7 @@ var Breakpoints =
if (bp)
{
items.push(
- {label: "firecookie.menu.Edit Breakpoint Condition",
+ {label: "cookies.menu.Edit Breakpoint Condition",
command: Obj.bindFixed(this.editBreakpointCondition, this, context, cookie) }
);
}
@@ -225,9 +191,9 @@ Breakpoints.BreakpointTemplate = Domplate.domplate(Firebug.Rep,
tag:
DIV({"class": "breakpointRow focusRow", $disabled: "$bp|isDisabled", _repObject: "$bp",
role: "option", "aria-checked": "$bp.checked"},
- DIV({"class": "breakpointBlockHead", onclick: "$onEnable"},
+ DIV({"class": "breakpointBlockHead"},
INPUT({"class": "breakpointCheckbox", type: "checkbox",
- _checked: "$bp.checked", tabindex : "-1"}),
+ _checked: "$bp.checked", tabindex: "-1", onclick: "$onEnable"}),
SPAN("$bp|getTitle"),
DIV({"class": "breakpointMutationType"}, "$bp|getType"),
IMG({"class": "closeButton", src: "blank.gif", onclick: "$onRemove"})
@@ -288,15 +254,18 @@ Breakpoints.BreakpointTemplate = Domplate.domplate(Firebug.Rep,
onEnable: function(event)
{
var checkBox = event.target;
- if (!Css.hasClass(checkBox, "breakpointCheckbox"))
- return;
-
var bpRow = Dom.getAncestorByClass(checkBox, "breakpointRow");
if (checkBox.checked)
+ {
Css.removeClass(bpRow, "disabled");
+ bpRow.setAttribute("aria-checked", "true");
+ }
else
+ {
Css.setClass(bpRow, "disabled");
+ bpRow.setAttribute("aria-checked", "false");
+ }
var bp = bpRow.repObject;
bp.checked = checkBox.checked;
@@ -407,7 +376,7 @@ Breakpoints.Breakpoint.prototype =
return;
context.breakingCause = {
- title: Locale.$STR("firecookie.Break On Cookie"),
+ title: Locale.$STR("cookies.Break On Cookie"),
message: Str.cropString(unescape(this.name + "; " + this.condition + "; "), 200)
};
},
@@ -418,8 +387,8 @@ Breakpoints.Breakpoint.prototype =
FBTrace.sysout("cookies.onEvaluateFails; " + result, result);
context.breakingCause = {
- title: Locale.$STR("firecookie.Break On Cookie"),
- message: Locale.$STR("firecookie.Breakpoint condition evaluation fails"),
+ title: Locale.$STR("cookies.Break On Cookie"),
+ message: Locale.$STR("cookies.Breakpoint condition evaluation fails"),
prevValue: this.condition, newValue:result
};
}
View
3 extension/content/firebug/cookies/cookie.js
@@ -57,12 +57,11 @@ Cookie.prototype =
toText: function()
{
- var expires = this.cookie.expires ? new Date(this.cookie.expires * 1000) : null;
return this.cookie.host + "\t" +
new String(this.cookie.isDomain).toUpperCase() + "\t" +
this.cookie.path + "\t" +
new String(this.cookie.isSecure).toUpperCase() + "\t" +
- (expires ? expires.toGMTString()+ "\t" : "") +
+ this.cookie.expires + "\t" +
this.cookie.name + "\t" +
this.cookie.rawValue + "\r\n";
},
View
118 extension/content/firebug/cookies/cookieModule.js
@@ -29,11 +29,12 @@ define([
"firebug/cookies/editCookie",
"firebug/trace/traceListener",
"firebug/trace/traceModule",
+ "firebug/chrome/firefox",
],
function(Xpcom, Obj, Locale, Domplate, Dom, Options, Persist, Str, Http, Css, Events, Arr,
BaseObserver, MenuUtils, CookieReps, CookieUtils, Cookier, Breakpoints, CookieObserver,
CookieClipboard, TabWatcher, HttpObserver, System, Cookie, CookiePermissions, EditCookie,
- TraceListener, TraceModule) {
+ TraceListener, TraceModule, Firefox) {
with (Domplate) {
@@ -48,7 +49,7 @@ const networkPrefDomain = "network.cookie";
const cookieBehaviorPref = "cookieBehavior";
const cookieLifeTimePref = "lifetimePolicy";
-// Firecookie preferences
+// Cookies preferences
const clearWhenDeny = "cookies.clearWhenDeny";
const defaultExpireTime = "cookies.defaultExpireTime";
const removeConfirmation = "cookies.removeConfirmation";
@@ -77,7 +78,7 @@ Firebug.registerStylesheet("chrome://firebug/skin/cookies/cookies.css");
// Module Implementation
/**
- * @module This class represents a <i>module</i> for Firecookie extension.
+ * @module This class represents a <i>module</i> for Cookies panel.
* The module supports activation (enable/disable of the Cookies panel).
* This functionality has been introduced in Firebug 1.2 and makes possible
* to control activity of Firebug panels in order to avoid (performance) expensive
@@ -103,7 +104,7 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
FBTrace.sysout("cookies.CookieModule.initialize; ");
this.traceListener = new TraceListener("cookies.", "DBG_COOKIES", true,
- "chrome://firebug/skin/cookies/firecookieTrace.css");
+ "chrome://firebug/skin/cookies/trace.css");
TraceModule.addListener(this.traceListener);
@@ -317,8 +318,8 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
// The base class must be called after the context for Cookies panel is
// properly initialized. The panel can be created inside this function
// (within Firebug.ActivableModule.enablePanel), which can result in
- // calling FireCookiePanel.initialize method. This method directly calls
- // FireCookiePanel.refresh, which needs the context.cookies object ready.
+ // calling CookiePanel.initialize method. This method directly calls
+ // CookiePanel.refresh, which needs the context.cookies object ready.
Firebug.ActivableModule.initContext.apply(this, arguments);
// Unregister all observers if the panel is disabled.
@@ -571,16 +572,15 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
TabWatcher.iterateContexts(Firebug.CookieModule.registerObservers);
else
TabWatcher.iterateContexts(Firebug.CookieModule.unregisterObservers);
- },
- // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- // Firebug suspend and resume
+ this.setStatus();
+ },
onSuspendFirebug: function()
{
TabWatcher.iterateContexts(Firebug.CookieModule.unregisterObservers);
- top.document.getElementById("firebugStatus").removeAttribute(panelName);
+ this.setStatus();
if (FBTrace.DBG_COOKIES)
FBTrace.sysout("cookies.onSuspendFirebug");
@@ -591,7 +591,7 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
if (Firebug.CookieModule.isAlwaysEnabled())
TabWatcher.iterateContexts(Firebug.CookieModule.registerObservers);
- top.document.getElementById("firebugStatus").setAttribute(panelName, "on");
+ this.setStatus();
if (FBTrace.DBG_COOKIES)
FBTrace.sysout("cookies.onResumeFirebug");
@@ -599,6 +599,23 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
+ setStatus: function()
+ {
+ var fbStatus = Firefox.getElementById("firebugStatus");
+ if (fbStatus)
+ {
+ if (this.hasObservers())
+ fbStatus.setAttribute(panelName, "on");
+ else
+ fbStatus.removeAttribute(panelName);
+ }
+ else
+ {
+ if (FBTrace.DBG_ERRORS)
+ FBTrace.sysout("cookies.setStatus ERROR no firebugStatus element");
+ }
+ },
+
getMenuLabel: function(option, location)
{
var host = getURIHost(location);
@@ -608,11 +625,11 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
// and system pages as there are no cookies associated.
// These options shouldn't be available at all.
if (isSystemURL(location.spec))
- host = Locale.$STR("firecookie.SystemPages");
+ host = Locale.$STR("cookies.SystemPages");
else if (!getURIHost(location))
- host = Locale.$STR("firecookie.LocalFiles");
+ host = Locale.$STR("cookies.LocalFiles");
- // Translate these two options in panel activable menu from firecookie.properties
+ // Translate these two options in panel activable menu from cookies.properties
switch (option)
{
case "disable-site":
@@ -624,8 +641,8 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
return Firebug.ActivableModule.getMenuLabel.apply(this, arguments);
},
- // xxxHonza: This method is overriden just to provide translated strings from
- // firecookie.properties file.
+ // xxxHonza: This method is overriden just to provide translated strings from
+ // cookies.properties file.
openPermissions: function(event, context)
{
Events.cancelEvent(event);
@@ -650,13 +667,13 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
// UI Commands
onRemoveAllShowTooltip: function(tooltip, context)
{
- tooltip.label = Locale.$STR("firecookie.removeall.tooltip");
+ tooltip.label = Locale.$STR("cookies.removeall.tooltip");
return true;
},
onRemoveAllSessionShowTooltip: function(tooltip, context)
{
- tooltip.label = Locale.$STR("firecookie.removeallsession.tooltip");
+ tooltip.label = Locale.$STR("cookies.removeallsession.tooltip");
return true;
},
@@ -706,14 +723,19 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
if (Options.get(removeConfirmation))
{
var check = {value: false};
- if (!prompts.confirmCheck(context.chrome.window, "Firecookie",
- Locale.$STR("firecookie.confirm.removeall"),
- Locale.$STR("firecookie.msg.Do not show this message again"), check))
+ var flags = prompts.BUTTON_POS_0 * prompts.BUTTON_TITLE_YES +
+ prompts.BUTTON_POS_1 * prompts.BUTTON_TITLE_NO;
+
+ if (!prompts.confirmEx(context.chrome.window, Locale.$STR("Firebug"),
+ Locale.$STR("cookies.confirm.removeall"), flags, "", "", "",
+ Locale.$STR("cookies.msg.Do_not_show_this_message_again"), check) == 0)
+ {
return;
+ }
// Update 'Remove Cookies' confirmation option according to the value
// of the dialog's "do not show again" checkbox.
- Options.set(removeConfirmation, !check.value)
+ Options.set(removeConfirmation, !check.value);
}
Firebug.CookieModule.onRemoveAllShared(context, false);
@@ -724,10 +746,15 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
if (Options.get(removeSessionConfirmation))
{
var check = {value: false};
- if (!prompts.confirmCheck(context.chrome.window, "Firecookie",
- Locale.$STR("firecookie.confirm.removeallsession"),
- Locale.$STR("firecookie.msg.Do not show this message again"), check))
+ var flags = prompts.BUTTON_POS_0 * prompts.BUTTON_TITLE_YES +
+ prompts.BUTTON_POS_1 * prompts.BUTTON_TITLE_NO;
+
+ if (!prompts.confirmEx(context.chrome.window, Locale.$STR("Firebug"),
+ Locale.$STR("cookies.confirm.removeallsession"), flags, "", "", "",
+ Locale.$STR("cookies.msg.Do_not_show_this_message_again"), check) == 0)
+ {
return;
+ }
// Update 'Remove Session Cookies' confirmation option according to the value
// of the dialog's "do not show again" checkbox.
@@ -740,7 +767,7 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
onCreateCookieShowTooltip: function(tooltip, context)
{
var host = context.window.location.host;
- tooltip.label = Locale.$STRF("firecookie.createcookie.tooltip", [host]);
+ tooltip.label = Locale.$STRF("cookies.createcookie.tooltip", [host]);
return true;
},
@@ -755,7 +782,7 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
host = context.window.location.host
}
catch (err) {
- alert(Locale.$STR("firecookie.message.There_is_no_active_page"));
+ alert(Locale.$STR("cookies.message.There_is_no_active_page"));
return;
}
@@ -765,7 +792,7 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
cookie.host = host;
// The edit dialog uses raw value.
- cookie.rawValue = Locale.$STR("firecookie.createcookie.defaultvalue");
+ cookie.rawValue = Locale.$STR("cookies.createcookie.defaultvalue");
// Default path
var path = context.window.location.pathname || "/";
@@ -869,15 +896,14 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
catch (err)
{
if (FBTrace.DBG_COOKIES)
- FBTrace.sysout("firecookie.onExportAll EXCEPTION", err);
- alert(err.toString());
+ FBTrace.sysout("cookies.onExportAll EXCEPTION", err);
}
},
onExportForSiteShowTooltip: function(tooltip, context)
{
var host = context.window.location.host;
- tooltip.label = Locale.$STRF("firecookie.export.Export_For_Site_Tooltip", [host]);
+ tooltip.label = Locale.$STRF("cookies.export.Export_For_Site_Tooltip", [host]);
return true;
},
@@ -919,8 +945,7 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
catch (err)
{
if (FBTrace.DBG_COOKIES)
- FBTrace.sysout("firecookie.onExportForSite EXCEPTION", err);
- alert(err.toString());
+ FBTrace.sysout("cookies.onExportForSite EXCEPTION", err);
}
},
@@ -1017,8 +1042,8 @@ Firebug.CookieModule = Obj.extend(Firebug.ActivableModule,
allowVisible : true,
prefilledHost : "",
permissionType : "cookie",
- windowTitle : Locale.$STR("firecookie.ExceptionsTitle"),
- introText : Locale.$STR("firecookie.Intro")
+ windowTitle : Locale.$STR("cookies.ExceptionsTitle"),
+ introText : Locale.$STR("cookies.Intro")
};
parent.openDialog("chrome://browser/content/preferences/permissions.xul",
@@ -1037,15 +1062,15 @@ Firebug.CookieModule.NetInfoBody = domplate(Firebug.Rep,
/** @lends Firebug.CookieModule.NetInfoBody */
{
tag:
- UL({"class": "netInfoCookiesList"},
- LI({"class": "netInfoCookiesGroup", $collapsed: "$cookiesInfo|hideReceivedCookies"},
- DIV(Locale.$STR("firecookie.netinfo.Received Cookies")),
- DIV({"class": "netInfoReceivedCookies netInfoCookies"})
+ DIV({"class": "netInfoCookiesList"},
+ DIV({"class": "netInfoHeadersGroup netInfoCookiesGroup", $collapsed: "$cookiesInfo|hideReceivedCookies"},
+ SPAN(Locale.$STR("cookies.netinfo.Received Cookies"))
),
- LI({"class": "netInfoCookiesGroup", $collapsed: "$cookiesInfo|hideSentCookies"},
- DIV(Locale.$STR("firecookie.netinfo.Sent Cookies")),
- DIV({"class": "netInfoSentCookies netInfoCookies"})
- )
+ DIV({"class": "netInfoReceivedCookies netInfoCookies"}),
+ DIV({"class": "netInfoHeadersGroup netInfoCookiesGroup", $collapsed: "$cookiesInfo|hideSentCookies"},
+ SPAN(Locale.$STR("cookies.netinfo.Sent Cookies"))
+ ),
+ DIV({"class": "netInfoSentCookies netInfoCookies"})
),
hideReceivedCookies: function(cookiesInfo)
@@ -1067,7 +1092,7 @@ Firebug.CookieModule.NetInfoBody = domplate(Firebug.Rep,
// Create tab only if there are some cookies.
if (sentCookiesHeader || receivedCookiesHeader)
Firebug.NetMonitor.NetInfoBody.appendTab(infoBox, "Cookies",
- Locale.$STR("firecookie.Panel"));
+ Locale.$STR("cookies.Panel"));
},
destroyTabBody: function(infoBox, file)
@@ -1160,7 +1185,7 @@ var PermissionObserver = Obj.extend(BaseObserver,
if (FBTrace.DBG_COOKIES)
FBTrace.sysout("cookies.observe: " + aTopic + ", " + aData);
- var fn = CookiePermissions.updatePermButton;
+ var fn = Obj.bind(CookiePermissions.updatePermButton, CookiePermissions);
TabWatcher.iterateContexts(fn);
}
});
@@ -1175,7 +1200,7 @@ function CookieBreakpointGroup()
CookieBreakpointGroup.prototype = Obj.extend(new Firebug.Breakpoint.BreakpointGroup(),
{
name: "cookieBreakpoints",
- title: Locale.$STR("firecookie.Cookie Breakpoints"),
+ title: Locale.$STR("cookies.Cookie Breakpoints"),
addBreakpoint: function(cookie)
{
@@ -1311,4 +1336,3 @@ return Firebug.CookieModule;
// ********************************************************************************************* //
}});
-
View
56 extension/content/firebug/cookies/cookieObserver.js
@@ -53,10 +53,29 @@ var CookieObserver = Obj.extend(BaseObserver,
if (!Firebug.CookieModule.isAlwaysEnabled())
return;
+ // See: https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsICookieService
+ // For all possible values.
if (aTopic == "cookie-changed")
{
- aSubject = aSubject ? aSubject.QueryInterface(Ci.nsICookie2) : null;
- this.iterateContexts(this.onCookieChanged, aSubject, aData);
+ var cookies = []
+ if (aData == "batch-deleted")
+ {
+ // In this case the subject is nsIArray.
+ var enumerator = aSubject.QueryInterface(Ci.nsIArray).enumerate();
+ while (enumerator.hasMoreElements())
+ cookies.push(enumerator.getNext().QueryInterface(Ci.nsICookie2));
+
+ // The event will be further distributed as standard "delete" event.
+ aData = "deleted";
+ }
+ else
+ {
+ aSubject = aSubject ? aSubject.QueryInterface(Ci.nsICookie2) : null;
+ cookies.push(aSubject);
+ }
+
+ for (var i=0; i<cookies.length; i++)
+ this.iterateContexts(this.onCookieChanged, cookies[i], aData);
}
else if (aTopic == "cookie-rejected")
{
@@ -67,7 +86,11 @@ var CookieObserver = Obj.extend(BaseObserver,
catch (err)
{
if (FBTrace.DBG_ERRORS)
- FBTrace.sysout("cookies.CookieObserver.observe ERROR " + aTopic, err);
+ {
+ FBTrace.sysout("cookies.CookieObserver.observe; ERROR " +
+ aTopic + ", " + aData, err);
+ FBTrace.sysout("cookies.CookieObserver.observe; subject ", aSubject);
+ }
}
},
@@ -99,22 +122,28 @@ var CookieObserver = Obj.extend(BaseObserver,
* @returns {Boolean} If the method returns true the host/path belongs
* to the activeUri.
*/
- isHostFromURI: function(activeUri, host, path)
+ isHostFromURI: function(activeUri, host, cookiePath)
{
var pathFilter = Options.get(filterByPath);
// Get directory path (without the file name)
- var activePath = activeUri.path.substr(0, (activeUri.path.lastIndexOf("/") || 1));
+ var queryStringPos = activeUri.path.lastIndexOf("?");
+ var activePath = queryStringPos != -1 ?
+ activeUri.path.substr(0, queryStringPos) : activeUri.path;
- // Append slash at the end of the active path, so it mach the cookie's path
- // in the case that it has slash at the end.
+ // Remove slash at the end of the active path according to step 4 of RFC 6265 section 5.1.4
var lastChar = activePath.charAt(activePath.length - 1);
- if (lastChar != "/")
- activePath += "/";
-
- // If the path filter is on, only cookies that match given path should be displayed.
- if (pathFilter && (activePath.indexOf(path) != 0))
+ if (lastChar == "/")
+ activePath = activePath.substr(0, activePath.length - 1);
+
+ // If the path filter is on, only cookies that match given path
+ // according to RFC 6265 section 5.1.4 will be displayed.
+ if (pathFilter && (activePath != cookiePath && !(Str.hasPrefix(activePath, cookiePath) &&
+ (cookiePath.charAt(cookiePath.length - 1) == "/" ||
+ activePath.substr(cookiePath.length, 1) == "/"))))
+ {
return false;
+ }
// The cookie must belong to given URI from this context,
// otherwise it won't be displayed in this tab.
@@ -223,6 +252,9 @@ var CookieObserver = Obj.extend(BaseObserver,
case "cleared":
this.onClear(context);
return;
+ case "reload":
+ context.invalidatePanels(panelName);
+ return;
}
},
View
69 extension/content/firebug/cookies/cookiePanel.js
@@ -12,6 +12,8 @@ define([
"firebug/lib/http",
"firebug/lib/css",
"firebug/lib/events",
+ "firebug/lib/array",
+ "firebug/lib/search",
"firebug/cookies/menuUtils",
"firebug/cookies/cookieReps",
"firebug/cookies/headerResizer",
@@ -22,7 +24,7 @@ define([
"firebug/cookies/cookiePermissions",
"firebug/cookies/cookieClipboard",
],
-function(Xpcom, Obj, Locale, Domplate, Dom, Options, Persist, Str, Http, Css, Events,
+function(Xpcom, Obj, Locale, Domplate, Dom, Options, Persist, Str, Http, Css, Events, Arr, Search,
MenuUtils, CookieReps, HeaderResizer, CookieObserver, CookieUtils, Cookie, Breakpoints,
CookiePermissions, CookieClipboard) {
@@ -34,7 +36,7 @@ with (Domplate) {
const Cc = Components.classes;
const Ci = Components.interfaces;
-// Firecookie preferences
+// Cookies preferences
const logEventsPref = "cookies.logEvents";
const showRejectedCookies = "cookies.showRejectedCookies";
const lastSortedColumn = "cookies.lastSortedColumn";
@@ -51,13 +53,13 @@ var cookieManager = Xpcom.CCSV("@mozilla.org/cookiemanager;1", "nsICookieManager
* @panel This class represents the Cookies panel that is displayed within
* Firebug UI.
*/
-function FireCookiePanel() {}
+function CookiePanel() {}
-FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
-/** @lends FireCookiePanel */
+CookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
+/** @lends CookiePanel */
{
name: "cookies",
- title: Locale.$STR("firecookie.Panel"),
+ title: Locale.$STR("cookies.Panel"),
searchable: true,
breakable: true,
order: 200, // Place just after the Net panel.
@@ -82,12 +84,19 @@ FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
Firebug.ActivablePanel.initialize.apply(this, arguments);
+ Firebug.ConsolePanel.prototype.addListener(this);
+
// Just after the initialization, so the this.document member is set.
Firebug.CookieModule.addStyleSheet(this);
this.refresh();
},
+ shutdown: function()
+ {
+ Firebug.ConsolePanel.prototype.removeListener(this);
+ },
+
/**
* Renders list of cookies displayed within the Cookies panel.
*/
@@ -150,7 +159,7 @@ FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
var receivedCookies = host.receivedCookies;
if (receivedCookies)
- cookies = extendArray(cookies, receivedCookies);
+ cookies = Arr.extendArray(cookies, receivedCookies);
}
}
@@ -191,7 +200,7 @@ FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
initializeNode: function(oldPanelNode)
{
if (FBTrace.DBG_COOKIES)
- FBTrace.sysout("cookies.FireCookiePanel.initializeNode");
+ FBTrace.sysout("cookies.CookiePanel.initializeNode");
// xxxHonza
// This method isn't called when FB UI is detached. So, the columns
@@ -210,7 +219,7 @@ FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
destroyNode: function()
{
if (FBTrace.DBG_COOKIES)
- FBTrace.sysout("cookies.FireCookiePanel.destroyNode");
+ FBTrace.sysout("cookies.CookiePanel.destroyNode");
this.document.removeEventListener("mouseclick", this.onMouseClick, true);
this.document.removeEventListener("mousedown", this.onMouseDown, true);
@@ -277,7 +286,7 @@ FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
{
Firebug.chrome.setGlobalAttribute("cmd_resumeExecution", "breakable", "true");
Firebug.chrome.setGlobalAttribute("cmd_resumeExecution", "tooltiptext",
- Locale.$STR("firecookie.Break On Cookie"));
+ Locale.$STR("cookies.Break On Cookie"));
}
},
@@ -290,14 +299,14 @@ FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
getOptionsMenuItems: function(context)
{
return [
- MenuUtils.optionAllowGlobally(context, "firecookie.AllowGlobally",
- "firecookie.tip.AllowGlobally", "network.cookie", "cookieBehavior"),
+ MenuUtils.optionAllowGlobally(context, "cookies.AllowGlobally",
+ "cookies.tip.AllowGlobally", "network.cookie", "cookieBehavior"),
/*MenuUtils.optionMenu(context, "cookies.clearWhenDeny",
"cookies.tip.clearWhenDeny", Firebug.prefDomain, clearWhenDeny),*/
- MenuUtils.optionMenu(context, "firecookie.LogEvents",
- "firecookie.tip.LogEvents", Firebug.prefDomain, logEventsPref),
- MenuUtils.optionMenu(context, "firecookie.Confirm cookie removal",
- "firecookie.tip.Confirm cookie removal", Firebug.prefDomain, removeConfirmation)
+ MenuUtils.optionMenu(context, "cookies.LogEvents",
+ "cookies.tip.LogEvents", Firebug.prefDomain, logEventsPref),
+ MenuUtils.optionMenu(context, "cookies.Confirm cookie removal",
+ "cookies.tip.Confirm cookie removal", Firebug.prefDomain, removeConfirmation)
];
},
@@ -319,15 +328,6 @@ FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
// Make sure default items (cmd_copy) is removed.
CookieReps.Rep.getContextMenuItems.apply(this, arguments);
- // Create Paste menu-item so, a new cookie can be pasted even if the user
- // clicks within the panel area (not on a cookie row)
- items.push({
- label: Locale.$STR("firecookie.Paste"),
- nol10n: true,
- disabled: CookieClipboard.isCookieAvailable() ? false : true,
- command: Obj.bindFixed(CookieReps.CookieRow.onPaste, CookieReps.CookieRow)
- });
-
return items;
},
@@ -346,7 +346,7 @@ FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
this.matchSet = [];
function findRow(node) { return Dom.getAncestorByClass(node, "cookieRow"); }
- var search = new TextSearch(this.panelNode, findRow);
+ var search = new Search.TextSearch(this.panelNode, findRow);
var cookieRow = search.find(text);
if (!cookieRow)
@@ -447,8 +447,15 @@ FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
getBreakOnNextTooltip: function(enabled)
{
- return (enabled ? Locale.$STR("firecookie.Disable Break On Cookie") :
- Locale.$STR("firecookie.Break On Cookie"));
+ return (enabled ? Locale.$STR("cookies.Disable Break On Cookie") :
+ Locale.$STR("cookies.Break On Cookie"));
+ },
+
+ // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ // Console Panel Listeners
+ onFilterSet: function(logTypes)
+ {
+ logTypes.cookies = 1;
},
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -457,7 +464,7 @@ FireCookiePanel.prototype = Obj.extend(Firebug.ActivablePanel,
onActivationChanged: function(enable)
{
if (FBTrace.DBG_COOKIES || FBTrace.DBG_ACTIVATION)
- FBTrace.sysout("firecookie.FireCookiePanel.onActivationChanged; " + enable);
+ FBTrace.sysout("cookies.CookiePanel.onActivationChanged; " + enable);
if (enable)
{
@@ -532,9 +539,9 @@ Firebug.CookieModule.ConsoleListener =
// ********************************************************************************************* //
// Registration
-Firebug.registerPanel(FireCookiePanel);
+Firebug.registerPanel(CookiePanel);
-return FireCookiePanel;
+return CookiePanel;
// ********************************************************************************************* //
}});
View
54 extension/content/firebug/cookies/cookiePanel.xul
@@ -29,9 +29,9 @@
<!-- Console toolbar -->
<hbox id="fbConsoleButtons">
<toolbarbutton id="fbConsoleFilter-cookies"
- label="firecookie.console.Cookies" type="radio"
+ label="cookies.console.Cookies" type="radio"
group="firebugConsoleFilter" class="toolbar-text-button fbInternational"
- tooltiptext="firecookie.console.Filter By Cookies"
+ tooltiptext="cookies.console.Filter By Cookies"
oncommand="Firebug.Console.onToggleFilter(Firebug.currentContext, 'cookies')"
collapsed="true"/>
</hbox>
@@ -43,7 +43,7 @@
<toolbarseparator class="fbPanelSpecificButtonsSeparator"/>
<!-- General cookies actions -->
- <toolbarbutton id="fcCookiesMenu" label="firecookie.menu.Cookies" type="menu"
+ <toolbarbutton id="fcCookiesMenu" label="cookies.menu.Cookies" type="menu"
class="fbInternational">
<menupopup id="fcCookiesMenuPopup">
@@ -51,7 +51,7 @@
<tooltip id="fcCreateCookieTooltip"
onpopupshowing="return Firebug.CookieModule.onCreateCookieShowTooltip(this, Firebug.currentContext)"/>
<menuitem id="fcCreate" class="fbInternational"
- label="firecookie.Create"
+ label="cookies.Create"
tooltip="fcCreateCookieTooltip" command="cmd_cookieCreate"/>
<menuseparator/>
@@ -59,7 +59,7 @@
<tooltip id="fcRemoveAllTooltip"
onpopupshowing="return Firebug.CookieModule.onRemoveAllShowTooltip(this, Firebug.currentContext)"/>
<menuitem id="fcRemoveAll" class="fbInternational"
- label="firecookie.RemoveAll"
+ label="cookies.RemoveAll"
key="key_removeAllCookies"
tooltip="fcRemoveAllTooltip" command="cmd_cookieRemoveAll"/>
@@ -67,42 +67,42 @@
<tooltip id="fcRemoveAllSessionTooltip"
onpopupshowing="return Firebug.CookieModule.onRemoveAllSessionShowTooltip(this, Firebug.currentContext)"/>
<menuitem id="fcRemoveAllSession" class="fbInternational"
- label="firecookie.Remove Session Cookies"
+ label="cookies.Remove Session Cookies"
tooltip="fcRemoveAllSessionTooltip" command="cmd_cookieRemoveAllSession"/>
<menuseparator/>
- <!-- Export cookies -->
+ <!-- Export cookies xxxHonza: remove this for now and wait for user feedback
<menuitem id="fcExportAll" class="fbInternational"
- label="firecookie.export.Export All Cookies"
- tooltiptext="firecookie.export.Export All Cookies Tooltip"
- command="cmd_cookieExportAll"/>
+ label="cookies.export.Export All Cookies"
+ tooltiptext="cookies.export.Export All Cookies Tooltip"
+ command="cmd_cookieExportAll"/> -->
<tooltip id="fcExportForSiteTooltip"
onpopupshowing="return Firebug.CookieModule.onExportForSiteShowTooltip(this, Firebug.currentContext)"/>
<menuitem id="fcExportForSite" class="fbInternational"
- label="firecookie.export.Export For Site"
+ label="cookies.export.Export For Site"
tooltip="fcExportForSiteTooltip" command="cmd_cookieExportForSite"/>
</menupopup>
</toolbarbutton>
<!-- Filter cookies -->
<toolbarbutton id="fcFilterMenu" type="menu" class="fbInternational"
- label="firecookie.Filter"
- tooltiptext="firecookie.FilterTooltip">
+ label="cookies.Filter"
+ tooltiptext="cookies.FilterTooltip">
<menupopup id="fcFilterMenuPopup"
onpopupshowing="return Firebug.CookieModule.onFilterPopupShowing(this)">
<menuitem id="fcFilterByPath" type="checkbox" class="fbInternational"
value="cookies.filterByPath"
- label="firecookie.filter.byPath"
- tooltiptext="firecookie.filter.byPathTooltip"
+ label="cookies.filter.byPath"
+ tooltiptext="cookies.filter.byPathTooltip"
command="cmd_cookieFilterByPath"/>
<menuitem id="fcShowRejectedCookies" type="checkbox"
class="fbInternational"
value="cookies.showRejectedCookies"
- label="firecookie.filter.showRejectedCookies"
- tooltiptext="firecookie.filter.showRejectedCookiesTooltip"
+ label="cookies.filter.showRejectedCookies"
+ tooltiptext="cookies.filter.showRejectedCookiesTooltip"
command="cmd_cookieShowRejectedCookies"/>
<!--<menuseparator/>
- <menu id="fcCustomPathFilter" label="firecookie.Path Filter">
+ <menu id="fcCustomPathFilter" label="cookies.Path Filter">
<menupopup id="fcCustomPathFilterPanel" ignorekeys="true"
onpopupshowing="return Firebug.CookieModule.onFilterPanelShowing(this, Firebug.currentContext)"
onpopuphiding="return Firebug.CookieModule.onFilterPanelHiding(this, Firebug.currentContext)"
@@ -127,23 +127,23 @@
<menuitem type="radio" name="fcPerm" value="host-allow-session"/>
</menupopup>
</toolbarbutton>
- <toolbarseparator/>
- <!-- Tools -->
+ <!-- Tools xxxHonza: remove this for now and wait for user feedback.
+ <toolbarseparator/>
<toolbarbutton id="fcToolsMenu" type="menu" class="fbInternational"
- label="firecookie.Tools"
- tooltiptext="firecookie.ToolsTooltip">
+ label="cookies.Tools"
+ tooltiptext="cookies.ToolsTooltip">
<menupopup>
<menuitem id="fcCookieViewAll" class="fbInternational"
command="cmd_cookieViewAll"
- label="firecookie.ViewAll"
- tooltiptext="firecookie.ViewAllTooltip"/>
+ label="cookies.ViewAll"
+ tooltiptext="cookies.ViewAllTooltip"/>
<menuitem id="fcCookieViewExceptions" class="fbInternational"
command="cmd_cookieViewExceptions"
- label="firecookie.ViewExceptions"
- tooltiptext="firecookie.ViewExceptionsTooltip"/>
+ label="cookies.ViewExceptions"
+ tooltiptext="cookies.ViewExceptionsTooltip"/>
</menupopup>
- </toolbarbutton>
+ </toolbarbutton> -->
</hbox>
</hbox>
</toolbar>
View
22 extension/content/firebug/cookies/cookiePermissions.js
@@ -23,15 +23,15 @@ const cookieLifeTimePref = "lifetimePolicy";
const permOptions =
{
- "default-session": ["firecookie.default.session", false],
- "default-third-party-session": ["firecookie.default.thirdPartySession", false],
- "default-third-party": ["firecookie.default.thirdParty", false],
- "default-allow": ["firecookie.default.allow", false],
- "default-deny": ["firecookie.default.deny", false],
- "default-warn": ["firecookie.default.warn", false],
- "host-allow-session": ["firecookie.host.session", true],
- "host-allow": ["firecookie.host.accept", true],
- "host-deny": ["firecookie.host.reject", true]
+ "default-session": ["cookies.default.session", false],
+ "default-third-party-session": ["cookies.default.thirdPartySession", false],
+ "default-third-party": ["cookies.default.thirdParty", false],
+ "default-allow": ["cookies.default.allow", false],
+ "default-deny": ["cookies.default.deny", false],
+ "default-warn": ["cookies.default.warn", false],
+ "host-allow-session": ["cookies.host.session", true],
+ "host-allow": ["cookies.host.accept", true],
+ "host-deny": ["cookies.host.reject", true]
};
// ********************************************************************************************* //
@@ -54,7 +54,7 @@ var CookiePermissions = Obj.extend(Object,
if (tooltip.fcEnabled)
{
var host = context.window.location.host;
- tooltip.label = Locale.$STRF("firecookie.perm.manage.tooltip", [host]);
+ tooltip.label = Locale.$STRF("cookies.perm.manage.tooltip", [host]);
}
return tooltip.fcEnabled;
@@ -153,7 +153,7 @@ var CookiePermissions = Obj.extend(Object,
permissionManager.add(location, "cookie", permissionManager.DENY_ACTION);
case "default-deny":
- if (Options.get(clearWhenDeny))
+ if (Options.get("cookies.clearWhenDeny"))
Firebug.CookieModule.onRemoveAll(context);
break;
}
View
141 extension/content/firebug/cookies/cookieReps.js
@@ -13,6 +13,7 @@ define([
"firebug/lib/css",
"firebug/lib/events",
"firebug/lib/array",
+ "firebug/lib/system",
"firebug/cookies/baseObserver",
"firebug/cookies/menuUtils",
"firebug/cookies/cookieUtils",
@@ -23,7 +24,7 @@ define([
"firebug/cookies/editCookie",
"firebug/cookies/cookieClipboard",
],
-function(Xpcom, Obj, Locale, Domplate, Dom, Options, Persist, Str, Http, Css, Events, Arr,
+function(Xpcom, Obj, Locale, Domplate, Dom, Options, Persist, Str, Http, Css, Events, Arr, System,
BaseObserver, MenuUtils, CookieUtils, Cookie, Breakpoints, CookieEvents,
CookiePermissions, EditCookie, CookieClipboard) {
@@ -60,7 +61,7 @@ const panelName = "cookies";
var CookieReps = {};
/**
- * @domplate Basic template for all Firecookie CookieReps.
+ * @domplate Basic template for Cookies panel UI.
*/
CookieReps.Rep = domplate(Firebug.Rep,
{
@@ -100,7 +101,13 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
),
TD({"class": "cookieValueCol cookieCol"},
DIV({"class": "cookieValueLabel cookieLabel"},
- SPAN("$cookie|getValue"))
+ SPAN("$cookie.cookie.value|getValue")
+ )
+ ),
+ TD({"class": "cookieRawValueCol cookieCol"},
+ DIV({"class": "cookieRawValueLabel cookieLabel"},
+ SPAN("$cookie.cookie.rawValue|getValue")
+ )
),
TD({"class": "cookieDomainCol cookieCol"},
SPAN({"class": "cookieDomainLabel cookieLabel", onclick: "$onClickDomain"},
@@ -121,7 +128,7 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
DIV({"class": "cookieHttpOnlyLabel cookieLabel"}, "$cookie|isHttpOnly")
),
TD({"class": "cookieSecurityCol cookieCol"},
- DIV({"class": "cookieLabel"}, "$cookie|isSecure")
+ DIV({"class": "cookieSecurityLabel cookieLabel"}, "$cookie|isSecure")
),
TD({"class": "cookieStatusCol cookieCol"},
DIV({"class": "cookieLabel"}, "$cookie|getStatus")
@@ -140,22 +147,22 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
DIV({"class": "cookieInfoTabs"},
A({"class": "cookieInfoValueTab cookieInfoTab", onclick: "$onClickTab",
view: "Value"},
- Locale.$STR("firecookie.info.valuetab.label")
+ Locale.$STR("cookies.info.valuetab.label")
),
A({"class": "cookieInfoRawValueTab cookieInfoTab", onclick: "$onClickTab",
view: "RawValue",
$collapsed: "$cookie|hideRawValueTab"},
- Locale.$STR("firecookie.info.rawdatatab.Raw Data")
+ Locale.$STR("cookies.info.rawdatatab.Raw Data")
),
A({"class": "cookieInfoJsonTab cookieInfoTab", onclick: "$onClickTab",
view: "Json",
$collapsed: "$cookie|hideJsonTab"},
- Locale.$STR("firecookie.info.jsontab.JSON")
+ Locale.$STR("cookies.info.jsontab.JSON")
),
A({"class": "cookieInfoXmlTab cookieInfoTab", onclick: "$onClickTab",
view: "Xml",
$collapsed: "$cookie|hideXmlTab"},
- Locale.$STR("firecookie.info.xmltab.XML")
+ Locale.$STR("cookies.info.xmltab.XML")
)
),
DIV({"class": "cookieInfoValueText cookieInfoText"}),
@@ -189,14 +196,9 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
return cookie.cookie.name;
},
- getValue: function(cookie)
+ getValue: function(value)
{
- var limit = 200;
- var value = cookie.cookie.value;
- if (value.length > limit)
- return Str.escapeNewLines(value.substr(0, limit) + "...");
- else
- return Str.escapeNewLines(value);
+ return Str.escapeNewLines(Str.cropString(value));
},
getDomain: function(cookie)
@@ -215,7 +217,7 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
// The first character is space so, if the table is sorted according
// to this column, all "Session" cookies are displayed at the begining.
if (cookie.cookie.expires == 0)
- return " " + Locale.$STR("firecookie.Session");
+ return " " + Locale.$STR("cookies.Session");
try
{
@@ -273,12 +275,12 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
isDomainCookie: function(cookie)
{
- return cookie.cookie.isDomain ? Locale.$STR("firecookie.domain.label") : "";
+ return cookie.cookie.isDomain ? Locale.$STR("cookies.domain.label") : "";
},
isSecure: function(cookie)
{
- return cookie.cookie.isSecure ? Locale.$STR("firecookie.secure.label") : "";
+ return cookie.cookie.isSecure ? Locale.$STR("cookies.secure.label") : "";
},
getStatus: function(cookie)
@@ -291,13 +293,13 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
case STATUS_UNKNOWN:
return "";
case STATUS_ACCEPTED:
- return Locale.$STR("firecookie.status.accepted");
+ return Locale.$STR("cookies.status.accepted");
case STATUS_DOWNGRADED:
- return Locale.$STR("firecookie.status.downgraded");
+ return Locale.$STR("cookies.status.downgraded");
case STATUS_FLAGGED:
- return Locale.$STR("firecookie.status.flagged");
+ return Locale.$STR("cookies.status.flagged");
case STATUS_REJECTED:
- return Locale.$STR("firecookie.status.rejected");
+ return Locale.$STR("cookies.status.rejected");
}
return "";
@@ -349,14 +351,14 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
if (!rejected)
{
items.push({
- label: Locale.$STR("firecookie.Cut"),
+ label: Locale.$STR("cookies.Cut"),
nol10n: true,
command: Obj.bindFixed(this.onCut, this, cookie)
});
}
items.push({
- label: Locale.$STR("firecookie.Copy"),
+ label: Locale.$STR("cookies.Copy"),
nol10n: true,
command: Obj.bindFixed(this.onCopy, this, cookie)
});
@@ -364,7 +366,7 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
if (!rejected)
{
items.push({
- label: Locale.$STR("firecookie.Paste"),
+ label: Locale.$STR("cookies.Paste"),
nol10n: true,
disabled: CookieClipboard.isCookieAvailable() ? false : true,
command: Obj.bindFixed(this.onPaste, this, cookie)
@@ -373,7 +375,7 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
}
items.push({
- label: Locale.$STR("firecookie.CopyAll"),
+ label: Locale.$STR("cookies.CopyAll"),
nol10n: true,
command: Obj.bindFixed(this.onCopyAll, this, cookie)
});
@@ -382,14 +384,14 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
{
items.push("-");
items.push({
- label: Locale.$STR("firecookie.Delete"),
+ label: Locale.$STR("cookies.Delete"),
nol10n: true,
command: Obj.bindFixed(this.onRemove, this, cookie)
});
items.push("-");
items.push({
- label: Locale.$STR("firecookie.Edit"),
+ label: Locale.$STR("cookies.Edit"),
nol10n: true,
command: Obj.bindFixed(this.onEdit, this, cookie)
});
@@ -397,7 +399,7 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
if (cookie.cookie.rawValue)
{
items.push({
- label: Locale.$STR("firecookie.Clear Value"),
+ label: Locale.$STR("cookies.Clear Value"),
nol10n: true,
command: Obj.bindFixed(this.onClearValue, this, cookie)
});
@@ -438,7 +440,7 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
text += row.repObject.toString() + "\n";
}
- copyToClipboard(text);
+ System.copyToClipboard(text);
},
onPaste: function(clickedCookie) // clickedCookie can be null if the user clicks within panel area.
@@ -500,7 +502,7 @@ CookieReps.CookieRow = domplate(CookieReps.Rep,
if (FBTrace.DBG_COOKIES)
FBTrace.sysout("cookies.onClearValue;", cookie);
- var newCookie = new Firebug.CookieModule.Cookie(cookie.cookie);
+ var newCookie = new Cookie(cookie.cookie);
newCookie.cookie.rawValue = "";
Firebug.CookieModule.createCookie(newCookie);
},
@@ -764,7 +766,7 @@ CookieReps.CookieChanged = domplate(CookieReps.Rep,
TBODY(
TR(
TD({width: "100%"},
- SPAN(Locale.$STR("firecookie.console.cookie"), " "),
+ SPAN(Locale.$STR("cookies.console.cookie"), " "),
SPAN({"class": "cookieNameLabel", onclick: "$onClick"},
"$object|getName",
" "),
@@ -845,27 +847,30 @@ CookieReps.CookieChanged = domplate(CookieReps.Rep,
switch(cookieEvent.action)
{
case "deleted":
- return Locale.$STR("firecookie.console.deleted");
+ return Locale.$STR("cookies.console.deleted");
case "added":
- return Locale.$STR("firecookie.console.added");
+ return Locale.$STR("cookies.console.added");
case "changed":
- return Locale.$STR("firecookie.console.changed");
+ return Locale.$STR("cookies.console.changed");
case "cleared":
- return Locale.$STR("firecookie.console.cleared");
+ return Locale.$STR("cookies.console.cleared");
}
return "";
},
- getName: function(cookieEvent) {
+ getName: function(cookieEvent)
+ {
return cookieEvent.cookie.name;
},
- getValue: function(cookieEvent) {
+ getValue: function(cookieEvent)
+ {
return Str.cropString(cookieEvent.cookie.value, 75);
},
- getDomain: function(cookieEvent) {
+ getDomain: function(cookieEvent)
+ {
return cookieEvent.cookie.host;
},
@@ -909,7 +914,7 @@ CookieReps.CookieRejected = domplate(CookieReps.Rep,
TR(
TD({width: "100%"},
SPAN({"class": "cookieRejectedLabel"},
- Locale.$STR("firecookie.console.cookiesrejected")),
+ Locale.$STR("cookies.console.cookiesrejected")),
" ",
SPAN({"class": "cookieRejectedList"},
"$object|getCookieList")
@@ -940,7 +945,7 @@ CookieReps.CookieRejected = domplate(CookieReps.Rep,
var activeHost = context.cookies.activeHosts[cookieEvent.uri.host];
var cookies = activeHost.receivedCookies;
if (!cookies)
- return Locale.$STR("firecookie.console.nocookiesreceived");
+ return Locale.$STR("cookies.console.nocookiesreceived");
var label = "";
for (var i=0; i<cookies.length; i++)
@@ -983,7 +988,7 @@ CookieReps.CookieCleared = domplate(CookieReps.Rep,
getLabel: function()
{
- return Locale.$STR("firecookie.console.cookiescleared");
+ return Locale.$STR("cookies.console.cookiescleared");
},
// Context menu
@@ -1015,56 +1020,62 @@ CookieReps.CookieTable = domplate(CookieReps.Rep,
TD({id: "colName", role: "columnheader",
"class": "cookieHeaderCell alphaValue a11yFocus"},
DIV({"class": "cookieHeaderCellBox",
- title: Locale.$STR("firecookie.header.name.tooltip")},
- Locale.$STR("firecookie.header.name"))
+ title: Locale.$STR("cookies.header.name.tooltip")},
+ Locale.$STR("cookies.header.name"))
),
TD({id: "colValue", role: "columnheader",
"class": "cookieHeaderCell alphaValue a11yFocus"},
DIV({"class": "cookieHeaderCellBox",
- title: Locale.$STR("firecookie.header.value.tooltip")},
- Locale.$STR("firecookie.header.value"))
+ title: Locale.$STR("cookies.header.value.tooltip")},
+ Locale.$STR("cookies.header.value"))
+ ),
+ TD({id: "colRawValue", role: "columnheader",
+ "class": "cookieHeaderCell alphaValue a11yFocus"},
+ DIV({"class": "cookieHeaderCellBox",
+ title: Locale.$STR("cookies.header.rawValue.tooltip")},
+ Locale.$STR("cookies.header.rawValue"))
),
TD({id: "colDomain", role: "columnheader",
"class": "cookieHeaderCell alphaValue a11yFocus"},
DIV({"class": "cookieHeaderCellBox",
- title: Locale.$STR("firecookie.header.domain.tooltip")},
- Locale.$STR("firecookie.header.domain"))
+ title: Locale.$STR("cookies.header.domain.tooltip")},
+ Locale.$STR("cookies.header.domain"))
),
TD({id: "colSize", role: "columnheader",
"class": "cookieHeaderCell a11yFocus"},
DIV({"class": "cookieHeaderCellBox",
- title: Locale.$STR("firecookie.header.size.tooltip")},
- Locale.$STR("firecookie.header.size"))
+ title: Locale.$STR("cookies.header.size.tooltip")},
+ Locale.$STR("cookies.header.size"))
),
TD({id: "colPath", role: "columnheader",
"class": "cookieHeaderCell alphaValue a11yFocus"},
DIV({"class": "cookieHeaderCellBox",
- title: Locale.$STR("firecookie.header.path.tooltip")},
- Locale.$STR("firecookie.header.path"))
+ title: Locale.$STR("cookies.header.path.tooltip")},
+ Locale.$STR("cookies.header.path"))
),
TD({id: "colExpires", role: "columnheader",
"class": "cookieHeaderCell a11yFocus"},
DIV({"class": "cookieHeaderCellBox",
- title: Locale.$STR("firecookie.header.expires.tooltip")},
- Locale.$STR("firecookie.header.expires"))
+ title: Locale.$STR("cookies.header.expires.tooltip")},
+ Locale.$STR("cookies.header.expires"))
),
TD({id: "colHttpOnly", role: "columnheader",
"class": "cookieHeaderCell alphaValue a11yFocus"},
DIV({"class": "cookieHeaderCellBox",
- title: Locale.$STR("firecookie.header.httponly.tooltip")},
- Locale.$STR("firecookie.header.httponly"))
+ title: Locale.$STR("cookies.header.httponly.tooltip")},
+ Locale.$STR("cookies.header.httponly"))
),
TD({id: "colSecurity", role: "columnheader",
"class": "cookieHeaderCell alphaValue a11yFocus"},
DIV({"class": "cookieHeaderCellBox",
- title: Locale.$STR("firecookie.header.security.tooltip")},
- Locale.$STR("firecookie.header.security"))
+ title: Locale.$STR("cookies.header.security.tooltip")},
+ Locale.$STR("cookies.header.security"))
),
TD({id: "colStatus", role: "columnheader",
"class": "cookieHeaderCell alphaValue a11yFocus"},
DIV({"class": "cookieHeaderCellBox",