зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1199466 - part 2 - Cookie manager in FF preferences should show the userContextId, r=paolo
This commit is contained in:
Родитель
b88bc4f2a4
Коммит
8d1fe3d9e0
|
@ -6,6 +6,7 @@
|
|||
const nsICookie = Components.interfaces.nsICookie;
|
||||
|
||||
Components.utils.import("resource://gre/modules/PluralForm.jsm");
|
||||
Components.utils.import("resource://gre/modules/Services.jsm")
|
||||
|
||||
var gCookiesWindow = {
|
||||
_cm : Components.classes["@mozilla.org/cookiemanager;1"]
|
||||
|
@ -16,6 +17,7 @@ var gCookiesWindow = {
|
|||
_hostOrder : [],
|
||||
_tree : null,
|
||||
_bundle : null,
|
||||
_bundleBrowser : null,
|
||||
|
||||
init: function () {
|
||||
var os = Components.classes["@mozilla.org/observer-service;1"]
|
||||
|
@ -24,11 +26,16 @@ var gCookiesWindow = {
|
|||
os.addObserver(this, "perm-changed", false);
|
||||
|
||||
this._bundle = document.getElementById("bundlePreferences");
|
||||
this._bundleBrowser = document.getElementById("bundleBrowser");
|
||||
this._tree = document.getElementById("cookiesList");
|
||||
|
||||
this._populateList(true);
|
||||
|
||||
document.getElementById("filter").focus();
|
||||
|
||||
if (!Services.prefs.getBoolPref("privacy.userContext.enabled")) {
|
||||
document.getElementById("userContextRow").hidden = true;
|
||||
}
|
||||
},
|
||||
|
||||
uninit: function () {
|
||||
|
@ -453,16 +460,17 @@ var gCookiesWindow = {
|
|||
_makeCookieObject: function (aStrippedHost, aCookie) {
|
||||
var host = aCookie.host;
|
||||
var formattedHost = host.charAt(0) == "." ? host.substring(1, host.length) : host;
|
||||
var c = { name : aCookie.name,
|
||||
value : aCookie.value,
|
||||
isDomain : aCookie.isDomain,
|
||||
host : aCookie.host,
|
||||
rawHost : aStrippedHost,
|
||||
path : aCookie.path,
|
||||
isSecure : aCookie.isSecure,
|
||||
expires : aCookie.expires,
|
||||
level : 1,
|
||||
container : false };
|
||||
var c = { name : aCookie.name,
|
||||
value : aCookie.value,
|
||||
isDomain : aCookie.isDomain,
|
||||
host : aCookie.host,
|
||||
rawHost : aStrippedHost,
|
||||
path : aCookie.path,
|
||||
isSecure : aCookie.isSecure,
|
||||
expires : aCookie.expires,
|
||||
level : 1,
|
||||
container : false,
|
||||
originAttributes: aCookie.originAttributes };
|
||||
return c;
|
||||
},
|
||||
|
||||
|
@ -500,7 +508,7 @@ var gCookiesWindow = {
|
|||
|
||||
_updateCookieData: function (aItem) {
|
||||
var seln = this._view.selection;
|
||||
var ids = ["name", "value", "host", "path", "isSecure", "expires"];
|
||||
var ids = ["name", "value", "host", "path", "isSecure", "expires", "userContext"];
|
||||
var properties;
|
||||
|
||||
if (aItem && !aItem.container && seln.count > 0) {
|
||||
|
@ -509,22 +517,41 @@ var gCookiesWindow = {
|
|||
isDomain: aItem.isDomain ? this._bundle.getString("domainColon")
|
||||
: this._bundle.getString("hostColon"),
|
||||
isSecure: aItem.isSecure ? this._bundle.getString("forSecureOnly")
|
||||
: this._bundle.getString("forAnyConnection") };
|
||||
for (var i = 0; i < ids.length; ++i)
|
||||
: this._bundle.getString("forAnyConnection"),
|
||||
userContext: this._convertUserContextIdToContainerName(aItem.originAttributes.userContextId) };
|
||||
for (var i = 0; i < ids.length; ++i) {
|
||||
document.getElementById(ids[i]).disabled = false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
var noneSelected = this._bundle.getString("noCookieSelected");
|
||||
properties = { name: noneSelected, value: noneSelected, host: noneSelected,
|
||||
path: noneSelected, expires: noneSelected,
|
||||
isSecure: noneSelected };
|
||||
for (i = 0; i < ids.length; ++i)
|
||||
isSecure: noneSelected, userContext: noneSelected };
|
||||
for (i = 0; i < ids.length; ++i) {
|
||||
document.getElementById(ids[i]).disabled = true;
|
||||
}
|
||||
}
|
||||
for (var property in properties)
|
||||
document.getElementById(property).value = properties[property];
|
||||
},
|
||||
|
||||
_convertUserContextIdToContainerName: function(aUserContextId) {
|
||||
// TODO: this code should be moved in a separate module - bug 1239606
|
||||
switch (aUserContextId) {
|
||||
// No UserContext:
|
||||
case 0: return "";
|
||||
|
||||
case 1: return this._bundleBrowser.getString("usercontext.personal.label");
|
||||
case 2: return this._bundleBrowser.getString("usercontext.work.label");
|
||||
case 3: return this._bundleBrowser.getString("usercontext.shopping.label");
|
||||
case 4: return this._bundleBrowser.getString("usercontext.banking.label");
|
||||
|
||||
// This should not happen.
|
||||
default: return "Context " + aUserContextId;
|
||||
}
|
||||
},
|
||||
|
||||
onCookieSelected: function () {
|
||||
var item;
|
||||
var seln = this._tree.view.selection;
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
<stringbundle id="bundlePreferences"
|
||||
src="chrome://browser/locale/preferences/preferences.properties"/>
|
||||
|
||||
<stringbundle id="bundleBrowser"
|
||||
src="chrome://browser/locale/browser.properties"/>
|
||||
|
||||
<keyset>
|
||||
<key key="&windowClose.key;" modifiers="accel" oncommand="window.close();"/>
|
||||
<key key="&focusSearch1.key;" modifiers="accel" oncommand="gCookiesWindow.focusFilterBox();"/>
|
||||
|
@ -85,6 +88,10 @@
|
|||
<hbox pack="end"><label id="expiresLabel" control="expires" value="&props.expires.label;"/></hbox>
|
||||
<textbox id="expires" readonly="true" class="plain"/>
|
||||
</row>
|
||||
<row align="center" id="userContextRow">
|
||||
<hbox pack="end"><label id="userContextLabel" control="userContext" value="&props.container.label;"/></hbox>
|
||||
<textbox id="userContext" readonly="true" class="plain"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</hbox>
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
<!ENTITY props.path.label "Path:">
|
||||
<!ENTITY props.secure.label "Send For:">
|
||||
<!ENTITY props.expires.label "Expires:">
|
||||
<!ENTITY props.container.label "Container:">
|
||||
|
||||
<!ENTITY window.title "Cookies">
|
||||
<!ENTITY windowClose.key "w">
|
||||
|
|
Загрузка…
Ссылка в новой задаче