<!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>[30120] trunk/src/wp-includes/js/media-views.js: Add verbose docs to `media-views.js`.</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/30120">30120</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/30120","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>wonderboymusic</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2014-10-31 15:19:58 +0000 (Fri, 31 Oct 2014)</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'>Add verbose docs to `media-views.js`.

Props ericlewis.
See <a href="https://core.trac.wordpress.org/ticket/30193">#30193</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcwpincludesjsmediaviewsjs">trunk/src/wp-includes/js/media-views.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcwpincludesjsmediaviewsjs"></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.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/js/media-views.js   2014-10-30 23:49:43 UTC (rev 30119)
+++ trunk/src/wp-includes/js/media-views.js     2014-10-31 15:19:58 UTC (rev 30120)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -72,18 +72,24 @@
</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">-         * ========================================================================
-        * CONTROLLERS
-        * ========================================================================
-        */
-
-       /**
</del><span class="cx" style="display: block; padding: 0 10px">          * wp.media.controller.Region
</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">+  * A region is a persistent application layout area.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * @param {Object} [options={}]
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * A region assumes one mode at any time, and can be switched to another.
+        *
+        * When mode changes, events are triggered on the region's parent view.
+        * The parent view will listen to specific events and fill the region with an
+        * appropriate view depending on mode. For example, a frame listens for the
+        * 'browse' mode t be activated on the 'content' view and then fills the region
+        * with an AttachmentsBrowser view.
+        *
+        * @class
+        *
+        * @param {object}        options          Options hash for the region.
+        * @param {string}        options.id       Unique identifier for the region.
+        * @param {Backbone.View} options.view     A parent view the region exists within.
+        * @param {string}        options.selector jQuery selector for the region within the parent view.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.Region = function( options ) {
</span><span class="cx" style="display: block; padding: 0 10px">                _.extend( this, _.pick( options || {}, 'id', 'view', 'selector' ) );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -244,9 +250,14 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.controller.StateMachine
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * A state machine keeps track of state. It is in one state at a time,
+        * and can change from one state to another.
+        *
+        * States are stored as models in a Backbone collection.
+        *
</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">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments Backbone.Model
</span><span class="cx" style="display: block; padding: 0 10px">         * @mixin
</span><span class="cx" style="display: block; padding: 0 10px">         * @mixes Backbone.Events
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -254,6 +265,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * @param {Array} states
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.StateMachine = function( states ) {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                // @todo This is dead code. The states collection gets created in media.view.Frame._createStates.
</ins><span class="cx" style="display: block; padding: 0 10px">                 this.states = new Backbone.Collection( states );
</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">@@ -360,10 +372,17 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * A state is a step in a workflow that when set will trigger the controllers
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * for the regions to be updated as specified in the frame. This is the base
-        * class that the various states used in wp.media extend.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * for the regions to be updated as specified in the frame.
</ins><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">+  * A state has an event-driven lifecycle:
+        *
+        *     'ready'      triggers when a state is added to a state machine's collection.
+        *     'activate'   triggers when a state is activated by a state machine.
+        *     'deactivate' triggers when a state is deactivated by a state machine.
+        *     'reset'      is not triggered automatically. It should be invoked by the
+        *                  proper controller to reset the state to its default.
+        *
+        * @class
</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">        media.controller.State = Backbone.Model.extend({
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -388,24 +407,32 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        this.on( 'change:menu', this._updateMenu, this );
</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">+                 * Ready event callback.
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @abstract
</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><span class="cx" style="display: block; padding: 0 10px">                ready: function() {},
</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">+                 * Activate event callback.
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @abstract
</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><span class="cx" style="display: block; padding: 0 10px">                activate: function() {},
</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">+                 * Deactivate event callback.
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @abstract
</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><span class="cx" style="display: block; padding: 0 10px">                deactivate: function() {},
</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">+                 * Reset event callback.
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @abstract
</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><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -539,8 +566,12 @@
</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">+                 * Create a view in the media menu for the state.
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @access private
</span><span class="cx" style="display: block; padding: 0 10px">                 * @since 3.5.0
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 *
+                * @param {media.view.Menu} view The menu view.
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><span class="cx" style="display: block; padding: 0 10px">                _renderMenu: function( view ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var menuItem = this.get('menuItem'),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -575,6 +606,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><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+        /**
+        * wp.media.selectionSync
+        *
+        * Sync an attachments selection in a state with another state.
+        *
+        * Allows for selecting multiple images in the Insert Media workflow, and then
+        * switching to the Insert Gallery workflow while preserving the attachments selection.
+        *
+        * @mixin
+        */
</ins><span class="cx" style="display: block; padding: 0 10px">         media.selectionSync = {
</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="lines" style="display: block; padding: 0 10px; color: #888">@@ -629,33 +670,50 @@
</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 state for choosing an attachment from the media library.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * wp.media.controller.Library
</ins><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">+  * A state for choosing an attachment or group of attachments from the media library.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         * @mixes media.selectionSync
+        *
+        * @param {object}                     [attributes]                         The attributes hash passed to the state.
+        * @param {string}                     [attributes.id=library]              Unique identifier.
+        * @param {string}                     [attributes.title=Media library]     Title for the state. Displays in the media menu and the frame's title region.
+        * @param {wp.media.model.Attachments} [attributes.library]                 The attachments collection to browse.
+        *                                                                          If one is not supplied, a collection of all attachments will be created.
+        * @param {boolean}                    [attributes.multiple=false]          Whether multi-select is enabled.
+        * @param {string}                     [attributes.content=upload]          Initial mode for the content region.
+        *                                                                          Overridden by persistent user setting if 'contentUserSetting' is true.
+        * @param {string}                     [attributes.menu=default]            Initial mode for the menu region.
+        * @param {string}                     [attributes.router=browse]           Initial mode for the router region.
+        * @param {string}                     [attributes.toolbar=select]          Initial mode for the toolbar region.
+        * @param {boolean}                    [attributes.searchable=true]         Whether the library is searchable.
+        * @param {boolean|string}             [attributes.filterable=false]        Whether the library is filterable, and if so what filters should be shown.
+        *                                                                          Accepts 'all', 'uploaded', or 'unattached'.
+        * @param {boolean}                    [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+        * @param {boolean}                    [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
+        * @param {boolean}                    [attributes.describe=false]          Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
+        * @param {boolean}                    [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
+        * @param {boolean}                    [attributes.syncSelection=true]      Whether the Attachments selection should be persisted from the last state.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.Library = media.controller.State.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: {
</span><span class="cx" style="display: block; padding: 0 10px">                        id:                 'library',
</span><span class="cx" style="display: block; padding: 0 10px">                        title:              l10n.mediaLibraryTitle,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Selection defaults. @see media.model.Selection
</del><span class="cx" style="display: block; padding: 0 10px">                         multiple:           false,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Initial region modes.
</del><span class="cx" style="display: block; padding: 0 10px">                         content:            'upload',
</span><span class="cx" style="display: block; padding: 0 10px">                        menu:               'default',
</span><span class="cx" style="display: block; padding: 0 10px">                        router:             'browse',
</span><span class="cx" style="display: block; padding: 0 10px">                        toolbar:            'select',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Attachments browser defaults. @see media.view.AttachmentsBrowser
</del><span class="cx" style="display: block; padding: 0 10px">                         searchable:         true,
</span><span class="cx" style="display: block; padding: 0 10px">                        filterable:         false,
</span><span class="cx" style="display: block; padding: 0 10px">                        sortable:           true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                         autoSelect:         true,
</span><span class="cx" style="display: block; padding: 0 10px">                        describe:           false,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Uses a user setting to override the content mode.
</del><span class="cx" style="display: block; padding: 0 10px">                         contentUserSetting: true,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Sync the selection from the last state when 'multiple' matches.
</del><span class="cx" style="display: block; padding: 0 10px">                         syncSelection:      true
</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">@@ -726,6 +784,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">+                 * Reset the library to its initial state.
+                *
</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><span class="cx" style="display: block; padding: 0 10px">                reset: function() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -735,6 +795,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">+                 * Reset the attachment display settings defaults to the site options.
+                *
+                * If site options don't define them, fall back to a persistent user setting.
+                *
</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><span class="cx" style="display: block; padding: 0 10px">                resetDisplays: function() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -748,6 +812,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">+                 * Create a model to represent display settings (alignment, etc.) for an attachment.
+                *
</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><span class="cx" style="display: block; padding: 0 10px">                 * @param {wp.media.model.Attachment} attachment
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -763,6 +829,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">+                 * Given an attachment, create attachment display settings properties.
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 3.6.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {wp.media.model.Attachment} attachment
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -777,6 +845,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">+                 * Whether an attachment can be embedded (audio or video).
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @since 3.6.0
</span><span class="cx" style="display: block; padding: 0 10px">                 *
</span><span class="cx" style="display: block; padding: 0 10px">                 * @param {wp.media.model.Attachment} attachment
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -814,14 +884,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">-                 * If the uploader was selected, navigate to the browser.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Callback handler when an attachment is uploaded.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 * Automatically select any uploading attachments.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Switch to the Media Library if uploaded from the 'Upload Files' tab.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                 * Selections that don't support multiple attachments automatically
-                * limit themselves to one attachment (in this case, the last
-                * attachment in the upload queue).
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Adds any uploading attachments to the selection.
</ins><span class="cx" style="display: block; padding: 0 10px">                  *
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * If the state only supports one attachment to be selected and multiple
+                * attachments are uploaded, the last attachment in the upload queue will
+                * be selected.
+                *
</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><span class="cx" style="display: block; padding: 0 10px">                 * @param {wp.media.model.Attachment} attachment
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -840,7 +912,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">-                 * Only track the browse router on library states.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * Persist the mode of the content region as a user setting.
</ins><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><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -858,25 +930,41 @@
</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">+        // Make selectionSync available on any Media Library state.
</ins><span class="cx" style="display: block; padding: 0 10px">         _.extend( media.controller.Library.prototype, media.selectionSync );
</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 state for editing the settings of an image within a content editor.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * wp.media.controller.ImageDetails
</ins><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">+  * A state for editing the attachment display settings of an image that's been
+        * inserted into the editor.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param {object}                    [attributes]                       The attributes hash passed to the state.
+        * @param {string}                    [attributes.id=image-details]      Unique identifier.
+        * @param {string}                    [attributes.title=Image Details]   Title for the state. Displays in the frame's title region.
+        * @param {wp.media.model.Attachment} attributes.image                   The image's model.
+        * @param {string|false}              [attributes.content=image-details] Initial mode for the content region.
+        * @param {string|false}              [attributes.menu=false]            Initial mode for the menu region.
+        * @param {string|false}              [attributes.router=false]          Initial mode for the router region.
+        * @param {string|false}              [attributes.toolbar=image-details] Initial mode for the toolbar region.
+        * @param {boolean}                   [attributes.editing=false]         Unused.
+        * @param {int}                       [attributes.priority=60]           Unused.
+        *
+        * @todo This state inherits some defaults from media.controller.Library.prototype.defaults,
+        *       however this may not do anything.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.ImageDetails = media.controller.State.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: _.defaults({
</span><span class="cx" style="display: block; padding: 0 10px">                        id:       'image-details',
</span><span class="cx" style="display: block; padding: 0 10px">                        title:    l10n.imageDetailsTitle,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Initial region modes.
</del><span class="cx" style="display: block; padding: 0 10px">                         content:  'image-details',
</span><span class="cx" style="display: block; padding: 0 10px">                        menu:     false,
</span><span class="cx" style="display: block; padding: 0 10px">                        router:   false,
</span><span class="cx" style="display: block; padding: 0 10px">                        toolbar:  'image-details',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                         editing:  false,
</span><span class="cx" style="display: block; padding: 0 10px">                        priority: 60
</span><span class="cx" style="display: block; padding: 0 10px">                }, media.controller.Library.prototype.defaults ),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -900,37 +988,53 @@
</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.media.controller.GalleryEdit
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * A state for editing a gallery's images and 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">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.Library
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param {object}                     [attributes]                       The attributes hash passed to the state.
+        * @param {string}                     [attributes.id=gallery-edit]       Unique identifier.
+        * @param {string}                     [attributes.title=Edit Gallery]    Title for the state. Displays in the frame's title region.
+        * @param {wp.media.model.Attachments} [attributes.library]               The collection of attachments in the gallery.
+        *                                                                        If one is not supplied, an empty media.model.Selection collection is created.
+        * @param {boolean}                    [attributes.multiple=false]        Whether multi-select is enabled.
+        * @param {boolean}                    [attributes.searchable=false]      Whether the library is searchable.
+        * @param {boolean}                    [attributes.sortable=true]         Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+        * @param {string|false}               [attributes.content=browse]        Initial mode for the content region.
+        * @param {string|false}               [attributes.toolbar=image-details] Initial mode for the toolbar region.
+        * @param {boolean}                    [attributes.describe=true]         Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
+        * @param {boolean}                    [attributes.displaySettings=true]  Whether to show the attachment display settings interface.
+        * @param {boolean}                    [attributes.dragInfo=true]         Whether to show instructional text about the attachments being sortable.
+        * @param {int}                        [attributes.idealColumnWidth=170]  The ideal column width in pixels for attachments.
+        * @param {boolean}                    [attributes.editing=false]         Whether the gallery is being created, or editing an existing instance.
+        * @param {int}                        [attributes.priority=60]           The priority for the state link in the media menu.
+        * @param {boolean}                    [attributes.syncSelection=false]   Whether the Attachments selection should be persisted from the last state.
+        *                                                                        Defaults to false for this state, because the library passed in  *is* the selection.
+        * @param {view}                       [attributes.AttachmentView]        The single `Attachment` view to be used in the `Attachments`.
+        *                                                                        If none supplied, defaults to wp.media.view.Attachment.EditLibrary.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.GalleryEdit = media.controller.Library.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        id:              'gallery-edit',
-                       title:           l10n.editGalleryTitle,
-                       // Selection defaults. @see media.model.Selection
-                       multiple:        false,
-                       // Attachments browser defaults. @see media.view.AttachmentsBrowser
-                       searchable:      false,
-                       sortable:        true,
-                       display:         false,
-                       // Initial region modes.
-                       content:         'browse',
-                       toolbar:         'gallery-edit',
-
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 id:               'gallery-edit',
+                       title:            l10n.editGalleryTitle,
+                       multiple:         false,
+                       searchable:       false,
+                       sortable:         true,
+                       display:          false,
+                       content:          'browse',
+                       toolbar:          'gallery-edit',
</ins><span class="cx" style="display: block; padding: 0 10px">                         describe:         true,
</span><span class="cx" style="display: block; padding: 0 10px">                        displaySettings:  true,
</span><span class="cx" style="display: block; padding: 0 10px">                        dragInfo:         true,
</span><span class="cx" style="display: block; padding: 0 10px">                        idealColumnWidth: 170,
</span><span class="cx" style="display: block; padding: 0 10px">                        editing:          false,
</span><span class="cx" style="display: block; padding: 0 10px">                        priority:         60,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
-                       // Don't sync the selection, as the Edit Gallery library
-                       // *is* the selection.
-                       syncSelection: false
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 syncSelection:    false
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1014,28 +1118,43 @@
</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 state for adding an image to a gallery.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * A state for selecting more images to add to a gallery.
</ins><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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.Library
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param {object}                     [attributes]                         The attributes hash passed to the state.
+        * @param {string}                     [attributes.id=gallery-library]      Unique identifier.
+        * @param {string}                     [attributes.title=Add to Gallery]    Title for the state. Displays in the frame's title region.
+        * @param {boolean}                    [attributes.multiple=add]            Whether multi-select is enabled. @todo 'add' doesn't seem do anything special, and gets used as a boolean.
+        * @param {wp.media.model.Attachments} [attributes.library]                 The attachments collection to browse.
+        *                                                                          If one is not supplied, a collection of all images will be created.
+        * @param {boolean|string}             [attributes.filterable=uploaded]     Whether the library is filterable, and if so what filters should be shown.
+        *                                                                          Accepts 'all', 'uploaded', or 'unattached'.
+        * @param {string}                     [attributes.menu=gallery]            Initial mode for the menu region.
+        * @param {string}                     [attributes.content=upload]          Initial mode for the content region.
+        *                                                                          Overridden by persistent user setting if 'contentUserSetting' is true.
+        * @param {string}                     [attributes.router=browse]           Initial mode for the router region.
+        * @param {string}                     [attributes.toolbar=gallery-add]     Initial mode for the toolbar region.
+        * @param {boolean}                    [attributes.searchable=true]         Whether the library is searchable.
+        * @param {boolean}                    [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+        * @param {boolean}                    [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
+        * @param {boolean}                    [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
+        * @param {int}                        [attributes.priority=100]            The priority for the state link in the media menu.
+        * @param {boolean}                    [attributes.syncSelection=false]     Whether the Attachments selection should be persisted from the last state.
+        *                                                                          Defaults to false because for this state, because the library of the Edit Gallery state is the selection.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.GalleryAdd = media.controller.Library.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: _.defaults({
</span><span class="cx" style="display: block; padding: 0 10px">                        id:            'gallery-library',
</span><span class="cx" style="display: block; padding: 0 10px">                        title:         l10n.addToGalleryTitle,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Selection defaults. @see media.model.Selection
</del><span class="cx" style="display: block; padding: 0 10px">                         multiple:      'add',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Attachments browser defaults. @see media.view.AttachmentsBrowser
</del><span class="cx" style="display: block; padding: 0 10px">                         filterable:    'uploaded',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Initial region modes.
</del><span class="cx" style="display: block; padding: 0 10px">                         menu:          'gallery',
</span><span class="cx" style="display: block; padding: 0 10px">                        toolbar:       'gallery-add',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                         priority:      100,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Don't sync the selection, as the Edit Gallery library
-                       // *is* the selection.
</del><span class="cx" style="display: block; padding: 0 10px">                         syncSelection: false
</span><span class="cx" style="display: block; padding: 0 10px">                }, media.controller.Library.prototype.defaults ),
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1043,7 +1162,7 @@
</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><span class="cx" style="display: block; padding: 0 10px">                initialize: function() {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // If we haven't been provided a `library`, create a `Selection`.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 // If a library wasn't supplied, create a library of images.
</ins><span class="cx" style="display: block; padding: 0 10px">                         if ( ! this.get('library') )
</span><span class="cx" style="display: block; padding: 0 10px">                                this.set( 'library', media.query({ type: 'image' }) );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1080,31 +1199,50 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.controller.CollectionEdit
</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">+  * A state for editing a collection, which is used by audio and video playlists,
+        * and can be used for other collections.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.Library
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param {object}                     [attributes]                      The attributes hash passed to the state.
+        * @param {string}                     attributes.title                  Title for the state. Displays in the media menu and the frame's title region.
+        * @param {wp.media.model.Attachments} [attributes.library]              The attachments collection to edit.
+        *                                                                       If one is not supplied, an empty media.model.Selection collection is created.
+        * @param {boolean}                    [attributes.multiple=false]       Whether multi-select is enabled.
+        * @param {string}                     [attributes.content=browse]       Initial mode for the content region.
+        * @param {string}                     attributes.menu                   Initial mode for the menu region. @todo this needs a better explanation.
+        * @param {boolean}                    [attributes.searchable=false]     Whether the library is searchable.
+        * @param {boolean}                    [attributes.sortable=true]        Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+        * @param {boolean}                    [attributes.describe=true]        Whether to offer UI to describe the attachments - e.g. captioning images in a gallery.
+        * @param {boolean}                    [attributes.dragInfo=true]        Whether to show instructional text about the attachments being sortable.
+        * @param {boolean}                    [attributes.dragInfoText]         Instructional text about the attachments being sortable.
+        * @param {int}                        [attributes.idealColumnWidth=170] The ideal column width in pixels for attachments.
+        * @param {boolean}                    [attributes.editing=false]        Whether the gallery is being created, or editing an existing instance.
+        * @param {int}                        [attributes.priority=60]          The priority for the state link in the media menu.
+        * @param {boolean}                    [attributes.syncSelection=false]  Whether the Attachments selection should be persisted from the last state.
+        *                                                                       Defaults to false for this state, because the library passed in  *is* the selection.
+        * @param {view}                       [attributes.SettingsView]         The view to edit the collection instance settings (e.g. Playlist settings with "Show tracklist" checkbox).
+        * @param {view}                       [attributes.AttachmentView]       The single `Attachment` view to be used in the `Attachments`.
+        *                                                                       If none supplied, defaults to wp.media.view.Attachment.EditLibrary.
+        * @param {string}                     attributes.type                   The collection's media type. (e.g. 'video').
+        * @param {string}                     attributes.collectionType         The collection type. (e.g. 'playlist').
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.CollectionEdit = media.controller.Library.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Selection defaults. @see media.model.Selection
-                       multiple:     false,
-                       // Attachments browser defaults. @see media.view.AttachmentsBrowser
-                       sortable:     true,
-                       searchable:   false,
-                       // Region mode defaults.
-                       content:      'browse',
-
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 multiple:         false,
+                       sortable:         true,
+                       searchable:       false,
+                       content:          'browse',
</ins><span class="cx" style="display: block; padding: 0 10px">                         describe:         true,
</span><span class="cx" style="display: block; padding: 0 10px">                        dragInfo:         true,
</span><span class="cx" style="display: block; padding: 0 10px">                        idealColumnWidth: 170,
</span><span class="cx" style="display: block; padding: 0 10px">                        editing:          false,
</span><span class="cx" style="display: block; padding: 0 10px">                        priority:         60,
</span><span class="cx" style="display: block; padding: 0 10px">                        SettingsView:     false,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
-                       // Don't sync the selection, as the Edit {Collection} library
-                       // *is* the selection.
-                       syncSelection: false
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 syncSelection:    false
</ins><span class="cx" style="display: block; padding: 0 10px">                 },
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                /**
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1161,11 +1299,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><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * Render the collection embed settings view in the browser sidebar.
+                *
+                * @todo This is against the pattern elsewhere in media. Typically the frame
+                *       is responsible for adding region mode callbacks. Explain.
+                *
</ins><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">-                 * @param browser
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+          * @param {wp.media.view.attachmentsBrowser} The attachments browser view.
</ins><span class="cx" style="display: block; padding: 0 10px">                  */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                renderSettings: function( browser ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         renderSettings: function( attachmentsBrowserView ) {
</ins><span class="cx" style="display: block; padding: 0 10px">                         var library = this.get('library'),
</span><span class="cx" style="display: block; padding: 0 10px">                                collectionType = this.get('collectionType'),
</span><span class="cx" style="display: block; padding: 0 10px">                                dragInfoText = this.get('dragInfoText'),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1193,6 +1336,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><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        // Add the 'Reverse order' button to the toolbar.
</ins><span class="cx" style="display: block; padding: 0 10px">                         browser.toolbar.set( 'reverse', {
</span><span class="cx" style="display: block; padding: 0 10px">                                text:     l10n.reverseOrder,
</span><span class="cx" style="display: block; padding: 0 10px">                                priority: 80,
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1207,10 +1351,35 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.controller.CollectionAdd
</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">+  * A state for adding attachments to a collection (e.g. video playlist).
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.Library
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param {object}                     [attributes]                         The attributes hash passed to the state.
+        * @param {string}                     [attributes.id=library]      Unique identifier.
+        * @param {string}                     attributes.title                    Title for the state. Displays in the frame's title region.
+        * @param {boolean}                    [attributes.multiple=add]            Whether multi-select is enabled. @todo 'add' doesn't seem do anything special, and gets used as a boolean.
+        * @param {wp.media.model.Attachments} [attributes.library]                 The attachments collection to browse.
+        *                                                                          If one is not supplied, a collection of attachments of the specified type will be created.
+        * @param {boolean|string}             [attributes.filterable=uploaded]     Whether the library is filterable, and if so what filters should be shown.
+        *                                                                          Accepts 'all', 'uploaded', or 'unattached'.
+        * @param {string}                     [attributes.menu=gallery]            Initial mode for the menu region.
+        * @param {string}                     [attributes.content=upload]          Initial mode for the content region.
+        *                                                                          Overridden by persistent user setting if 'contentUserSetting' is true.
+        * @param {string}                     [attributes.router=browse]           Initial mode for the router region.
+        * @param {string}                     [attributes.toolbar=gallery-add]     Initial mode for the toolbar region.
+        * @param {boolean}                    [attributes.searchable=true]         Whether the library is searchable.
+        * @param {boolean}                    [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+        * @param {boolean}                    [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
+        * @param {boolean}                    [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
+        * @param {int}                        [attributes.priority=100]            The priority for the state link in the media menu.
+        * @param {boolean}                    [attributes.syncSelection=false]     Whether the Attachments selection should be persisted from the last state.
+        *                                                                          Defaults to false because for this state, because the library of the Edit Gallery state is the selection.
+        * @param {string}                     attributes.type                   The collection's media type. (e.g. 'video').
+        * @param {string}                     attributes.collectionType         The collection type. (e.g. 'playlist').
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.CollectionAdd = media.controller.Library.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: _.defaults( {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1274,24 +1443,43 @@
</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.media.controller.FeaturedImage
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * A state for selecting a featured image for a post.
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.Library
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param {object}                     [attributes]                          The attributes hash passed to the state.
+        * @param {string}                     [attributes.id=featured-image]        Unique identifier.
+        * @param {string}                     [attributes.title=Set Featured Image] Title for the state. Displays in the media menu and the frame's title region.
+        * @param {wp.media.model.Attachments} [attributes.library]                  The attachments collection to browse.
+        *                                                                           If one is not supplied, a collection of all images will be created.
+        * @param {boolean}                    [attributes.multiple=false]           Whether multi-select is enabled.
+        * @param {string}                     [attributes.content=upload]           Initial mode for the content region.
+        *                                                                           Overridden by persistent user setting if 'contentUserSetting' is true.
+        * @param {string}                     [attributes.menu=default]             Initial mode for the menu region.
+        * @param {string}                     [attributes.router=browse]            Initial mode for the router region.
+        * @param {string}                     [attributes.toolbar=featured-image]   Initial mode for the toolbar region.
+        * @param {int}                        [attributes.priority=60]              The priority for the state link in the media menu.
+        * @param {boolean}                    [attributes.searchable=true]          Whether the library is searchable.
+        * @param {boolean|string}             [attributes.filterable=false]         Whether the library is filterable, and if so what filters should be shown.
+        *                                                                           Accepts 'all', 'uploaded', or 'unattached'.
+        * @param {boolean}                    [attributes.sortable=true]            Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+        * @param {boolean}                    [attributes.autoSelect=true]          Whether an uploaded attachment should be automatically added to the selection.
+        * @param {boolean}                    [attributes.describe=false]           Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
+        * @param {boolean}                    [attributes.contentUserSetting=true]  Whether the content region's mode should be set and persisted per user.
+        * @param {boolean}                    [attributes.syncSelection=true]       Whether the Attachments selection should be persisted from the last state.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.FeaturedImage = media.controller.Library.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: _.defaults({
</span><span class="cx" style="display: block; padding: 0 10px">                        id:            'featured-image',
</span><span class="cx" style="display: block; padding: 0 10px">                        title:         l10n.setFeaturedImageTitle,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Selection defaults. @see media.model.Selection
</del><span class="cx" style="display: block; padding: 0 10px">                         multiple:      false,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Attachments browser defaults. @see media.view.AttachmentsBrowser
</del><span class="cx" style="display: block; padding: 0 10px">                         filterable:    'uploaded',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Region mode defaults.
</del><span class="cx" style="display: block; padding: 0 10px">                         toolbar:       'featured-image',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                         priority:      60,
</span><span class="cx" style="display: block; padding: 0 10px">                        syncSelection: true
</span><span class="cx" style="display: block; padding: 0 10px">                }, media.controller.Library.prototype.defaults ),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1369,25 +1557,44 @@
</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.media.controller.ReplaceImage
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * A state for replacing 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">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.Library
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param {object}                     [attributes]                         The attributes hash passed to the state.
+        * @param {string}                     [attributes.id=replace-image]        Unique identifier.
+        * @param {string}                     [attributes.title=Replace Image]     Title for the state. Displays in the media menu and the frame's title region.
+        * @param {wp.media.model.Attachments} [attributes.library]                 The attachments collection to browse.
+        *                                                                          If one is not supplied, a collection of all images will be created.
+        * @param {boolean}                    [attributes.multiple=false]          Whether multi-select is enabled.
+        * @param {string}                     [attributes.content=upload]          Initial mode for the content region.
+        *                                                                          Overridden by persistent user setting if 'contentUserSetting' is true.
+        * @param {string}                     [attributes.menu=default]            Initial mode for the menu region.
+        * @param {string}                     [attributes.router=browse]           Initial mode for the router region.
+        * @param {string}                     [attributes.toolbar=replace]         Initial mode for the toolbar region.
+        * @param {int}                        [attributes.priority=60]             The priority for the state link in the media menu.
+        * @param {boolean}                    [attributes.searchable=true]         Whether the library is searchable.
+        * @param {boolean|string}             [attributes.filterable=uploaded]     Whether the library is filterable, and if so what filters should be shown.
+        *                                                                          Accepts 'all', 'uploaded', or 'unattached'.
+        * @param {boolean}                    [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+        * @param {boolean}                    [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
+        * @param {boolean}                    [attributes.describe=false]          Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
+        * @param {boolean}                    [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
+        * @param {boolean}                    [attributes.syncSelection=true]      Whether the Attachments selection should be persisted from the last state.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.ReplaceImage = media.controller.Library.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: _.defaults({
</span><span class="cx" style="display: block; padding: 0 10px">                        id:            'replace-image',
</span><span class="cx" style="display: block; padding: 0 10px">                        title:         l10n.replaceImageTitle,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Selection defaults. @see media.model.Selection
</del><span class="cx" style="display: block; padding: 0 10px">                         multiple:      false,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Attachments browser defaults. @see media.view.AttachmentsBrowser
</del><span class="cx" style="display: block; padding: 0 10px">                         filterable:    'uploaded',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Region mode defaults.
</del><span class="cx" style="display: block; padding: 0 10px">                         toolbar:       'replace',
</span><span class="cx" style="display: block; padding: 0 10px">                        menu:          false,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                         priority:      60,
</span><span class="cx" style="display: block; padding: 0 10px">                        syncSelection: true
</span><span class="cx" style="display: block; padding: 0 10px">                }, media.controller.Library.prototype.defaults ),
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1451,21 +1658,30 @@
</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.media.controller.EditImage
+        *
</ins><span class="cx" style="display: block; padding: 0 10px">          * A state for editing (cropping, etc.) 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">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param {object}                    attributes                      The attributes hash passed to the state.
+        * @param {wp.media.model.Attachment} attributes.model                The attachment.
+        * @param {string}                    [attributes.id=edit-image]      Unique identifier.
+        * @param {string}                    [attributes.title=Edit Image]   Title for the state. Displays in the media menu and the frame's title region.
+        * @param {string}                    [attributes.content=edit-image] Initial mode for the content region.
+        * @param {string}                    [attributes.toolbar=edit-image] Initial mode for the toolbar region.
+        * @param {string}                    [attributes.menu=false]         Initial mode for the menu region.
+        * @param {string}                    [attributes.url]                Unused. @todo Consider removal.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.EditImage = media.controller.State.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: {
</span><span class="cx" style="display: block; padding: 0 10px">                        id:      'edit-image',
</span><span class="cx" style="display: block; padding: 0 10px">                        title:   l10n.editImage,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Region mode defaults.
</del><span class="cx" style="display: block; padding: 0 10px">                         menu:    false,
</span><span class="cx" style="display: block; padding: 0 10px">                        toolbar: 'edit-image',
</span><span class="cx" style="display: block; padding: 0 10px">                        content: 'edit-image',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                         url:     ''
</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">@@ -1514,7 +1730,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.controller.MediaLibrary
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.Library
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1546,6 +1762,7 @@
</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><span class="cx" style="display: block; padding: 0 10px">                activate: function() {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        // @todo this should use this.frame.
</ins><span class="cx" style="display: block; padding: 0 10px">                         if ( media.frame.lastMime ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                this.set( 'library', media.query({ type: media.frame.lastMime }) );
</span><span class="cx" style="display: block; padding: 0 10px">                                delete media.frame.lastMime;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1557,19 +1774,31 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.controller.Embed
</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">+  * A state for embedding media from a URL.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.State
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.Model
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param {object} attributes                         The attributes hash passed to the state.
+        * @param {string} [attributes.id=embed]              Unique identifier.
+        * @param {string} [attributes.title=Insert From URL] Title for the state. Displays in the media menu and the frame's title region.
+        * @param {string} [attributes.content=embed]         Initial mode for the content region.
+        * @param {string} [attributes.menu=default]          Initial mode for the menu region.
+        * @param {string} [attributes.toolbar=main-embed]    Initial mode for the toolbar region.
+        * @param {string} [attributes.menu=false]            Initial mode for the menu region.
+        * @param {int}    [attributes.priority=120]          The priority for the state link in the media menu.
+        * @param {string} [attributes.type=link]             The type of embed. Currently only link is supported.
+        * @param {string} [attributes.url]                   The embed URL.
+        * @param {object} [attributes.metadata={}]           Properties of the embed, which will override attributes.url if set.
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.controller.Embed = media.controller.State.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                defaults: {
</span><span class="cx" style="display: block; padding: 0 10px">                        id:       'embed',
</span><span class="cx" style="display: block; padding: 0 10px">                        title:    l10n.insertFromUrlTitle,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        // Region mode defaults.
</del><span class="cx" style="display: block; padding: 0 10px">                         content:  'embed',
</span><span class="cx" style="display: block; padding: 0 10px">                        menu:     'default',
</span><span class="cx" style="display: block; padding: 0 10px">                        toolbar:  'main-embed',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px">                         priority: 120,
</span><span class="cx" style="display: block; padding: 0 10px">                        type:     'link',
</span><span class="cx" style="display: block; padding: 0 10px">                        url:      '',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1589,6 +1818,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">+                 * Trigger a scan of the embedded URL's content for metadata required to embed.
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @fires wp.media.controller.Embed#scan
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                scan: function() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1621,6 +1852,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        this.set( attributes );
</span><span class="cx" style="display: block; padding: 0 10px">                },
</span><span class="cx" style="display: block; padding: 0 10px">                /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 * Try scanning the embed as an image to discover its dimensions.
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @param {Object} attributes
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                scanImage: function( attributes ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1670,9 +1903,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.controller.Cropper
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * Allows for a cropping step.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * A state for cropping an image.
</ins><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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.controller.State
</span><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="lines" style="display: block; padding: 0 10px; color: #888">@@ -1774,16 +2007,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">-         * ========================================================================
-        * VIEWS
-        * ========================================================================
-        */
-
-       /**
</del><span class="cx" style="display: block; padding: 0 10px">          * wp.media.View
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * -------------
</del><span class="cx" style="display: block; padding: 0 10px">          *
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * The base view class.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * The base view class for media.
</ins><span class="cx" style="display: block; padding: 0 10px">          *
</span><span class="cx" style="display: block; padding: 0 10px">         * Undelegating events, removing events from the model, and
</span><span class="cx" style="display: block; padding: 0 10px">         * removing events from the controller mirror the code for
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1792,7 +2018,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * This behavior has since been removed, and should not be used
</span><span class="cx" style="display: block; padding: 0 10px">         * outside of the media manager.
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         */
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1804,6 +2030,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        wp.Backbone.View.apply( this, arguments );
</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">+                 * @todo The internal comment mentions this might have been a stop-gap
+                *       before Backbone 0.9.8 came out. Figure out if Backbone core takes
+                *       care of this in Backbone.View now.
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @returns {wp.media.View} Returns itself to allow chaining
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                dispose: function() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1843,9 +2073,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Frame
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * A frame is a composite view consisting of one or more regions and one or more
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-         * states. Only one state can be active at any given moment.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * states.
</ins><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">+  * @see wp.media.controller.State
+        * @see wp.media.controller.Region
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1875,6 +2108,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        }, this );
</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">+                 * Create the frame's states.
+                *
+                * @see wp.media.controller.State
+                * @see wp.media.controller.StateMachine
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @fires wp.media.controller.State#ready
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                _createStates: function() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1893,6 +2131,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                this.states.add( this.options.states );
</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">+
+               /**
+                * A frame can be in a mode or multiple modes at one time.
+                *
+                * For example, the manage media frame can be in the `Bulk Select` or `Edit` mode.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 _createModes: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        // Store active "modes" that the frame is in. Unrelated to region modes.
</span><span class="cx" style="display: block; padding: 0 10px">                        this.activeModes = new Backbone.Collection();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1903,6 +2147,8 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        }, this );
</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">+                 * Reset all states on the frame to their defaults.
+                *
</ins><span class="cx" style="display: block; padding: 0 10px">                  * @returns {wp.media.view.Frame} Returns itself to allow chaining
</span><span class="cx" style="display: block; padding: 0 10px">                 */
</span><span class="cx" style="display: block; padding: 0 10px">                reset: function() {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1989,9 +2235,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.MediaFrame
</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 of frame used to create the media modal.
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * The frame used to create the media modal.
</ins><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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Frame
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2224,9 +2470,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.MediaFrame.Select
</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 of media frame that is used to select an item or items from the media library
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * A frame for selecting an item or items from the media library.
</ins><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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.MediaFrame
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.view.Frame
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2388,7 +2634,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.MediaFrame.Post
</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">+  * The frame for manipulating media on the Edit Post page.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.MediaFrame.Select
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.view.MediaFrame
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.view.Frame
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -2424,10 +2672,12 @@
</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">+                /**
+                * Create the default states.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 createStates: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        var options = this.options;
</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 the default states.
</del><span class="cx" style="display: block; padding: 0 10px">                         this.states.add([
</span><span class="cx" style="display: block; padding: 0 10px">                                // Main states.
</span><span class="cx" style="display: block; padding: 0 10px">                                new media.controller.Library({
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3108,7 +3358,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.MediaFrame.ImageDetails
</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">+  * A media frame for manipulating an image that's already been inserted
+        * into a post.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.MediaFrame.Select
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.view.MediaFrame
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.view.Frame
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3130,6 +3383,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">                initialize: function( options ) {
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                        debugger;
</ins><span class="cx" style="display: block; padding: 0 10px">                         this.image = new media.model.PostImage( options.metadata );
</span><span class="cx" style="display: block; padding: 0 10px">                        this.options.selection = new media.model.Selection( this.image.attachment, { multiple: false } );
</span><span class="cx" style="display: block; padding: 0 10px">                        media.view.MediaFrame.Select.prototype.initialize.apply( this, arguments );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3275,7 +3529,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.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">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * A modal view, which the media modal uses as its default container.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3480,7 +3736,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.FocusManager
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3522,10 +3778,18 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.UploaderWindow
</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">+  * An uploader window that allows for dragging and dropping media.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+         *
+        * @param {object} [options]                   Options hash passed to the view.
+        * @param {object} [options.uploader]          Uploader properties.
+        * @param {jQuery} [options.uploader.browser]
+        * @param {jQuery} [options.uploader.dropzone] jQuery collection of the dropzone.
+        * @param {object} [options.uploader.params]
</ins><span class="cx" style="display: block; padding: 0 10px">          */
</span><span class="cx" style="display: block; padding: 0 10px">        media.view.UploaderWindow = media.View.extend({
</span><span class="cx" style="display: block; padding: 0 10px">                tagName:   'div',
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3619,7 +3883,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.EditorUploader
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3723,6 +3987,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        return this;
</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">+                /**
+                * When a file is dropped on the editor uploader, open up an editor media workflow
+                * and upload the file immediately.
+                *
+                * @param  {jQuery.Event} event The 'drop' event.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 drop: function( event ) {
</span><span class="cx" style="display: block; padding: 0 10px">                        var $wrap = null, uploadView;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3762,6 +4032,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        return false;
</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">+                /**
+                * Add the files to the uploader.
+                */
</ins><span class="cx" style="display: block; padding: 0 10px">                 addFiles: function() {
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( this.files.length ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                this.workflow.uploader.uploader.uploader.addFile( _.toArray( this.files ) );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3812,7 +4085,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.UploaderInline
</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">+  * The inline uploader that shows up in the 'Upload Files' tab.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -3935,7 +4210,9 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.UploaderStatus
</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">+  * An uploader status for on-going uploads.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4065,7 +4342,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.UploaderStatusError
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4078,7 +4355,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Toolbar
</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">+  * A toolbar which consists of a primary and a secondary section. Each sections
+        * can be filled with views.
+        *
+        * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4229,7 +4509,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Toolbar.Select
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Toolbar
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4294,7 +4574,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Toolbar.Embed
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Toolbar.Select
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.view.Toolbar
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4326,7 +4606,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Button
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4409,7 +4689,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.ButtonGroup
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4449,7 +4729,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.PriorityList
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4543,7 +4823,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.MenuItem
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4609,7 +4889,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Menu
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.PriorityList
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4719,7 +4999,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.RouterItem
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.MenuItem
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4740,7 +5020,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Router
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Menu
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.view.PriorityList
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4773,7 +5053,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Sidebar
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.PriorityList
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -4786,7 +5066,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Attachment
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5319,7 +5599,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Attachment.Library
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Attachment
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5334,7 +5614,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Attachment.EditLibrary
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Attachment
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5349,7 +5629,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Attachments
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5641,7 +5921,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Search
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5683,7 +5963,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.AttachmentFilters
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5755,7 +6035,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * A filter dropdown for month/dates.
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.AttachmentFilters
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5790,7 +6070,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.AttachmentFilters.Uploaded
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.AttachmentFilters
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5843,7 +6123,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.AttachmentFilters.All
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.AttachmentFilters
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -5927,7 +6207,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.AttachmentsBrowser
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6344,7 +6624,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Selection
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6422,7 +6702,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Attachment.Selection
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Attachment
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6441,7 +6721,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Attachments.Selection
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Attachments
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6467,7 +6747,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Attachments.EditSelection
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Attachment.Selection
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.view.Attachment
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6484,7 +6764,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.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">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6598,7 +6878,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Settings.AttachmentDisplay
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Settings
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6688,7 +6968,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Settings.Gallery
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Settings
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6702,7 +6982,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Settings.Playlist
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Settings
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6716,7 +6996,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Attachment.Details
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Attachment
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6846,7 +7126,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         *
</span><span class="cx" style="display: block; padding: 0 10px">         * A view to display fields added via the `attachment_fields_to_edit` filter.
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6923,7 +7203,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Iframe
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -6944,7 +7224,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Embed
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7003,7 +7283,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">-         * @constructor
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+  * @class
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7026,7 +7306,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.EmbedUrl
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7100,7 +7380,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.EmbedLink
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Settings
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7160,7 +7440,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.EmbedImage
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Settings.AttachmentDisplay
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.view.Settings
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7187,7 +7467,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.ImageDetails
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.view.Settings.AttachmentDisplay
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.view.Settings
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.media.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7353,7 +7633,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.customize.HeaderControl.calculateImageSelectOptions via
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.customize.HeaderControl.openMM.
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -7454,7 +7734,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /**
</span><span class="cx" style="display: block; padding: 0 10px">         * wp.media.view.Spinner
</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
</ins><span class="cx" style="display: block; padding: 0 10px">          * @augments wp.media.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments wp.Backbone.View
</span><span class="cx" style="display: block; padding: 0 10px">         * @augments Backbone.View
</span></span></pre>
</div>
</div>

</body>
</html>