gorhill 2017-11-07 16:38:26 -05:00
parent 9d86ab0af9
commit e7294a46d4
No known key found for this signature in database
GPG key ID: 25E1490B761470C2
3 changed files with 52 additions and 19 deletions

View file

@ -47,6 +47,14 @@
"message":"Click: disable\/enable uBlock₀ for this site.\n\nCtrl+click: disable uBlock₀ only on this page.", "message":"Click: disable\/enable uBlock₀ for this site.\n\nCtrl+click: disable uBlock₀ only on this page.",
"description":"English: Click: disable\/enable uBlock₀ for this site.\n\nCtrl+click: disable uBlock₀ only on this page." "description":"English: Click: disable\/enable uBlock₀ for this site.\n\nCtrl+click: disable uBlock₀ only on this page."
}, },
"popupPowerSwitchOffInfo":{
"message":"Click to disable uBO for this site.\n\nCtrl+click to disable uBO only on this page.",
"description":"Message to be read by screen readers"
},
"popupPowerSwitchOnInfo":{
"message":"Click to enable uBO for this site.",
"description":"Message to be read by screen readers"
},
"popupBlockedRequestPrompt":{ "popupBlockedRequestPrompt":{
"message":"requests blocked", "message":"requests blocked",
"description":"English: requests blocked" "description":"English: requests blocked"

View file

@ -401,25 +401,26 @@ var renderPrivacyExposure = function() {
// Assume everything has to be done incrementally. // Assume everything has to be done incrementally.
var renderPopup = function() { var renderPopup = function() {
var elem, text;
if ( popupData.tabTitle ) { if ( popupData.tabTitle ) {
document.title = popupData.appName + ' - ' + popupData.tabTitle; document.title = popupData.appName + ' - ' + popupData.tabTitle;
} }
uDom('body') elem = document.body;
.toggleClass('advancedUser', popupData.advancedUserEnabled) elem.classList.toggle('advancedUser', popupData.advancedUserEnabled);
.toggleClass( elem.classList.toggle(
'off', 'off',
(popupData.pageURL === '') || popupData.pageURL === '' ||
(!popupData.netFilteringSwitch) || !popupData.netFilteringSwitch ||
(popupData.pageHostname === 'behind-the-scene' && !popupData.advancedUserEnabled) popupData.pageHostname === 'behind-the-scene' && !popupData.advancedUserEnabled
); );
// If you think the `=== true` is pointless, you are mistaken // If you think the `=== true` is pointless, you are mistaken
uDom.nodeFromId('gotoPick').classList.toggle('enabled', popupData.canElementPicker === true); uDom.nodeFromId('gotoPick').classList.toggle('enabled', popupData.canElementPicker === true);
uDom.nodeFromId('gotoZap').classList.toggle('enabled', popupData.canElementPicker === true); uDom.nodeFromId('gotoZap').classList.toggle('enabled', popupData.canElementPicker === true);
var text, var blocked = popupData.pageBlockedRequestCount,
blocked = popupData.pageBlockedRequestCount,
total = popupData.pageAllowedRequestCount + blocked; total = popupData.pageAllowedRequestCount + blocked;
if ( total === 0 ) { if ( total === 0 ) {
text = formatNumber(0); text = formatNumber(0);
@ -486,14 +487,37 @@ var renderPopup = function() {
} }
uDom.nodeFromId('panes').classList.toggle('dfEnabled', dfPaneVisible); uDom.nodeFromId('panes').classList.toggle('dfEnabled', dfPaneVisible);
uDom('#firewallContainer')
.toggleClass('minimized', popupData.firewallPaneMinimized) elem = uDom.nodeFromId('firewallContainer');
.toggleClass('colorBlind', popupData.colorBlindFriendly); elem.classList.toggle('minimized', popupData.firewallPaneMinimized);
elem.classList.toggle('colorBlind', popupData.colorBlindFriendly);
// Build dynamic filtering pane only if in use // Build dynamic filtering pane only if in use
if ( dfPaneVisible ) { if ( dfPaneVisible ) {
buildAllFirewallRows(); buildAllFirewallRows();
} }
renderTooltips();
};
/******************************************************************************/
// https://github.com/gorhill/uBlock/issues/2889
// Use tooltip for ARIA purpose.
var renderTooltips = function() {
var elem = uDom.nodeFromId('switch'),
off = document.body.classList.contains('off'),
text;
if ( off ) {
text = vAPI.i18n('popupPowerSwitchOnInfo');
elem.setAttribute('aria-label', text);
elem.setAttribute('data-tip', text);
} else {
text = vAPI.i18n('popupPowerSwitchOffInfo');
elem.setAttribute('aria-label', text);
elem.setAttribute('data-tip', text);
}
}; };
/******************************************************************************/ /******************************************************************************/
@ -580,10 +604,11 @@ messaging.addChannelListener('popup', onPopupMessage);
/******************************************************************************/ /******************************************************************************/
var toggleNetFilteringSwitch = function(ev) { var toggleNetFilteringSwitch = function(ev) {
if ( !popupData || !popupData.pageURL ) { if ( !popupData || !popupData.pageURL ) { return; }
return; if (
} popupData.pageHostname === 'behind-the-scene' &&
if ( popupData.pageHostname === 'behind-the-scene' && !popupData.advancedUserEnabled ) { !popupData.advancedUserEnabled
) {
return; return;
} }
messaging.send( messaging.send(
@ -596,7 +621,7 @@ var toggleNetFilteringSwitch = function(ev) {
tabId: popupData.tabId tabId: popupData.tabId
} }
); );
renderTooltips();
hashFromPopupData(); hashFromPopupData();
}; };

View file

@ -13,7 +13,7 @@
<span id="appinfo"><span id="appname">&nbsp;</span> <span id="version">&nbsp;</span></span> <span id="appinfo"><span id="appname">&nbsp;</span> <span id="version">&nbsp;</span></span>
<div id="panes"> <div id="panes">
<div class="tooltipContainer"> <div class="tooltipContainer">
<p id="switch" data-i18n-tip="popupPowerSwitchInfo" data-tip-position="under"><span class="fa">&#xf011;</span></p> <p id="switch" data-tip-position="under"><span class="fa">&#xf011;</span></p>
<p id="basicTools"> <p id="basicTools">
<span id="gotoZap" class="fa tool" data-i18n-tip="popupTipZapper" data-tip-position="under">&#xf0e7;</span> <span id="gotoZap" class="fa tool" data-i18n-tip="popupTipZapper" data-tip-position="under">&#xf0e7;</span>
<span id="gotoPick" class="fa tool" data-i18n-tip="popupTipPicker" data-tip-position="under">&#xf1fb;</span> <span id="gotoPick" class="fa tool" data-i18n-tip="popupTipPicker" data-tip-position="under">&#xf1fb;</span>