Background Updates: Record Plugin & Theme update statistics like we for for Core updates, Pass Plugin/Theme update objects into the Background updater for consistency with Core & Translations. See #27633

Built from https://develop.svn.wordpress.org/trunk@27905


git-svn-id: http://core.svn.wordpress.org/trunk@27736 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Background Updates: Fix two variable typos in r27905

Built from https://develop.svn.wordpress.org/trunk@27906


git-svn-id: http://core.svn.wordpress.org/trunk@27737 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Widget Customizer: Improve plugin compatibility.

Some plugins are using custom scripts and styles for there widgets. These are available on the Widgets screens, but not in the Customizer yet.
Scripts and styles can be enqueued via: 
* `admin_enqueue_scripts`
* `admin_print_scripts` and `admin_print_scripts-widgets.php`
* `admin_print_styles` and `admin_print_styles-widgets.php`
* `admin_print_footer_scripts` and `admin_footer-widgets.php`
All this hooks are now called in the Customizer too.

Previously we have add the `#widgets-right` ID to a container div via jQuery. Remember: `#widgets-right` exists on the Widgets screen and is used by many plugins to do event delegation from that element.
But since our script files are loaded in the footer, the JavaScript way is a bit late for some plugins.
We have decided to add a `div#widgets-right` container element to customizer. "Less hacky hack."

props westonruter, ocean90. Thanks dpe415 for testing.
fixes #27619.
Built from https://develop.svn.wordpress.org/trunk@27907


git-svn-id: http://core.svn.wordpress.org/trunk@27738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fix a regression caused by [27622] in `prepend_attachment()` by passing all attachments that are not audio or video to the `else` clause.

Fixes #27634.


Built from https://develop.svn.wordpress.org/trunk@27908


git-svn-id: http://core.svn.wordpress.org/trunk@27739 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Widget Customizer: Improve support for dynamically-created inputs.

* Re-work how and when widget forms get updated.
* Replace ad hoc hooks system with jQuery events,
* Add `widget-updated`/`widget-synced` events for widget soft/hard updates.
* Enter into a non-live form update mode, where the Apply button is restored when a sanitized form does not have the same fields as currently in the form, and so the fields cannot be easily updated to their sanitized values without doing a complete form replacement. Also restores live update mode if sanitized fields are aligned with the existing fields again.

Note: jQuery events are *not* final yet, see #19675.

props westonruter.
see #27491.
Built from https://develop.svn.wordpress.org/trunk@27909


git-svn-id: http://core.svn.wordpress.org/trunk@27740 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Widget Customizer: Remove leading underscores from public methods.

Fix also an incorrect hook name in `stop_capturing_option_updates()`.

props DrewAPicture.
see #27534.
Built from https://develop.svn.wordpress.org/trunk@27910


git-svn-id: http://core.svn.wordpress.org/trunk@27741 1a063a9b-81f0-0310-95a4-ce76da25c4cd