<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[59120] trunk: General: Remove `noopener` from links opening in a new tab.</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/59120">59120</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/59120","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>peterwilsoncc</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2024-09-30 05:17:54 +0000 (Mon, 30 Sep 2024)</dd>
</dl>
<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>General: Remove `noopener` from links opening in a new tab.
Removes the automatic addition of `rel="noopener noreferrer"` from links targeting a new tab or window, `target='_blank'`. Since this was introduced, supported browsers have changed their security policies and no longer allow the opened link to have JavaScript access to the previous tab.
Deprecates:
* `wp_targeted_link_rel()`
* `wp_targeted_link_rel_callback()`
* `wp_init_targeted_link_rel_filters()`: converted to a noop function
* `wp_remove_targeted_link_rel_filters()`: converted to a noop function
The deprecated functions are retained in `formatting.php` as in `SHORTINIT` mode the file is included while `deprecated.php` is not.
This also removes the `noopener` from links hard coded within the WordPress dashboard linking to documentation and other resources.
Props audrasjb, azaozz, dhruval04, dorzki, neo2k23, presskopp, sabernhardt, swissspidy, tobiasbg.
Fixes <a href="https://core.trac.wordpress.org/ticket/53843">#53843</a>.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcjs_enqueuesliblinkjs">trunk/src/js/_enqueues/lib/link.js</a></li>
<li><a href="#trunksrcjs_enqueuesvendortinymcepluginswplinkpluginjs">trunk/src/js/_enqueues/vendor/tinymce/plugins/wplink/plugin.js</a></li>
<li><a href="#trunksrcwpadminincludesclasswpsitehealthphp">trunk/src/wp-admin/includes/class-wp-site-health.php</a></li>
<li><a href="#trunksrcwpadminincludesdashboardphp">trunk/src/wp-admin/includes/dashboard.php</a></li>
<li><a href="#trunksrcwpadminincludesmediaphp">trunk/src/wp-admin/includes/media.php</a></li>
<li><a href="#trunksrcwpincludesclasswalkernavmenuphp">trunk/src/wp-includes/class-walker-nav-menu.php</a></li>
<li><a href="#trunksrcwpincludescommentphp">trunk/src/wp-includes/comment.php</a></li>
<li><a href="#trunksrcwpincludesdefaultfiltersphp">trunk/src/wp-includes/default-filters.php</a></li>
<li><a href="#trunksrcwpincludesformattingphp">trunk/src/wp-includes/formatting.php</a></li>
<li><a href="#trunksrcwpincludesfunctionsphp">trunk/src/wp-includes/functions.php</a></li>
<li><a href="#trunksrcwpincludesmediatemplatephp">trunk/src/wp-includes/media-template.php</a></li>
<li><a href="#trunksrcwpincludeswidgetsclasswpwidgetcustomhtmlphp">trunk/src/wp-includes/widgets/class-wp-widget-custom-html.php</a></li>
<li><a href="#trunksrcwpincludeswidgetsclasswpwidgetmediaimagephp">trunk/src/wp-includes/widgets/class-wp-widget-media-image.php</a></li>
<li><a href="#trunksrcwpincludeswidgetsclasswpwidgettextphp">trunk/src/wp-includes/widgets/class-wp-widget-text.php</a></li>
<li><a href="#trunksrcwploginphp">trunk/src/wp-login.php</a></li>
<li><a href="#trunktestsphpunittestsformattingwpTargetedLinkRelphp">trunk/tests/phpunit/tests/formatting/wpTargetedLinkRel.php</a></li>
<li><a href="#trunktestsphpunittestsmenuwalkernavmenuphp">trunk/tests/phpunit/tests/menu/walker-nav-menu.php</a></li>
<li><a href="#trunktestsphpunittestsrestapirestattachmentscontrollerphp">trunk/tests/phpunit/tests/rest-api/rest-attachments-controller.php</a></li>
<li><a href="#trunktestsphpunittestsrestapirestpostscontrollerphp">trunk/tests/phpunit/tests/rest-api/rest-posts-controller.php</a></li>
<li><a href="#trunktestsphpunittestswidgetswpWidgetCustomHtmlphp">trunk/tests/phpunit/tests/widgets/wpWidgetCustomHtml.php</a></li>
<li><a href="#trunktestsphpunittestswidgetswpWidgetMediaImagephp">trunk/tests/phpunit/tests/widgets/wpWidgetMediaImage.php</a></li>
<li><a href="#trunktestsphpunittestswidgetswpWidgetTextphp">trunk/tests/phpunit/tests/widgets/wpWidgetText.php</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcjs_enqueuesliblinkjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/js/_enqueues/lib/link.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/js/_enqueues/lib/link.js 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/js/_enqueues/lib/link.js 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -323,7 +323,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> var html = '<a href="' + attrs.href + '"';
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> if ( attrs.target ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- html += ' rel="noopener" target="' + attrs.target + '"';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ html += ' target="' + attrs.target + '"';
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> return html + '>';
</span></span></pre></div>
<a id="trunksrcjs_enqueuesvendortinymcepluginswplinkpluginjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/js/_enqueues/vendor/tinymce/plugins/wplink/plugin.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/js/_enqueues/vendor/tinymce/plugins/wplink/plugin.js 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/js/_enqueues/vendor/tinymce/plugins/wplink/plugin.js 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4,7 +4,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> renderHtml: function() {
</span><span class="cx" style="display: block; padding: 0 10px"> return (
</span><span class="cx" style="display: block; padding: 0 10px"> '<div id="' + this._id + '" class="wp-link-preview">' +
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<a href="' + this.url + '" target="_blank" rel="noopener" tabindex="-1">' + this.url + '</a>' +
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<a href="' + this.url + '" target="_blank" tabindex="-1">' + this.url + '</a>' +
</ins><span class="cx" style="display: block; padding: 0 10px"> '</div>'
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px"> },
</span></span></pre></div>
<a id="trunksrcwpadminincludesclasswpsitehealthphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/class-wp-site-health.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/class-wp-site-health.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-admin/includes/class-wp-site-health.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -746,7 +746,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> )
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'actions' => sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p><a href="%s" target="_blank" rel="noopener">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> esc_url( wp_get_update_php_url() ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Learn more about updating PHP' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -892,7 +892,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'The WordPress Hosting Team maintains a list of those modules, both recommended and required, in <a href="%1$s" %2$s>the team handbook%3$s</a>.' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Localized team handbook, if one exists. */
</span><span class="cx" style="display: block; padding: 0 10px"> esc_url( __( 'https://make.wordpress.org/hosting/handbook/handbook/server-environment/#php-extensions' ) ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'target="_blank" rel="noopener"',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'target="_blank"',
</ins><span class="cx" style="display: block; padding: 0 10px"> sprintf(
</span><span class="cx" style="display: block; padding: 0 10px"> '<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span>',
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1218,7 +1218,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'The SQL server is a required piece of software for the database WordPress uses to store all your site’s content and settings.' )
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'actions' => sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p><a href="%s" target="_blank" rel="noopener">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> /* translators: Localized version of WordPress requirements if one exists. */
</span><span class="cx" style="display: block; padding: 0 10px"> esc_url( __( 'https://wordpress.org/about/requirements/' ) ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Learn more about what WordPress requires to run.' ),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1335,7 +1335,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $result['actions'] = sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p><a href="%s" target="_blank" rel="noopener">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> /* translators: Localized Support reference. */
</span><span class="cx" style="display: block; padding: 0 10px"> esc_url( __( 'https://wordpress.org/support/forums/' ) ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Get help resolving this issue.' ),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1373,7 +1373,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Debug mode is often enabled to gather more details about an error or site failure, but may contain sensitive information which should not be available on a publicly available website.' )
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'actions' => sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p><a href="%s" target="_blank" rel="noopener">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> /* translators: Documentation explaining debugging in WordPress. */
</span><span class="cx" style="display: block; padding: 0 10px"> esc_url( __( 'https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/' ) ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Learn more about debugging in WordPress.' ),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1455,7 +1455,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'An HTTPS connection is a more secure way of browsing the web. Many services now have HTTPS as a requirement. HTTPS allows you to take advantage of new features that can increase site speed, improve search rankings, and gain the trust of your visitors by helping to protect their online privacy.' )
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'actions' => sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p><a href="%s" target="_blank" rel="noopener">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> esc_url( $default_update_url ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Learn more about why you should use HTTPS' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1539,7 +1539,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! empty( $direct_update_url ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $result['actions'] = sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p class="button-container"><a class="button button-primary" href="%1$s" target="_blank" rel="noopener">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p class="button-container"><a class="button button-primary" href="%1$s" target="_blank">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> esc_url( $direct_update_url ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Update your site to use HTTPS' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1558,7 +1558,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $update_url = wp_get_update_https_url();
</span><span class="cx" style="display: block; padding: 0 10px"> if ( $update_url !== $default_update_url ) {
</span><span class="cx" style="display: block; padding: 0 10px"> $result['description'] .= sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p><a href="%s" target="_blank" rel="noopener">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> esc_url( $update_url ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Talk to your web host about supporting HTTPS for your website.' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2364,7 +2364,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px"> } else {
</span><span class="cx" style="display: block; padding: 0 10px"> $result['actions'] .= sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p><a href="%s" target="_blank" rel="noopener">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> __( 'https://developer.wordpress.org/rest-api/frequently-asked-questions/#why-is-authentication-not-working' ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Learn how to configure the Authorization header.' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2397,7 +2397,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'status' => 'good',
</span><span class="cx" style="display: block; padding: 0 10px"> 'label' => '',
</span><span class="cx" style="display: block; padding: 0 10px"> 'actions' => sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p><a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p><a href="%1$s" target="_blank" rel="noreferrer">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> __( 'https://developer.wordpress.org/advanced-administration/performance/optimization/#caching' ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Learn more about page cache' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2523,7 +2523,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'A persistent object cache makes your site’s database more efficient, resulting in faster load times because WordPress can retrieve your site’s content and settings much more quickly.' )
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'actions' => sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p><a href="%s" target="_blank" rel="noopener">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> esc_url( $action_url ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Learn more about persistent object caching.' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2671,7 +2671,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $result['actions'] = sprintf(
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: 1: HelpHub URL, 2: Link description. */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<p><a target="_blank" rel="noopener" href="%1$s">%2$s</a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<p><a target="_blank" href="%1$s">%2$s</a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> esc_url( __( 'https://developer.wordpress.org/advanced-administration/performance/optimization/#autoloaded-options' ) ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'More info about optimizing autoloaded options' )
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span></span></pre></div>
<a id="trunksrcwpadminincludesdashboardphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/dashboard.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/dashboard.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-admin/includes/dashboard.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1912,7 +1912,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <p class="button-container">
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px"> printf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<a class="button button-primary" href="%1$s" target="_blank" rel="noopener">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<a class="button button-primary" href="%1$s" target="_blank">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>',
</ins><span class="cx" style="display: block; padding: 0 10px"> esc_url( wp_get_update_php_url() ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Learn more about updating PHP' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span></span></pre></div>
<a id="trunksrcwpadminincludesmediaphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/media.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/media.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-admin/includes/media.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3243,7 +3243,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> __( '<a href="%1$s" %2$s>Learn how to describe the purpose of the image%3$s</a>. Leave empty if the image is purely decorative.' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations. */
</span><span class="cx" style="display: block; padding: 0 10px"> esc_url( __( 'https://www.w3.org/WAI/tutorials/images/decision-tree/' ) ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'target="_blank" rel="noopener"',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'target="_blank"',
</ins><span class="cx" style="display: block; padding: 0 10px"> sprintf(
</span><span class="cx" style="display: block; padding: 0 10px"> '<span class="screen-reader-text"> %s</span>',
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span></span></pre></div>
<a id="trunksrcwpincludesclasswalkernavmenuphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/class-walker-nav-menu.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/class-walker-nav-menu.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-includes/class-walker-nav-menu.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -215,11 +215,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $atts = array();
</span><span class="cx" style="display: block; padding: 0 10px"> $atts['title'] = ! empty( $menu_item->attr_title ) ? $menu_item->attr_title : '';
</span><span class="cx" style="display: block; padding: 0 10px"> $atts['target'] = ! empty( $menu_item->target ) ? $menu_item->target : '';
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- if ( '_blank' === $menu_item->target && empty( $menu_item->xfn ) ) {
- $atts['rel'] = 'noopener';
- } else {
- $atts['rel'] = $menu_item->xfn;
- }
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $atts['rel'] = ! empty( $menu_item->xfn ) ? $menu_item->xfn : '';
</ins><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! empty( $menu_item->url ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> if ( get_privacy_policy_url() === $menu_item->url ) {
</span></span></pre></div>
<a id="trunksrcwpincludescommentphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/comment.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/comment.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-includes/comment.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3766,7 +3766,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> case 'comment_link':
</span><span class="cx" style="display: block; padding: 0 10px"> $value = get_comment_link( $comment->comment_ID );
</span><span class="cx" style="display: block; padding: 0 10px"> $value = sprintf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<a href="%s" target="_blank" rel="noopener">%s</a>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<a href="%s" target="_blank">%s</a>',
</ins><span class="cx" style="display: block; padding: 0 10px"> esc_url( $value ),
</span><span class="cx" style="display: block; padding: 0 10px"> esc_html( $value )
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span></span></pre></div>
<a id="trunksrcwpincludesdefaultfiltersphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/default-filters.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/default-filters.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-includes/default-filters.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -153,9 +153,6 @@
</span><span class="cx" style="display: block; padding: 0 10px"> add_filter( $filter, 'balanceTags', 50 );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-// Add proper rel values for links with target.
-add_action( 'init', 'wp_init_targeted_link_rel_filters' );
-
</del><span class="cx" style="display: block; padding: 0 10px"> // Format strings for display.
</span><span class="cx" style="display: block; padding: 0 10px"> foreach ( array( 'comment_author', 'term_name', 'link_name', 'link_description', 'link_notes', 'bloginfo', 'wp_title', 'document_title', 'widget_title' ) as $filter ) {
</span><span class="cx" style="display: block; padding: 0 10px"> add_filter( $filter, 'wptexturize' );
</span></span></pre></div>
<a id="trunksrcwpincludesformattingphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/formatting.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/formatting.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-includes/formatting.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3294,11 +3294,14 @@
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @since 5.1.0
</span><span class="cx" style="display: block; padding: 0 10px"> * @since 5.6.0 Removed 'noreferrer' relationship.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @deprecated 6.7.0
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @param string $text Content that may contain HTML A elements.
</span><span class="cx" style="display: block; padding: 0 10px"> * @return string Converted content.
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> function wp_targeted_link_rel( $text ) {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ _deprecated_function( __FUNCTION__, '6.7.0' );
+
</ins><span class="cx" style="display: block; padding: 0 10px"> // Don't run (more expensive) regex if no links with targets.
</span><span class="cx" style="display: block; padding: 0 10px"> if ( stripos( $text, 'target' ) === false || stripos( $text, '<a ' ) === false || is_serialized( $text ) ) {
</span><span class="cx" style="display: block; padding: 0 10px"> return $text;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3332,11 +3335,14 @@
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @since 5.1.0
</span><span class="cx" style="display: block; padding: 0 10px"> * @since 5.6.0 Removed 'noreferrer' relationship.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @deprecated 6.7.0
</ins><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @param array $matches Single match.
</span><span class="cx" style="display: block; padding: 0 10px"> * @return string HTML A Element with `rel="noopener"` in addition to any existing values.
</span><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> function wp_targeted_link_rel_callback( $matches ) {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ _deprecated_function( __FUNCTION__, '6.7.0' );
+
</ins><span class="cx" style="display: block; padding: 0 10px"> $link_html = $matches[1];
</span><span class="cx" style="display: block; padding: 0 10px"> $original_link_html = $link_html;
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3383,23 +3389,10 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * Adds all filters modifying the rel attribute of targeted links.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @since 5.1.0
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @deprecated 6.7.0
</ins><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> function wp_init_targeted_link_rel_filters() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $filters = array(
- 'title_save_pre',
- 'content_save_pre',
- 'excerpt_save_pre',
- 'content_filtered_save_pre',
- 'pre_comment_content',
- 'pre_term_description',
- 'pre_link_description',
- 'pre_link_notes',
- 'pre_user_description',
- );
-
- foreach ( $filters as $filter ) {
- add_filter( $filter, 'wp_targeted_link_rel' );
- }
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ _deprecated_function( __FUNCTION__, '6.7.0' );
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3406,23 +3399,10 @@
</span><span class="cx" style="display: block; padding: 0 10px"> * Removes all filters modifying the rel attribute of targeted links.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @since 5.1.0
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @deprecated 6.7.0
</ins><span class="cx" style="display: block; padding: 0 10px"> */
</span><span class="cx" style="display: block; padding: 0 10px"> function wp_remove_targeted_link_rel_filters() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $filters = array(
- 'title_save_pre',
- 'content_save_pre',
- 'excerpt_save_pre',
- 'content_filtered_save_pre',
- 'pre_comment_content',
- 'pre_term_description',
- 'pre_link_description',
- 'pre_link_notes',
- 'pre_user_description',
- );
-
- foreach ( $filters as $filter ) {
- remove_filter( $filter, 'wp_targeted_link_rel' );
- }
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ _deprecated_function( __FUNCTION__, '6.7.0' );
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span></span></pre></div>
<a id="trunksrcwpincludesfunctionsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/functions.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/functions.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-includes/functions.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8517,7 +8517,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> echo '<p class="button-container">';
</span><span class="cx" style="display: block; padding: 0 10px"> printf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<a class="button button-primary" href="%1$s" target="_blank" rel="noopener">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<a class="button button-primary" href="%1$s" target="_blank">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>',
</ins><span class="cx" style="display: block; padding: 0 10px"> esc_url( $direct_update_url ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Update PHP' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span></span></pre></div>
<a id="trunksrcwpincludesmediatemplatephp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/media-template.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/media-template.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-includes/media-template.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -161,7 +161,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> __( '<a href="%1$s" %2$s>Learn how to describe the purpose of the image%3$s</a>. Leave empty if the image is purely decorative.' ),
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations. */
</span><span class="cx" style="display: block; padding: 0 10px"> esc_url( __( 'https://www.w3.org/WAI/tutorials/images/decision-tree/' ) ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'target="_blank" rel="noopener"',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'target="_blank"',
</ins><span class="cx" style="display: block; padding: 0 10px"> sprintf(
</span><span class="cx" style="display: block; padding: 0 10px"> '<span class="screen-reader-text"> %s</span>',
</span><span class="cx" style="display: block; padding: 0 10px"> /* translators: Hidden accessibility text. */
</span></span></pre></div>
<a id="trunksrcwpincludeswidgetsclasswpwidgetcustomhtmlphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/widgets/class-wp-widget-custom-html.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/widgets/class-wp-widget-custom-html.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-includes/widgets/class-wp-widget-custom-html.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -149,9 +149,6 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /** This filter is documented in wp-includes/widgets/class-wp-widget-text.php */
</span><span class="cx" style="display: block; padding: 0 10px"> $content = apply_filters( 'widget_text', $instance['content'], $simulated_text_widget_instance, $this );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- // Adds 'noopener' relationship, without duplicating values, to all HTML A elements that have a target.
- $content = wp_targeted_link_rel( $content );
-
</del><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px"> * Filters the content of the Custom HTML widget.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span></span></pre></div>
<a id="trunksrcwpincludeswidgetsclasswpwidgetmediaimagephp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/widgets/class-wp-widget-media-image.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/widgets/class-wp-widget-media-image.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-includes/widgets/class-wp-widget-media-image.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -288,7 +288,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $link .= '>';
</span><span class="cx" style="display: block; padding: 0 10px"> $link .= $image;
</span><span class="cx" style="display: block; padding: 0 10px"> $link .= '</a>';
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $image = wp_targeted_link_rel( $link );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $image = $link;
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> if ( $caption ) {
</span></span></pre></div>
<a id="trunksrcwpincludeswidgetsclasswpwidgettextphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/widgets/class-wp-widget-text.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/widgets/class-wp-widget-text.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-includes/widgets/class-wp-widget-text.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -334,9 +334,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $text = preg_replace_callback( '#<(video|iframe|object|embed)\s[^>]*>#i', array( $this, 'inject_video_max_width_style' ), $text );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- // Adds 'noopener' relationship, without duplicating values, to all HTML A elements that have a target.
- $text = wp_targeted_link_rel( $text );
-
</del><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> <div class="textwidget"><?php echo $text; ?></div>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span></span></pre></div>
<a id="trunksrcwploginphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-login.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-login.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/src/wp-login.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -697,7 +697,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> printf(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- '<a href="%s" rel="noopener" target="_blank">%s%s</a>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ '<a href="%s" target="_blank">%s%s</a>',
</ins><span class="cx" style="display: block; padding: 0 10px"> esc_url( $admin_email_help_url ),
</span><span class="cx" style="display: block; padding: 0 10px"> __( 'Why is this important?' ),
</span><span class="cx" style="display: block; padding: 0 10px"> $accessibility_text
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1629,7 +1629,6 @@
</span><span class="cx" style="display: block; padding: 0 10px"> for ( i in links ) {
</span><span class="cx" style="display: block; padding: 0 10px"> if ( links[i].href ) {
</span><span class="cx" style="display: block; padding: 0 10px"> links[i].target = '_blank';
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- links[i].rel = 'noopener';
</del><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> } catch( er ) {}
</span></span></pre></div>
<a id="trunktestsphpunittestsformattingwpTargetedLinkRelphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/formatting/wpTargetedLinkRel.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/formatting/wpTargetedLinkRel.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/tests/phpunit/tests/formatting/wpTargetedLinkRel.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,139 +0,0 @@
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-<?php
-
-/**
- * @group formatting
- * @ticket 43187
- *
- * @covers ::wp_targeted_link_rel
- */
-class Tests_Formatting_wpTargetedLinkRel extends WP_UnitTestCase {
-
- public function test_add_to_links_with_target_blank() {
- $content = '<p>Links: <a href="/" target="_blank">No rel</a></p>';
- $expected = '<p>Links: <a href="/" target="_blank" rel="noopener">No rel</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- public function test_add_to_links_with_target_foo() {
- $content = '<p>Links: <a href="/" target="foo">No rel</a></p>';
- $expected = '<p>Links: <a href="/" target="foo" rel="noopener">No rel</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- public function test_target_as_first_attribute() {
- $content = '<p>Links: <a target="_blank" href="#">No rel</a></p>';
- $expected = '<p>Links: <a target="_blank" href="#" rel="noopener">No rel</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- public function test_add_to_existing_rel() {
- $content = '<p>Links: <a href="/" rel="existing values" target="_blank">Existing rel</a></p>';
- $expected = '<p>Links: <a href="/" rel="existing values noopener" target="_blank">Existing rel</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- public function test_no_duplicate_values_added() {
- $content = '<p>Links: <a href="/" rel="existing noopener values" target="_blank">Existing rel</a></p>';
- $expected = '<p>Links: <a href="/" rel="existing noopener values" target="_blank">Existing rel</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- public function test_rel_with_single_quote_delimiter() {
- $content = '<p>Links: <a href="/" rel=\'existing values\' target="_blank">Existing rel</a></p>';
- $expected = '<p>Links: <a href="/" rel="existing values noopener" target="_blank">Existing rel</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- public function test_rel_with_no_delimiter() {
- $content = '<p>Links: <a href="/" rel=existing target="_blank">Existing rel</a></p>';
- $expected = '<p>Links: <a href="/" rel="existing noopener" target="_blank">Existing rel</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- public function test_rel_value_spaced_and_no_delimiter() {
- $content = '<p>Links: <a href="/" rel = existing target="_blank">Existing rel</a></p>';
- $expected = '<p>Links: <a href="/" rel="existing noopener" target="_blank">Existing rel</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- public function test_escaped_quotes() {
- $content = '<p>Links: <a href=\"/\" rel=\"existing values\" target=\"_blank\">Existing rel</a></p>';
- $expected = '<p>Links: <a href=\"/\" rel=\"existing values noopener\" target=\"_blank\">Existing rel</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- public function test_ignore_links_with_no_target() {
- $content = '<p>Links: <a href="/" target="_blank">Change me</a> <a href="/">Do not change me</a></p>';
- $expected = '<p>Links: <a href="/" target="_blank" rel="noopener">Change me</a> <a href="/">Do not change me</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- /**
- * Ensure empty rel attributes are not added.
- *
- * @ticket 45352
- */
- public function test_ignore_if_wp_targeted_link_rel_nulled() {
- add_filter( 'wp_targeted_link_rel', '__return_empty_string' );
- $content = '<p>Links: <a href="/" target="_blank">Do not change me</a></p>';
- $expected = '<p>Links: <a href="/" target="_blank">Do not change me</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- /**
- * Ensure default content filters are added.
- *
- * @ticket 45292
- */
- public function test_wp_targeted_link_rel_filters_run() {
- $content = '<p>Links: <a href="/" target="_blank">No rel</a></p>';
- $expected = '<p>Links: <a href="/" target="_blank" rel="noopener">No rel</a></p>';
-
- $post = self::factory()->post->create_and_get(
- array(
- 'post_content' => $content,
- )
- );
-
- $this->assertSame( $expected, $post->post_content );
- }
-
- /**
- * Ensure JSON format is preserved when relation attribute (rel) is missing.
- *
- * @ticket 46316
- */
- public function test_wp_targeted_link_rel_should_preserve_json() {
- $content = '<p>Links: <a href=\"\/\" target=\"_blank\">No rel<\/a><\/p>';
- $expected = '<p>Links: <a href=\"\/\" target=\"_blank\" rel=\"noopener\">No rel<\/a><\/p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- /**
- * Ensure the content of style and script tags are not processed
- *
- * @ticket 47244
- */
- public function test_wp_targeted_link_rel_skips_style_and_scripts() {
- $content = '<style><a href="/" target=a></style><p>Links: <script>console.log("<a href=\'/\' target=a>hi</a>");</script><script>alert(1);</script>here <a href="/" target=_blank>aq</a></p><script>console.log("<a href=\'last\' target=\'_blank\'")</script>';
- $expected = '<style><a href="/" target=a></style><p>Links: <script>console.log("<a href=\'/\' target=a>hi</a>");</script><script>alert(1);</script>here <a href="/" target="_blank" rel="noopener">aq</a></p><script>console.log("<a href=\'last\' target=\'_blank\'")</script>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- /**
- * Ensure entirely serialized content is ignored.
- *
- * @ticket 46402
- */
- public function test_ignore_entirely_serialized_content() {
- $content = 'a:1:{s:4:"html";s:52:"<p>Links: <a href="/" target="_blank">No Rel</a></p>";}';
- $expected = 'a:1:{s:4:"html";s:52:"<p>Links: <a href="/" target="_blank">No Rel</a></p>";}';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-
- public function test_wp_targeted_link_rel_tab_separated_values_are_split() {
- $content = "<p>Links: <a href=\"/\" target=\"_blank\" rel=\"ugc\t\tnoopener\t\">No rel</a></p>";
- $expected = '<p>Links: <a href="/" target="_blank" rel="ugc noopener">No rel</a></p>';
- $this->assertSame( $expected, wp_targeted_link_rel( $content ) );
- }
-}
</del></span></pre></div>
<a id="trunktestsphpunittestsmenuwalkernavmenuphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/menu/walker-nav-menu.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/menu/walker-nav-menu.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/tests/phpunit/tests/menu/walker-nav-menu.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -43,37 +43,6 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * Tests when an item's target is _blank, that rel="noopener" is added.
- *
- * @ticket 43290
- */
- public function test_noopener_no_referrer_for_target_blank() {
- $actual = '';
- $post_id = self::factory()->post->create();
- $post_title = get_the_title( $post_id );
-
- $item = array(
- 'ID' => $post_id,
- 'object_id' => $post_id,
- 'title' => $post_title,
- 'target' => '_blank',
- 'xfn' => '',
- 'current' => false,
- );
-
- $args = array(
- 'before' => '',
- 'after' => '',
- 'link_before' => '',
- 'link_after' => '',
- );
-
- $this->walker->start_el( $actual, (object) $item, 0, (object) $args );
-
- $this->assertSame( "<li id=\"menu-item-{$post_id}\" class=\"menu-item-{$post_id}\"><a target=\"_blank\" rel=\"noopener\">{$post_title}</a>", $actual );
- }
-
- /**
</del><span class="cx" style="display: block; padding: 0 10px"> * @ticket 47720
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @dataProvider data_start_el_with_empty_attributes
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -218,7 +187,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'xfn' => 'nofollow',
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'no xfn value and a target of "_blank"' => array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'expected' => 'rel="noopener privacy-policy"',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'expected' => 'rel="privacy-policy"',
</ins><span class="cx" style="display: block; padding: 0 10px"> 'xfn' => '',
</span><span class="cx" style="display: block; padding: 0 10px"> 'target' => '_blank',
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span></span></pre></div>
<a id="trunktestsphpunittestsrestapirestattachmentscontrollerphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/rest-api/rest-attachments-controller.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/rest-api/rest-attachments-controller.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/tests/phpunit/tests/rest-api/rest-attachments-controller.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1443,12 +1443,12 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'rendered' => '<a href="#">link</a>',
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'description' => array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'raw' => '<a href="#" target="_blank" rel="noopener">link</a>',
- 'rendered' => '<p><a href="#" target="_blank" rel="noopener">link</a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'raw' => '<a href="#" target="_blank">link</a>',
+ 'rendered' => '<p><a href="#" target="_blank">link</a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'caption' => array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'raw' => '<a href="#" target="_blank" rel="noopener">link</a>',
- 'rendered' => '<p><a href="#" target="_blank" rel="noopener">link</a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'raw' => '<a href="#" target="_blank">link</a>',
+ 'rendered' => '<p><a href="#" target="_blank">link</a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span></span></pre></div>
<a id="trunktestsphpunittestsrestapirestpostscontrollerphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/rest-api/rest-posts-controller.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/rest-api/rest-posts-controller.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/tests/phpunit/tests/rest-api/rest-posts-controller.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4285,12 +4285,12 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'rendered' => '<a href="#">link</a>',
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'content' => array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'raw' => '<a href="#" target="_blank" rel="noopener">link</a>',
- 'rendered' => '<p><a href="#" target="_blank" rel="noopener">link</a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'raw' => '<a href="#" target="_blank">link</a>',
+ 'rendered' => '<p><a href="#" target="_blank">link</a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> 'excerpt' => array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'raw' => '<a href="#" target="_blank" rel="noopener">link</a>',
- 'rendered' => '<p><a href="#" target="_blank" rel="noopener">link</a></p>',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'raw' => '<a href="#" target="_blank">link</a>',
+ 'rendered' => '<p><a href="#" target="_blank">link</a></p>',
</ins><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span><span class="cx" style="display: block; padding: 0 10px"> ),
</span></span></pre></div>
<a id="trunktestsphpunittestswidgetswpWidgetCustomHtmlphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/widgets/wpWidgetCustomHtml.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/widgets/wpWidgetCustomHtml.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/tests/phpunit/tests/widgets/wpWidgetCustomHtml.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -303,32 +303,6 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * Ensure that rel="noopener" is added to links with a target.
- *
- * @ticket 46421
- */
- public function test_render_links_with_target() {
- $widget = new WP_Widget_Custom_HTML();
-
- $content = 'Test content with an external <a href="https://example.org" target="_blank">link</a>.';
-
- $args = array(
- 'before_title' => '<h2>',
- 'after_title' => '</h2>',
- 'before_widget' => '',
- 'after_widget' => '',
- );
-
- $instance = array(
- 'title' => 'Foo',
- 'content' => $content,
- );
-
- $output = get_echo( array( $widget, 'widget' ), array( $args, $instance ) );
- $this->assertStringContainsString( 'rel="noopener"', $output );
- }
-
- /**
</del><span class="cx" style="display: block; padding: 0 10px"> * Ensure that rel="noopener" is not added to links without a target.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @ticket 46421
</span></span></pre></div>
<a id="trunktestsphpunittestswidgetswpWidgetMediaImagephp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/widgets/wpWidgetMediaImage.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/widgets/wpWidgetMediaImage.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/tests/phpunit/tests/widgets/wpWidgetMediaImage.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -544,7 +544,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $this->assertStringContainsString( '<a href="https://example.org"', $output );
</span><span class="cx" style="display: block; padding: 0 10px"> $this->assertStringContainsString( 'target="_blank"', $output );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $this->assertStringContainsString( 'rel="noopener"', $output );
</del><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> // Populate caption in attachment.
</span><span class="cx" style="display: block; padding: 0 10px"> wp_update_post(
</span></span></pre></div>
<a id="trunktestsphpunittestswidgetswpWidgetTextphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/tests/phpunit/tests/widgets/wpWidgetText.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/tests/phpunit/tests/widgets/wpWidgetText.php 2024-09-30 05:10:00 UTC (rev 59119)
+++ trunk/tests/phpunit/tests/widgets/wpWidgetText.php 2024-09-30 05:17:54 UTC (rev 59120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1002,33 +1002,6 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * Ensure that rel="noopener" is added to links with a target.
- *
- * @ticket 46421
- */
- public function test_render_links_with_target() {
- $widget = new WP_Widget_Text();
-
- $text = 'Test content with an external <a href="https://example.org" target="_blank">link</a>.';
-
- $args = array(
- 'before_title' => '<h2>',
- 'after_title' => '</h2>',
- 'before_widget' => '',
- 'after_widget' => '',
- );
-
- $instance = array(
- 'title' => 'Foo',
- 'text' => $text,
- );
-
- $output = get_echo( array( $widget, 'widget' ), array( $args, $instance ) );
-
- $this->assertStringContainsString( 'rel="noopener"', $output );
- }
-
- /**
</del><span class="cx" style="display: block; padding: 0 10px"> * Ensure that rel="noopener" is not added to links without a target.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @ticket 46421
</span></span></pre>
</div>
</div>
</body>
</html>