Pass $post object to 'preview_post_link' filter.

props danielbachhuber.
fixes #28729.
Built from https://develop.svn.wordpress.org/trunk@28969


git-svn-id: http://core.svn.wordpress.org/trunk@28758 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Prevent sending a 404 status when returning the response for the customize preview, since it causes the jQuery Ajax to fail. Send 200 instead.

props westonruter.
fixes #27992.
Built from https://develop.svn.wordpress.org/trunk@28970


git-svn-id: http://core.svn.wordpress.org/trunk@28759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fix texturization of quotes when enclosed by angle brackets.

props miqrogroove.
fixes #28718.
Built from https://develop.svn.wordpress.org/trunk@28971


git-svn-id: http://core.svn.wordpress.org/trunk@28760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Improve oEmbed caching. Introduces the concept of a TTL for oEmbed caches and a filter for `oembed_ttl`.

We will no longer replace previously valid oEmbed responses with an `{{unknown}}` cache value. When this happens due to reaching a rate limit or a service going down, it is data loss, and is not acceptable. This means that oEmbed caches for a post are no longer deleted indiscriminately every time that post is saved.

oEmbed continues to be cached in post meta, with the addition of a separate meta key containing the timestamp of the last retrieval, which is used to avoid re-requesting a recently cached oEmbed response. By default, we consider a valued cached in the past day to be fresh. This can greatly reduce the number of outbound requests, especially in cases where a post containing multiple embeds is saved frequently.

The TTL used to determine whether or not to request a response can be filtered using `oembed_ttl`, thus allowing for the possibility of respecting the optional oEmbed response parameter `cache_age` or altering the period of time a cached value is considered to be fresh.

Now that oEmbeds are previewed in the visual editor as well as the media modal, oEmbed caches are often populated before a post is saved or published. By pre-populating and avoiding having to re-request that response, we also greatly reduce the chances of a stampede happening when a published post is visible before oEmbed caching is complete.

As it previously stood, a stampede was extremely likely to happen, as the AJAX caching was only triggered when `$_GET['message']` was 1. The published message is 6. We now trigger the caching every time `$_GET['message']` is present on the edit screen, as we are able to avoid triggering so many HTTP requests overall.

props markjaquith. fixes #14759. see #17210.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28761 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Correct typo in `sanitize_html_class()` docblock.
Built from https://develop.svn.wordpress.org/trunk@28973


git-svn-id: http://core.svn.wordpress.org/trunk@28762 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Use the admin scheme for theme preview URLs when installing new themes. See #21919.
Built from https://develop.svn.wordpress.org/trunk@28974


git-svn-id: http://core.svn.wordpress.org/trunk@28763 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fix an incomplete docblock for `wp_create_categories()` as part of `$post/$post_id` cleanup.

See #28388.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28764 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Remove backticks on `$post` variables in some short parameter descriptions.

See [28653], [28654].
See #28388.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28765 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Clarify the inline documentation for `plugins_url()` to reflect that it also works with mu-plugins.

Props ericlewis.
See #28499.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28766 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Simplify the setup-config.php UI flow and load process.

When no configuration file is detected, we now redirect to setup-config.php. This process now uses the WordPress bootstrap, rather than a set of fragile hacks.

fixes #28740.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28767 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Note in the hook docs for `preview_post_link` that the `$post` parameter was added.

See #28729.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28768 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Don't escape customizer control descriptions, just as section descriptions are not escaped. These are set programmatically, not via user input. props tollmanz. fixes #27981.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28769 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Remove a toolbar CSS hack for a Chrome bug that no longer appears to exist. props avryl. fixes #28606. see #18868.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28770 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Avoid a warning if the translations API call fails on step 1. Remove assignment inside an if statement. See #28577.
Built from https://develop.svn.wordpress.org/trunk@28982


git-svn-id: http://core.svn.wordpress.org/trunk@28771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
First pass at switching to radio inputs for the install screen language selector. Needs some more work. See #28577. Props jorbin
Built from https://develop.svn.wordpress.org/trunk@28983


git-svn-id: http://core.svn.wordpress.org/trunk@28772 1a063a9b-81f0-0310-95a4-ce76da25c4cd
If we already have a value for WPLANG when installing, insert this language at the top of the language selector and pre-select it. See #28577
Built from https://develop.svn.wordpress.org/trunk@28984


git-svn-id: http://core.svn.wordpress.org/trunk@28773 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Add IE11 to the browser whitelist for MediaElement-based MCE views.

Props azaozz.
Fixes #28742.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28774 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Optimize regexp usage in `wptexturize()` for a "3x Performance Boost."

Props miqrogroove.
See #28724.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28775 1a063a9b-81f0-0310-95a4-ce76da25c4cd
`WP_Query::parse_tax_query()` has always been documented as `protected`. Plugins should never have used it. However, it did not have a `protected` access modifier, so its visibility was `public` by default. If the access modifier had been present, accessing the method in a plugin would have produced a fatal error. The access modifier was added in [28523], along with magic methods to allow it to be accessed for BC. This one method is problematic because it expects to be passed a reference. The `WP_Query::__call()` logic does not go out of its way to fix this signature discrepancy, and so a warning is thrown: `Parameter 1 to WP_Query::parse_tax_query() expected to be a reference, value given`.

Remove the `protected` access modifier from `WP_Query::parse_tax_query()`.

Fixes #28739.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28776 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Add more docs for `media.view.MediaFrame.Select` methods.

Props ericlewis.
See #28459.

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


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