Index: src/wp-includes/js/wp-backbone.js
===================================================================
--- src/wp-includes/js/wp-backbone.js	(revision 38071)
+++ src/wp-includes/js/wp-backbone.js	(working copy)
@@ -4,11 +4,14 @@
 	// Create the WordPress Backbone namespace.
 	wp.Backbone = {};
 
-
-	// wp.Backbone.Subviews
-	// --------------------
-	//
-	// A subview manager.
+	/**
+	 * A subview manager.
+	 *
+	 * @class
+	 *
+	 * @param  {wp.Backbone.View} view  The main view.
+	 * @param  {array|object}     views The subviews for the main view.
+	 */
 	wp.Backbone.Subviews = function( view, views ) {
 		this.view = view;
 		this._views = _.isArray( views ) ? { '': views } : views || {};
@@ -17,63 +20,80 @@
 	wp.Backbone.Subviews.extend = Backbone.Model.extend;
 
 	_.extend( wp.Backbone.Subviews.prototype, {
-		// ### Fetch all of the subviews
-		//
-		// Returns an array of all subviews.
+		/**
+		 * Fetch all of the subviews.
+		 *
+		 * @return {array} All the subviews.
+		 */
 		all: function() {
 			return _.flatten( _.values( this._views ) ); 
 		},
 
-		// ### Get a selector's subviews
-		//
-		// Fetches all subviews that match a given `selector`.
-		//
-		// If no `selector` is provided, it will grab all subviews attached
-		// to the view's root.
+		/**
+		 * Fetches all subviews that match a given `selector`.
+		 *
+		 * If no `selector` is provided, it will grab all subviews attached
+		 * to the view's root.
+		 *
+		 * @param {string} selector A jQuery selector.
+		 *
+		 * @return {array}
+		 */
 		get: function( selector ) {
 			selector = selector || '';
 			return this._views[ selector ];
 		},
 
-		// ### Get a selector's first subview
-		//
-		// Fetches the first subview that matches a given `selector`.
-		//
-		// If no `selector` is provided, it will grab the first subview
-		// attached to the view's root.
-		//
-		// Useful when a selector only has one subview at a time.
+		/**
+		 * Fetches the first subview that matches a given `selector`.
+		 *
+		 * If no `selector` is provided, it will grab the first subview
+		 * attached to the view's root.
+		 *
+		 * Useful when a selector only has one subview at a time.
+		 *
+		 * @param {string} selector A jQuery selector.
+		 *
+		 * @return {Backbone.View} The view.
+		 */
 		first: function( selector ) {
 			var views = this.get( selector );
 			return views && views.length ? views[0] : null;
 		},
-
-		// ### Register subview(s)
-		//
-		// Registers any number of `views` to a `selector`.
-		//
-		// When no `selector` is provided, the root selector (the empty string)
-		// is used. `views` accepts a `Backbone.View` instance or an array of
-		// `Backbone.View` instances.
-		//
-		// ---
-		//
-		// Accepts an `options` object, which has a significant effect on the
-		// resulting behavior.
-		//
-		// `options.silent` &ndash; *boolean, `false`*
-		// > If `options.silent` is true, no DOM modifications will be made.
-		//
-		// `options.add` &ndash; *boolean, `false`*
-		// > Use `Views.add()` as a shortcut for setting `options.add` to true.
-		//
-		// > By default, the provided `views` will replace
-		// any existing views associated with the selector. If `options.add`
-		// is true, the provided `views` will be added to the existing views.
-		//
-		// `options.at` &ndash; *integer, `undefined`*
-		// > When adding, to insert `views` at a specific index, use
-		// `options.at`. By default, `views` are added to the end of the array.
+		/**
+		* Register subview(s)
+		*
+		* Registers any number of `views` to a `selector`.
+		*
+		* When no `selector` is provided, the root selector (the empty string)
+		* is used. `views` accepts a `Backbone.View` instance or an array of
+		* `Backbone.View` instances.
+		*
+		* ---
+		*
+		* Accepts an `options` object, which has a significant effect on the
+		* resulting behavior.
+		*
+		* `options.silent` &ndash; *boolean, `false`*
+		* > If `options.silent` is true, no DOM modifications will be made.
+		*
+		* `options.add` &ndash; *boolean, `false`*
+		* > Use `Views.add()` as a shortcut for setting `options.add` to true.
+		*
+		* > By default, the provided `views` will replace
+		* any existing views associated with the selector. If `options.add`
+		* is true, the provided `views` will be added to the existing views.
+		*
+		* `options.at` &ndash; *integer, `undefined`*
+		* > When adding, to insert `views` at a specific index, use
+		* `options.at`. By default, `views` are added to the end of the array.
+		*
+		* @param {string} 			selector 	A jQuery selector.
+		* @param  {array|object} 	views 		The subviews for the main view.
+		* @param {} options
+		*
+		* @return
+		*/
 		set: function( selector, views, options ) {
 			var existing, next;
 
@@ -128,25 +148,32 @@
 
 			return this;
 		},
-
-		// ### Add subview(s) to existing subviews
-		//
-		// An alias to `Views.set()`, which defaults `options.add` to true.
-		//
-		// Adds any number of `views` to a `selector`.
-		//
-		// When no `selector` is provided, the root selector (the empty string)
-		// is used. `views` accepts a `Backbone.View` instance or an array of
-		// `Backbone.View` instances.
-		//
-		// Use `Views.set()` when setting `options.add` to `false`.
-		//
-		// Accepts an `options` object. By default, provided `views` will be
-		// inserted at the end of the array of existing views. To insert
-		// `views` at a specific index, use `options.at`. If `options.silent`
-		// is true, no DOM modifications will be made.
-		//
-		// For more information on the `options` object, see `Views.set()`.
+		/**
+		* Add subview(s) to existing subviews
+		*
+		* An alias to `Views.set()`, which defaults `options.add` to true.
+		*
+		* Adds any number of `views` to a `selector`.
+		*
+		* When no `selector` is provided, the root selector (the empty string)
+		* is used. `views` accepts a `Backbone.View` instance or an array of
+		* `Backbone.View` instances.
+		*
+		* Use `Views.set()` when setting `options.add` to `false`.
+		*
+		* Accepts an `options` object. By default, provided `views` will be
+		* inserted at the end of the array of existing views. To insert
+		* `views` at a specific index, use `options.at`. If `options.silent`
+		* is true, no DOM modifications will be made.
+		*
+		* For more information on the `options` object, see `Views.set()`.
+		*
+		* @param {string} 			selector A jQuery selector.
+		* @param  {array|object}	views The subviews for the main view.
+		* @param {} options
+		*
+		* @return
+		*/
 		add: function( selector, views, options ) {
 			if ( ! _.isString( selector ) ) {
 				options  = views;
@@ -156,15 +183,22 @@
 
 			return this.set( selector, views, _.extend({ add: true }, options ) );
 		},
-
-		// ### Stop tracking subviews
-		//
-		// Stops tracking `views` registered to a `selector`. If no `views` are
-		// set, then all of the `selector`'s subviews will be unregistered and
-		// removed.
-		//
-		// Accepts an `options` object. If `options.silent` is set, `remove`
-		// will *not* be triggered on the unregistered views.
+		/**
+		* Stop tracking subviews
+		*
+		* Stops tracking `views` registered to a `selector`. If no `views` are
+		* set, then all of the `selector`'s subviews will be unregistered and
+		* removed.
+		*
+		* Accepts an `options` object. If `options.silent` is set, `remove`
+		* will *not* be triggered on the unregistered views.
+		*
+		* @param {string} 			selector A jQuery selector.
+		* @param  {array|object}	views The subviews for the main view.
+		* @param {} options
+		*
+		* @return
+		*/
 		unset: function( selector, views, options ) {
 			var existing;
 
@@ -197,10 +231,16 @@
 			$( _.pluck( this.all(), 'el' ) ).detach();
 			return this;
 		},
-
-		// ### Render all subviews
-		//
-		// Renders all subviews. Used in conjunction with `Views.detach()`.
+		/**
+		* Render all subviews
+		*
+		* Renders all subviews. Used in conjunction with `Views.detach()`.
+		*
+		* @param {array|object}		views 		The subviews for the main view.
+		* @param {string}			selector	A jQuery selector.
+		*
+		* @return {array}
+		*/
 		render: function() {
 			var options = {
 					ready: this._isReady()
@@ -213,14 +253,19 @@
 			this.rendered = true;
 			return this;
 		},
-
-		// ### Remove all subviews
-		//
-		// Triggers the `remove()` method on all subviews. Detaches the master
-		// view from its parent. Resets the internals of the views manager.
-		//
-		// Accepts an `options` object. If `options.silent` is set, `unset`
-		// will *not* be triggered on the master view's parent.
+		/**
+		* Remove all subviews
+		*
+		* Triggers the `remove()` method on all subviews. Detaches the master
+		* view from its parent. Resets the internals of the views manager.
+		*
+		* Accepts an `options` object. If `options.silent` is set, `unset`
+		* will *not* be triggered on the master view's parent.
+		*
+		* @param {} options
+		*
+		* @return {}
+		*/
 		remove: function( options ) {
 			if ( ! options || ! options.silent ) {
 				if ( this.parent && this.parent.views )
@@ -233,24 +278,37 @@
 			this._views = [];
 			return this;
 		},
-
-		// ### Replace a selector's subviews
-		//
-		// By default, sets the `$target` selector's html to the subview `els`.
-		//
-		// Can be overridden in subclasses.
+		/**
+		* Replace a selector's subviews
+		*
+		* By default, sets the `$target` selector's html to the subview `els`.
+		*
+		* Can be overridden in subclasses.
+		*
+		* @param {} target
+		* @param {} els
+		*
+		* @return
+		*/
 		replace: function( $target, els ) {
 			$target.html( els );
 			return this;
 		},
-
-		// ### Insert subviews into a selector
-		//
-		// By default, appends the subview `els` to the end of the `$target`
-		// selector. If `options.at` is set, inserts the subview `els` at the
-		// provided index.
-		//
-		// Can be overridden in subclasses.
+		/**
+		* Insert subviews into a selector
+		*
+		* By default, appends the subview `els` to the end of the `$target`
+		* selector. If `options.at` is set, inserts the subview `els` at the
+		* provided index.
+		*
+		* Can be overridden in subclasses.
+		*
+		* @param {} target
+		* @param {} els
+		* @param {} options
+		*
+		* @return
+		*/
 		insert: function( $target, els, options ) {
 			var at = options && options.at,
 				$children;
@@ -278,12 +336,19 @@
 				return view.views;
 			}).flatten().where({ attached: true }).invoke('ready');
 		},
-
-		// #### Internal. Attaches a series of views to a selector.
-		//
-		// Checks to see if a matching selector exists, renders the views,
-		// performs the proper DOM operation, and then checks if the view is
-		// attached to the document.
+		/**
+		* Internal. Attaches a series of views to a selector.
+		*
+		* Checks to see if a matching selector exists, renders the views,
+		* performs the proper DOM operation, and then checks if the view is
+		* attached to the document.
+		*
+		* @param {string} 			selector A jQuery selector.
+		* @param  {array|object}	views The subviews for the main view.
+		* @param {} options
+		*
+		* @return
+		*/
 		_attach: function( selector, views, options ) {
 			var $selector = selector ? this.view.$( selector ) : this.view.$el,
 				managers;
@@ -331,11 +396,12 @@
 		}
 	});
 
-
-	// wp.Backbone.View
-	// ----------------
-	//
-	// The base view class.
+	/**
+	 * The base view class.
+	 *
+	 * @class
+	 *
+	 */
 	wp.Backbone.View = Backbone.View.extend({
 		// The constructor for the `Views` manager.
 		Subviews: wp.Backbone.Subviews,
