зеркало из 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;
|
const nsICookie = Components.interfaces.nsICookie;
|
||||||
|
|
||||||
Components.utils.import("resource://gre/modules/PluralForm.jsm");
|
Components.utils.import("resource://gre/modules/PluralForm.jsm");
|
||||||
|
Components.utils.import("resource://gre/modules/Services.jsm")
|
||||||
|
|
||||||
var gCookiesWindow = {
|
var gCookiesWindow = {
|
||||||
_cm : Components.classes["@mozilla.org/cookiemanager;1"]
|
_cm : Components.classes["@mozilla.org/cookiemanager;1"]
|
||||||
|
@ -16,6 +17,7 @@ var gCookiesWindow = {
|
||||||
_hostOrder : [],
|
_hostOrder : [],
|
||||||
_tree : null,
|
_tree : null,
|
||||||
_bundle : null,
|
_bundle : null,
|
||||||
|
_bundleBrowser : null,
|
||||||
|
|
||||||
init: function () {
|
init: function () {
|
||||||
var os = Components.classes["@mozilla.org/observer-service;1"]
|
var os = Components.classes["@mozilla.org/observer-service;1"]
|
||||||
|
@ -24,11 +26,16 @@ var gCookiesWindow = {
|
||||||
os.addObserver(this, "perm-changed", false);
|
os.addObserver(this, "perm-changed", false);
|
||||||
|
|
||||||
this._bundle = document.getElementById("bundlePreferences");
|
this._bundle = document.getElementById("bundlePreferences");
|
||||||
|
this._bundleBrowser = document.getElementById("bundleBrowser");
|
||||||
this._tree = document.getElementById("cookiesList");
|
this._tree = document.getElementById("cookiesList");
|
||||||
|
|
||||||
this._populateList(true);
|
this._populateList(true);
|
||||||
|
|
||||||
document.getElementById("filter").focus();
|
document.getElementById("filter").focus();
|
||||||
|
|
||||||
|
if (!Services.prefs.getBoolPref("privacy.userContext.enabled")) {
|
||||||
|
document.getElementById("userContextRow").hidden = true;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
uninit: function () {
|
uninit: function () {
|
||||||
|
@ -453,16 +460,17 @@ var gCookiesWindow = {
|
||||||
_makeCookieObject: function (aStrippedHost, aCookie) {
|
_makeCookieObject: function (aStrippedHost, aCookie) {
|
||||||
var host = aCookie.host;
|
var host = aCookie.host;
|
||||||
var formattedHost = host.charAt(0) == "." ? host.substring(1, host.length) : host;
|
var formattedHost = host.charAt(0) == "." ? host.substring(1, host.length) : host;
|
||||||
var c = { name : aCookie.name,
|
var c = { name : aCookie.name,
|
||||||
value : aCookie.value,
|
value : aCookie.value,
|
||||||
isDomain : aCookie.isDomain,
|
isDomain : aCookie.isDomain,
|
||||||
host : aCookie.host,
|
host : aCookie.host,
|
||||||
rawHost : aStrippedHost,
|
rawHost : aStrippedHost,
|
||||||
path : aCookie.path,
|
path : aCookie.path,
|
||||||
isSecure : aCookie.isSecure,
|
isSecure : aCookie.isSecure,
|
||||||
expires : aCookie.expires,
|
expires : aCookie.expires,
|
||||||
level : 1,
|
level : 1,
|
||||||
container : false };
|
container : false,
|
||||||
|
originAttributes: aCookie.originAttributes };
|
||||||
return c;
|
return c;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -500,7 +508,7 @@ var gCookiesWindow = {
|
||||||
|
|
||||||
_updateCookieData: function (aItem) {
|
_updateCookieData: function (aItem) {
|
||||||
var seln = this._view.selection;
|
var seln = this._view.selection;
|
||||||
var ids = ["name", "value", "host", "path", "isSecure", "expires"];
|
var ids = ["name", "value", "host", "path", "isSecure", "expires", "userContext"];
|
||||||
var properties;
|
var properties;
|
||||||
|
|
||||||
if (aItem && !aItem.container && seln.count > 0) {
|
if (aItem && !aItem.container && seln.count > 0) {
|
||||||
|
@ -509,22 +517,41 @@ var gCookiesWindow = {
|
||||||
isDomain: aItem.isDomain ? this._bundle.getString("domainColon")
|
isDomain: aItem.isDomain ? this._bundle.getString("domainColon")
|
||||||
: this._bundle.getString("hostColon"),
|
: this._bundle.getString("hostColon"),
|
||||||
isSecure: aItem.isSecure ? this._bundle.getString("forSecureOnly")
|
isSecure: aItem.isSecure ? this._bundle.getString("forSecureOnly")
|
||||||
: this._bundle.getString("forAnyConnection") };
|
: this._bundle.getString("forAnyConnection"),
|
||||||
for (var i = 0; i < ids.length; ++i)
|
userContext: this._convertUserContextIdToContainerName(aItem.originAttributes.userContextId) };
|
||||||
|
for (var i = 0; i < ids.length; ++i) {
|
||||||
document.getElementById(ids[i]).disabled = false;
|
document.getElementById(ids[i]).disabled = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
var noneSelected = this._bundle.getString("noCookieSelected");
|
var noneSelected = this._bundle.getString("noCookieSelected");
|
||||||
properties = { name: noneSelected, value: noneSelected, host: noneSelected,
|
properties = { name: noneSelected, value: noneSelected, host: noneSelected,
|
||||||
path: noneSelected, expires: noneSelected,
|
path: noneSelected, expires: noneSelected,
|
||||||
isSecure: noneSelected };
|
isSecure: noneSelected, userContext: noneSelected };
|
||||||
for (i = 0; i < ids.length; ++i)
|
for (i = 0; i < ids.length; ++i) {
|
||||||
document.getElementById(ids[i]).disabled = true;
|
document.getElementById(ids[i]).disabled = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for (var property in properties)
|
for (var property in properties)
|
||||||
document.getElementById(property).value = properties[property];
|
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 () {
|
onCookieSelected: function () {
|
||||||
var item;
|
var item;
|
||||||
var seln = this._tree.view.selection;
|
var seln = this._tree.view.selection;
|
||||||
|
|
|
@ -24,6 +24,9 @@
|
||||||
<stringbundle id="bundlePreferences"
|
<stringbundle id="bundlePreferences"
|
||||||
src="chrome://browser/locale/preferences/preferences.properties"/>
|
src="chrome://browser/locale/preferences/preferences.properties"/>
|
||||||
|
|
||||||
|
<stringbundle id="bundleBrowser"
|
||||||
|
src="chrome://browser/locale/browser.properties"/>
|
||||||
|
|
||||||
<keyset>
|
<keyset>
|
||||||
<key key="&windowClose.key;" modifiers="accel" oncommand="window.close();"/>
|
<key key="&windowClose.key;" modifiers="accel" oncommand="window.close();"/>
|
||||||
<key key="&focusSearch1.key;" modifiers="accel" oncommand="gCookiesWindow.focusFilterBox();"/>
|
<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>
|
<hbox pack="end"><label id="expiresLabel" control="expires" value="&props.expires.label;"/></hbox>
|
||||||
<textbox id="expires" readonly="true" class="plain"/>
|
<textbox id="expires" readonly="true" class="plain"/>
|
||||||
</row>
|
</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>
|
</rows>
|
||||||
</grid>
|
</grid>
|
||||||
</hbox>
|
</hbox>
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
<!ENTITY props.path.label "Path:">
|
<!ENTITY props.path.label "Path:">
|
||||||
<!ENTITY props.secure.label "Send For:">
|
<!ENTITY props.secure.label "Send For:">
|
||||||
<!ENTITY props.expires.label "Expires:">
|
<!ENTITY props.expires.label "Expires:">
|
||||||
|
<!ENTITY props.container.label "Container:">
|
||||||
|
|
||||||
<!ENTITY window.title "Cookies">
|
<!ENTITY window.title "Cookies">
|
||||||
<!ENTITY windowClose.key "w">
|
<!ENTITY windowClose.key "w">
|
||||||
|
|
Загрузка…
Ссылка в новой задаче