<!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>[48923] trunk/src: Script Loader: Add backward compatibility for JavaScript i18n globals and properties deprecated in WordPress 5.5.</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/48923">48923</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/48923","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>SergeyBiryukov</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2020-08-31 20:28:41 +0000 (Mon, 31 Aug 2020)</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'>Script Loader: Add backward compatibility for JavaScript i18n globals and properties deprecated in WordPress 5.5.

The recommended approach for any plugins using these globals or properties is to switch to the newer `wp.i18n` functions.

In the meantime, this ensures that accessing any of these globals does not break the rest of the code on the page, and an appropriate warning message is logged to the JavaScript console.

Follow-up to: https://core.trac.wordpress.org/query?summary=~wp.i18n&milestone=5.5

Props omarreiss, peterwilsoncc, kbjohnson90, johnbillion, TimothyBlynJacobs, joostdevalk, ocean90, desrosj, SergeyBiryukov.
Fixes <a href="https://core.trac.wordpress.org/ticket/51123">#51123</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcjs_enqueuesadmincommonjs">trunk/src/js/_enqueues/admin/common.js</a></li>
<li><a href="#trunksrcjs_enqueuesadminwidgetsjs">trunk/src/js/_enqueues/admin/widgets.js</a></li>
<li><a href="#trunksrcjs_enqueueswpthemeplugineditorjs">trunk/src/js/_enqueues/wp/theme-plugin-editor.js</a></li>
<li><a href="#trunksrcjs_enqueueswpupdatesjs">trunk/src/js/_enqueues/wp/updates.js</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="trunksrcjs_enqueuesadmincommonjs"></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/common.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/js/_enqueues/admin/common.js    2020-08-31 18:58:04 UTC (rev 48922)
+++ trunk/src/js/_enqueues/admin/common.js      2020-08-31 20:28:41 UTC (rev 48923)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -16,9 +16,342 @@
</span><span class="cx" style="display: block; padding: 0 10px">        var $document = $( document ),
</span><span class="cx" style="display: block; padding: 0 10px">                $window = $( window ),
</span><span class="cx" style="display: block; padding: 0 10px">                $body = $( document.body ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                __ = wp.i18n.__;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         __ = wp.i18n.__,
+               sprintf = wp.i18n.sprintf;
</ins><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">+ * Throws an error for a deprecated property.
+ *
+ * @since 5.5.1
+ *
+ * @param {string} propName    The property that was used.
+ * @param {string} version     The version of WordPress that deprecated the property.
+ * @param {string} replacement The property that should have been used.
+ */
+function deprecatedProperty( propName, version, replacement ) {
+       var message;
+
+       if ( 'undefined' !== typeof replacement ) {
+               message = sprintf(
+                       /* translators: 1: Deprecated property name, 2: Version number, 3: Alternative property name. */
+                       __( '%1$s is deprecated since version %2$s! Use %3$s instead.' ),
+                       propName,
+                       version,
+                       replacement
+               );
+       } else {
+               message = sprintf(
+                       /* translators: 1: Deprecated property name, 2: Version number. */
+                       __( '%1$s is deprecated since version %2$s with no alternative available.' ),
+                       propName,
+                       version
+               );
+       }
+
+       window.console.warn( message );
+}
+
+/**
+ * Deprecate all properties on an object.
+ *
+ * @since 5.5.1
+ *
+ * @param {string} name       The name of the object, i.e. commonL10n.
+ * @param {object} l10nObject The object to deprecate the properties on.
+ *
+ * @return {object} The object with all its properties deprecated.
+ */
+function deprecateL10nObject( name, l10nObject ) {
+       var deprecatedObject = {};
+
+       Object.keys( l10nObject ).forEach( function( key ) {
+               var prop = l10nObject[ key ];
+               var propName = name + '.' + key;
+
+               if ( 'object' === typeof prop ) {
+                       Object.defineProperty( deprecatedObject, key, { get: function() {
+                               deprecatedProperty( propName, '5.5.0', prop.alternative );
+                               return prop.func();
+                       } } );
+               } else {
+                       Object.defineProperty( deprecatedObject, key, { get: function() {
+                               deprecatedProperty( propName, '5.5.0', 'wp.i18n' );
+                               return prop;
+                       } } );
+               }
+       } );
+
+       return deprecatedObject;
+}
+
+window.wp.deprecateL10nObject = deprecateL10nObject;
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.6.0
+ * @deprecated 5.5.0
+ */
+window.commonL10n = window.commonL10n || {
+       warnDelete: '',
+       dismiss: '',
+       collapseMenu: '',
+       expandMenu: ''
+};
+
+window.commonL10n = deprecateL10nObject( 'commonL10n', window.commonL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 3.3.0
+ * @deprecated 5.5.0
+ */
+window.wpPointerL10n = window.wpPointerL10n || {
+       dismiss: ''
+};
+
+window.wpPointerL10n = deprecateL10nObject( 'wpPointerL10n', window.wpPointerL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 4.3.0
+ * @deprecated 5.5.0
+ */
+window.userProfileL10n = window.userProfileL10n || {
+       warn: '',
+       warnWeak: '',
+       show: '',
+       hide: '',
+       cancel: '',
+       ariaShow: '',
+       ariaHide: ''
+};
+
+window.userProfileL10n = deprecateL10nObject( 'userProfileL10n', window.userProfileL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 4.9.6
+ * @deprecated 5.5.0
+ */
+window.privacyToolsL10n = window.privacyToolsL10n || {
+       noDataFound: '',
+       foundAndRemoved: '',
+       noneRemoved: '',
+       someNotRemoved: '',
+       removalError: '',
+       emailSent: '',
+       noExportFile: '',
+       exportError: ''
+};
+
+window.privacyToolsL10n = deprecateL10nObject( 'privacyToolsL10n', window.privacyToolsL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 3.6.0
+ * @deprecated 5.5.0
+ */
+window.authcheckL10n = {
+       beforeunload: ''
+};
+
+window.authcheckL10n = window.authcheckL10n || deprecateL10nObject( 'authcheckL10n', window.authcheckL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.8.0
+ * @deprecated 5.5.0
+ */
+window.tagsl10n = {
+       noPerm: '',
+       broken: ''
+};
+
+window.tagsl10n = window.tagsl10n || deprecateL10nObject( 'tagsl10n', window.tagsl10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.5.0
+ * @deprecated 5.5.0
+ */
+window.adminCommentsL10n = window.adminCommentsL10n || {
+       hotkeys_highlight_first: {
+               alternative: 'window.adminCommentsSettings.hotkeys_highlight_first',
+               func: function() { return window.adminCommentsSettings.hotkeys_highlight_first; }
+       },
+       hotkeys_highlight_last: {
+               alternative: 'window.adminCommentsSettings.hotkeys_highlight_last',
+               func: function() { return window.adminCommentsSettings.hotkeys_highlight_last; }
+       },
+       replyApprove: '',
+       reply: '',
+       warnQuickEdit: '',
+       warnCommentChanges: '',
+       docTitleComments: '',
+       docTitleCommentsCount: ''
+};
+
+window.adminCommentsL10n = deprecateL10nObject( 'adminCommentsL10n', window.adminCommentsL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.5.0
+ * @deprecated 5.5.0
+ */
+window.tagsSuggestL10n = window.tagsSuggestL10n || {
+       tagDelimiter: '',
+       removeTerm: '',
+       termSelected: '',
+       termAdded: '',
+       termRemoved: ''
+};
+
+window.tagsSuggestL10n = deprecateL10nObject( 'tagsSuggestL10n', window.tagsSuggestL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 3.5.0
+ * @deprecated 5.5.0
+ */
+window.wpColorPickerL10n = window.wpColorPickerL10n || {
+       clear: '',
+       clearAriaLabel: '',
+       defaultString: '',
+       defaultAriaLabel: '',
+       pick: '',
+       defaultLabel: ''
+};
+
+window.wpColorPickerL10n = deprecateL10nObject( 'wpColorPickerL10n', window.wpColorPickerL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.7.0
+ * @deprecated 5.5.0
+ */
+window.attachMediaBoxL10n = window.attachMediaBoxL10n || {
+       error: ''
+};
+
+window.attachMediaBoxL10n = deprecateL10nObject( 'attachMediaBoxL10n', window.attachMediaBoxL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.5.0
+ * @deprecated 5.5.0
+ */
+window.postL10n = window.postL10n || {
+       ok: '',
+       cancel: '',
+       publishOn: '',
+       publishOnFuture: '',
+       publishOnPast: '',
+       dateFormat: '',
+       showcomm: '',
+       endcomm: '',
+       publish: '',
+       schedule: '',
+       update: '',
+       savePending: '',
+       saveDraft: '',
+       'private': '',
+       'public': '',
+       publicSticky: '',
+       password: '',
+       privatelyPublished: '',
+       published: '',
+       saveAlert: '',
+       savingText: '',
+       permalinkSaved: ''
+};
+
+window.postL10n = deprecateL10nObject( 'postL10n', window.postL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.7.0
+ * @deprecated 5.5.0
+ */
+window.inlineEditL10n = window.inlineEditL10n || {
+       error: '',
+       ntdeltitle: '',
+       notitle: '',
+       comma: '',
+       saved: ''
+};
+
+window.inlineEditL10n = deprecateL10nObject( 'inlineEditL10n', window.inlineEditL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.7.0
+ * @deprecated 5.5.0
+ */
+window.plugininstallL10n = window.plugininstallL10n || {
+       plugin_information: '',
+       plugin_modal_label: '',
+       ays: ''
+};
+
+window.plugininstallL10n = deprecateL10nObject( 'plugininstallL10n', window.plugininstallL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 3.0.0
+ * @deprecated 5.5.0
+ */
+window.navMenuL10n = window.navMenuL10n || {
+       noResultsFound: '',
+       warnDeleteMenu: '',
+       saveAlert: '',
+       untitled: ''
+};
+
+window.navMenuL10n = deprecateL10nObject( 'navMenuL10n', window.navMenuL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.5.0
+ * @deprecated 5.5.0
+ */
+window.commentL10n = window.commentL10n || {
+       submittedOn: '',
+       dateFormat: ''
+};
+
+window.commentL10n = deprecateL10nObject( 'commentL10n', window.commentL10n );
+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 2.9.0
+ * @deprecated 5.5.0
+ */
+window.setPostThumbnailL10n = window.setPostThumbnailL10n || {
+       setThumbnail: '',
+       saving: '',
+       error: '',
+       done: ''
+};
+
+window.setPostThumbnailL10n = deprecateL10nObject( 'setPostThumbnailL10n', window.setPostThumbnailL10n );
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px">  * Removed in 3.3.0, needed for back-compatibility.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @since 2.7.0
</span></span></pre></div>
<a id="trunksrcjs_enqueuesadminwidgetsjs"></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/widgets.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/js/_enqueues/admin/widgets.js   2020-08-31 18:58:04 UTC (rev 48922)
+++ trunk/src/js/_enqueues/admin/widgets.js     2020-08-31 20:28:41 UTC (rev 48923)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -744,3 +744,20 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $document.ready( function(){ wpWidgets.init(); } );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> })(jQuery);
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 4.9.0
+ * @deprecated 5.5.0
+ *
+ * @type {object}
+*/
+wpWidgets.l10n = wpWidgets.l10n || {
+       save: '',
+       saved: '',
+       saveAlert: '',
+       widgetAdded: ''
+};
+
+wpWidgets.l10n = window.wp.deprecateL10nObject( 'wpWidgets.l10n', wpWidgets.l10n );
</ins></span></pre></div>
<a id="trunksrcjs_enqueueswpthemeplugineditorjs"></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/wp/theme-plugin-editor.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/js/_enqueues/wp/theme-plugin-editor.js  2020-08-31 18:58:04 UTC (rev 48922)
+++ trunk/src/js/_enqueues/wp/theme-plugin-editor.js    2020-08-31 20:28:41 UTC (rev 48923)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1000,3 +1000,27 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        return component;
</span><span class="cx" style="display: block; padding: 0 10px"> })( jQuery );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * Removed in 5.5.0, needed for back-compatibility.
+ *
+ * @since 4.9.0
+ * @deprecated 5.5.0
+ *
+ * @type {object}
+ */
+wp.themePluginEditor.l10n = wp.themePluginEditor.l10n || {
+       saveAlert: '',
+       saveError: '',
+       lintError: {
+               alternative: 'wp.i18n',
+               func: function() {
+                       return {
+                               singular: '',
+                               plural: ''
+                       };
+               }
+       }
+};
+
+wp.themePluginEditor.l10n = window.wp.deprecateL10nObject( 'wp.themePluginEditor.l10n', wp.themePluginEditor.l10n );
</ins></span></pre></div>
<a id="trunksrcjs_enqueueswpupdatesjs"></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/wp/updates.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/js/_enqueues/wp/updates.js      2020-08-31 18:58:04 UTC (rev 48922)
+++ trunk/src/js/_enqueues/wp/updates.js        2020-08-31 20:28:41 UTC (rev 48923)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -43,6 +43,81 @@
</span><span class="cx" style="display: block; padding: 0 10px">        wp.updates = {};
</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">+         * Removed in 5.5.0, needed for back-compatibility.
+        *
+        * @since 4.2.0
+        * @deprecated 5.5.0
+        *
+        * @type {object}
+        */
+       wp.updates.l10n = {
+               searchResults: '',
+               searchResultsLabel: '',
+               noPlugins: '',
+               noItemsSelected: '',
+               updating: '',
+               pluginUpdated: '',
+               themeUpdated: '',
+               update: '',
+               updateNow: '',
+               pluginUpdateNowLabel: '',
+               updateFailedShort: '',
+               updateFailed: '',
+               pluginUpdatingLabel: '',
+               pluginUpdatedLabel: '',
+               pluginUpdateFailedLabel: '',
+               updatingMsg: '',
+               updatedMsg: '',
+               updateCancel: '',
+               beforeunload: '',
+               installNow: '',
+               pluginInstallNowLabel: '',
+               installing: '',
+               pluginInstalled: '',
+               themeInstalled: '',
+               installFailedShort: '',
+               installFailed: '',
+               pluginInstallingLabel: '',
+               themeInstallingLabel: '',
+               pluginInstalledLabel: '',
+               themeInstalledLabel: '',
+               pluginInstallFailedLabel: '',
+               themeInstallFailedLabel: '',
+               installingMsg: '',
+               installedMsg: '',
+               importerInstalledMsg: '',
+               aysDelete: '',
+               aysDeleteUninstall: '',
+               aysBulkDelete: '',
+               aysBulkDeleteThemes: '',
+               deleting: '',
+               deleteFailed: '',
+               pluginDeleted: '',
+               themeDeleted: '',
+               livePreview: '',
+               activatePlugin: '',
+               activateTheme: '',
+               activatePluginLabel: '',
+               activateThemeLabel: '',
+               activateImporter: '',
+               activateImporterLabel: '',
+               unknownError: '',
+               connectionError: '',
+               nonceError: '',
+               pluginsFound: '',
+               noPluginsFound: '',
+               autoUpdatesEnable: '',
+               autoUpdatesEnabling: '',
+               autoUpdatesEnabled: '',
+               autoUpdatesDisable: '',
+               autoUpdatesDisabling: '',
+               autoUpdatesDisabled: '',
+               autoUpdatesError: ''
+       };
+
+       wp.updates.l10n = window.wp.deprecateL10nObject( 'wp.updates.l10n', wp.updates.l10n );
+
+       /**
</ins><span class="cx" style="display: block; padding: 0 10px">          * User nonce for ajax calls.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.2.0
</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   2020-08-31 18:58:04 UTC (rev 48922)
+++ trunk/src/wp-includes/script-loader.php     2020-08-31 20:28:41 UTC (rev 48923)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1013,7 +1013,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        $scripts->add( 'htmlhint', '/wp-includes/js/codemirror/htmlhint.js', array(), '0.9.14-xwp' );
</span><span class="cx" style="display: block; padding: 0 10px">        $scripts->add( 'htmlhint-kses', '/wp-includes/js/codemirror/htmlhint-kses.js', array( 'htmlhint' ) );
</span><span class="cx" style="display: block; padding: 0 10px">        $scripts->add( 'code-editor', "/wp-admin/js/code-editor$suffix.js", array( 'jquery', 'wp-codemirror', 'underscore' ) );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $scripts->add( 'wp-theme-plugin-editor', "/wp-admin/js/theme-plugin-editor$suffix.js", array( 'wp-util', 'wp-sanitize', 'jquery', 'jquery-ui-core', 'wp-a11y', 'underscore' ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $scripts->add( 'wp-theme-plugin-editor', "/wp-admin/js/theme-plugin-editor$suffix.js", array( 'common', 'wp-util', 'wp-sanitize', 'jquery', 'jquery-ui-core', 'wp-a11y', 'underscore' ) );
</ins><span class="cx" style="display: block; padding: 0 10px">         $scripts->set_translations( 'wp-theme-plugin-editor' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        $scripts->add( 'wp-playlist', "/wp-includes/js/mediaelement/wp-playlist$suffix.js", array( 'wp-util', 'backbone', 'mediaelement' ), false, 1 );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1261,7 +1261,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $scripts->add( 'privacy-tools', "/wp-admin/js/privacy-tools$suffix.js", array( 'jquery', 'wp-a11y' ), false, 1 );
</span><span class="cx" style="display: block; padding: 0 10px">                $scripts->set_translations( 'privacy-tools' );
</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( 'updates', "/wp-admin/js/updates$suffix.js", array( 'jquery', 'wp-util', 'wp-a11y', 'wp-sanitize' ), false, 1 );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         $scripts->add( 'updates', "/wp-admin/js/updates$suffix.js", array( 'common', 'jquery', 'wp-util', 'wp-a11y', 'wp-sanitize' ), false, 1 );
</ins><span class="cx" style="display: block; padding: 0 10px">                 $scripts->set_translations( 'updates' );
</span><span class="cx" style="display: block; padding: 0 10px">                did_action( 'init' ) && $scripts->localize(
</span><span class="cx" style="display: block; padding: 0 10px">                        'updates',
</span></span></pre>
</div>
</div>

</body>
</html>