In `remove_user_from_blog()`, avoid a potentially expensive `IN` query before invalidating the reassigned post and link caches.

Props kovshenin.
Fixes #25545. (Again.)


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


git-svn-id: http://core.svn.wordpress.org/trunk@27027 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Rather than removing the 3rd argument in `WP_Object_Cache::delete()`, mark it as `$deprecated`.

See [27064].
Props SergeyBiryukov.
Fixes #22478.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27028 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Partially revert [27101], [27102], [27141], and [27142]. Those commits introduced new functions to sync up cache invalidation events. The current commit alters existing internals.

"The cache invalidation with static was introduced in r9102 with version 2.7. Multisite wasn't in core back then, so something like switch_to_blog() wasn't a concern, but now it breaks if you switch the blog in between calls to clean_term_cache."

This solution is simpler. All unit tests pass. Removes unnecessary tests linked to removed functions.

Props kovshenin.
Fixes #14485, #22526.


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


git-svn-id: http://core.svn.wordpress.org/trunk@27029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Use jQuery.prop('checked') instead of jQuery.attr('checked'), which is deprecated.
Built from https://develop.svn.wordpress.org/trunk@27164


git-svn-id: http://core.svn.wordpress.org/trunk@27030 1a063a9b-81f0-0310-95a4-ce76da25c4cd
TinyMCE: fix styling in the Charmap modal so the click targets are as large as the table cells. Remove the "Close" button and close the modal after inserting the special char. Fixes #27107.
Built from https://develop.svn.wordpress.org/trunk@27165


git-svn-id: http://core.svn.wordpress.org/trunk@27031 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Don't iterate over `$wp_query->posts` in `update_post_thumbnail_cache()` if it is empty. Adds unit tests.

Props SergeyBiryukov, for the original patch.
Fixes #26321.
 

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


git-svn-id: http://core.svn.wordpress.org/trunk@27032 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Merge two similar strings. props pavelevap. fixes #27096.
Built from https://develop.svn.wordpress.org/trunk@27167


git-svn-id: http://core.svn.wordpress.org/trunk@27033 1a063a9b-81f0-0310-95a4-ce76da25c4cd
TinyMCE: add image based placeholders for audio and video shortcodes. Props wonderboymusic, see #27016.
Built from https://develop.svn.wordpress.org/trunk@27169


git-svn-id: http://core.svn.wordpress.org/trunk@27034 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Update Backbone from 1.0 to 1.1.

Also update Underscore to 1.6. Includes the development versions of both, which are not included in the build.

Here is Backbone's changelog:
 * Made the return values of Collection’s `set`, `add`, `remove`, and `reset` more useful. Instead of returning `this`, they now return the changed (added, removed or updated) model or list of 
models. (This means they can no longer be chained.)
 * Backbone Views no longer automatically attach options passed to the constructor as `this.options` and Backbone Models no longer attach `url` and `urlRoot` options, but you can do it yourself if you prefer. (But if you extend `wp.Backbone.View`, options will be attached for you.)
 * All `"invalid"` events now pass consistent arguments. First the model in question, then the error object, then options.
 * You are no longer permitted to change the id of your model during `parse`. Use `idAttribute` instead.
 * On the other hand, `parse` is now an excellent place to extract and vivify incoming nested JSON into associated submodels.

See [27171] (next commit) for changes made to WordPress to be compatible with Backbone 1.1.

props gcorne, georgestephanis.
see #26799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27035 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Update media-views and wp.Backbone.View for Backbone 1.1.

 * Collection set/add/remove/reset methods now return models, not `this`, so they can no longer be chained.
 * Options passed to Backbone.View's constructor are no longer attached automatically. wp.Backbone.View now does this automatically.

See [27170] for Backbone 1.1 itself.

props gcorne.
fixes #26799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27036 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Optimize 69 images (of 127) using the new Grunt task. (See [27172].)

fixes #25169.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Dev/build tools: Use grunt-autoprefixer for CSS vendor prefixes.

We'll be using it for two distinct tasks:
 * Core CSS files will keep prefixes. `grunt autoprefixer:core` will update files directly in src/ as a pre-commit step, rather than doing it on build.
 * Color CSS files will receive prefixes when they are built.

This commit:
 * Adds prefixes we were missing to core CSS.
 * Removes prefixes that we no longer need from core CSS.
 * Removes all prefixes from colors CSS.

props ocean90.
fixes #27078.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
TinyMCE: add support for audio and video shortcodes without closing, fix jshint warning, see #27016.
Built from https://develop.svn.wordpress.org/trunk@27177


git-svn-id: http://core.svn.wordpress.org/trunk@27039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Multisite: Add get_network_by_path() and wp_get_network() to begin cleanup of multisite load.

Tries to get network detection under control by simplifying wpmu_current_site(). It now also pops off each subdomain to find a more general match. Adds unit tests for get_network_by_path() and a new network factory for unit tests.

Much of this is likely to change in 3.9 as more of ms-load.php and ms-settings.php gets hacked to bits.

props jeremyfelt.
see #27003.

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


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