mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-25 03:08:42 +00:00
Merge "ve.dm.MWMediaResourceProvider: Use mw.ForeignApi rather than JSONP"
This commit is contained in:
commit
c62e71f44d
|
@ -27,25 +27,13 @@ ve.dm.MWMediaResourceProvider = function VeDmMWMediaResourceProvider( apiurl, co
|
||||||
this.isLocal = config.local !== undefined;
|
this.isLocal = config.local !== undefined;
|
||||||
|
|
||||||
if ( this.isLocal ) {
|
if ( this.isLocal ) {
|
||||||
this.setAjaxSettings( {
|
this.setAPIurl( mw.util.wikiScript( 'api' ) );
|
||||||
url: mw.util.wikiScript( 'api' ),
|
|
||||||
// If the url is local use json
|
|
||||||
dataType: 'json'
|
|
||||||
} );
|
|
||||||
} else {
|
} else {
|
||||||
this.setAjaxSettings( {
|
// If 'apiurl' is set, use that. Otherwise, build the url
|
||||||
// If 'apiurl' is set, use that. Otherwise, build the url
|
// from scriptDirUrl and /api.php suffix
|
||||||
// from scriptDirUrl and /api.php suffix
|
this.setAPIurl( this.getAPIurl() || ( this.scriptDirUrl + '/api.php' ) );
|
||||||
url: this.getAPIurl() || ( this.scriptDirUrl + '/api.php' ),
|
|
||||||
// If the url is not the same origin use jsonp
|
|
||||||
dataType: 'jsonp',
|
|
||||||
// JSON-P requests are not cached by default and get a &_=random trail.
|
|
||||||
// While setting cache=true will still bypass cache in most case due to the
|
|
||||||
// callback parameter, at least drop the &_=random trail which triggers
|
|
||||||
// an API warning (invalid parameter).
|
|
||||||
cache: true
|
|
||||||
} );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.siteInfoPromise = null;
|
this.siteInfoPromise = null;
|
||||||
this.thumbSizes = [];
|
this.thumbSizes = [];
|
||||||
this.imageSizes = [];
|
this.imageSizes = [];
|
||||||
|
@ -180,17 +168,15 @@ ve.dm.MWMediaResourceProvider.prototype.sort = function ( results ) {
|
||||||
* the fetched data.
|
* the fetched data.
|
||||||
*/
|
*/
|
||||||
ve.dm.MWMediaResourceProvider.prototype.fetchAPIresults = function ( howMany ) {
|
ve.dm.MWMediaResourceProvider.prototype.fetchAPIresults = function ( howMany ) {
|
||||||
var xhr,
|
var xhr, api,
|
||||||
ajaxOptions = {},
|
|
||||||
provider = this;
|
provider = this;
|
||||||
|
|
||||||
if ( !this.isValid() ) {
|
if ( !this.isValid() ) {
|
||||||
return $.Deferred().reject().promise( { abort: $.noop } );
|
return $.Deferred().reject().promise( { abort: $.noop } );
|
||||||
}
|
}
|
||||||
|
|
||||||
ajaxOptions = this.getAjaxSettings();
|
api = this.isLocal ? new mw.Api() : new mw.ForeignApi( this.getAPIurl(), { anonymous: true } );
|
||||||
|
xhr = api.get( $.extend( {}, this.getStaticParams(), this.getUserParams(), this.getContinueData( howMany ) ) );
|
||||||
xhr = new mw.Api().get( $.extend( {}, this.getStaticParams(), this.getUserParams(), this.getContinueData( howMany ) ), ajaxOptions );
|
|
||||||
return xhr
|
return xhr
|
||||||
.then( function ( data ) {
|
.then( function ( data ) {
|
||||||
var page, newObj, raw,
|
var page, newObj, raw,
|
||||||
|
|
Loading…
Reference in a new issue