diff options
author | Brad Jorsch <bjorsch@wikimedia.org> | 2015-03-27 12:36:19 -0400 |
---|---|---|
committer | Gergő Tisza <tgr.huwiki@gmail.com> | 2015-08-05 12:26:04 -0700 |
commit | 14560cb1b05e87a7f6814289f1e384f4ce40c019 (patch) | |
tree | cbd85bcfd1f8845eae64b447c6452eab79019458 /includes/api/ApiFormatJson.php | |
parent | d4111ed30d2f7a75f6846c008d3c851b4f0e3c0b (diff) | |
download | mediawikicore-14560cb1b05e87a7f6814289f1e384f4ce40c019.tar.gz mediawikicore-14560cb1b05e87a7f6814289f1e384f4ce40c019.zip |
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
Diffstat (limited to 'includes/api/ApiFormatJson.php')
-rw-r--r-- | includes/api/ApiFormatJson.php | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/includes/api/ApiFormatJson.php b/includes/api/ApiFormatJson.php index 43877b784b98..9538842466e9 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() { |