Skip to content

Commit fcb1bd1

Browse files
author
Oleksandr Gorkun
committed
MC-34764: Fix performance degradation cause by CSP
1 parent 7bd81ec commit fcb1bd1

File tree

4 files changed

+27
-14
lines changed

4 files changed

+27
-14
lines changed

app/code/Magento/Catalog/view/adminhtml/templates/catalog/product/composite/configure.phtml

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,26 @@
4545
prodCompConfIframe.style.position = "absolute";
4646
prodCompConfIframe.style.top = "-1000px";
4747
prodCompConfIframe.style.left = "-1000px";
48-
document.querySelectorAll(".product_composite_configure_messages").forEach((e) => e.style.display = "none");
49-
document.querySelectorAll(".product_composite_configure_form_additional")
50-
.forEach((e) => e.style.display = "none");
51-
document.querySelectorAll(".product_composite_configure_form_confirmed")
52-
.forEach((e) => e.style.display = "none");
53-
document.querySelectorAll(".product_composite_configure_confirmed").forEach((e) => e.style.display = "none");
54-
document.querySelectorAll(".product-configure-popup").forEach((e) => e.style.display = "none");
48+
prodCompConfMessages = document.querySelectorAll(".product_composite_configure_messages");
49+
for (var i = 0; i < prodCompConfMessages.length; i++) {
50+
prodCompConfMessages[i].style.display = "none";
51+
}
52+
prodCompConfFormAdd = document.querySelectorAll(".product_composite_configure_form_additional");
53+
for (var i = 0; i < prodCompConfFormAdd.length; i++) {
54+
prodCompConfFormAdd[i].style.display = "none";
55+
}
56+
prodCompConfFormConf = document.querySelectorAll(".product_composite_configure_form_confirmed");
57+
for (var i = 0; i < prodCompConfFormConf.length; i++) {
58+
prodCompConfFormConf[i].style.display = "none";
59+
}
60+
prodCompConfConf = document.querySelectorAll(".product_composite_configure_confirmed");
61+
for (var i = 0; i < prodCompConfConf.length; i++) {
62+
prodCompConfConf[i].style.display = "none";
63+
}
64+
prodConfPopup = document.querySelectorAll(".product-configure-popup");
65+
for (var i = 0; i < prodConfPopup.length; i++) {
66+
prodConfPopup[i].style.display = "none";
67+
}
5568
5669
require([
5770
"jquery",

app/code/Magento/Sales/view/adminhtml/templates/order/create/data.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ script;
3131
<?= /* @noEscape */ $secureRenderer->renderTag(
3232
'script',
3333
[],
34-
"let elemOrderSearch = document.querySelector('div#order-search');
34+
"var elemOrderSearch = document.querySelector('div#order-search');
3535
if (elemOrderSearch) {
3636
elemOrderSearch.style.display = 'none';
3737
elemOrderSearch.classList.remove('no-display');

app/code/Magento/Swatches/view/frontend/templates/product/layered/renderer.phtml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
</div>
5656
<?php
5757
$element = 'swatchImageOption' .$escaper->escapeJs($option);
58-
$script = 'let ' .$element
58+
$script = 'var ' .$element
5959
.' = document.querySelector(\'div[data-option-id="' .$escaper->escapeJs($option)
6060
.'"]\');' .PHP_EOL;
6161
$script .= $element .'.style.background = "url(\''
@@ -81,7 +81,7 @@
8181
$backgroundValue = $escaper->escapeJs(
8282
str_replace('\'', '\\\'', $swatchData['swatches'][$option]['value'])
8383
);
84-
$script = 'let ' .$element
84+
$script = 'var ' .$element
8585
.' = document.querySelector(\'div[data-option-id="' .$escaper->escapeJs($option)
8686
.'"]\');' .PHP_EOL;
8787
$script .= $element .'.style.background = "' .$backgroundValue

lib/internal/Magento/Framework/View/Helper/SecureHtmlRenderer.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ public function renderEventListenerAsTag(
111111
function {$listenerFunction} () {
112112
{$attributeJavascript};
113113
}
114-
let {$elementName} = document.querySelector("{$elementSelector}");
114+
var {$elementName} = document.querySelector("{$elementSelector}");
115115
if ({$elementName}) {
116-
{$elementName}.{$eventName} = (event) => {
117-
let targetElement = {$elementName};
116+
{$elementName}.{$eventName} = function (event) {
117+
var targetElement = {$elementName};
118118
if (event && event.target) {
119119
targetElement = event.target;
120120
}
@@ -161,7 +161,7 @@ public function renderStyleAsTag(string $style, string $selector): string
161161
return $this->renderTag(
162162
'script',
163163
['type' => 'text/javascript'],
164-
"let $elementVariable = document.querySelector('$selector');\n"
164+
"var $elementVariable = document.querySelector('$selector');\n"
165165
."if ($elementVariable) {\n{$stylesAssignments}}",
166166
false
167167
);

0 commit comments

Comments
 (0)