<!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>[42403] trunk: Docs: Improve wp-admin JSDoc structural data globally.</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 { 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/42403">42403</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/42403","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>atimmer</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2017-12-15 13:41:56 +0000 (Fri, 15 Dec 2017)</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'>Docs: Improve wp-admin JSDoc structural data globally.

JSDoc takes it structural data from `@namespace`, `@lends` and `@memberOf`. This change fixes these tags for all JavaScript files in the wp-admin folder.

* Add jsdoc configuration to parse wp-admin/js files. Use `jsdoc -c jsdoc.conf.json` to generate JSDoc.
* Define all used namespaces using `@namespace`.
* Define each usage of the extend function as a prototype assignment using `@lends`.
* Add `@alias` if JSDoc cannot detect the correct name automatically.

This has previously been corrected for all `wp-includes` JavaScript files: <a href="https://core.trac.wordpress.org/changeset/41351">[41351]</a>.

Props herregroen.
Fixes <a href="https://core.trac.wordpress.org/ticket/42485">#42485</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkjsdocconfjson">trunk/jsdoc.conf.json</a></li>
<li><a href="#trunksrcwpadminjscodeeditorjs">trunk/src/wp-admin/js/code-editor.js</a></li>
<li><a href="#trunksrcwpadminjscolorpickerjs">trunk/src/wp-admin/js/color-picker.js</a></li>
<li><a href="#trunksrcwpadminjscustomizecontrolsjs">trunk/src/wp-admin/js/customize-controls.js</a></li>
<li><a href="#trunksrcwpadminjscustomizenavmenusjs">trunk/src/wp-admin/js/customize-nav-menus.js</a></li>
<li><a href="#trunksrcwpadminjscustomizewidgetsjs">trunk/src/wp-admin/js/customize-widgets.js</a></li>
<li><a href="#trunksrcwpadminjseditorjs">trunk/src/wp-admin/js/editor.js</a></li>
<li><a href="#trunksrcwpadminjsimageeditjs">trunk/src/wp-admin/js/image-edit.js</a></li>
<li><a href="#trunksrcwpadminjsinlineeditpostjs">trunk/src/wp-admin/js/inline-edit-post.js</a></li>
<li><a href="#trunksrcwpadminjsmediajs">trunk/src/wp-admin/js/media.js</a></li>
<li><a href="#trunksrcwpadminjsnavmenujs">trunk/src/wp-admin/js/nav-menu.js</a></li>
<li><a href="#trunksrcwpadminjsplugininstalljs">trunk/src/wp-admin/js/plugin-install.js</a></li>
<li><a href="#trunksrcwpadminjspostjs">trunk/src/wp-admin/js/post.js</a></li>
<li><a href="#trunksrcwpadminjspostboxjs">trunk/src/wp-admin/js/postbox.js</a></li>
<li><a href="#trunksrcwpadminjsupdatesjs">trunk/src/wp-admin/js/updates.js</a></li>
<li><a href="#trunksrcwpadminjswidgetscustomhtmlwidgetsjs">trunk/src/wp-admin/js/widgets/custom-html-widgets.js</a></li>
<li><a href="#trunksrcwpadminjswidgetsmediaaudiowidgetjs">trunk/src/wp-admin/js/widgets/media-audio-widget.js</a></li>
<li><a href="#trunksrcwpadminjswidgetsmediagallerywidgetjs">trunk/src/wp-admin/js/widgets/media-gallery-widget.js</a></li>
<li><a href="#trunksrcwpadminjswidgetsmediaimagewidgetjs">trunk/src/wp-admin/js/widgets/media-image-widget.js</a></li>
<li><a href="#trunksrcwpadminjswidgetsmediavideowidgetjs">trunk/src/wp-admin/js/widgets/media-video-widget.js</a></li>
<li><a href="#trunksrcwpadminjswidgetsmediawidgetsjs">trunk/src/wp-admin/js/widgets/media-widgets.js</a></li>
<li><a href="#trunksrcwpadminjswidgetstextwidgetsjs">trunk/src/wp-admin/js/widgets/text-widgets.js</a></li>
<li><a href="#trunksrcwpadminjswidgetsjs">trunk/src/wp-admin/js/widgets.js</a></li>
<li><a href="#trunksrcwpincludesjscommentreplyjs">trunk/src/wp-includes/js/comment-reply.js</a></li>
<li><a href="#trunksrcwpincludesjscustomizebasejs">trunk/src/wp-includes/js/customize-base.js</a></li>
<li><a href="#trunksrcwpincludesjsmediaviewsframepostjs">trunk/src/wp-includes/js/media/views/frame/post.js</a></li>
<li><a href="#trunksrcwpincludesjsmediaelementwpmediaelementjs">trunk/src/wp-includes/js/mediaelement/wp-mediaelement.js</a></li>
<li><a href="#trunksrcwpincludesjsmediaelementwpplaylistjs">trunk/src/wp-includes/js/mediaelement/wp-playlist.js</a></li>
<li><a href="#trunksrcwpincludesjspluploadwppluploadjs">trunk/src/wp-includes/js/plupload/wp-plupload.js</a></li>
<li><a href="#trunksrcwpincludesjswpapijs">trunk/src/wp-includes/js/wp-api.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkjsdocconfjson"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/jsdoc.conf.json</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/jsdoc.conf.json     2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/jsdoc.conf.json       2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2,14 +2,23 @@
</span><span class="cx" style="display: block; padding: 0 10px">        "plugins": [],
</span><span class="cx" style="display: block; padding: 0 10px">        "recurseDepth": 10,
</span><span class="cx" style="display: block; padding: 0 10px">        "source": {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                "include": ["src/wp-includes/js"],
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         "include": [
+                       "src/wp-includes/js",
+                       "src/wp-admin/js"
+               ],
</ins><span class="cx" style="display: block; padding: 0 10px">                 "exclude": [
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        "src/wp-includes/js/codemirror",
</ins><span class="cx" style="display: block; padding: 0 10px">                         "src/wp-includes/js/tinymce",
</span><span class="cx" style="display: block; padding: 0 10px">                        "src/wp-includes/js/crop",
</span><span class="cx" style="display: block; padding: 0 10px">                        "src/wp-includes/js/imgareaselect",
</span><span class="cx" style="display: block; padding: 0 10px">                        "src/wp-includes/js/jcrop",
</span><span class="cx" style="display: block; padding: 0 10px">                        "src/wp-includes/js/jquery",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        "src/wp-includes/js/mediaelement",
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 "src/wp-includes/js/mediaelement/mediaelement.js",
+                       "src/wp-includes/js/mediaelement/mediaelement-and-player.js",
+                       "src/wp-includes/js/plupload/handlers.js",
+                       "src/wp-includes/js/plupload/moxie.js",
+                       "src/wp-includes/js/plupload/plupload.full.min.js",
+                       "src/wp-includes/js/plupload/plupload.js",
</ins><span class="cx" style="display: block; padding: 0 10px">                         "src/wp-includes/js/swfupload",
</span><span class="cx" style="display: block; padding: 0 10px">                        "src/wp-includes/js/thickbox",
</span><span class="cx" style="display: block; padding: 0 10px">                        "src/wp-includes/js/media-audiovideo.js",
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -35,6 +44,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        },
</span><span class="cx" style="display: block; padding: 0 10px">        "opts": {
</span><span class="cx" style="display: block; padding: 0 10px">                "template": "./node_modules/ink-docstrap/template",
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                "recurse": true
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         "recurse": true,
+               "private": true
</ins><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="trunksrcwpadminjscodeeditorjs"></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/js/code-editor.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/code-editor.js      2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/code-editor.js        2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,7 +1,13 @@
</span><span class="cx" style="display: block; padding: 0 10px"> if ( 'undefined' === typeof window.wp ) {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        /**
+        * @namespace wp
+        */
</ins><span class="cx" style="display: block; padding: 0 10px">         window.wp = {};
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> if ( 'undefined' === typeof window.wp.codeEditor ) {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        /**
+        * @namespace wp.codeEditor
+        */
</ins><span class="cx" style="display: block; padding: 0 10px">         window.wp.codeEditor = {};
</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">@@ -33,6 +39,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {object}     settings.codeMirror - Settings for CodeMirror.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {Function}   settings.onChangeLintingErrors - Callback for when there are changes to linting errors.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {Function}   settings.onUpdateErrorNotice - Callback to update error notice.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function configureLinting( editor, settings ) { // eslint-disable-line complexity
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -202,6 +209,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {object}     settings.codeMirror - Settings for CodeMirror.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {Function}   settings.onTabNext - Callback to handle tabbing to the next tabbable element.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {Function}   settings.onTabPrevious - Callback to handle tabbing to the previous tabbable element.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function configureTabbing( codemirror, settings ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -240,7 +248,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">-         * @typedef {object} CodeEditorInstance
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @typedef {object} wp.codeEditor~CodeEditorInstance
</ins><span class="cx" style="display: block; padding: 0 10px">          * @property {object} settings - The code editor settings.
</span><span class="cx" style="display: block; padding: 0 10px">         * @property {CodeMirror} codemirror - The CodeMirror instance.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -260,6 +268,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {object}                [settings.csslint] - Rules for CSSLint.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {object}                [settings.htmlhint] - Rules for HTMLHint.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {object}                [settings.jshint] - Rules for JSHint.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {CodeEditorInstance} Instance.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        wp.codeEditor.initialize = function initialize( textarea, settings ) {
</span></span></pre></div>
<a id="trunksrcwpadminjscolorpickerjs"></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/js/color-picker.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/color-picker.js     2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/color-picker.js       2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -14,9 +14,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Creates a jQuery UI color picker that is used in the theme customizer.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @class $.widget.wp.wpColorPicker
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 3.5.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">-        ColorPicker = {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ ColorPicker = /** @lends $.widget.wp.wpColorPicker.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 options: {
</span><span class="cx" style="display: block; padding: 0 10px">                        defaultColor: false,
</span><span class="cx" style="display: block; padding: 0 10px">                        change: false,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -56,6 +58,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                /**
</span><span class="cx" style="display: block; padding: 0 10px">                                 * @summary Handles the onChange event if one has been defined in the options.
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 * @ignore
+                                *
</ins><span class="cx" style="display: block; padding: 0 10px">                                  * @param {Event} event    The event that's being called.
</span><span class="cx" style="display: block; padding: 0 10px">                                 * @param {HTMLElement} ui The HTMLElement containing the color picker.
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -179,6 +183,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><span class="cx" style="display: block; padding: 0 10px">                                 * @since 3.5.0
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 * @ignore
+                                *
</ins><span class="cx" style="display: block; padding: 0 10px">                                  * @param {Event} event    The event that's being called.
</span><span class="cx" style="display: block; padding: 0 10px">                                 * @param {HTMLElement} ui The HTMLElement containing the color picker.
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span></span></pre></div>
<a id="trunksrcwpadminjscustomizecontrolsjs"></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/js/customize-controls.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/customize-controls.js       2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/customize-controls.js 2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2,14 +2,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> (function( exports, $ ){
</span><span class="cx" style="display: block; padding: 0 10px">        var Container, focus, normalizedTransitionendEventName, api = wp.customize;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        /**
-        * A notification that is displayed in a full-screen overlay.
-        *
-        * @since 4.9.0
-        * @class
-        * @augments wp.customize.Notification
-        */
-       api.OverlayNotification = api.Notification.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.OverlayNotification = api.Notification.extend(/** @lends wp.customize.OverlayNotification.prototype */{
</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">                 * Whether the notification should show a loading spinner.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -20,8 +13,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                loading: false,
</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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * A notification that is displayed in a full-screen overlay.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @constructs wp.customize.OverlayNotification
+                * @augments   wp.customize.Notification
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {string} code - Code.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -68,14 +64,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">-        /**
-        * A collection of observable notifications.
-        *
-        * @since 4.9.0
-        * @class
-        * @augments wp.customize.Values
-        */
-       api.Notifications = api.Values.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Notifications = api.Values.extend(/** @lends wp.customize.Notifications.prototype */{
</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">                 * Whether the alternative style should be used.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -94,15 +83,18 @@
</span><span class="cx" style="display: block; padding: 0 10px">                defaultConstructor: api.Notification,
</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">-                 * Initialize notifications area.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * A collection of observable notifications.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @since 4.9.0
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          *
+                * @constructs wp.customize.Notifications
+                * @augments   wp.customize.Values
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {object}  options - Options.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {jQuery}  [options.container] - Container element for notifications. This can be injected later.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {boolean} [options.alt] - Whether alternative style should be used when rendering notifications.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @returns {void}
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 * @this {wp.customize.Notifications}
</del><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                initialize: function( options ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var collection = this;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -181,7 +173,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {object}  args - Args.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {boolean} [args.sort=false] - Whether to return the notifications sorted.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @return {Array.<wp.customize.Notification>} Notifications.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 * @this {wp.customize.Notifications}
</del><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                get: function( args ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var collection = this, notifications, errorTypePriorities, params;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -217,7 +208,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">                 * @returns {void}
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 * @this {wp.customize.Notifications}
</del><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                render: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        var collection = this,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -340,20 +330,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">-        /**
-        * A Customizer Setting.
-        *
-        * A setting is WordPress data (theme mod, option, menu, etc.) that the user can
-        * draft changes to in the Customizer.
-        *
-        * @see PHP class WP_Customize_Setting.
-        *
-        * @since 3.4.0
-        * @class
-        * @augments wp.customize.Value
-        * @augments wp.customize.Class
-        */
-       api.Setting = api.Value.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Setting = api.Value.extend(/** @lends wp.customize.Setting.prototype */{
</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">                 * Default params.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -367,8 +344,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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * A Customizer Setting.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * A setting is WordPress data (theme mod, option, menu, etc.) that the user can
+                * draft changes to in the Customizer.
+                *
+                * @see PHP class WP_Customize_Setting.
+                *
+                * @constructs wp.customize.Setting
+                * @augments   wp.customize.Value
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 3.4.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {string}  id                          - The setting ID.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -448,6 +433,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Current change count.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize._latestRevision
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.7.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @type {number}
</span><span class="cx" style="display: block; padding: 0 10px">         * @protected
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -457,6 +444,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Last revision that was saved.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize._lastSavedRevision
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.7.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @type {number}
</span><span class="cx" style="display: block; padding: 0 10px">         * @protected
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -466,6 +455,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Latest revisions associated with the updated setting.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize._latestSettingRevisions
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.7.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @type {object}
</span><span class="cx" style="display: block; padding: 0 10px">         * @protected
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -495,6 +486,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Get the dirty setting values.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.dirtyValues
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.7.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @access public
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -526,6 +519,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Request updates to the changeset.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.requestChangesetUpdate
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.7.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @access public
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -661,6 +656,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Watch all changes to Value properties, and bubble changes to parent Values instance
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.utils.bubbleChildValueChanges
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.1.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {wp.customize.Class} instance
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -679,6 +676,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Expand a panel, section, or control and focus on the first focusable element.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize~focus
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.1.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {Object}   [params]
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -726,6 +725,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * If a.priority() === b.priority(), then sort by their respective params.instanceNumber.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.utils.prioritySort
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.1.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {(wp.customize.Panel|wp.customize.Section|wp.customize.Control)} a
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -743,6 +744,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Return whether the supplied Event object is for a keydown event but not the Enter key.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.utils.isKeydownButNotEnterEvent
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.1.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {jQuery.Event} event
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -755,6 +758,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Return whether the two lists of elements are the same and are in the same order.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.utils.areElementListsEqual
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.1.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {Array|jQuery} listA
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -781,6 +786,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * UI element, after an optional delay. If the user focuses the element
</span><span class="cx" style="display: block; padding: 0 10px">         * before the delay passes, the reminder is canceled.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.utils.highlightButton
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {jQuery} button - The element to highlight.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -834,6 +841,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Same functionality as the `current_time( 'mysql', false )` function in 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">+         * @alias wp.customize.utils.getCurrentTimestamp
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @returns {int} Current timestamp.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -851,6 +860,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Get remaining time of when the date is set.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.utils.getRemainingTime
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string|int|Date} datetime - Date time or timestamp of the future date.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -876,6 +887,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.7.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @ignore
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {string|null} Normalized `transitionend` event name or null if CSS transitions are not supported.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        normalizedTransitionendEventName = (function () {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -897,15 +910,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">-        /**
-        * Base class for Panel and Section.
-        *
-        * @since 4.1.0
-        *
-        * @class
-        * @augments wp.customize.Class
-        */
-       Container = api.Class.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ Container = api.Class.extend(/** @lends wp.customize~Container.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 defaultActiveArguments: { duration: 'fast', completeCallback: $.noop },
</span><span class="cx" style="display: block; padding: 0 10px">                defaultExpandedArguments: { duration: 'fast', completeCallback: $.noop },
</span><span class="cx" style="display: block; padding: 0 10px">                containerType: 'container',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -920,8 +925,15 @@
</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">+                 * Base class for Panel and Section.
+                *
+                * @constructs wp.customize~Container
+                * @augments   wp.customize.Class
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 4.1.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @borrows wp.customize~focus as focus
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {string}         id - The ID for the container.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {object}         options - Object containing one property: params.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {string}         options.title - Title shown when panel is collapsed and expanded.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -999,7 +1011,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">                 * @returns {jQuery} Notification container element.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 * @this {wp.customize.Control}
</del><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                getNotificationsContainerElement: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        var container = this;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1305,9 +1316,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"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                /**
-                * Bring the container into view and then expand this and bring it into view
-                * @param {Object} [params]
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /*
+                * is documented using @borrows in the constructor.
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                focus: focus,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1370,13 +1380,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">-        /**
-        * @since 4.1.0
-        *
-        * @class
-        * @augments wp.customize.Class
-        */
-       api.Section = Container.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Section = Container.extend(/** @lends wp.customize.Section.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 containerType: 'section',
</span><span class="cx" style="display: block; padding: 0 10px">                containerParent: '#customize-theme-controls',
</span><span class="cx" style="display: block; padding: 0 10px">                containerPaneParent: '.customize-pane-parent',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1393,6 +1397,9 @@
</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">+                 * @constructs wp.customize.Section
+                * @augments   wp.customize~Container
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 4.1.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {string}         id - The ID for the section.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1654,17 +1661,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">-        /**
-        * wp.customize.ThemesSection
-        *
-        * Custom section for themes that loads themes by category, and also
-        * handles the theme-details view rendering and navigation.
-        *
-        * @constructor
-        * @augments wp.customize.Section
-        * @augments wp.customize.Container
-        */
-       api.ThemesSection = api.Section.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.ThemesSection = api.Section.extend(/** @lends wp.customize.ThemesSection.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 currentTheme: '',
</span><span class="cx" style="display: block; padding: 0 10px">                overlay: '',
</span><span class="cx" style="display: block; padding: 0 10px">                template: '',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1683,8 +1680,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">                updateCountDebounced: null,
</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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * wp.customize.ThemesSection
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * Custom section for themes that loads themes by category, and also
+                * handles the theme-details view rendering and navigation.
+                *
+                * @constructs wp.customize.ThemesSection
+                * @augments   wp.customize.Section
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {string} id - ID.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2627,23 +2630,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><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        /**
-        * Class wp.customize.OuterSection.
-        *
-        * Creates section outside of the sidebar, there is no ui to trigger collapse/expand so
-        * it would require custom handling.
-        *
-        * @since 4.9
-        *
-        * @constructor
-        * @augments wp.customize.Section
-        * @augments wp.customize.Container
-        */
-       api.OuterSection = api.Section.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.OuterSection = api.Section.extend(/** @lends wp.customize.OuterSection.prototype */{
</ins><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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Class wp.customize.OuterSection.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * Creates section outside of the sidebar, there is no ui to trigger collapse/expand so
+                * it would require custom handling.
+                *
+                * @constructs wp.customize.OuterSection
+                * @augments   wp.customize.Section
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @returns {void}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2746,16 +2743,13 @@
</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">-        /**
-        * @since 4.1.0
-        *
-        * @class
-        * @augments wp.customize.Class
-        */
-       api.Panel = Container.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Panel = Container.extend(/** @lends wp.customize.Panel.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 containerType: 'panel',
</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">+                 * @constructs wp.customize.Panel
+                * @augments   wp.customize~Container
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 4.1.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {string}         id - The ID for the panel.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3020,20 +3014,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">-        /**
-        * Class wp.customize.ThemesPanel.
-        *
-        * Custom section for themes that displays without the customize preview.
-        *
-        * @constructor
-        * @augments wp.customize.Panel
-        * @augments wp.customize.Container
-        */
-       api.ThemesPanel = api.Panel.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.ThemesPanel = api.Panel.extend(/** @lends wp.customize.ThemsPanel.prototype */{
</ins><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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          *  Class wp.customize.ThemesPanel.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * Custom section for themes that displays without the customize preview.
+                *
+                * @constructs wp.customize.ThemesPanel
+                * @augments   wp.customize.Panel
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {string} id - The ID for the panel.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3451,17 +3441,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">-        /**
-        * A Customizer Control.
-        *
-        * A control provides a UI element that allows a user to modify a Customizer Setting.
-        *
-        * @see PHP class WP_Customize_Control.
-        *
-        * @class
-        * @augments wp.customize.Class
-        */
-       api.Control = api.Class.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Control = api.Class.extend(/** @lends wp.customize.Control.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 defaultActiveArguments: { duration: 'fast', completeCallback: $.noop },
</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">@@ -3478,8 +3458,20 @@
</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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * A Customizer Control.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * A control provides a UI element that allows a user to modify a Customizer Setting.
+                *
+                * @see PHP class WP_Customize_Control.
+                *
+                * @constructs wp.customize.Control
+                * @augments   wp.customize.Class
+                *
+                * @borrows wp.customize~focus as this#focus
+                * @borrows wp.customize~Container#activate as this#activate
+                * @borrows wp.customize~Container#deactivate as this#deactivate
+                * @borrows wp.customize~Container#_toggleActive as this#_toggleActive
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {string} id                       - Unique identifier for the control instance.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {object} options                  - Options hash for the control instance.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {object} options.type             - Type of control (e.g. text, radio, dropdown-pages, etc.)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3744,7 +3736,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @since 4.6.0
</span><span class="cx" style="display: block; padding: 0 10px">                 * @returns {jQuery} Setting validation message element.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 * @this {wp.customize.Control}
</del><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                getNotificationsContainerElement: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        var control = this, controlTitle, notificationsContainer;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3888,9 +3879,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        api.section( this.section() ).expand( params );
</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">-                /**
-                * Bring the containing section and panel into view and then
-                * this control into view, focusing on the first input.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /*
+                * Documented using @borrows in the constructor.
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                focus: focus,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3934,30 +3924,18 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        return this.onChangeActive( active, this.defaultActiveArguments );
</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">-                /**
-                * Shorthand way to enable the active state.
-                *
-                * @since 4.1.0
-                *
-                * @param {Object} [params]
-                * @returns {Boolean} false if already active
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /*
+                * Documented using @borrows in the constructor
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                activate: Container.prototype.activate,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                /**
-                * Shorthand way to disable the active state.
-                *
-                * @since 4.1.0
-                *
-                * @param {Object} [params]
-                * @returns {Boolean} false if already inactive
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /*
+                * Documented using @borrows in the constructor
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                deactivate: Container.prototype.deactivate,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                /**
-                * Re-use _toggleActive from Container class.
-                *
-                * @access private
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /*
+                * Documented using @borrows in the constructor
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                _toggleActive: Container.prototype._toggleActive,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4131,11 +4109,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * A colorpicker control.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.ColorControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.ColorControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.ColorControl = api.Control.extend(/** @lends wp.customize.ColorControl.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 ready: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        var control = this,
</span><span class="cx" style="display: block; padding: 0 10px">                                isHueSlider = this.params.mode === 'hue',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4195,11 +4172,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * A control that implements the media modal.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.MediaControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.MediaControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.MediaControl = api.Control.extend(/** @lends wp.customize.MediaControl.prototype */{
</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">                 * When the control's DOM structure is ready,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4384,12 +4360,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * An upload control, which utilizes the media modal.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.UploadControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.MediaControl
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.Control
-        * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.UploadControl = api.MediaControl.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.UploadControl = api.MediaControl.extend(/** @lends wp.customize.UploadControl.prototype */{
</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">                 * Callback handler for when an attachment is selected in the media modal.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4428,13 +4402,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * This control no longer needs to do anything more
</span><span class="cx" style="display: block; padding: 0 10px">         * than what the upload control does in JS.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.ImageControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.UploadControl
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.MediaControl
-        * @augments wp.customize.Control
-        * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.ImageControl = api.UploadControl.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.ImageControl = api.UploadControl.extend(/** @lends wp.customize.ImageControl.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 // @deprecated
</span><span class="cx" style="display: block; padding: 0 10px">                thumbnailSrc: function() {}
</span><span class="cx" style="display: block; padding: 0 10px">        });
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4442,13 +4413,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * A control for uploading background images.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.BackgroundControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.UploadControl
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.MediaControl
-        * @augments wp.customize.Control
-        * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.BackgroundControl = api.UploadControl.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.BackgroundControl = api.UploadControl.extend(/** @lends wp.customize.BackgroundControl.prototype */{
</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">                 * When the control's DOM structure is ready,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4479,11 +4447,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.7.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">-         * @class
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.BackgroundPositionControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.BackgroundPositionControl = api.Control.extend( {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.BackgroundPositionControl = api.Control.extend(/** @lends wp.customize.BackgroundPositionControl.prototype */{
</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">                 * Set up control UI once embedded in DOM and settings are created.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4518,12 +4485,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * A control for selecting and cropping an image.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.CroppedImageControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.MediaControl
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.Control
-        * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.CroppedImageControl = api.MediaControl.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.CroppedImageControl = api.MediaControl.extend(/** @lends wp.customize.CroppedImageControl.prototype */{
</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">                 * Open the media modal to the library state.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4720,13 +4685,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * A control for selecting and cropping Site Icons.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.SiteIconControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.CroppedImageControl
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.MediaControl
-        * @augments wp.customize.Control
-        * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.SiteIconControl = api.CroppedImageControl.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.SiteIconControl = api.CroppedImageControl.extend(/** @lends wp.customize.SiteIconControl.prototype */{
</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">                 * Create a media modal select frame, and store it so the instance can be reused when needed.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4841,11 +4803,10 @@
</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">-         * @class
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.HeaderControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.HeaderControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.HeaderControl = api.Control.extend(/** @lends wp.customize.HeaderControl.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 ready: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        this.btnRemove = $('#customize-control-header_image .actions .remove');
</span><span class="cx" style="display: block; padding: 0 10px">                        this.btnNew    = $('#customize-control-header_image .actions .new');
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5111,11 +5072,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.customize.ThemeControl
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.ThemeControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.ThemeControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.ThemeControl = api.Control.extend(/** @lends wp.customize.ThemeControl.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                touchDrag: false,
</span><span class="cx" style="display: block; padding: 0 10px">                screenshotRendered: false,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5263,11 +5223,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.9.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">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.CodeEditorControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.CodeEditorControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.CodeEditorControl = api.Control.extend(/** @lends wp.customize.CodeEditorControl.prototype */{
</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">                 * Initialize.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5584,11 +5543,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Class wp.customize.DateTimeControl.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.9.0
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.DateTimeControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.DateTimeControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.DateTimeControl = api.Control.extend(/** @lends wp.customize.DateTimeControl.prototype */{
</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">                 * Initialize behaviors.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5939,11 +5897,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Class PreviewLinkControl.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.9.0
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.PreviewLinkControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @augments wp.customize.Class
</del><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.PreviewLinkControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.PreviewLinkControl = api.Control.extend(/** @lends wp.customize.PreviewLinkControl.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: _.extend( {}, api.Control.prototype.defaults, {
</span><span class="cx" style="display: block; padding: 0 10px">                        templateId: 'customize-preview-link-control'
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6057,19 +6014,25 @@
</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">-        // Change objects contained within the main customize object to Settings.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ /**
+        * Change objects contained within the main customize object to Settings.
+        *
+        * @alias wp.customize.defaultConstructor
+        */
</ins><span class="cx" style="display: block; padding: 0 10px">         api.defaultConstructor = api.Setting;
</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">         * Callback for resolved controls.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @callback deferredControlsCallback
-        * @param {wp.customize.Control[]} Resolved controls.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @callback wp.customize.deferredControlsCallback
+        * @param {wp.customize.Control[]} controls Resolved controls.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Collection of all registered controls.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.control
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 3.4.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @type {Function}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6122,13 +6085,15 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Callback for resolved sections.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @callback deferredSectionsCallback
-        * @param {wp.customize.Section[]} Resolved sections.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @callback wp.customize.deferredSectionsCallback
+        * @param {wp.customize.Section[]} sections Resolved sections.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Collection of all registered sections.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.section
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 3.4.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @type {Function}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6154,13 +6119,15 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Callback for resolved panels.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @callback deferredPanelsCallback
-        * @param {wp.customize.Panel[]} Resolved panels.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @callback wp.customize.deferredPanelsCallback
+        * @param {wp.customize.Panel[]} panels Resolved panels.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Collection of all registered panels.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.panel
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.0.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @type {Function}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6186,13 +6153,15 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Callback for resolved notifications.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @callback deferredNotificationsCallback
-        * @param {wp.customize.Notification[]} Resolved notifications.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @callback wp.customize.deferredNotificationsCallback
+        * @param {wp.customize.Notification[]} notifications Resolved notifications.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Collection of all global notifications.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.notifications
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @type {Function}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6223,21 +6192,16 @@
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        api.notifications = new api.Notifications();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        /**
-        * An object that fetches a preview in the background of the document, which
-        * allows for seamless replacement of an existing preview.
-        *
-        * @class
-        * @augments wp.customize.Messenger
-        * @augments wp.customize.Class
-        * @mixes wp.customize.Events
-        */
-       api.PreviewFrame = api.Messenger.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.PreviewFrame = api.Messenger.extend(/** @lends wp.customize.PreviewFrame.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 sensitivity: null, // Will get set to api.settings.timeouts.previewFrameSensitivity.
</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">-                 * Initialize the PreviewFrame.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * An object that fetches a preview in the background of the document, which
+                * allows for seamless replacement of an existing preview.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @constructs wp.customize.PreviewFrame
+                * @augments   wp.customize.Messenger
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {object} params.container
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {object} params.previewUrl
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {object} params.query
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6454,6 +6418,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Set the document title of the customizer.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.setDocumentTitle
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.1.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} documentTitle
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6466,16 +6432,13 @@
</span><span class="cx" style="display: block; padding: 0 10px">                api.trigger( 'title', title );
</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">-        /**
-        * @class
-        * @augments wp.customize.Messenger
-        * @augments wp.customize.Class
-        * @mixes wp.customize.Events
-        */
-       api.Previewer = api.Messenger.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Previewer = api.Messenger.extend(/** @lends wp.customize.Previewer.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 refreshBuffer: null, // Will get set to api.settings.timeouts.windowRefresh.
</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">+                 * @constructs wp.customize.Previewer
+                * @augments   wp.customize.Messenger
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {array}  params.allowedUrls
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {string} params.container   A selector or jQuery element for the preview
</span><span class="cx" style="display: block; padding: 0 10px">                 *                                    frame to be placed.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6929,6 +6892,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Add notifications to the settings and focus on the first control that has an invalid setting.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize._handleSettingValidities
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.6.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @private
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7004,6 +6969,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Find all controls associated with the given settings.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.findControlsForSettings
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.6.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string[]} settingIds Setting IDs.
</span><span class="cx" style="display: block; padding: 0 10px">         * @returns {object<string, wp.customize.Control>} Mapping setting ids to arrays of controls.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7025,6 +6992,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Sort panels, sections, controls by priorities. Hide empty sections and panels.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.reflowPaneContents
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @since 4.1.0
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        api.reflowPaneContents = _.bind( function () {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7389,13 +7358,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><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                // Initialize Previewer
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Initialize Previewer
+                *
+                * @alias wp.customize.previewer
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 api.previewer = new api.Previewer({
</span><span class="cx" style="display: block; padding: 0 10px">                        container:   '#customize-preview',
</span><span class="cx" style="display: block; padding: 0 10px">                        form:        '#customize-controls',
</span><span class="cx" style="display: block; padding: 0 10px">                        previewUrl:  api.settings.url.preview,
</span><span class="cx" style="display: block; padding: 0 10px">                        allowedUrls: api.settings.url.allowed
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                }, {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         },/** @lends wp.customize.previewer */{
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        nonce: api.settings.nonce,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8098,15 +8071,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                ( function checkAndDisplayLockNotice() {
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        /**
-                        * A notification that is displayed in a full-screen overlay with information about the locked changeset.
-                        *
-                        * @since 4.9.0
-                        * @class
-                        * @augments wp.customize.Notification
-                        * @augments wp.customize.OverlayNotification
-                        */
-                       var LockedNotification = api.OverlayNotification.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 var LockedNotification = api.OverlayNotification.extend(/** @lends wp.customize~LockedNotification.prototype */{
</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">                                 * Template ID.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8123,8 +8088,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                lockUser: null,
</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">-                                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                          * A notification that is displayed in a full-screen overlay with information about the locked changeset.
</ins><span class="cx" style="display: block; padding: 0 10px">                                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 * @constructs wp.customize~LockedNotification
+                                * @augments   wp.customize.OverlayNotification
+                                *
</ins><span class="cx" style="display: block; padding: 0 10px">                                  * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><span class="cx" style="display: block; padding: 0 10px">                                 * @param {string} [code] - Code.
</span></span></pre></div>
<a id="trunksrcwpadminjscustomizenavmenusjs"></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/js/customize-nav-menus.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/customize-nav-menus.js      2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/customize-nav-menus.js        2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -13,6 +13,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                this.jQueryExtensions();
</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">+        /**
+        * @namespace wp.customize.Menus
+        */
</ins><span class="cx" style="display: block; padding: 0 10px">         api.Menus = api.Menus || {};
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        // Link settings.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -35,6 +38,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Newly-created Nav Menus and Nav Menu Items have negative integer IDs which
</span><span class="cx" style="display: block; padding: 0 10px">         * serve as placeholders until Save & Publish happens.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.Menus.generatePlaceholderAutoIncrementId
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @return {number}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        api.Menus.generatePlaceholderAutoIncrementId = function() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -46,7 +51,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * A single available menu item model. See PHP's WP_Customize_Nav_Menu_Item_Setting class.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Menus.AvailableItemModel
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments Backbone.Model
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        api.Menus.AvailableItemModel = Backbone.Model.extend( $.extend(
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -61,10 +66,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Collection for available menu item models.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
-        * @augments Backbone.Model
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Menus.AvailableItemCollection
+        * @augments Backbone.Collection
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Menus.AvailableItemCollection = Backbone.Collection.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.AvailableItemCollection = Backbone.Collection.extend(/** @lends wp.customize.Menus.AvailableItemCollection.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 model: api.Menus.AvailableItemModel,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                sort_key: 'order',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -84,7 +89,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Insert a new `auto-draft` post.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.7.0
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @access public
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @alias wp.customize.Menus.insertAutoDraftPost
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {object} params - Parameters for the draft post to create.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} params.post_type - Post type to add.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -141,16 +146,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                return deferred.promise();
</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">-        /**
-        * wp.customize.Menus.AvailableMenuItemsPanelView
-        *
-        * View class for the available menu items panel.
-        *
-        * @constructor
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       api.Menus.AvailableMenuItemsPanelView = wp.Backbone.View.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.AvailableMenuItemsPanelView = wp.Backbone.View.extend(/** @lends wp.customize.Menus.AvailableMenuItemsPanelView.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                el: '#available-menu-items',
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -181,6 +177,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">                loading: false,
</span><span class="cx" style="display: block; padding: 0 10px">                addingNew: false,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                /**
+                * wp.customize.Menus.AvailableMenuItemsPanelView
+                *
+                * View class for the available menu items panel.
+                *
+                * @constructs wp.customize.Menus.AvailableMenuItemsPanelView
+                * @augments   wp.Backbone.View
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 initialize: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        var self = this;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -753,10 +757,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Customizer panel for menus. This is used only for screen options management.
</span><span class="cx" style="display: block; padding: 0 10px">         * Note that 'menus' must match the WP_Customize_Menu_Panel::$type.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Menus.MenusPanel
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Panel
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Menus.MenusPanel = api.Panel.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.MenusPanel = api.Panel.extend(/** @lends wp.customize.Menus.MenusPanel.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                attachEvents: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        api.Panel.prototype.attachEvents.call( this );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -885,10 +889,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Customizer section for menus. This is used only for lazy-loading child controls.
</span><span class="cx" style="display: block; padding: 0 10px">         * Note that 'nav_menu' must match the WP_Customize_Menu_Section::$type.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Menus.MenuSection
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Section
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Menus.MenuSection = api.Section.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.MenuSection = api.Section.extend(/** @lends wp.customize.Menus.MenuSection.prototype */{
</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">                 * Initialize.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1212,10 +1216,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Customizer section for new menus.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Menus.NewMenuSection
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Section
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Menus.NewMenuSection = api.Section.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.NewMenuSection = api.Section.extend(/** @lends wp.customize.Menus.NewMenuSection.prototype */{
</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">                 * Add behaviors for the accordion section.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1451,10 +1455,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Customizer control for menu locations (rendered as a <select>).
</span><span class="cx" style="display: block; padding: 0 10px">         * Note that 'nav_menu_location' must match the WP_Customize_Nav_Menu_Location_Control::$type.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Menus.MenuLocationControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Menus.MenuLocationControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.MenuLocationControl = api.Control.extend(/** @lends wp.customize.Menus.MenuLocationControl.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 initialize: function( id, options ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var control = this,
</span><span class="cx" style="display: block; padding: 0 10px">                                matches = id.match( /^nav_menu_locations\[(.+?)]/ );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1529,19 +1533,18 @@
</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">-        /**
-        * wp.customize.Menus.MenuItemControl
-        *
-        * Customizer control for menu items.
-        * Note that 'menu_item' must match the WP_Customize_Menu_Item_Control::$type.
-        *
-        * @constructor
-        * @augments wp.customize.Control
-        */
-       api.Menus.MenuItemControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.MenuItemControl = api.Control.extend(/** @lends wp.customize.Menus.MenuItemControl.prototype */{
</ins><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">-                 * @inheritdoc
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * wp.customize.Menus.MenuItemControl
+                *
+                * Customizer control for menu items.
+                * Note that 'menu_item' must match the WP_Customize_Menu_Item_Control::$type.
+                *
+                * @constructs wp.customize.Menus.MenuItemControl
+                * @augments   wp.customize.Control
+                *
+                * @inheritDoc
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                initialize: function( id, options ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var control = this;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2324,10 +2327,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Customizer control for a nav menu's name.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Menus.MenuNameControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Menus.MenuNameControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.MenuNameControl = api.Control.extend(/** @lends wp.customize.Menus.MenuNameControl.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                ready: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        var control = this;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2364,10 +2367,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Customizer control for a nav menu's locations.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.9.0
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Menus.MenuLocationsControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Menus.MenuLocationsControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.MenuLocationsControl = api.Control.extend(/** @lends wp.customize.Menus.MenuLocationsControl.prototype */{
</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">                 * Set up the control.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2437,10 +2440,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Customizer control for a nav menu's auto add.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Menus.MenuAutoAddControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Menus.MenuAutoAddControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.MenuAutoAddControl = api.Control.extend(/** @lends wp.customize.Menus.MenuAutoAddControl.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                ready: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        var control = this,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2490,10 +2493,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Customizer control for menus.
</span><span class="cx" style="display: block; padding: 0 10px">         * Note that 'nav_menu' must match the WP_Menu_Customize_Control::$type
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Menus.MenuControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Menus.MenuControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.MenuControl = api.Control.extend(/** @lends wp.customize.Menus.MenuControl.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 /**
</span><span class="cx" style="display: block; padding: 0 10px">                 * Set up the control.
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3021,22 +3024,18 @@
</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">-        /**
-        * wp.customize.Menus.NewMenuControl
-        *
-        * Customizer control for creating new menus and handling deletion of existing menus.
-        * Note that 'new_menu' must match the WP_Customize_New_Menu_Control::$type.
-        *
-        * @constructor
-        * @augments wp.customize.Control
-        * @deprecated 4.9.0 This class is no longer used due to new menu creation UX.
-        */
-       api.Menus.NewMenuControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Menus.NewMenuControl = api.Control.extend(/** @lends wp.customize.Menus.NewMenuControl.prototype */{
</ins><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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * wp.customize.Menus.NewMenuControl
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 * @deprecated 4.9.0
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Customizer control for creating new menus and handling deletion of existing menus.
+                * Note that 'new_menu' must match the WP_Customize_New_Menu_Control::$type.
+                *
+                * @constructs wp.customize.Menus.NewMenuControl
+                * @augments   wp.customize.Control
+                *
+                * @deprecated 4.9.0 This class is no longer used due to new menu creation UX.
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                initialize: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( 'undefined' !== typeof console && console.warn ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3166,6 +3165,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * When customize_save comes back with a success, make sure any inserted
</span><span class="cx" style="display: block; padding: 0 10px">         * nav menus and items are properly re-added with their newly-assigned IDs.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.Menus.applySavedData
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {object} data
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {array} data.nav_menu_updates
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {array} data.nav_menu_item_updates
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3396,6 +3397,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Focus a menu item control.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.Menus.focusMenuItemControl
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {string} menuItemId
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        api.Menus.focusMenuItemControl = function( menuItemId ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3408,6 +3411,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Get the control for a given menu.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.Menus.getMenuControl
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param menuId
</span><span class="cx" style="display: block; padding: 0 10px">         * @return {wp.customize.controlConstructor.menus[]}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3418,6 +3423,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Given a menu item ID, get the control associated with it.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.Menus.getMenuItemControl
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {string} menuItemId
</span><span class="cx" style="display: block; padding: 0 10px">         * @return {object|null}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3426,6 +3433,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">        /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.Menus~menuItemIdToSettingId
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {String} menuItemId
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function menuItemIdToSettingId( menuItemId ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3436,6 +3445,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Apply sanitize_text_field()-like logic to the supplied name, returning a
</span><span class="cx" style="display: block; padding: 0 10px">         * "unnammed" fallback string if the name is then empty.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.Menus~displayNavMenuName
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {string} name
</span><span class="cx" style="display: block; padding: 0 10px">         * @returns {string}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span></span></pre></div>
<a id="trunksrcwpadminjscustomizewidgetsjs"></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/js/customize-widgets.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/customize-widgets.js        2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/customize-widgets.js  2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7,6 +7,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">        var api = wp.customize,
</span><span class="cx" style="display: block; padding: 0 10px">                l10n;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        /**
+        * @namespace wp.customize.Widgets
+        */
</ins><span class="cx" style="display: block; padding: 0 10px">         api.Widgets = api.Widgets || {};
</span><span class="cx" style="display: block; padding: 0 10px">        api.Widgets.savedWidgetIds = {};
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -19,10 +22,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * A single widget model.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Widgets.WidgetModel
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments Backbone.Model
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Widgets.WidgetModel = Backbone.Model.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Widgets.WidgetModel = Backbone.Model.extend(/** @lends wp.customize.Widgets.WidgetModel.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 id: null,
</span><span class="cx" style="display: block; padding: 0 10px">                temp_id: null,
</span><span class="cx" style="display: block; padding: 0 10px">                classname: null,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -45,10 +48,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Collection for widget models.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
-        * @augments Backbone.Model
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Widgets.WidgetCollection
+        * @augments Backbone.Collection
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Widgets.WidgetCollection = Backbone.Collection.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Widgets.WidgetCollection = Backbone.Collection.extend(/** @lends wp.customize.Widgets.WidgetCollection.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 model: api.Widgets.WidgetModel,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                // Controls searching on the current widget collection
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -103,10 +106,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * A single sidebar model.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Widgets.SidebarModel
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments Backbone.Model
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Widgets.SidebarModel = Backbone.Model.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Widgets.SidebarModel = Backbone.Model.extend(/** @lends wp.customize.Widgets.SidebarModel.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 after_title: null,
</span><span class="cx" style="display: block; padding: 0 10px">                after_widget: null,
</span><span class="cx" style="display: block; padding: 0 10px">                before_title: null,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -123,24 +126,15 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Collection for sidebar models.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Widgets.SidebarCollection
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments Backbone.Collection
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Widgets.SidebarCollection = Backbone.Collection.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Widgets.SidebarCollection = Backbone.Collection.extend(/** @lends wp.customize.Widgets.SidebarCollection.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 model: api.Widgets.SidebarModel
</span><span class="cx" style="display: block; padding: 0 10px">        });
</span><span class="cx" style="display: block; padding: 0 10px">        api.Widgets.registeredSidebars = new api.Widgets.SidebarCollection( api.Widgets.data.registeredSidebars );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        /**
-        * wp.customize.Widgets.AvailableWidgetsPanelView
-        *
-        * View class for the available widgets panel.
-        *
-        * @constructor
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       api.Widgets.AvailableWidgetsPanelView = wp.Backbone.View.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Widgets.AvailableWidgetsPanelView = wp.Backbone.View.extend(/** @lends wp.customize.Widgets.AvailableWidgetsPanelView.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                el: '#available-widgets',
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -162,6 +156,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $clearResults: null,
</span><span class="cx" style="display: block; padding: 0 10px">                searchMatchesCount: null,
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                /**
+                * View class for the available widgets panel.
+                *
+                * @constructs wp.customize.Widgets.AvailableWidgetsPanelView
+                * @augments   wp.Backbone.View
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 initialize: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        var self = this;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -197,7 +197,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        api.previewer.bind( 'url', this.close );
</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">-                // Performs a search and handles selected widget
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Performs a search and handles selected widget.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 search: function( event ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var firstVisible;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -242,12 +244,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">-                // Update the count of the available widgets that have the `search_matched` attribute.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Updates the count of the available widgets that have the `search_matched` attribute.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 updateSearchMatchesCount: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        this.searchMatchesCount = this.collection.where({ search_matched: true }).length;
</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">-                // Send a message to the aria-live region to announce how many search results.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Sends a message to the aria-live region to announce how many search results.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 announceSearchMatches: _.debounce( function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        var message = l10n.widgetsFound.replace( '%d', this.searchMatchesCount ) ;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -258,7 +264,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        wp.a11y.speak( message );
</span><span class="cx" style="display: block; padding: 0 10px">                }, 500 ),
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                // Changes visibility of available widgets
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Changes visibility of available widgets.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 updateList: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        this.collection.each( function( widget ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                var widgetTpl = $( '#widget-tpl-' + widget.id );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -269,19 +277,25 @@
</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">-                // Highlights a widget
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Highlights a widget.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 select: function( widgetTpl ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        this.selected = $( widgetTpl );
</span><span class="cx" style="display: block; padding: 0 10px">                        this.selected.siblings( '.widget-tpl' ).removeClass( 'selected' );
</span><span class="cx" style="display: block; padding: 0 10px">                        this.selected.addClass( 'selected' );
</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">-                // Highlights a widget on focus
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Highlights a widget on focus.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 focus: function( event ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        this.select( $( event.currentTarget ) );
</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">-                // Submit handler for keypress and click on widget
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Handles submit for keypress and click on widget.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 _submit: function( event ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        // Only proceed with keypress if it is Enter or Spacebar
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( event.type === 'keypress' && ( event.which !== 13 && event.which !== 32 ) ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -291,7 +305,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        this.submit( $( event.currentTarget ) );
</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">-                // Adds a selected widget to the sidebar
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Adds a selected widget to the sidebar.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 submit: function( widgetTpl ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var widgetId, widget, widgetFormControl;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -319,7 +335,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        this.close();
</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">-                // Opens the panel
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Opens the panel.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 open: function( sidebarControl ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        this.currentSidebarControl = sidebarControl;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -346,7 +364,9 @@
</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">-                // Closes the panel
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Closes the panel.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 close: function( options ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        options = options || {};
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -362,7 +382,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        this.$search.val( '' );
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                // Add keyboard accessiblity to the panel
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         /**
+                * Adds keyboard accessiblity to the panel.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 keyboardAccessible: function( event ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var isEnter = ( event.which === 13 ),
</span><span class="cx" style="display: block; padding: 0 10px">                                isEsc = ( event.which === 27 ),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -424,6 +446,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Handlers for the widget-synced event, organized by widget ID base.
</span><span class="cx" style="display: block; padding: 0 10px">         * Other widgets may provide their own update handlers by adding
</span><span class="cx" style="display: block; padding: 0 10px">         * listeners for the widget-synced event.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @alias    wp.customize.Widgets.formSyncHandlers
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        api.Widgets.formSyncHandlers = {
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -446,23 +470,22 @@
</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">-        /**
-        * wp.customize.Widgets.WidgetControl
-        *
-        * Customizer control for widgets.
-        * Note that 'widget_form' must match the WP_Widget_Form_Customize_Control::$type
-        *
-        * @constructor
-        * @augments wp.customize.Control
-        */
-       api.Widgets.WidgetControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Widgets.WidgetControl = api.Control.extend(/** @lends wp.customize.Widgets.WidgetControl.prototype */{
</ins><span class="cx" style="display: block; padding: 0 10px">                 defaultExpandedArguments: {
</span><span class="cx" style="display: block; padding: 0 10px">                        duration: 'fast',
</span><span class="cx" style="display: block; padding: 0 10px">                        completeCallback: $.noop
</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">+                 * wp.customize.Widgets.WidgetControl
+                *
+                * Customizer control for widgets.
+                * Note that 'widget_form' must match the WP_Widget_Form_Customize_Control::$type
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 4.1.0
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 *
+                * @constructs wp.customize.Widgets.WidgetControl
+                * @augments   wp.customize.Control
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                initialize: function( id, options ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var control = this;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -943,7 +966,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {Boolean}   active
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {Object}    args
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 * @param {Callback}  args.completeCallback
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * @param {function}  args.completeCallback
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                onChangeActive: function ( active, args ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        // Note: there is a second 'args' parameter being passed, merged on top of this.defaultActiveArguments
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1574,8 +1597,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Customizer panel containing the widget area sections.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.4.0
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @class    wp.customize.Widgets.WidgetsPanel
+        * @augments wp.customize.Panel
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Widgets.WidgetsPanel = api.Panel.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Widgets.WidgetsPanel = api.Panel.extend(/** @lends wp.customize.Widgets.WigetsPanel.prototype */{
</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">                 * Add and manage the display of the no-rendered-areas notice.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1695,8 +1721,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Customizer section representing a widget area widget
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.1.0
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @class    wp.customize.Widgets.SidebarSection
+        * @augments wp.customize.Section
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Widgets.SidebarSection = api.Section.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Widgets.SidebarSection = api.Section.extend(/** @lends wp.customize.Widgets.SidebarSection.prototype */{
</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">                 * Sync the section's active state back to the Backbone model's is_rendered attribute
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1722,10 +1751,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 3.9.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">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.customize.Widgets.SidebarControl
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.customize.Control
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        api.Widgets.SidebarControl = api.Control.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ api.Widgets.SidebarControl = api.Control.extend(/** @lends wp.customize.Widgets.SidebarControl.prototype */{
</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">                 * Set up the control
</span></span></pre></div>
<a id="trunksrcwpadminjseditorjs"></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/js/editor.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/editor.js   2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/editor.js     2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1236,8 +1236,9 @@
</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">-         * @namespace {SwitchEditors} switchEditors
</del><span class="cx" style="display: block; padding: 0 10px">          * Expose the switch editors to be used globally.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @namespace switchEditors
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        window.switchEditors = new SwitchEditors();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span></span></pre></div>
<a id="trunksrcwpadminjsimageeditjs"></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/js/image-edit.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/image-edit.js       2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/image-edit.js 2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -614,6 +614,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        /**
</span><span class="cx" style="display: block; padding: 0 10px">                         * @summary Sets the CSS styles and binds events for locking the aspect ratio.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @param {jQuery} img The preview image.
</span><span class="cx" style="display: block; padding: 0 10px">                         */
</span><span class="cx" style="display: block; padding: 0 10px">                        onInit: function( img ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -645,6 +647,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        /**
</span><span class="cx" style="display: block; padding: 0 10px">                         * @summary Event triggered when starting a selection.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                         */
</span><span class="cx" style="display: block; padding: 0 10px">                        onSelectStart: function() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -653,6 +657,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        /**
</span><span class="cx" style="display: block; padding: 0 10px">                         * @summary Event triggered when the selection is ended.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @param {object} img jQuery object representing the image.
</span><span class="cx" style="display: block; padding: 0 10px">                         * @param {object} c   The selection.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -665,6 +671,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        /**
</span><span class="cx" style="display: block; padding: 0 10px">                         * @summary Event triggered when the selection changes.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @param {object} img jQuery object representing the image.
</span><span class="cx" style="display: block; padding: 0 10px">                         * @param {object} c   The selection.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span></span></pre></div>
<a id="trunksrcwpadminjsinlineeditpostjs"></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/js/inline-edit-post.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/inline-edit-post.js 2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/inline-edit-post.js   2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10,10 +10,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px">  * Manages the quick edit and bulk edit windows for editing posts or pages.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @namespace
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @namespace inlineEditPost
</ins><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @since 2.7.0
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @access public
</del><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @type {Object}
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span></span></pre></div>
<a id="trunksrcwpadminjsmediajs"></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/js/media.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/media.js    2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/media.js      2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5,8 +5,7 @@
</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 class="cx" style="display: block; padding: 0 10px">  *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @global
- * @namespace
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @namespace findPosts
</ins><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @requires jQuery
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span></span></pre></div>
<a id="trunksrcwpadminjsnavmenujs"></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/js/nav-menu.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/nav-menu.js 2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/nav-menu.js   2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -10,6 +10,11 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> /* global menus, postboxes, columns, isRtl, navMenuL10n, ajaxurl */
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/**
+ * Contains all the functions to handle WordPress navigation menus administration.
+ *
+ * @namespace
+ */
</ins><span class="cx" style="display: block; padding: 0 10px"> var wpNavMenu;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> (function($) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -167,6 +172,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                /**
</span><span class="cx" style="display: block; padding: 0 10px">                                 * Adds selected menu items to the menu.
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 * @ignore
+                                *
</ins><span class="cx" style="display: block; padding: 0 10px">                                  * @param jQuery metabox The metabox jQuery object.
</span><span class="cx" style="display: block; padding: 0 10px">                                 */
</span><span class="cx" style="display: block; padding: 0 10px">                                addSelectedToMenu : function(processMethod) {
</span></span></pre></div>
<a id="trunksrcwpadminjsplugininstalljs"></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/js/plugin-install.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/plugin-install.js   2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/plugin-install.js     2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,7 +1,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /* global plugininstallL10n, tb_click, tb_remove */
</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">- * Functionality for the plugin install screens.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @file Functionality for the plugin install screens.
</ins><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> var tb_position;
</span><span class="cx" style="display: block; padding: 0 10px"> jQuery( document ).ready( function( $ ) {
</span></span></pre></div>
<a id="trunksrcwpadminjspostjs"></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/js/post.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/post.js     2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/post.js       2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4,7 +4,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><span class="cx" style="display: block; padding: 0 10px">  * Contains all dynamic functionality needed on post and term pages.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- * @summary Control page and term functionality.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @file Control page and term functionality.
</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"> var commentsBox, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail, wptitlehint, makeSlugeditClickable, editPermalink;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -31,11 +31,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                /**
</span><span class="cx" style="display: block; padding: 0 10px">                 * Fetch comments using AJAX and display them in the box.
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @memberof commentsBox
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {int} total Total number of comments for this post.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {int} num   Optional. Number of comments to fetch, defaults to 20.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @returns {boolean} Always returns false.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 *
-                * @memberof commentsBox
</del><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                get : function(total, num) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var st = this.st, data;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -662,6 +662,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        /**
</span><span class="cx" style="display: block; padding: 0 10px">                         * Add current post_ID to request to fetch custom fields
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @param {Object} s Request object.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><span class="cx" style="display: block; padding: 0 10px">                         * @returns {Object} Data modified with post_ID attached.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -672,6 +674,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">                         * Show the listing of custom fields after fetching.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         *
+                        * @ignore
</ins><span class="cx" style="display: block; padding: 0 10px">                          */
</span><span class="cx" style="display: block; padding: 0 10px">                        addAfter: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                                $('table#list-table').show();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -689,6 +693,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                /**
</span><span class="cx" style="display: block; padding: 0 10px">                 * When the visibility of a post changes sub-options should be shown or hidden.
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @ignore
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @returns void
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                updateVisibility = function() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -711,6 +717,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                /**
</span><span class="cx" style="display: block; padding: 0 10px">                 * Make sure all labels represent the current settings.
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @ignore
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @returns {boolean} False when an invalid timestamp has been selected, otherwise True.
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                updateText = function() {
</span></span></pre></div>
<a id="trunksrcwpadminjspostboxjs"></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/js/postbox.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/postbox.js  2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/postbox.js    2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -81,6 +81,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                         * Contains a jQuery object with the relevant postbox element.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><span class="cx" style="display: block; padding: 0 10px">                         * @since 4.0.0
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @event postboxes#postbox-toggled
</span><span class="cx" style="display: block; padding: 0 10px">                         * @type {Object}
</span><span class="cx" style="display: block; padding: 0 10px">                         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -137,6 +139,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                         * clicked this function will hide or show the relevant postboxes.
</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><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @fires postboxes#postbox-toggled
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><span class="cx" style="display: block; padding: 0 10px">                         * @returns {void}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -383,6 +387,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                         * Fires when the amount of columns on the post edit page has been changed.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><span class="cx" style="display: block; padding: 0 10px">                         * @since 4.0.0
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @event postboxes#postboxes-columnchange
</span><span class="cx" style="display: block; padding: 0 10px">                         */
</span><span class="cx" style="display: block; padding: 0 10px">                        $( document ).trigger( 'postboxes-columnchange' );
</span></span></pre></div>
<a id="trunksrcwpadminjsupdatesjs"></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/js/updates.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/updates.js  2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/updates.js    2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2,9 +2,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">  * Functions for ajaxified updates, deletions and installs inside the WordPress admin.
</span><span class="cx" style="display: block; padding: 0 10px">  *
</span><span class="cx" style="display: block; padding: 0 10px">  * @version 4.2.0
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- *
- * @package WordPress
- * @subpackage Administration
</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"> /* global pagenow */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -38,7 +35,7 @@
</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 class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @type {object}
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @namespace wp.updates
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</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="lines" style="display: block; padding: 0 10px; color: #888">@@ -84,19 +81,19 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.2.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.0 Added `available` property to indicate whether credentials have been provided.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @type {object} filesystemCredentials                    Holds filesystem credentials.
-        * @type {object} filesystemCredentials.ftp                Holds FTP credentials.
-        * @type {string} filesystemCredentials.ftp.host           FTP host. Default empty string.
-        * @type {string} filesystemCredentials.ftp.username       FTP user name. Default empty string.
-        * @type {string} filesystemCredentials.ftp.password       FTP password. Default empty string.
-        * @type {string} filesystemCredentials.ftp.connectionType Type of FTP connection. 'ssh', 'ftp', or 'ftps'.
-        *                                                         Default empty string.
-        * @type {object} filesystemCredentials.ssh                Holds SSH credentials.
-        * @type {string} filesystemCredentials.ssh.publicKey      The public key. Default empty string.
-        * @type {string} filesystemCredentials.ssh.privateKey     The private key. Default empty string.
-        * @type {string} filesystemCredentials.fsNonce            Filesystem credentials form nonce.
-        * @type {bool}   filesystemCredentials.available          Whether filesystem credentials have been provided.
-        *                                                         Default 'false'.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @type {Object}
+        * @property {Object} filesystemCredentials.ftp                Holds FTP credentials.
+        * @property {string} filesystemCredentials.ftp.host           FTP host. Default empty string.
+        * @property {string} filesystemCredentials.ftp.username       FTP user name. Default empty string.
+        * @property {string} filesystemCredentials.ftp.password       FTP password. Default empty string.
+        * @property {string} filesystemCredentials.ftp.connectionType Type of FTP connection. 'ssh', 'ftp', or 'ftps'.
+        *                                                             Default empty string.
+        * @property {Object} filesystemCredentials.ssh                Holds SSH credentials.
+        * @property {string} filesystemCredentials.ssh.publicKey      The public key. Default empty string.
+        * @property {string} filesystemCredentials.ssh.privateKey     The private key. Default empty string.
+        * @property {string} filesystemCredentials.fsNonce            Filesystem credentials form nonce.
+        * @property {bool}   filesystemCredentials.available          Whether filesystem credentials have been provided.
+        *                                                             Default 'false'.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        wp.updates.filesystemCredentials = {
</span><span class="cx" style="display: block; padding: 0 10px">                ftp:       {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -128,7 +125,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @type {function} A function that lazily-compiles the template requested.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @type {function}
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        wp.updates.adminNotice = wp.template( 'wp-updates-admin-notice' );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -407,7 +404,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.2.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.0 More accurately named `updatePluginSuccess`.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @typedef {object} updatePluginSuccess
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object} response            Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.slug       Slug of the plugin to be updated.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.plugin     Basename of the plugin to be updated.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -452,7 +448,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.2.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.0 More accurately named `updatePluginError`.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @typedef {object} updatePluginError
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object}  response              Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string}  response.slug         Slug of the plugin to be updated.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string}  response.plugin       Basename of the plugin to be updated.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -574,7 +569,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} installPluginSuccess
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object} response             Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.slug        Slug of the installed plugin.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.pluginName  Name of the installed plugin.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -610,7 +604,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} installPluginError
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object}  response              Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string}  response.slug         Slug of the plugin to be installed.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string=} response.pluginName   Optional. Name of the plugin to be installed.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -661,7 +654,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} installImporterSuccess
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object} response             Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.slug        Slug of the installed plugin.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.pluginName  Name of the installed plugin.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -693,7 +685,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} installImporterError
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object}  response              Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string}  response.slug         Slug of the plugin to be installed.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string=} response.pluginName   Optional. Name of the plugin to be installed.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -768,8 +759,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} deletePluginSuccess
-        * @param {object} response            Response from the server.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @param {Object} response            Response from the server.
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {string} response.slug       Slug of the plugin that was deleted.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.plugin     Base name of the plugin that was deleted.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.pluginName Name of the plugin that was deleted.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -783,7 +773,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                $pluginRow       = $( this ),
</span><span class="cx" style="display: block; padding: 0 10px">                                columnCount      = $form.find( 'thead th:not(.hidden), thead td' ).length,
</span><span class="cx" style="display: block; padding: 0 10px">                                pluginDeletedRow = wp.template( 'item-deleted-row' ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                /** @type {object} plugins Base names of plugins in their different states. */
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         /**
+                                * Plugins Base names of plugins in their different states.
+                                *
+                                * @type {Object}
+                                */
</ins><span class="cx" style="display: block; padding: 0 10px">                                 plugins          = settings.plugins;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        // Add a success message after deleting a plugin.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -858,7 +852,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} deletePluginError
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object}  response              Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string}  response.slug         Slug of the plugin to be deleted.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string}  response.plugin       Base name of the plugin to be deleted
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -971,7 +964,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} updateThemeSuccess
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object} response
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.slug       Slug of the theme to be updated.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {object} response.theme      Updated theme.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1033,7 +1025,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} updateThemeError
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object} response              Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.slug         Slug of the theme to be updated.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.errorCode    Error code for the error that occurred.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1119,7 +1110,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} installThemeSuccess
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object} response              Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.slug         Slug of the theme to be installed.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.customizeUrl URL to the Customizer for the just installed theme.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1170,7 +1160,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} installThemeError
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object} response              Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.slug         Slug of the theme to be installed.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.errorCode    Error code for the error that occurred.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1268,7 +1257,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} deleteThemeSuccess
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object} response      Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.slug Slug of the theme that was deleted.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1327,7 +1315,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} deleteThemeError
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object} response              Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.slug         Slug of the theme to be deleted.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.errorCode    Error code for the error that occurred.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1601,7 +1588,6 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.6.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">-         * @typedef {object} maybeHandleCredentialError
</del><span class="cx" style="display: block; padding: 0 10px">          * @param {object} response              Response from the server.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.errorCode    Error code for the error that occurred.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {string} response.errorMessage The error that occurred.
</span></span></pre></div>
<a id="trunksrcwpadminjswidgetscustomhtmlwidgetsjs"></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/js/widgets/custom-html-widgets.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/widgets/custom-html-widgets.js      2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/widgets/custom-html-widgets.js        2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,6 +1,11 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /* global wp */
</span><span class="cx" style="display: block; padding: 0 10px"> /* eslint consistent-this: [ "error", "control" ] */
</span><span class="cx" style="display: block; padding: 0 10px"> /* eslint no-magic-numbers: ["error", { "ignore": [0,1,-1] }] */
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * @namespace wp.customHtmlWidget
+ * @memberOf wp
+ */
</ins><span class="cx" style="display: block; padding: 0 10px"> wp.customHtmlWidgets = ( function( $ ) {
</span><span class="cx" style="display: block; padding: 0 10px">        'use strict';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -15,14 +20,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">-        /**
-        * Text widget control.
-        *
-        * @class CustomHtmlWidgetControl
-        * @constructor
-        * @abstract
-        */
-       component.CustomHtmlWidgetControl = Backbone.View.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ component.CustomHtmlWidgetControl = Backbone.View.extend(/** @lends wp.customHtmlWidgets.CustomHtmlWidgetControl.prototype */{
</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">                 * View events.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -32,11 +30,16 @@
</span><span class="cx" style="display: block; padding: 0 10px">                events: {},
</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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Text widget control.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @constructs wp.customHtmlWidgets.CustomHtmlWidgetControl
+                * @augments Backbone.View
+                * @abstract
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {Object} options - Options.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {jQuery} options.el - Control field container element.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {jQuery} options.syncContainer - Container element where fields are synced for the server.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                initialize: function initialize( options ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -171,6 +174,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                /**
</span><span class="cx" style="display: block; padding: 0 10px">                                 * Handle tabbing to the field before the editor.
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 * @ignore
+                                *
</ins><span class="cx" style="display: block; padding: 0 10px">                                  * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                                 */
</span><span class="cx" style="display: block; padding: 0 10px">                                onTabPrevious: function onTabPrevious() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -180,6 +185,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                /**
</span><span class="cx" style="display: block; padding: 0 10px">                                 * Handle tabbing to the field after the editor.
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 * @ignore
+                                *
</ins><span class="cx" style="display: block; padding: 0 10px">                                  * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                                 */
</span><span class="cx" style="display: block; padding: 0 10px">                                onTabNext: function onTabNext() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -190,6 +197,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                /**
</span><span class="cx" style="display: block; padding: 0 10px">                                 * Disable save button and store linting errors for use in updateFields.
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 * @ignore
+                                *
</ins><span class="cx" style="display: block; padding: 0 10px">                                  * @param {Array} errorAnnotations - Error notifications.
</span><span class="cx" style="display: block; padding: 0 10px">                                 * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                                 */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -200,6 +209,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                /**
</span><span class="cx" style="display: block; padding: 0 10px">                                 * Update error notice.
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 * @ignore
+                                *
</ins><span class="cx" style="display: block; padding: 0 10px">                                  * @param {Array} errorAnnotations - Error annotations.
</span><span class="cx" style="display: block; padding: 0 10px">                                 * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                                 */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -259,6 +270,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Mapping of widget ID to instances of CustomHtmlWidgetControl subclasses.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customHtmlWidgets.widgetControls
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @type {Object.<string, wp.textWidgets.CustomHtmlWidgetControl>}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.widgetControls = {};
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -266,8 +279,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Handle widget being added or initialized for the first time at the widget-added event.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customHtmlWidgets.handleWidgetAdded
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {jQuery.Event} event - Event.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {jQuery}       widgetContainer - Widget container element.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.handleWidgetAdded = function handleWidgetAdded( event, widgetContainer ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -325,6 +341,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Setup widget in accessibility mode.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customHtmlWidgets.setupAccessibleMode
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.setupAccessibleMode = function setupAccessibleMode() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -358,6 +376,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * the widgets admin screen and also via the 'widget-synced' event when making
</span><span class="cx" style="display: block; padding: 0 10px">         * a change to a widget in the customizer.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customHtmlWidgets.handleWidgetUpdated
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {jQuery.Event} event - Event.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {jQuery}       widgetContainer - Widget container element.
</span><span class="cx" style="display: block; padding: 0 10px">         * @returns {void}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -387,7 +407,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * When WordPress enqueues this script, it should have an inline script
</span><span class="cx" style="display: block; padding: 0 10px">         * attached which calls wp.textWidgets.init().
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customHtmlWidgets.init
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {object} settings - Options for code editor, exported from PHP.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.init = function init( settings ) {
</span></span></pre></div>
<a id="trunksrcwpadminjswidgetsmediaaudiowidgetjs"></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/js/widgets/media-audio-widget.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/widgets/media-audio-widget.js       2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/widgets/media-audio-widget.js 2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7,10 +7,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Custom audio details frame that removes the replace-audio state.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class AudioDetailsMediaFrame
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.controlConstructors~AudioDetailsMediaFrame
+        * @augments wp.media.view.MediaFrame.AudioDetails
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        AudioDetailsMediaFrame = wp.media.view.MediaFrame.AudioDetails.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ AudioDetailsMediaFrame = wp.media.view.MediaFrame.AudioDetails.extend(/** @lends wp.mediaWidgets.controlConstructors~AudioDetailsMediaFrame.prototype */{
</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">                 * Create the default states.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -40,8 +40,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * See WP_Widget_Audio::enqueue_admin_scripts() for amending prototype from PHP exports.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class AudioWidgetModel
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.modelConstructors.media_audio
+        * @augments wp.mediaWidgets.MediaWidgetModel
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        AudioWidgetModel = component.MediaWidgetModel.extend({});
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -50,10 +50,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * See WP_Widget_Audio::enqueue_admin_scripts() for amending prototype from PHP exports.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class AudioWidgetModel
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.controlConstructors.media_audio
+        * @augments wp.mediaWidgets.MediaWidgetControl
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        AudioWidgetControl = component.MediaWidgetControl.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ AudioWidgetControl = component.MediaWidgetControl.extend(/** @lends wp.mediaWidgets.controlConstructors.media_audio.prototype */{
</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">                 * Show display settings.
</span></span></pre></div>
<a id="trunksrcwpadminjswidgetsmediagallerywidgetjs"></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/js/widgets/media-gallery-widget.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/widgets/media-gallery-widget.js     2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/widgets/media-gallery-widget.js       2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8,10 +8,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * Custom gallery details frame.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.9.0
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class GalleryDetailsMediaFrame
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets~GalleryDetailsMediaFrame
+        * @augments wp.media.view.MediaFrame.Post
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        GalleryDetailsMediaFrame = wp.media.view.MediaFrame.Post.extend( {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ GalleryDetailsMediaFrame = wp.media.view.MediaFrame.Post.extend(/** @lends wp.mediaWidgets~GalleryDetailsMediaFrame.prototype */{
</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">                 * Create the default states.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -53,22 +53,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * See WP_Widget_Gallery::enqueue_admin_scripts() for amending prototype from PHP exports.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.9.0
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class GalleryWidgetModel
-        * @constructor
-        */
-       GalleryWidgetModel = component.MediaWidgetModel.extend( {} );
-
-       /**
-        * Gallery widget control.
</del><span class="cx" style="display: block; padding: 0 10px">          *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * See WP_Widget_Gallery::enqueue_admin_scripts() for amending prototype from PHP exports.
-        *
-        * @since 4.9.0
-        * @class GalleryWidgetControl
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.modelConstructors.media_gallery
+        * @augments wp.mediaWidgets.MediaWidgetModel
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        GalleryWidgetControl = component.MediaWidgetControl.extend( {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ GalleryWidgetModel = component.MediaWidgetModel.extend(/** @lends wp.mediaWidgets.modelConstructors.media_gallery.prototype */{} );
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        GalleryWidgetControl = component.MediaWidgetControl.extend(/** @lends wp.mediaWidgets.controlConstructors.media_gallery.prototype */{
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 /**
</span><span class="cx" style="display: block; padding: 0 10px">                 * View events.
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -80,8 +72,13 @@
</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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Gallery widget control.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * See WP_Widget_Gallery::enqueue_admin_scripts() for amending prototype from PHP exports.
+                *
+                * @constructs wp.mediaWidgets.controlConstructors.media_gallery
+                * @augments   wp.mediaWidgets.MediaWidgetControl
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 4.9.0
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {Object}         options - Options.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {Backbone.Model} options.model - Model.
</span></span></pre></div>
<a id="trunksrcwpadminjswidgetsmediaimagewidgetjs"></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/js/widgets/media-image-widget.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/widgets/media-image-widget.js       2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/widgets/media-image-widget.js 2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9,8 +9,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * See WP_Widget_Media_Image::enqueue_admin_scripts() for amending prototype from PHP exports.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class ImageWidgetModel
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.modelConstructors.media_image
+        * @augments wp.mediaWidgets.MediaWidgetModel
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        ImageWidgetModel = component.MediaWidgetModel.extend({});
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -19,10 +19,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * See WP_Widget_Media_Image::enqueue_admin_scripts() for amending prototype from PHP exports.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class ImageWidgetModel
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.controlConstructors.media_audio
+        * @augments wp.mediaWidgets.MediaWidgetControl
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        ImageWidgetControl = component.MediaWidgetControl.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ ImageWidgetControl = component.MediaWidgetControl.extend(/** @lends wp.mediaWidgets.controlConstructors.media_image.prototype */{
</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">                 * View events.
</span></span></pre></div>
<a id="trunksrcwpadminjswidgetsmediavideowidgetjs"></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/js/widgets/media-video-widget.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/widgets/media-video-widget.js       2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/widgets/media-video-widget.js 2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7,10 +7,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Custom video details frame that removes the replace-video state.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class VideoDetailsMediaFrame
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.controlConstructors~VideoDetailsMediaFrame
+        * @augments wp.media.view.MediaFrame.VideoDetails
+        *
+        * @private
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        VideoDetailsMediaFrame = wp.media.view.MediaFrame.VideoDetails.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ VideoDetailsMediaFrame = wp.media.view.MediaFrame.VideoDetails.extend(/** @lends wp.mediaWidgets.controlConstructors~VideoDetailsMediaFrame.prototype */{
</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">                 * Create the default states.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -49,8 +51,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * See WP_Widget_Video::enqueue_admin_scripts() for amending prototype from PHP exports.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class VideoWidgetModel
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.modelConstructors.media_video
+        * @augments wp.mediaWidgets.MediaWidgetModel
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        VideoWidgetModel = component.MediaWidgetModel.extend({});
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -59,10 +61,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * See WP_Widget_Video::enqueue_admin_scripts() for amending prototype from PHP exports.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class VideoWidgetControl
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.controlConstructors.media_video
+        * @augments wp.mediaWidgets.MediaWidgetControl
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        VideoWidgetControl = component.MediaWidgetControl.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ VideoWidgetControl = component.MediaWidgetControl.extend(/** @lends wp.mediaWidgets.controlConstructors.media_video.prototype */{
</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">                 * Show display settings.
</span></span></pre></div>
<a id="trunksrcwpadminjswidgetsmediawidgetsjs"></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/js/widgets/media-widgets.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/widgets/media-widgets.js    2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/widgets/media-widgets.js      2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,4 +1,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /* eslint consistent-this: [ "error", "control" ] */
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * @namespace wp.mediaWidgets
+ * @memberOf  wp
+ */
</ins><span class="cx" style="display: block; padding: 0 10px"> wp.mediaWidgets = ( function( $ ) {
</span><span class="cx" style="display: block; padding: 0 10px">        'use strict';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -9,6 +14,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Media widgets register themselves by assigning subclasses of MediaWidgetControl onto this object by widget ID base.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.mediaWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @type {Object.<string, wp.mediaWidgets.MediaWidgetModel>}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.controlConstructors = {};
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -18,22 +25,22 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * Media widgets register themselves by assigning subclasses of MediaWidgetControl onto this object by widget ID base.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.mediaWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @type {Object.<string, wp.mediaWidgets.MediaWidgetModel>}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.modelConstructors = {};
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        /**
-        * Library which persists the customized display settings across selections.
-        *
-        * @class PersistentDisplaySettingsLibrary
-        * @constructor
-        */
-       component.PersistentDisplaySettingsLibrary = wp.media.controller.Library.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ component.PersistentDisplaySettingsLibrary = wp.media.controller.Library.extend(/** @lends wp.mediaWidgets.PersistentDisplaySettingsLibrary.prototype */{
</ins><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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Library which persists the customized display settings across selections.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @constructs wp.mediaWidgets.PersistentDisplaySettingsLibrary
+                * @augments   wp.media.controller.Library
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {Object} options - Options.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                initialize: function initialize( options ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -79,10 +86,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Extended view for managing the embed UI.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class MediaEmbedView
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.MediaEmbedView
+        * @augments wp.media.view.Embed
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        component.MediaEmbedView = wp.media.view.Embed.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ component.MediaEmbedView = wp.media.view.Embed.extend(/** @lends wp.mediaWidgets.MediaEmbedView.prototype */{
</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">                 * Initialize.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -109,6 +116,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                 * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                refresh: function refresh() {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        /**
+                        * @class wp.mediaWidgets~Constructor
+                        */
</ins><span class="cx" style="display: block; padding: 0 10px">                         var Constructor;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( 'image' === this.controller.options.mimeType ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -116,7 +126,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        } else {
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                                // This should be eliminated once #40450 lands of when this is merged into core.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                Constructor = wp.media.view.EmbedLink.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         Constructor = wp.media.view.EmbedLink.extend(/** @lends wp.mediaWidgets~Constructor.prototype */{
</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">                                         * Set the disabled state on the Add to Widget button.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -284,10 +294,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Custom media frame for selecting uploaded media or providing media by URL.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class MediaFrameSelect
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.MediaFrameSelect
+        * @augments wp.media.view.MediaFrame.Post
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        component.MediaFrameSelect = wp.media.view.MediaFrame.Post.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ component.MediaFrameSelect = wp.media.view.MediaFrame.Post.extend(/** @lends wp.mediaWidgets.MediaFrameSelect.prototype */{
</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">                 * Create the default states.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -357,6 +367,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                /**
</span><span class="cx" style="display: block; padding: 0 10px">                                 * Handle click.
</span><span class="cx" style="display: block; padding: 0 10px">                                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                 * @ignore
+                                *
</ins><span class="cx" style="display: block; padding: 0 10px">                                  * @fires wp.media.controller.State#insert()
</span><span class="cx" style="display: block; padding: 0 10px">                                 * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                                 */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -408,14 +420,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">-        /**
-        * Media widget control.
-        *
-        * @class MediaWidgetControl
-        * @constructor
-        * @abstract
-        */
-       component.MediaWidgetControl = Backbone.View.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ component.MediaWidgetControl = Backbone.View.extend(/** @lends wp.mediaWidgets.MediaWidgetControl.prototype */{
</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">                 * Translation strings.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -473,12 +478,17 @@
</span><span class="cx" style="display: block; padding: 0 10px">                showDisplaySettings: true,
</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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Media Widget Control.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @constructs wp.mediaWidgets.MediaWidgetControl
+                * @augments   Backbone.View
+                * @abstract
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {Object}         options - Options.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {Backbone.Model} options.model - Model.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {jQuery}         options.el - Control field container element.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {jQuery}         options.syncContainer - Container element where fields are synced for the server.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                initialize: function initialize( options ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -961,10 +971,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Media widget model.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @class MediaWidgetModel
-        * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class    wp.mediaWidgets.MediaWidgetModel
+        * @augments Backbone.Model
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        component.MediaWidgetModel = Backbone.Model.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ component.MediaWidgetModel = Backbone.Model.extend(/** @lends wp.mediaWidgets.MediaWidgetModel.prototype */{
</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">                 * Id attribute.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1085,15 +1095,19 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Collection of all widget model instances.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.mediaWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @type {Backbone.Collection}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        component.modelCollection = new ( Backbone.Collection.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ component.modelCollection = new ( Backbone.Collection.extend( {
</ins><span class="cx" style="display: block; padding: 0 10px">                 model: component.MediaWidgetModel
</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><span class="cx" style="display: block; padding: 0 10px">         * Mapping of widget ID to instances of MediaWidgetControl subclasses.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.mediaWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @type {Object.<string, wp.mediaWidgets.MediaWidgetControl>}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.widgetControls = {};
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1101,8 +1115,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Handle widget being added or initialized for the first time at the widget-added event.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.mediaWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {jQuery.Event} event - Event.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {jQuery}       widgetContainer - Widget container element.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.handleWidgetAdded = function handleWidgetAdded( event, widgetContainer ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1184,6 +1201,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Setup widget in accessibility mode.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.mediaWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.setupAccessibleMode = function setupAccessibleMode() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1233,8 +1252,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * the widgets admin screen and also via the 'widget-synced' event when making
</span><span class="cx" style="display: block; padding: 0 10px">         * a change to a widget in the customizer.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.mediaWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {jQuery.Event} event - Event.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {jQuery}       widgetContainer - Widget container element.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.handleWidgetUpdated = function handleWidgetUpdated( event, widgetContainer ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1267,6 +1289,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * When WordPress enqueues this script, it should have an inline script
</span><span class="cx" style="display: block; padding: 0 10px">         * attached which calls wp.mediaWidgets.init().
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.mediaWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.init = function init() {
</span></span></pre></div>
<a id="trunksrcwpadminjswidgetstextwidgetsjs"></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/js/widgets/text-widgets.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/widgets/text-widgets.js     2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/widgets/text-widgets.js       2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,5 +1,9 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /* global tinymce, switchEditors */
</span><span class="cx" style="display: block; padding: 0 10px"> /* eslint consistent-this: [ "error", "control" ] */
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * @namespace wp.textWidgets
+ */
</ins><span class="cx" style="display: block; padding: 0 10px"> wp.textWidgets = ( function( $ ) {
</span><span class="cx" style="display: block; padding: 0 10px">        'use strict';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -8,14 +12,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                idBases: [ 'text' ]
</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">-        /**
-        * Text widget control.
-        *
-        * @class TextWidgetControl
-        * @constructor
-        * @abstract
-        */
-       component.TextWidgetControl = Backbone.View.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ component.TextWidgetControl = Backbone.View.extend(/** @lends wp.textWidgets.TextWidgetControl.prototype */{
</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">                 * View events.
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -25,11 +22,16 @@
</span><span class="cx" style="display: block; padding: 0 10px">                events: {},
</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">-                 * Initialize.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Text widget control.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @constructs wp.textWidgets.TextWidgetControl
+                * @augments   Backbone.View
+                * @abstract
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {Object} options - Options.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {jQuery} options.el - Control field container element.
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {jQuery} options.syncContainer - Container element where fields are synced for the server.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                initialize: function initialize( options ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -357,6 +359,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Mapping of widget ID to instances of TextWidgetControl subclasses.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.textWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @type {Object.<string, wp.textWidgets.TextWidgetControl>}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.widgetControls = {};
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -364,8 +368,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Handle widget being added or initialized for the first time at the widget-added event.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.textWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {jQuery.Event} event - Event.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {jQuery}       widgetContainer - Widget container element.
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.handleWidgetAdded = function handleWidgetAdded( event, widgetContainer ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -429,6 +436,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Setup widget in accessibility mode.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.textWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.setupAccessibleMode = function setupAccessibleMode() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -467,6 +476,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * the widgets admin screen and also via the 'widget-synced' event when making
</span><span class="cx" style="display: block; padding: 0 10px">         * a change to a widget in the customizer.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.textWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {jQuery.Event} event - Event.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {jQuery}       widgetContainer - Widget container element.
</span><span class="cx" style="display: block; padding: 0 10px">         * @returns {void}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -496,6 +507,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * When WordPress enqueues this script, it should have an inline script
</span><span class="cx" style="display: block; padding: 0 10px">         * attached which calls wp.textWidgets.init().
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf wp.textWidgets
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @returns {void}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        component.init = function init() {
</span></span></pre></div>
<a id="trunksrcwpadminjswidgetsjs"></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/js/widgets.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/widgets.js  2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-admin/js/widgets.js    2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -245,6 +245,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        /**
</span><span class="cx" style="display: block; padding: 0 10px">                         * Open Sidebar when a Widget gets dragged over it.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @param {object} event jQuery event object.
</span><span class="cx" style="display: block; padding: 0 10px">                         */
</span><span class="cx" style="display: block; padding: 0 10px">                        over: function( event ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -268,6 +270,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        /**
</span><span class="cx" style="display: block; padding: 0 10px">                         * Close Sidebar when the Widget gets dragged out of it.
</span><span class="cx" style="display: block; padding: 0 10px">                         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @param {object} event jQuery event object.
</span><span class="cx" style="display: block; padding: 0 10px">                         */
</span><span class="cx" style="display: block; padding: 0 10px">                        out: function( event ) {
</span></span></pre></div>
<a id="trunksrcwpincludesjscommentreplyjs"></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/js/comment-reply.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/js/comment-reply.js 2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-includes/js/comment-reply.js   2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3,6 +3,8 @@
</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 class="cx" style="display: block; padding: 0 10px">  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * @namespace addComment
+ *
</ins><span class="cx" style="display: block; padding: 0 10px">  * @type {Object}
</span><span class="cx" style="display: block; padding: 0 10px">  */
</span><span class="cx" style="display: block; padding: 0 10px"> var addComment;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -50,6 +52,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 5.0.0
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf addComment
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {HTMLElement} context The parent DOM element to search for links.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        function init( context ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -199,6 +203,8 @@
</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 class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @memberOf addComment
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {String} addBelowId HTML ID of element the form follows.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {String} commentId  Database ID of comment being replied to.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {String} respondId  HTML ID of 'respond' element.
</span></span></pre></div>
<a id="trunksrcwpincludesjscustomizebasejs"></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/js/customize-base.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/js/customize-base.js        2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-includes/js/customize-base.js  2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -908,7 +908,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * Get all customize settings.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @memberOf wp.customize
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @alias wp.customize.get
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * @return {object}
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -934,8 +934,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * @since 4.7.0
</span><span class="cx" style="display: block; padding: 0 10px">         * @access public
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @memberOf wp.customize.utils
</del><span class="cx" style="display: block; padding: 0 10px">          *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @alias wp.customize.utils.parseQueryString
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {string} queryString Query string.
</span><span class="cx" style="display: block; padding: 0 10px">         * @returns {object} Parsed query string.
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span></span></pre></div>
<a id="trunksrcwpincludesjsmediaviewsframepostjs"></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/js/media/views/frame/post.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/js/media/views/frame/post.js        2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-includes/js/media/views/frame/post.js  2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -445,7 +445,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        requires: { selection: true },
</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">-                         * @callback
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                  * @ignore
+                        *
</ins><span class="cx" style="display: block; padding: 0 10px">                          * @fires wp.media.controller.State#insert
</span><span class="cx" style="display: block; padding: 0 10px">                         */
</span><span class="cx" style="display: block; padding: 0 10px">                        click: function() {
</span></span></pre></div>
<a id="trunksrcwpincludesjsmediaelementwpmediaelementjs"></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/js/mediaelement/wp-mediaelement.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/js/mediaelement/wp-mediaelement.js  2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-includes/js/mediaelement/wp-mediaelement.js    2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -12,6 +12,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                 * Ensures media elements that have already been initialized won't be
</span><span class="cx" style="display: block; padding: 0 10px">                 * processed again.
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * @memberOf wp.mediaelement
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 4.4.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @returns {void}
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -56,6 +58,10 @@
</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">+        /**
+        * @namespace wp.mediaelement
+        * @memberOf wp
+        */
</ins><span class="cx" style="display: block; padding: 0 10px">         window.wp.mediaelement = new wpMediaElement();
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        $( window.wp.mediaelement.initialize );
</span></span></pre></div>
<a id="trunksrcwpincludesjsmediaelementwpplaylistjs"></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/js/mediaelement/wp-playlist.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/js/mediaelement/wp-playlist.js      2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-includes/js/mediaelement/wp-playlist.js        2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3,7 +3,13 @@
</span><span class="cx" style="display: block; padding: 0 10px"> (function ($, _, Backbone) {
</span><span class="cx" style="display: block; padding: 0 10px">        'use strict';
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        var WPPlaylistView = Backbone.View.extend({
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ var WPPlaylistView = Backbone.View.extend(/** @lends WPPlaylistView.prototype */{
+               /**
+                * @constructs
+                *
+                * @param {Object} options          The options to create this playlist view with.
+                * @param {Object} options.metadata The metadata
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 initialize : function (options) {
</span><span class="cx" style="display: block; padding: 0 10px">                        this.index = 0;
</span><span class="cx" style="display: block; padding: 0 10px">                        this.settings = {};
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -59,9 +65,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                this.settings.success = this.bindResetPlayer;
</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">-                        /**
-                        * This is also our bridge to the outside world
-                        */
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 // This is also our bridge to the outside world.
</ins><span class="cx" style="display: block; padding: 0 10px">                         this.player = new MediaElementPlayer( this.playerNode.get(0), this.settings );
</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="trunksrcwpincludesjspluploadwppluploadjs"></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/js/plupload/wp-plupload.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/js/plupload/wp-plupload.js  2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-includes/js/plupload/wp-plupload.js    2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1,5 +1,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /* global pluploadL10n, plupload, _wpPluploadSettings */
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/**
+ * @namespace wp
+ */
</ins><span class="cx" style="display: block; padding: 0 10px"> window.wp = window.wp || {};
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> ( function( exports, $ ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -16,6 +19,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * This object bridges the Plupload API to integrate uploads into the
</span><span class="cx" style="display: block; padding: 0 10px">         * WordPress back end and the WordPress media experience.
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @class
+        * @memberOf wp
+        * @alias wp.Uploader
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * @param {object} options           The options passed to the new plupload instance.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {object} options.container The id of uploader container.
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {object} options.browser   The id of button to trigger the file select.
</span></span></pre></div>
<a id="trunksrcwpincludesjswpapijs"></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/js/wp-api.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/js/wp-api.js        2017-12-15 11:15:00 UTC (rev 42402)
+++ trunk/src/wp-includes/js/wp-api.js  2017-12-15 13:41:56 UTC (rev 42403)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1161,7 +1161,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                         * have to retrieve it again for this session. Then, construct the models and collections based
</span><span class="cx" style="display: block; padding: 0 10px">                                         * on the schema model data.
</span><span class="cx" style="display: block; padding: 0 10px">                                         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                         * @callback
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                  * @ignore
</ins><span class="cx" style="display: block; padding: 0 10px">                                          */
</span><span class="cx" style="display: block; padding: 0 10px">                                        success: function( newSchemaModel ) {
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span></span></pre>
</div>
</div>

</body>
</html>