Skip to content

Commit b722fca

Browse files
committed
MC-17449: Deliver CSS critical path to 2.2.x
- Remove void return type; - Fix cyclomatic complexity;
1 parent bf0e1ae commit b722fca

File tree

2 files changed

+46
-33
lines changed

2 files changed

+46
-33
lines changed

app/code/Magento/Theme/Controller/Result/AsyncCssPlugin.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public function __construct(ScopeConfigInterface $scopeConfig)
3737
* @param Http $subject
3838
* @return void
3939
*/
40-
public function beforeSendResponse(Http $subject): void
40+
public function beforeSendResponse(Http $subject)
4141
{
4242
$content = $subject->getContent();
4343

lib/internal/Magento/Framework/View/Page/Config/Reader/Head.php

Lines changed: 45 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
use Magento\Framework\View\Layout;
99
use Magento\Framework\View\Page\Config as PageConfig;
10+
use Magento\Framework\View\Page\Config\Structure;
1011

1112
/**
1213
* Head structure reader is intended for collecting assets, title and metadata
@@ -85,43 +86,55 @@ function (Layout\Element $current, Layout\Element $next) {
8586
);
8687

8788
foreach ($nodes as $node) {
88-
switch ($node->getName()) {
89-
case self::HEAD_CSS:
90-
case self::HEAD_SCRIPT:
91-
case self::HEAD_LINK:
92-
case self::HEAD_FONT:
93-
$this->addContentTypeByNodeName($node);
94-
$pageConfigStructure->addAssets($node->getAttribute('src'), $this->getAttributes($node));
95-
break;
96-
97-
case self::HEAD_REMOVE:
98-
$pageConfigStructure->removeAssets($node->getAttribute('src'));
99-
break;
100-
101-
case self::HEAD_TITLE:
102-
$pageConfigStructure->setTitle(new \Magento\Framework\Phrase($node));
103-
break;
104-
105-
case self::HEAD_META:
106-
$this->setMetadata($pageConfigStructure, $node);
107-
break;
108-
109-
case self::HEAD_ATTRIBUTE:
110-
$pageConfigStructure->setElementAttribute(
111-
PageConfig::ELEMENT_TYPE_HEAD,
112-
$node->getAttribute('name'),
113-
$node->getAttribute('value')
114-
);
115-
break;
116-
117-
default:
118-
break;
119-
}
89+
$this->processNode($node, $pageConfigStructure);
12090
}
12191

12292
return $this;
12393
}
12494

95+
/**
96+
* Process given node based on it's name.
97+
*
98+
* @param Layout\Element $node
99+
* @param Structure $pageConfigStructure
100+
* @return void
101+
*/
102+
private function processNode(Layout\Element $node, Structure $pageConfigStructure)
103+
{
104+
switch ($node->getName()) {
105+
case self::HEAD_CSS:
106+
case self::HEAD_SCRIPT:
107+
case self::HEAD_LINK:
108+
case self::HEAD_FONT:
109+
$this->addContentTypeByNodeName($node);
110+
$pageConfigStructure->addAssets($node->getAttribute('src'), $this->getAttributes($node));
111+
break;
112+
113+
case self::HEAD_REMOVE:
114+
$pageConfigStructure->removeAssets($node->getAttribute('src'));
115+
break;
116+
117+
case self::HEAD_TITLE:
118+
$pageConfigStructure->setTitle(new \Magento\Framework\Phrase($node));
119+
break;
120+
121+
case self::HEAD_META:
122+
$this->setMetadata($pageConfigStructure, $node);
123+
break;
124+
125+
case self::HEAD_ATTRIBUTE:
126+
$pageConfigStructure->setElementAttribute(
127+
PageConfig::ELEMENT_TYPE_HEAD,
128+
$node->getAttribute('name'),
129+
$node->getAttribute('value')
130+
);
131+
break;
132+
133+
default:
134+
break;
135+
}
136+
}
137+
125138
/**
126139
* Get all attributes for current dom element
127140
*

0 commit comments

Comments
 (0)