From: Brad Jorsch Date: Fri, 27 Mar 2015 16:36:19 +0000 (-0400) Subject: API: Ignore '_' parameter in jsonp callback mode X-Git-Tag: 1.31.0-rc.0~10511 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dmembres/Category:Foo?a=commitdiff_plain;h=14560cb1b05e87a7f6814289f1e384f4ce40c019;p=lhc%2Fweb%2Fwiklou.git API: Ignore '_' parameter in jsonp callback mode jQuery has a misfeature where it by default appends a '_' parameter as a cachebuster in jsonp mode. So, when in jsonp mode, mark this bogus parameter as used to avoid an unnecessary warning. Bug: T94015 Change-Id: I43373439a3605e4589315139c30976c6c2f68542 --- diff --git a/includes/api/ApiFormatJson.php b/includes/api/ApiFormatJson.php index 43877b784b..9538842466 100644 --- a/includes/api/ApiFormatJson.php +++ b/includes/api/ApiFormatJson.php @@ -35,6 +35,15 @@ class ApiFormatJson extends ApiFormatBase { public function __construct( ApiMain $main, $format ) { parent::__construct( $main, $format ); $this->isRaw = ( $format === 'rawfm' ); + + if ( $this->getMain()->getCheck( 'callback' ) ) { + # T94015: jQuery appends a useless '_' parameter in jsonp mode. + # Mark the parameter as used in that case to avoid a warning that's + # outside the control of the end user. + # (and do it here because ApiMain::reportUnusedParams() gets called + # before our ::execute()) + $this->getMain()->getCheck( '_' ); + } } public function getMimeType() {