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
This commit is contained in:
Brad Jorsch 2015-03-27 12:36:19 -04:00 committed by Gergő Tisza
parent d4111ed30d
commit 14560cb1b0

View file

@ -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() {