REST API: Ensure maxwidth and maxheight params are forwarded to oEmbed provider in proxy requests.

Also correct phpdoc return tag on `WP_oEmbed_Controller::get_proxy_item()` and remove dead code in oEmbed controller phpunit tests.

Merges [41047] into 4.8 branch.
Amends [40628].
See #40450.
Fixes #41299 for 4.8.1.

Built from https://develop.svn.wordpress.org/branches/4.8@41049


git-svn-id: http://core.svn.wordpress.org/branches/4.8@40899 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Weston Ruter 2017-07-14 16:19:31 +00:00
parent 3a05029032
commit 5f3b1410fd

View File

@ -153,7 +153,7 @@ final class WP_oEmbed_Controller {
*
* @see WP_oEmbed::get_html()
* @param WP_REST_Request $request Full data about the request.
* @return WP_Error|array oEmbed response data or WP_Error on failure.
* @return object|WP_Error oEmbed response data or WP_Error on failure.
*/
public function get_proxy_item( $request ) {
$args = $request->get_params();
@ -169,6 +169,14 @@ final class WP_oEmbed_Controller {
$url = $request['url'];
unset( $args['url'] );
// Copy maxwidth/maxheight to width/height since WP_oEmbed::fetch() uses these arg names.
if ( isset( $args['maxwidth'] ) ) {
$args['width'] = $args['maxwidth'];
}
if ( isset( $args['maxheight'] ) ) {
$args['height'] = $args['maxheight'];
}
$data = _wp_oembed_get_object()->get_data( $url, $args );
if ( false === $data ) {