From 14560cb1b05e87a7f6814289f1e384f4ce40c019 Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Fri, 27 Mar 2015 12:36:19 -0400 Subject: [PATCH] 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 --- includes/api/ApiFormatJson.php | 9 +++++++++ 1 file changed, 9 insertions(+) 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() { -- 2.20.1