<!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>[45044] trunk: Site Health: Improve the "Copy to clipboard" button.</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/45044">45044</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/45044","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>pento</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2019-03-27 22:30:26 +0000 (Wed, 27 Mar 2019)</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'>Site Health: Improve the "Copy to clipboard" button.

The previous method for copying the debug report to the clipboard involved having a hidden `<textarea>`, but this shows up in screen readers and can't be reliably hidden.

To work around this, the button now uses the `clipboard.js` library, which automatically handles browser differences in the Clipboard API, and can load the text to copy from a `data-` attribute on the button.

Props pento, hedgefield, afercia.
Fixes <a href="https://core.trac.wordpress.org/ticket/46647">#46647</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkGruntfilejs">trunk/Gruntfile.js</a></li>
<li><a href="#trunkpackagejson">trunk/package.json</a></li>
<li><a href="#trunksrcjs_enqueuesadminsitehealthjs">trunk/src/js/_enqueues/admin/site-health.js</a></li>
<li><a href="#trunksrcwpadmincsssitehealthcss">trunk/src/wp-admin/css/site-health.css</a></li>
<li><a href="#trunksrcwpadminincludesclasswpdebugdataphp">trunk/src/wp-admin/includes/class-wp-debug-data.php</a></li>
<li><a href="#trunksrcwpadminsitehealthinfophp">trunk/src/wp-admin/site-health-info.php</a></li>
<li><a href="#trunksrcwpincludesscriptloaderphp">trunk/src/wp-includes/script-loader.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkGruntfilejs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/Gruntfile.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/Gruntfile.js        2019-03-27 22:10:37 UTC (rev 45043)
+++ trunk/Gruntfile.js  2019-03-27 22:30:26 UTC (rev 45044)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -166,6 +166,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                files: [
</span><span class="cx" style="display: block; padding: 0 10px">                                        {
</span><span class="cx" style="display: block; padding: 0 10px">                                                [ WORKING_DIR + 'wp-includes/js/backbone.js' ]: [ './node_modules/backbone/backbone.js' ],
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                                [ WORKING_DIR + 'wp-includes/js/clipboard.js' ]: [ './node_modules/clipboard/dist/clipboard.js' ],
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 [ WORKING_DIR + 'wp-includes/js/hoverIntent.js' ]: [ './node_modules/jquery-hoverintent/jquery.hoverIntent.js' ],
</span><span class="cx" style="display: block; padding: 0 10px">                                                [ WORKING_DIR + 'wp-includes/js/imagesloaded.min.js' ]: [ './node_modules/imagesloaded/imagesloaded.pkgd.min.js' ],
</span><span class="cx" style="display: block; padding: 0 10px">                                                [ WORKING_DIR + 'wp-includes/js/jquery/jquery-migrate.js' ]: [ './node_modules/jquery-migrate/dist/jquery-migrate.js' ],
</span></span></pre></div>
<a id="trunkpackagejson"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/package.json</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/package.json        2019-03-27 22:10:37 UTC (rev 45043)
+++ trunk/package.json  2019-03-27 22:30:26 UTC (rev 45044)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -94,6 +94,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                "@wordpress/viewport": "2.3.0",
</span><span class="cx" style="display: block; padding: 0 10px">                "@wordpress/wordcount": "2.2.0",
</span><span class="cx" style="display: block; padding: 0 10px">                "backbone": "1.3.3",
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                "clipboard": "2.0.4",
</ins><span class="cx" style="display: block; padding: 0 10px">                 "element-closest": "^2.0.2",
</span><span class="cx" style="display: block; padding: 0 10px">                "formdata-polyfill": "3.0.13",
</span><span class="cx" style="display: block; padding: 0 10px">                "imagesloaded": "3.2.0",
</span></span></pre></div>
<a id="trunksrcjs_enqueuesadminsitehealthjs"></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/admin/site-health.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/js/_enqueues/admin/site-health.js       2019-03-27 22:10:37 UTC (rev 45043)
+++ trunk/src/js/_enqueues/admin/site-health.js 2019-03-27 22:30:26 UTC (rev 45044)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10,21 +10,14 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        var data;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        var clipboard = new ClipboardJS( '.site-health-copy-buttons .copy-button' );
+
</ins><span class="cx" style="display: block; padding: 0 10px">         // Debug information copy section.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $( '.health-check-copy-field' ).click( function( e ) {
-               var $textarea = $( '#system-information-' + $( this ).data( 'copy-field' ) + '-copy-field' ),
-                       $wrapper = $( this ).closest( 'div' );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ clipboard.on( 'success', function( e ) {
+               var $wrapper = $( e.trigger ).closest( 'div' );
+               $( '.success', $wrapper ).addClass( 'visible' );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                e.preventDefault();
-
-               $textarea.select();
-
-               if ( document.execCommand( 'copy' ) ) {
-                       $( '.copy-field-success', $wrapper ).addClass( 'visible' );
-                       $( this ).focus();
-
-                       wp.a11y.speak( SiteHealth.string.site_info_copied );
-               }
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         wp.a11y.speak( SiteHealth.string.site_info_copied );
</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">        // Accordion handling in various areas.
</span></span></pre></div>
<a id="trunksrcwpadmincsssitehealthcss"></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/css/site-health.css</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/css/site-health.css    2019-03-27 22:10:37 UTC (rev 45043)
+++ trunk/src/wp-admin/css/site-health.css      2019-03-27 22:30:26 UTC (rev 45044)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -209,29 +209,16 @@
</span><span class="cx" style="display: block; padding: 0 10px">        float: none;
</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">-body.site-health .system-information-copy-wrapper {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.site-health-copy-buttons {
</ins><span class="cx" style="display: block; padding: 0 10px">         display: block;
</span><span class="cx" style="display: block; padding: 0 10px">        margin: 1rem 0;
</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">-body.site-health .system-information-copy-wrapper textarea {
-       border: 0;
-       padding: 0;
-       margin: 0;
-       position: absolute;
-       left: -9999px;
-       top: -9999px;
-}
-
-body.site-health .health-check-toggle-copy-section:hover {
-       background: none;
-}
-
-body.site-health .system-information-copy-wrapper .copy-button-wrapper {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.site-health-copy-buttons .copy-button-wrapper {
</ins><span class="cx" style="display: block; padding: 0 10px">         margin: 0.5rem 0 1rem;
</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">-body.site-health .copy-field-success {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.site-health-copy-buttons .success {
</ins><span class="cx" style="display: block; padding: 0 10px">         display: none;
</span><span class="cx" style="display: block; padding: 0 10px">        color: #40860a;
</span><span class="cx" style="display: block; padding: 0 10px">        line-height: 1.8;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -238,7 +225,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        margin-left: 0.5rem;
</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">-body.site-health .copy-field-success.visible {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.site-health-copy-buttons .success.visible {
</ins><span class="cx" style="display: block; padding: 0 10px">         display: inline-block;
</span><span class="cx" style="display: block; padding: 0 10px">        height: 28px;
</span><span class="cx" style="display: block; padding: 0 10px">     line-height: 28px;
</span></span></pre></div>
<a id="trunksrcwpadminincludesclasswpdebugdataphp"></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-debug-data.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/class-wp-debug-data.php       2019-03-27 22:10:37 UTC (rev 45043)
+++ trunk/src/wp-admin/includes/class-wp-debug-data.php 2019-03-27 22:30:26 UTC (rev 45044)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -881,15 +881,16 @@
</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">-         * Print the formatted variation of the information gathered for debugging, in a manner
-        * suitable for a text area that can be instantly copied to a forum or support ticket.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * Format the information gathered for debugging, in a manner suitable for copying to a forum or support ticket.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 5.2.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param array $info_array Information gathered from the `WP_Debug_Data::debug_data` function.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @param string $type      Optional. The data type to format the information as. Default 'text'.
+        * @return string The formatted data.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        public static function textarea_format( $info_array ) {
-               echo "`\n";
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ public static function format( $info_array, $type = 'text' ) {
+               $return = '';
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                foreach ( $info_array as $section => $details ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        // Skip this section if there are no fields, or the section has been declared as private.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -897,7 +898,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                continue;
</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">-                        printf(
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $return .= sprintf(
</ins><span class="cx" style="display: block; padding: 0 10px">                                 "### %s%s ###\n\n",
</span><span class="cx" style="display: block; padding: 0 10px">                                $details['label'],
</span><span class="cx" style="display: block; padding: 0 10px">                                ( isset( $details['show_count'] ) && $details['show_count'] ? sprintf( ' (%d)', count( $details['fields'] ) ) : '' )
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -921,15 +922,16 @@
</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">-                                printf(
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         $return .= sprintf(
</ins><span class="cx" style="display: block; padding: 0 10px">                                         "%s: %s\n",
</span><span class="cx" style="display: block; padding: 0 10px">                                        $field['label'],
</span><span class="cx" style="display: block; padding: 0 10px">                                        $values
</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">-                        echo "\n";
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 $return .= "\n";
</ins><span class="cx" style="display: block; padding: 0 10px">                 }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                echo '`';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+               return $return;
</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="trunksrcwpadminsitehealthinfophp"></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/site-health-info.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/site-health-info.php   2019-03-27 22:10:37 UTC (rev 45043)
+++ trunk/src/wp-admin/site-health-info.php     2019-03-27 22:30:26 UTC (rev 45044)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -61,7 +61,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                <?php
</span><span class="cx" style="display: block; padding: 0 10px">                WP_Debug_Data::check_for_updates();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $info = WP_Debug_Data::debug_data();
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $info         = WP_Debug_Data::debug_data();
+               $english_info = '';
+               if ( 0 !== strpos( get_locale(), 'en' ) ) {
+                       $english_info = WP_Debug_Data::debug_data( 'en_US' );
+               }
</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">                <h2>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -69,29 +73,21 @@
</span><span class="cx" style="display: block; padding: 0 10px">                </h2>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                <p>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <?php _e( 'You can export the information on this page so it can be easily copied and pasted in support requests such as on the WordPress.org forums, or shared with your website / theme / plugin developers.' ); ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <?php _e( 'This page can show you every detail about the configuration of your WordPress website. If we see anything here that could be improved, we will let you know on the Site Status page.' ); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                 </p>
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                <p>
+                       <?php _e( 'If you want to export a handy list of all the information on this page, you can use the button below to copy it to the clipboard. You can then paste it in a text file and save it to your harddrive, or paste it in an email exchange with a support engineer or theme/plugin developer for example.' ); ?>
+               </p>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                <div class="system-information-copy-wrapper">
-                       <textarea id="system-information-default-copy-field" readonly><?php WP_Debug_Data::textarea_format( $info ); ?></textarea>
-
-                       <?php
-                       if ( 0 !== strpos( get_locale(), 'en' ) ) :
-
-                               $english_info = WP_Debug_Data::debug_data( 'en_US' );
-                               ?>
-                               <textarea id="system-information-english-copy-field" readonly><?php WP_Debug_Data::textarea_format( $english_info ); ?></textarea>
-
-                       <?php endif; ?>
-
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         <div class="site-health-copy-buttons">
</ins><span class="cx" style="display: block; padding: 0 10px">                         <div class="copy-button-wrapper">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <button type="button" class="button button-primary health-check-copy-field" data-copy-field="default"><?php _e( 'Copy to clipboard' ); ?></button>
-                               <span class="copy-field-success" aria-hidden="true">Copied!</span>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <button type="button" class="button button-primary copy-button" data-clipboard-text="<?php echo esc_attr( WP_Debug_Data::format( $info, 'text' ) ); ?>"><?php _e( 'Copy site info to clipboard' ); ?></button>
+                               <span class="success" aria-hidden="true">Copied!</span>
</ins><span class="cx" style="display: block; padding: 0 10px">                         </div>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        <?php if ( 0 !== strpos( get_locale(), 'en' ) ) : ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 <?php if ( $english_info ) : ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                                 <div class="copy-button-wrapper">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        <button type="button" class="button health-check-copy-field" data-copy-field="english"><?php _e( 'Copy to clipboard (English)' ); ?></button>
-                                       <span class="copy-field-success" aria-hidden="true">Copied!</span>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 <button type="button" class="button copy-button" data-clipboard-text="<?php echo esc_attr( WP_Debug_Data::format( $english_info, 'text' ) ); ?>"><?php _e( 'Copy site info to clipboard (English)' ); ?></button>
+                                       <span class="success" aria-hidden="true">Copied!</span>
</ins><span class="cx" style="display: block; padding: 0 10px">                                 </div>
</span><span class="cx" style="display: block; padding: 0 10px">                        <?php endif; ?>
</span><span class="cx" style="display: block; padding: 0 10px">                </div>
</span></span></pre></div>
<a id="trunksrcwpincludesscriptloaderphp"></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/script-loader.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/script-loader.php   2019-03-27 22:10:37 UTC (rev 45043)
+++ trunk/src/wp-includes/script-loader.php     2019-03-27 22:30:26 UTC (rev 45044)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -924,6 +924,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        $scripts->add( 'editor', "/wp-admin/js/editor$suffix.js", array( 'utils', 'jquery' ), false, 1 );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        $scripts->add( 'clipboard', "/wp-includes/js/clipboard$suffix.js", array(), false, 1 );
+
</ins><span class="cx" style="display: block; padding: 0 10px">         // Back-compat for old DFW. To-do: remove at the end of 2016.
</span><span class="cx" style="display: block; padding: 0 10px">        $scripts->add( 'wp-fullscreen-stub', "/wp-admin/js/wp-fullscreen-stub$suffix.js", array(), false, 1 );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1688,7 +1690,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"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                $scripts->add( 'site-health', "/wp-admin/js/site-health$suffix.js", array( 'jquery', 'wp-util', 'wp-a11y' ), false, 1 );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $scripts->add( 'site-health', "/wp-admin/js/site-health$suffix.js", array( 'clipboard', 'jquery', 'wp-util', 'wp-a11y' ), false, 1 );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $scripts->add( 'updates', "/wp-admin/js/updates$suffix.js", array( 'jquery', 'wp-util', 'wp-a11y' ), false, 1 );
</span><span class="cx" style="display: block; padding: 0 10px">                did_action( 'init' ) && $scripts->localize(
</span></span></pre>
</div>
</div>

</body>
</html>