Skip to content

Commit 30d174d

Browse files
committed
Eliminate unnecessary double loop for XPath query since DOMNodeList is not live
1 parent 77981c7 commit 30d174d

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

includes/embeds/class-amp-facebook-embed.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,13 @@ public function sanitize_raw_embeds( Document $dom ) {
7979
*/
8080
$fb_root = $dom->getElementById( 'fb-root' );
8181
if ( $fb_root ) {
82-
$scripts = [];
83-
foreach ( $dom->xpath->query( '//script[ starts-with( @src, "https://connect.facebook.net" ) and contains( @src, "sdk.js" ) ]' ) as $script ) {
84-
$scripts[] = $script;
85-
}
86-
foreach ( $scripts as $script ) {
82+
/**
83+
* Script.
84+
*
85+
* @var DOMElement $script
86+
*/
87+
$script_query = $dom->xpath->query( '//script[ starts-with( @src, "https://connect.facebook.net" ) and contains( @src, "sdk.js" ) ]' );
88+
foreach ( $script_query as $script ) {
8789
$parent_node = $script->parentNode;
8890
$parent_node->removeChild( $script );
8991

tests/php/test-amp-facebook-embed.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ public function get_raw_embed_dataset() {
215215
],
216216

217217
'remove_fb_root' => [
218-
'<div id="fb-root"></div><script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.2"></script>', // phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedScript
218+
'<div id="fb-root"></div>' . str_repeat( '<script async defer crossorigin="anonymous" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.2"></script>', 5 ), // phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedScript
219219
'',
220220
],
221221
];

0 commit comments

Comments
 (0)