Merge pull request #11353 from Snuffleupagus/rm-attachEvent

Remove `document.attachEvent` code from `web/pdf_print_service.js` since it's only necessary for old IE versions
This commit is contained in:
Tim van der Meij 2019-11-22 22:54:55 +01:00 committed by GitHub
commit 79aa936f33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -273,19 +273,14 @@ function renderProgress(index, total, l10n) {
}); });
} }
let hasAttachEvent = !!document.attachEvent;
window.addEventListener('keydown', function(event) { window.addEventListener('keydown', function(event) {
// Intercept Cmd/Ctrl + P in all browsers. // Intercept Cmd/Ctrl + P in all browsers.
// Also intercept Cmd/Ctrl + Shift + P in Chrome and Opera // Also intercept Cmd/Ctrl + Shift + P in Chrome and Opera
if (event.keyCode === /* P= */ 80 && (event.ctrlKey || event.metaKey) && if (event.keyCode === /* P= */ 80 && (event.ctrlKey || event.metaKey) &&
!event.altKey && (!event.shiftKey || window.chrome || window.opera)) { !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {
window.print(); window.print();
if (hasAttachEvent) {
// Only attachEvent can cancel Ctrl + P dialog in IE <=10 // The (browser) print dialog cannot be prevented from being shown in IE11.
// attachEvent is gone in IE11, so the dialog will re-appear in IE11.
return;
}
event.preventDefault(); event.preventDefault();
if (event.stopImmediatePropagation) { if (event.stopImmediatePropagation) {
event.stopImmediatePropagation(); event.stopImmediatePropagation();
@ -294,16 +289,6 @@ window.addEventListener('keydown', function(event) {
} }
} }
}, true); }, true);
if (hasAttachEvent) {
// eslint-disable-next-line consistent-return
document.attachEvent('onkeydown', function(event) {
event = event || window.event;
if (event.keyCode === /* P= */ 80 && event.ctrlKey) {
event.keyCode = 0;
return false;
}
});
}
if ('onbeforeprint' in window) { if ('onbeforeprint' in window) {
// Do not propagate before/afterprint events when they are not triggered // Do not propagate before/afterprint events when they are not triggered