mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1123952 - Make values copyable in the netmonitor security tab. r=vporof
This commit is contained in:
parent
2dac283e4e
commit
70d0b4665a
@ -2743,21 +2743,22 @@ NetworkDetailsView.prototype = {
|
||||
}
|
||||
|
||||
/**
|
||||
* A helper that sets label text to specified value.
|
||||
* A helper that sets value and tooltiptext attributes of an element to
|
||||
* specified value.
|
||||
*
|
||||
* @param string selector
|
||||
* A selector for the label.
|
||||
* A selector for the element.
|
||||
* @param string value
|
||||
* The value label should have. If this evaluates to false a
|
||||
* placeholder string <Not Available> is used instead.
|
||||
* The value to set. If this evaluates to false a placeholder string
|
||||
* <Not Available> is used instead.
|
||||
*/
|
||||
function setLabel(selector, value) {
|
||||
function setValue(selector, value) {
|
||||
let label = $(selector);
|
||||
if (!value) {
|
||||
label.value = L10N.getStr("netmonitor.security.notAvailable");
|
||||
label.setAttribute("tooltiptext", label.value);
|
||||
label.setAttribute("value", L10N.getStr("netmonitor.security.notAvailable"));
|
||||
label.setAttribute("tooltiptext", label.getAttribute("value"));
|
||||
} else {
|
||||
label.value = value;
|
||||
label.setAttribute("value", value);
|
||||
label.setAttribute("tooltiptext", value);
|
||||
}
|
||||
}
|
||||
@ -2785,43 +2786,43 @@ NetworkDetailsView.prototype = {
|
||||
let disabledLabel = L10N.getStr("netmonitor.security.disabled");
|
||||
|
||||
// Connection parameters
|
||||
setLabel("#security-protocol-version-value", securityInfo.protocolVersion);
|
||||
setLabel("#security-ciphersuite-value", securityInfo.cipherSuite);
|
||||
setValue("#security-protocol-version-value", securityInfo.protocolVersion);
|
||||
setValue("#security-ciphersuite-value", securityInfo.cipherSuite);
|
||||
|
||||
// Host header
|
||||
let domain = NetMonitorView.RequestsMenu._getUriHostPort(url);
|
||||
let hostHeader = L10N.getFormatStr("netmonitor.security.hostHeader", domain);
|
||||
setLabel("#security-info-host-header", hostHeader);
|
||||
setValue("#security-info-host-header", hostHeader);
|
||||
|
||||
// Parameters related to the domain
|
||||
setLabel("#security-http-strict-transport-security-value",
|
||||
setValue("#security-http-strict-transport-security-value",
|
||||
securityInfo.hsts ? enabledLabel : disabledLabel);
|
||||
|
||||
setLabel("#security-public-key-pinning-value",
|
||||
setValue("#security-public-key-pinning-value",
|
||||
securityInfo.hpkp ? enabledLabel : disabledLabel);
|
||||
|
||||
// Certificate parameters
|
||||
let cert = securityInfo.cert;
|
||||
setLabel("#security-cert-subject-cn", cert.subject.commonName);
|
||||
setLabel("#security-cert-subject-o", cert.subject.organization);
|
||||
setLabel("#security-cert-subject-ou", cert.subject.organizationalUnit);
|
||||
setValue("#security-cert-subject-cn", cert.subject.commonName);
|
||||
setValue("#security-cert-subject-o", cert.subject.organization);
|
||||
setValue("#security-cert-subject-ou", cert.subject.organizationalUnit);
|
||||
|
||||
setLabel("#security-cert-issuer-cn", cert.issuer.commonName);
|
||||
setLabel("#security-cert-issuer-o", cert.issuer.organization);
|
||||
setLabel("#security-cert-issuer-ou", cert.issuer.organizationalUnit);
|
||||
setValue("#security-cert-issuer-cn", cert.issuer.commonName);
|
||||
setValue("#security-cert-issuer-o", cert.issuer.organization);
|
||||
setValue("#security-cert-issuer-ou", cert.issuer.organizationalUnit);
|
||||
|
||||
setLabel("#security-cert-validity-begins", cert.validity.start);
|
||||
setLabel("#security-cert-validity-expires", cert.validity.end);
|
||||
setValue("#security-cert-validity-begins", cert.validity.start);
|
||||
setValue("#security-cert-validity-expires", cert.validity.end);
|
||||
|
||||
setLabel("#security-cert-sha1-fingerprint", cert.fingerprint.sha1);
|
||||
setLabel("#security-cert-sha256-fingerprint", cert.fingerprint.sha256);
|
||||
setValue("#security-cert-sha1-fingerprint", cert.fingerprint.sha1);
|
||||
setValue("#security-cert-sha256-fingerprint", cert.fingerprint.sha256);
|
||||
} else {
|
||||
infobox.hidden = true;
|
||||
errorbox.hidden = false;
|
||||
|
||||
// Strip any HTML from the message.
|
||||
let plain = DOMParser.parseFromString(securityInfo.errorMessage, "text/html");
|
||||
$("#security-error-message").textContent = plain.body.textContent;
|
||||
setValue("#security-error-message", plain.body.textContent);
|
||||
}
|
||||
}),
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#headers-summary-url-value .textbox-input {
|
||||
.cropped-textbox .textbox-input {
|
||||
/* workaround for textbox not supporting the @crop attribute */
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
@ -300,7 +300,7 @@
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&netmonitorUI.summary.url;"/>
|
||||
<textbox id="headers-summary-url-value"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
@ -488,7 +488,14 @@
|
||||
flex="1">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&netmonitorUI.security.error;"/>
|
||||
<description id="security-error-message" flex="1"/>
|
||||
<hbox class="security-info-section"
|
||||
flex="1">
|
||||
<textbox id="security-error-message"
|
||||
class="plain"
|
||||
flex="1"
|
||||
multiline="true"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<vbox id="security-information"
|
||||
flex="1">
|
||||
@ -502,10 +509,10 @@
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&netmonitorUI.security.protocolVersion;"/>
|
||||
<label id="security-protocol-version-value"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-protocol-version-value"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
<image class="security-warning-icon"
|
||||
id="security-warning-sslv3"
|
||||
tooltiptext="&netmonitorUI.security.warning.sslv3;" />
|
||||
@ -515,10 +522,10 @@
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&netmonitorUI.security.cipherSuite;"/>
|
||||
<label id="security-ciphersuite-value"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-ciphersuite-value"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
<image class="security-warning-icon"
|
||||
id="security-warning-cipher"
|
||||
tooltiptext="&netmonitorUI.security.warning.cipher;" />
|
||||
@ -535,20 +542,20 @@
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&netmonitorUI.security.hsts;"/>
|
||||
<label id="security-http-strict-transport-security-value"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-http-strict-transport-security-value"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
<hbox id="security-public-key-pinning"
|
||||
class="tabpanel-summary-container"
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&netmonitorUI.security.hpkp;"/>
|
||||
<label id="security-public-key-pinning-value"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-public-key-pinning-value"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</vbox>
|
||||
@ -566,28 +573,28 @@
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&certmgr.certdetail.cn;:"/>
|
||||
<label id="security-cert-subject-cn"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-cert-subject-cn"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
<hbox class="tabpanel-summary-container"
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&certmgr.certdetail.o;:"/>
|
||||
<label id="security-cert-subject-o"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-cert-subject-o"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
<hbox class="tabpanel-summary-container"
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&certmgr.certdetail.ou;:"/>
|
||||
<label id="security-cert-subject-ou"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-cert-subject-ou"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<vbox class="tabpanel-summary-container">
|
||||
@ -599,28 +606,28 @@
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&certmgr.certdetail.cn;:"/>
|
||||
<label id="security-cert-issuer-cn"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-cert-issuer-cn"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
<hbox class="tabpanel-summary-container"
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&certmgr.certdetail.o;:"/>
|
||||
<label id="security-cert-issuer-o"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-cert-issuer-o"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
<hbox class="tabpanel-summary-container"
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&certmgr.certdetail.ou;:"/>
|
||||
<label id="security-cert-issuer-ou"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-cert-issuer-ou"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<vbox class="tabpanel-summary-container">
|
||||
@ -632,19 +639,19 @@
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&certmgr.begins;:"/>
|
||||
<label id="security-cert-validity-begins"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-cert-validity-begins"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
<hbox class="tabpanel-summary-container"
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&certmgr.expires;:"/>
|
||||
<label id="security-cert-validity-expires"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-cert-validity-expires"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<vbox class="tabpanel-summary-container">
|
||||
@ -656,19 +663,19 @@
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&certmgr.certdetail.sha256fingerprint;:"/>
|
||||
<label id="security-cert-sha256-fingerprint"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-cert-sha256-fingerprint"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
<hbox class="tabpanel-summary-container"
|
||||
align="baseline">
|
||||
<label class="plain tabpanel-summary-label"
|
||||
value="&certmgr.certdetail.sha1fingerprint;:"/>
|
||||
<label id="security-cert-sha1-fingerprint"
|
||||
class="plain tabpanel-summary-value devtools-monospace"
|
||||
crop="end"
|
||||
flex="1"/>
|
||||
<textbox id="security-cert-sha1-fingerprint"
|
||||
class="plain tabpanel-summary-value devtools-monospace cropped-textbox"
|
||||
flex="1"
|
||||
readonly="true"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</vbox>
|
||||
|
@ -37,7 +37,7 @@ add_task(function* () {
|
||||
is(errorbox.hidden, false, "Error box is visble.");
|
||||
is(infobox.hidden, true, "Information box is hidden.");
|
||||
|
||||
isnot(errormsg.textContent, "", "Error message is not empty.");
|
||||
isnot(errormsg.value, "", "Error message is not empty.");
|
||||
|
||||
yield teardown(monitor);
|
||||
|
||||
|
@ -579,10 +579,6 @@ label.requests-menu-status-code {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#security-error-message {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.security-warning-icon {
|
||||
background-image: url(alerticon-warning.png);
|
||||
background-size: 13px 12px;
|
||||
|
Loading…
Reference in New Issue
Block a user