<!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>[43502] branches/4.9/src: Dashboard: Introduce the "Try Gutenberg" callout.</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/43502">43502</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/43502","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>2018-07-18 06:41:07 +0000 (Wed, 18 Jul 2018)</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'>Dashboard: Introduce the "Try Gutenberg" callout.

To encourage folks to prepare for Gutenberg, this new Dashboard box allows site users to easily install and try the Gutenberg plugin now, or to install the Classic Editor plugin before WordPress 5.0 is released.

Props pento, melchoyce, joen, karmatosed, joemcgill, SergeyBiryukov, jorbin, bph, Clorith, afercia, chanthaboune, chrislema, kjellr, matveb, michelleweber.
Fixes <a href="https://core.trac.wordpress.org/ticket/41316">#41316</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branches49srcwpadmincsscommoncss">branches/4.9/src/wp-admin/css/common.css</a></li>
<li><a href="#branches49srcwpadmincssdashboardcss">branches/4.9/src/wp-admin/css/dashboard.css</a></li>
<li><a href="#branches49srcwpadminincludesajaxactionsphp">branches/4.9/src/wp-admin/includes/ajax-actions.php</a></li>
<li><a href="#branches49srcwpadminincludesclasswpscreenphp">branches/4.9/src/wp-admin/includes/class-wp-screen.php</a></li>
<li><a href="#branches49srcwpadminincludesdashboardphp">branches/4.9/src/wp-admin/includes/dashboard.php</a></li>
<li><a href="#branches49srcwpadminindexphp">branches/4.9/src/wp-admin/index.php</a></li>
<li><a href="#branches49srcwpadminjsdashboardjs">branches/4.9/src/wp-admin/js/dashboard.js</a></li>
<li><a href="#branches49srcwpadminjsupdatesjs">branches/4.9/src/wp-admin/js/updates.js</a></li>
<li><a href="#branches49srcwpadminpluginsphp">branches/4.9/src/wp-admin/plugins.php</a></li>
<li><a href="#branches49srcwpincludesdefaultfiltersphp">branches/4.9/src/wp-includes/default-filters.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branches49srcwpadmincsscommoncss"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.9/src/wp-admin/css/common.css</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.9/src/wp-admin/css/common.css  2018-07-18 01:01:28 UTC (rev 43501)
+++ branches/4.9/src/wp-admin/css/common.css    2018-07-18 06:41:07 UTC (rev 43502)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -764,6 +764,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /* @todo can we combine these into a class or use an existing dashicon one? */
</span><span class="cx" style="display: block; padding: 0 10px"> .welcome-panel .welcome-panel-close:before,
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.try-gutenberg-panel .try-gutenberg-panel-close:before,
</ins><span class="cx" style="display: block; padding: 0 10px"> .tagchecklist .ntdelbutton .remove-tag-icon:before,
</span><span class="cx" style="display: block; padding: 0 10px"> #bulk-titles div a:before,
</span><span class="cx" style="display: block; padding: 0 10px"> .notice-dismiss:before {
</span></span></pre></div>
<a id="branches49srcwpadmincssdashboardcss"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.9/src/wp-admin/css/dashboard.css</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.9/src/wp-admin/css/dashboard.css       2018-07-18 01:01:28 UTC (rev 43501)
+++ branches/4.9/src/wp-admin/css/dashboard.css 2018-07-18 06:41:07 UTC (rev 43502)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -98,7 +98,8 @@
</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"> /* Welcome Panel */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel,
+.try-gutenberg-panel {
</ins><span class="cx" style="display: block; padding: 0 10px">         position: relative;
</span><span class="cx" style="display: block; padding: 0 10px">        overflow: auto;
</span><span class="cx" style="display: block; padding: 0 10px">        margin: 16px 0;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -110,7 +111,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        line-height: 2.1em;
</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">-.welcome-panel h2 {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel h2,
+.try-gutenberg-panel h2 {
</ins><span class="cx" style="display: block; padding: 0 10px">         margin: 0;
</span><span class="cx" style="display: block; padding: 0 10px">        font-size: 21px;
</span><span class="cx" style="display: block; padding: 0 10px">        font-weight: 400;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -122,25 +124,42 @@
</span><span class="cx" style="display: block; padding: 0 10px">        font-size: 16px;
</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">-.welcome-panel li {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.try-gutenberg-panel h3 {
+       margin: 17px 0 0;
+       font-size: 16px;
+}
+
+.welcome-panel li,
+.try-gutenberg-panel li {
</ins><span class="cx" style="display: block; padding: 0 10px">         font-size: 14px;
</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">-.welcome-panel p {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel p,
+.try-gutenberg-panel p {
</ins><span class="cx" style="display: block; padding: 0 10px">         color: #72777c;
</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">-.welcome-panel a {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel a,
+.try-gutenberg-action a {
</ins><span class="cx" style="display: block; padding: 0 10px">         text-decoration: 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">-.welcome-panel .about-description {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel .about-description,
+.try-gutenberg-panel .about-description {
</ins><span class="cx" style="display: block; padding: 0 10px">         font-size: 16px;
</span><span class="cx" style="display: block; padding: 0 10px">        margin: 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">-.welcome-panel .welcome-panel-close {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.try-gutenberg-panel-content hr {
+       margin: 20px -23px 0 -23px;
+       border-top: 1px solid #f3f4f5;
+       border-bottom: none;
+}
+
+.welcome-panel .welcome-panel-close,
+.try-gutenberg-panel .try-gutenberg-panel-close {
</ins><span class="cx" style="display: block; padding: 0 10px">         position: absolute;
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        z-index: 10;
</ins><span class="cx" style="display: block; padding: 0 10px">         top: 10px;
</span><span class="cx" style="display: block; padding: 0 10px">        right: 10px;
</span><span class="cx" style="display: block; padding: 0 10px">        padding: 10px 15px 10px 21px;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -149,7 +168,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        text-decoration: 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">-.welcome-panel .welcome-panel-close:before {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel .welcome-panel-close:before,
+.try-gutenberg-panel .try-gutenberg-panel-close:before {
</ins><span class="cx" style="display: block; padding: 0 10px">         position: absolute;
</span><span class="cx" style="display: block; padding: 0 10px">        top: 8px;
</span><span class="cx" style="display: block; padding: 0 10px">        left: 0;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -164,11 +184,23 @@
</span><span class="cx" style="display: block; padding: 0 10px">        white-space: normal;
</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">-.welcome-panel-content {
-       margin-left: 13px;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel-content,
+.try-gutenberg-panel-content {
+       margin: 0 13px;
</ins><span class="cx" style="display: block; padding: 0 10px">         max-width: 1500px;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.try-gutenberg-panel img {
+       margin-top: 23px;
+       width: calc( 100% - 40px );
+       border: 1px solid #f3f4f5;
+}
+
+.try-gutenberg-panel .install-now.updating-message:before,
+.try-gutenberg-panel .install-now.updated-message:before {
+       margin-top: 11px;
+}
+
</ins><span class="cx" style="display: block; padding: 0 10px"> .welcome-panel .welcome-panel-column-container {
</span><span class="cx" style="display: block; padding: 0 10px">        clear: both;
</span><span class="cx" style="display: block; padding: 0 10px">        position: relative;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -180,6 +212,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        float: left;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.try-gutenberg-panel .try-gutenberg-panel-column > * {
+       padding-right: 40px;
+}
+
</ins><span class="cx" style="display: block; padding: 0 10px"> .ie8 .welcome-panel .welcome-panel-column {
</span><span class="cx" style="display: block; padding: 0 10px">        min-width: 230px;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -188,11 +224,27 @@
</span><span class="cx" style="display: block; padding: 0 10px">        width: 36%;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.try-gutenberg-panel .try-gutenberg-panel-column-container {
+       display: -ms-grid;
+       display: grid;
+       -ms-grid-columns: 36% 32% 32%;
+       grid-template-columns: 36% 32% 32%;
+       margin-bottom: 13px;
+}
+
+.try-gutenberg-panel .try-gutenberg-panel-column:not(.try-gutenberg-panel-image-column) {
+       display: -ms-grid;
+       display: grid;
+       -ms-grid-rows: 45px auto 100px;
+       grid-template-rows: 45px auto 100px;
+}
+
</ins><span class="cx" style="display: block; padding: 0 10px"> .welcome-panel-column p.hide-if-no-customize {
</span><span class="cx" style="display: block; padding: 0 10px">        margin-top: 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">-.welcome-panel-column p {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel-column p,
+.try-gutenberg-panel-column p {
</ins><span class="cx" style="display: block; padding: 0 10px">         margin-top: 7px;
</span><span class="cx" style="display: block; padding: 0 10px">        color: #444;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -202,7 +254,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"> .welcome-panel .welcome-panel-column ul {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        margin: 0.8em 1em 1em 0;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         margin: 0.8em 1em 1em 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"> .welcome-panel .welcome-panel-column li {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1207,6 +1259,17 @@
</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><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+@media screen and (max-width: 1024px) {
+       .try-gutenberg-panel .try-gutenberg-panel-column-container {
+               -ms-grid-columns: 50% 50%;
+               grid-template-columns: 50% 50%;
+       }
+
+       .try-gutenberg-panel .try-gutenberg-panel-image-column {
+               display: none;
+       }
+}
+
</ins><span class="cx" style="display: block; padding: 0 10px"> @media screen and (max-width: 870px) {
</span><span class="cx" style="display: block; padding: 0 10px">        .welcome-panel .welcome-panel-column,
</span><span class="cx" style="display: block; padding: 0 10px">        .welcome-panel .welcome-panel-column:first-child {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1215,6 +1278,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                width: 100%;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        .try-gutenberg-panel .try-gutenberg-panel-column-container {
+               -ms-grid-columns: 100%;
+               grid-template-columns: 100%;
+       }
+
</ins><span class="cx" style="display: block; padding: 0 10px">         .welcome-panel .welcome-panel-column li {
</span><span class="cx" style="display: block; padding: 0 10px">                display: inline-block;
</span><span class="cx" style="display: block; padding: 0 10px">                margin-right: 13px;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1223,7 +1291,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">        .welcome-panel .welcome-panel-column ul {
</span><span class="cx" style="display: block; padding: 0 10px">                margin: 0.4em 0 0;
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</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"> @media screen and ( max-width: 782px ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1266,7 +1333,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /* Smartphone */
</span><span class="cx" style="display: block; padding: 0 10px"> @media screen and (max-width: 600px) {
</span><span class="cx" style="display: block; padding: 0 10px">        /* Keep the close icon from overlapping the Welcome text. */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        .welcome-panel .welcome-panel-close {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ .welcome-panel .welcome-panel-close,
+       .try-gutenberg-panel .try-gutenberg-panel-close {
</ins><span class="cx" style="display: block; padding: 0 10px">                 overflow: hidden;
</span><span class="cx" style="display: block; padding: 0 10px">                text-indent: 40px;
</span><span class="cx" style="display: block; padding: 0 10px">                white-space: nowrap;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1278,7 +1346,8 @@
</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">        /* Make the close icon larger for tappability. */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        .welcome-panel .welcome-panel-close:before {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ .welcome-panel .welcome-panel-close:before,
+       .try-gutenberg-panel .try-gutenberg-panel-close:before {
</ins><span class="cx" style="display: block; padding: 0 10px">                 font-size: 20px;
</span><span class="cx" style="display: block; padding: 0 10px">                top: 5px;
</span><span class="cx" style="display: block; padding: 0 10px">                left: -35px;
</span></span></pre></div>
<a id="branches49srcwpadminincludesajaxactionsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.9/src/wp-admin/includes/ajax-actions.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.9/src/wp-admin/includes/ajax-actions.php       2018-07-18 01:01:28 UTC (rev 43501)
+++ branches/4.9/src/wp-admin/includes/ajax-actions.php 2018-07-18 06:41:07 UTC (rev 43502)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1485,6 +1485,19 @@
</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><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Ajax handler for updating whether to display the Try Gutenberg panel.
+ *
+ * @since 4.9.8
+ */
+function wp_ajax_update_try_gutenberg_panel() {
+       check_ajax_referer( 'try-gutenberg-panel-nonce', 'trygutenbergpanelnonce' );
+
+       update_user_meta( get_current_user_id(), 'show_try_gutenberg_panel', empty( $_POST['visible'] ) ? 0 : 1 );
+
+       wp_die( 1 );
+}
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px">  * Ajax handler for retrieving menu meta boxes.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @since 3.1.0
</span></span></pre></div>
<a id="branches49srcwpadminincludesclasswpscreenphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.9/src/wp-admin/includes/class-wp-screen.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.9/src/wp-admin/includes/class-wp-screen.php    2018-07-18 01:01:28 UTC (rev 43501)
+++ branches/4.9/src/wp-admin/includes/class-wp-screen.php      2018-07-18 06:41:07 UTC (rev 43502)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1020,7 +1020,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                        update_user_meta( get_current_user_id(), 'show_welcome_panel', $welcome_checked );
</span><span class="cx" style="display: block; padding: 0 10px">                                } else {
</span><span class="cx" style="display: block; padding: 0 10px">                                        $welcome_checked = get_user_meta( get_current_user_id(), 'show_welcome_panel', true );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        if ( 2 == $welcome_checked && wp_get_current_user()->user_email != get_option( 'admin_email' ) ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 if ( '' === $welcome_checked ) {
+                                               $welcome_checked = '1';
+                                       }
+                                       if ( '2' === $welcome_checked && wp_get_current_user()->user_email != get_option( 'admin_email' ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                                                 $welcome_checked = false;
</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">@@ -1028,6 +1031,24 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                echo '<input type="checkbox" id="wp_welcome_panel-hide"' . checked( (bool) $welcome_checked, true, false ) . ' />';
</span><span class="cx" style="display: block; padding: 0 10px">                                echo _x( 'Welcome', 'Welcome panel' ) . "</label>\n";
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+                       if ( 'dashboard' === $this->id && has_action( 'try_gutenberg_panel' ) ) {
+                               if ( isset( $_GET['try_gutenberg'] ) ) {
+                                       $try_gutenberg_checked = empty( $_GET['try_gutenberg'] ) ? 0 : 1;
+                                       update_user_meta( get_current_user_id(), 'show_try_gutenberg_panel', $try_gutenberg_checked );
+                               } else {
+                                       $try_gutenberg_checked = get_user_meta( get_current_user_id(), 'show_try_gutenberg_panel', true );
+                                       if ( '' === $try_gutenberg_checked ) {
+                                               $try_gutenberg_checked = '1';
+                                       }
+                                       if ( '2' === $try_gutenberg_checked && wp_get_current_user()->user_email != get_option( 'admin_email' ) ) {
+                                               $try_gutenberg_checked = false;
+                                       }
+                               }
+                               echo '<label for="wp_try_gutenberg_panel-hide">';
+                               echo '<input type="checkbox" id="wp_try_gutenberg_panel-hide"' . checked( (bool) $try_gutenberg_checked, true, false ) . ' />';
+                               echo __( 'New Editor' ) . "</label>\n";
+                       }
</ins><span class="cx" style="display: block; padding: 0 10px">                 ?>
</span><span class="cx" style="display: block; padding: 0 10px">                </fieldset>
</span><span class="cx" style="display: block; padding: 0 10px">                <?php
</span></span></pre></div>
<a id="branches49srcwpadminincludesdashboardphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.9/src/wp-admin/includes/dashboard.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.9/src/wp-admin/includes/dashboard.php  2018-07-18 01:01:28 UTC (rev 43501)
+++ branches/4.9/src/wp-admin/includes/dashboard.php    2018-07-18 06:41:07 UTC (rev 43502)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1619,3 +1619,118 @@
</span><span class="cx" style="display: block; padding: 0 10px">        </div>
</span><span class="cx" style="display: block; padding: 0 10px">        <?php
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * Displays a Try Gutenberg Panel, to introduce people to Gutenberg
+ *
+ * @since 4.9.8
+ */
+function wp_try_gutenberg_panel() {
+       $plugins = get_plugins();
+       $action = $url = $classes = '';
+       $classic_action = $classic_url = $classic_classes = '';
+
+       if ( current_user_can( 'install_plugins' ) ) {
+               if ( empty( $plugins['gutenberg/gutenberg.php'] ) ) {
+                       $action = __( 'Install Gutenberg' );
+                       $url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=gutenberg' ), 'install-plugin_gutenberg' );
+                       $classes = ' install-now';
+               } else if ( is_plugin_inactive( 'gutenberg/gutenberg.php' ) ) {
+                       $action = __( 'Activate Gutenberg' );
+                       $url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=gutenberg/gutenberg.php&from=try-gutenberg' ), 'activate-plugin_gutenberg/gutenberg.php' );
+                       $classes = ' activate-now';
+               }
+
+               if ( empty( $plugins['classic-editor/classic-editor.php'] ) ) {
+                       $classic_action = __( 'Install the Classic Editor' );
+                       $classic_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=classic-editor' ), 'install-plugin_classic-editor' );
+                       $classic_classes = ' install-now';
+               } else if ( is_plugin_inactive( 'classic-editor/classic-editor.php' ) ) {
+                       $classic_action = __( 'Activate the Classic Editor' );
+                       $classic_url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=classic-editor/classic-editor.php&from=try-gutenberg' ), 'activate-plugin_classic-editor/classic-editor.php' );
+                       $classic_classes = ' activate-now';
+               } else {
+                       $classic_action = __( 'The Classic Editor is activated' );
+                       $classic_url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=classic-editor/classic-editor.php&from=try-gutenberg' ), 'activate-plugin_classic-editor/classic-editor.php' );;
+                       $classic_classes = ' button-disabled install-now updated-message';
+               }
+       }
+
+       if ( current_user_can( 'edit_posts' ) && is_plugin_active( 'gutenberg/gutenberg.php' ) ) {
+               $action = __( 'Try Gutenberg' );
+               $url = admin_url( 'admin.php?page=gutenberg' );
+       }
+
+       ?>
+       <div class="try-gutenberg-panel-content">
+               <h2><?php _e( 'A new, modern publishing experience is coming soon.' ); ?></h2>
+
+               <p class="about-description"><?php _e( "Take your words, media, and layout in new directions with Gutenberg, the WordPress editor we're currently building." ); ?></p>
+
+               <hr />
+
+               <div class="try-gutenberg-panel-column-container">
+                       <div class="try-gutenberg-panel-column try-gutenberg-panel-image-column">
+                               <picture>
+                                       <source srcset="about:blank" media="(max-width: 1024px)">
+                                       <img src="https://s.w.org/images/core/gutenberg-screenshot.png?<?php echo date( 'Ymd' ); ?>" alt="<?php esc_attr_e( 'Screenshot from the Gutenberg interface' ); ?>" />
+                               </picture>
+                       </div>
+                       <div class="try-gutenberg-panel-column plugin-card-gutenberg">
+
+                               <h3><?php _e( 'Test the new editor today.' ); ?></h3>
+
+                               <p>
+                                       <?php _e( "You can take Gutenberg for a spin (and share your feedback, if you’d like) before we officially release it, by installing it as a plugin." ); ?>
+                                       <?php
+                                               printf(
+                                                       /* translators: 1: Gutenberg call for testing handbook link, 2: Gutenberg GitHub repository issues link, 3: Gutenberg GitHub repository CONTRIBUTING.md link */
+                                                       __( 'You can help by <a href="%1$s">testing</a>, <a href="%2$s">filing bugs</a>, or contributing on the <a href="%3$s">GitHub repository</a>.' ),
+                                                       'https://make.wordpress.org/test/handbook/call-for-testing/gutenberg-testing/',
+                                                       'https://github.com/WordPress/gutenberg/issues',
+                                                       'https://github.com/WordPress/gutenberg/blob/master/CONTRIBUTING.md'
+                                               );
+                                       ?>
+                               </p>
+
+                                       <?php if ( $action ) { ?>
+                                               <div class="try-gutenberg-action">
+                                                       <p><a class="button button-primary button-hero<?php echo $classes; ?>" href="<?php echo esc_url( $url ); ?>" data-name="<?php esc_attr_e( 'Gutenberg' ); ?>" data-slug="gutenberg"><?php echo $action; ?></a></p>
+                                                       <p>
+                                                               <?php
+                                                                       printf(
+                                                                               /* translators: Link to https://wordpress.org/gutenberg/ */
+                                                                               __( '<a href="%s">Learn more about Gutenberg</a>' ),
+                                                                               'https://wordpress.org/gutenberg/'
+                                                                       );
+                                                               ?>
+                                                       </p>
+                                               </div>
+                                       <?php } ?>
+                       </div>
+
+                       <div class="try-gutenberg-panel-column plugin-card-classic-editor">
+
+                               <h3><?php _e( 'Not quite ready?' ); ?></h3>
+
+                               <p>
+                                       <?php _e( 'The new editor will be enabled by default in the next major release of WordPress. If you’re not sure how compatible your current themes and plugins are, we’ve got you covered.' ); ?>
+                                       <?php
+                                               printf(
+                                                       /* translators: Link to the Classic Editor plugin page */
+                                                       __( 'Install the <a href="%s">Classic Editor plugin</a> to keep using the current editor until you’re ready to make the switch.' ),
+                                                       'http://wordpress.org/plugins/classic-editor'
+                                               );
+                                       ?>
+                               </p>
+
+                               <?php if ( $classic_action ) { ?>
+                                       <div class="try-gutenberg-action">
+                                               <p><a class="button button-secondary button-hero<?php echo $classic_classes; ?>" href="<?php echo esc_url( $classic_url ); ?>" data-name="<?php esc_attr_e( 'Classic Editor' ); ?>" data-slug="classic-editor"><?php echo $classic_action; ?></a></p>
+                                       </div>
+                               <?php } ?>
+                       </div>
+               </div>
+       </div>
+       <?php
+}
</ins></span></pre></div>
<a id="branches49srcwpadminindexphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.9/src/wp-admin/index.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.9/src/wp-admin/index.php       2018-07-18 01:01:28 UTC (rev 43501)
+++ branches/4.9/src/wp-admin/index.php 2018-07-18 06:41:07 UTC (rev 43502)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -103,12 +103,38 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <div class="wrap">
</span><span class="cx" style="display: block; padding: 0 10px">        <h1><?php echo esc_html( $title ); ?></h1>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php if ( has_action( 'try_gutenberg_panel' ) ) :
+       $classes = 'try-gutenberg-panel';
+
+       $option = get_user_meta( get_current_user_id(), 'show_try_gutenberg_panel', true );
+       // 0 = hide, 1 = toggled to show or single site creator, 2 = multisite site owner
+       $hide = '0' === $option || ( '2' === $option && wp_get_current_user()->user_email !== get_option( 'admin_email' ) );
+       if ( $hide )
+               $classes .= ' hidden'; ?>
+
+       <div id="try-gutenberg-panel" class="<?php echo esc_attr( $classes ); ?>">
+               <?php wp_nonce_field( 'try-gutenberg-panel-nonce', 'trygutenbergpanelnonce', false ); ?>
+               <a class="try-gutenberg-panel-close" href="<?php echo esc_url( admin_url( '?try_gutenberg=0' ) ); ?>" aria-label="<?php esc_attr_e( 'Dismiss the Try Gutenberg panel' ); ?>"><?php _e( 'Dismiss' ); ?></a>
+               <?php
+               /**
+                * Add content to the Try Gutenberg panel on the admin dashboard.
+                *
+                * To remove the Try Gutenberg panel, use remove_action():
+                *
+                *     remove_action( 'try_gutenberg_panel', 'wp_try_gutenberg_panel' );
+                *
+                * @since 4.9.8
+                */
+               do_action( 'try_gutenberg_panel' );
+               ?>
+       </div>
+<?php endif; ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php if ( has_action( 'welcome_panel' ) && current_user_can( 'edit_theme_options' ) ) :
</span><span class="cx" style="display: block; padding: 0 10px">        $classes = 'welcome-panel';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        $option = get_user_meta( get_current_user_id(), 'show_welcome_panel', true );
</span><span class="cx" style="display: block; padding: 0 10px">        // 0 = hide, 1 = toggled to show or single site creator, 2 = multisite site owner
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $hide = 0 == $option || ( 2 == $option && wp_get_current_user()->user_email != get_option( 'admin_email' ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $hide = '0' === $option || ( '2' === $option && wp_get_current_user()->user_email != get_option( 'admin_email' ) );
</ins><span class="cx" style="display: block; padding: 0 10px">         if ( $hide )
</span><span class="cx" style="display: block; padding: 0 10px">                $classes .= ' hidden'; ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span></span></pre></div>
<a id="branches49srcwpadminjsdashboardjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.9/src/wp-admin/js/dashboard.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.9/src/wp-admin/js/dashboard.js 2018-07-18 01:01:28 UTC (rev 43501)
+++ branches/4.9/src/wp-admin/js/dashboard.js   2018-07-18 06:41:07 UTC (rev 43502)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -31,6 +31,49 @@
</span><span class="cx" style="display: block; padding: 0 10px">                updateWelcomePanel( this.checked ? 1 : 0 );
</span><span class="cx" style="display: block; padding: 0 10px">        });
</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 tryGutenbergPanel = $( '#try-gutenberg-panel' ),
+               tryGutenbergPanelHide = $('#wp_try_gutenberg_panel-hide'),
+               updateTryGutenbergPanel, installGutenbergSuccess;
+
+       updateTryGutenbergPanel = function( visible ) {
+               $.post( ajaxurl, {
+                       action: 'update-try-gutenberg-panel',
+                       visible: visible,
+                       trygutenbergpanelnonce: $( '#trygutenbergpanelnonce' ).val()
+               });
+       };
+
+       installGutenbergSuccess = function( response ) {
+               response.activateUrl += '&from=try-gutenberg';
+               response.activateLabel = wp.updates.l10n.activatePluginLabel.replace( '%s', response.pluginName );
+               wp.updates.installPluginSuccess( response );
+       };
+
+       if ( tryGutenbergPanel.hasClass( 'hidden' ) && tryGutenbergPanelHide.prop( 'checked' ) ) {
+               tryGutenbergPanel.removeClass( 'hidden' );
+       }
+
+       $( '.try-gutenberg-panel-close, .try-gutenberg-panel-dismiss a', tryGutenbergPanel ).click( function( e ) {
+               e.preventDefault();
+               tryGutenbergPanel.addClass( 'hidden' );
+               updateTryGutenbergPanel( 0 );
+               $('#wp_try_gutenberg_panel-hide').prop( 'checked', false );
+       });
+
+       tryGutenbergPanelHide.click( function() {
+               tryGutenbergPanel.toggleClass( 'hidden', ! this.checked );
+               updateTryGutenbergPanel( this.checked ? 1 : 0 );
+       });
+
+       tryGutenbergPanel.on( 'click', '.install-now', function( e ) {
+               e.preventDefault();
+               var args = {
+                       slug: $( e.target ).data( 'slug' ),
+                       success: installGutenbergSuccess
+               };
+               wp.updates.installPlugin( args );
+       } );
+
</ins><span class="cx" style="display: block; padding: 0 10px">         // These widgets are sometimes populated via ajax
</span><span class="cx" style="display: block; padding: 0 10px">        ajaxWidgets = ['dashboard_primary'];
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span></span></pre></div>
<a id="branches49srcwpadminjsupdatesjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.9/src/wp-admin/js/updates.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.9/src/wp-admin/js/updates.js   2018-07-18 01:01:28 UTC (rev 43501)
+++ branches/4.9/src/wp-admin/js/updates.js     2018-07-18 06:41:07 UTC (rev 43502)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -585,10 +585,16 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $message
</span><span class="cx" style="display: block; padding: 0 10px">                        .removeClass( 'updating-message' )
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        .addClass( 'updated-message installed button-disabled' )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 .addClass( 'updated-message installed' )
</ins><span class="cx" style="display: block; padding: 0 10px">                         .attr( 'aria-label', wp.updates.l10n.pluginInstalledLabel.replace( '%s', response.pluginName ) )
</span><span class="cx" style="display: block; padding: 0 10px">                        .text( wp.updates.l10n.pluginInstalled );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                if ( $message.hasClass( 'button-primary' ) ) {
+                       $message.addClass( 'button-primary-disabled' );
+               } else {
+                       $message.addClass( 'button-disabled' );
+               }
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 wp.a11y.speak( wp.updates.l10n.installedMsg, 'polite' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                $document.trigger( 'wp-plugin-install-success', response );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -597,10 +603,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        setTimeout( function() {
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                // Transform the 'Install' button into an 'Activate' button.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                $message.removeClass( 'install-now installed button-disabled updated-message' ).addClass( 'activate-now button-primary' )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         $message.removeClass( 'install-now installed button-primary-disabled button-secondary-disabled button-disabled updated-message' )
+                                       .addClass( 'activate-now' )
</ins><span class="cx" style="display: block; padding: 0 10px">                                         .attr( 'href', response.activateUrl )
</span><span class="cx" style="display: block; padding: 0 10px">                                        .attr( 'aria-label', wp.updates.l10n.activatePluginLabel.replace( '%s', response.pluginName ) )
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        .text( wp.updates.l10n.activatePlugin );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 .text( response.activateLabel || wp.updates.l10n.activatePlugin );
</ins><span class="cx" style="display: block; padding: 0 10px">                         }, 1000 );
</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="branches49srcwpadminpluginsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.9/src/wp-admin/plugins.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.9/src/wp-admin/plugins.php     2018-07-18 01:01:28 UTC (rev 43501)
+++ branches/4.9/src/wp-admin/plugins.php       2018-07-18 06:41:07 UTC (rev 43502)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -65,6 +65,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                wp_redirect( self_admin_url("import.php?import=" . str_replace('-importer', '', dirname($plugin))) ); // overrides the ?error=true one above and redirects to the Imports page, stripping the -importer suffix
</span><span class="cx" style="display: block; padding: 0 10px">                        } else if ( isset($_GET['from']) && 'press-this' == $_GET['from'] ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                wp_redirect( self_admin_url( "press-this.php") );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        } else if ( isset( $_GET['from'] ) && 'try-gutenberg' == $_GET['from'] ) {
+                               if ( 'gutenberg/gutenberg.php' === $plugin ) {
+                                       wp_redirect( self_admin_url( "admin.php?page=gutenberg" ) );
+                               } else {
+                                       wp_redirect( self_admin_url() );
+                               }
</ins><span class="cx" style="display: block; padding: 0 10px">                         } else {
</span><span class="cx" style="display: block; padding: 0 10px">                                wp_redirect( self_admin_url("plugins.php?activate=true&plugin_status=$status&paged=$page&s=$s") ); // overrides the ?error=true one above
</span><span class="cx" style="display: block; padding: 0 10px">                        }
</span></span></pre></div>
<a id="branches49srcwpincludesdefaultfiltersphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: branches/4.9/src/wp-includes/default-filters.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- branches/4.9/src/wp-includes/default-filters.php  2018-07-18 01:01:28 UTC (rev 43501)
+++ branches/4.9/src/wp-includes/default-filters.php    2018-07-18 06:41:07 UTC (rev 43502)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -318,6 +318,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'transition_post_status',     '_update_term_count_on_transition_post_status', 10, 3 );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'comment_form',               'wp_comment_form_unfiltered_html_nonce'          );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'admin_init',                 'send_frame_options_header',               10, 0 );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+add_action( 'try_gutenberg_panel',        'wp_try_gutenberg_panel'                         );
</ins><span class="cx" style="display: block; padding: 0 10px"> add_action( 'welcome_panel',              'wp_welcome_panel'                               );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> // Privacy
</span></span></pre>
</div>
</div>

</body>
</html>