mediawiki.api.login: Include second HTTP request in abort()
authorTimo Tijhof <krinklemail@gmail.com>
Wed, 11 Feb 2015 04:13:54 +0000 (04:13 +0000)
committerTimo Tijhof <krinklemail@gmail.com>
Wed, 11 Feb 2015 04:21:36 +0000 (04:21 +0000)
Change-Id: I52e81781b2caf330ddb920b3ce842903808b7df3

resources/src/mediawiki.api/mediawiki.api.login.js

index 88c8caa..2525792 100644 (file)
@@ -14,7 +14,7 @@
                 * @return {jQuery.Promise} See mw.Api#post
                 */
                login: function ( username, password ) {
-                       var params, apiPromise,
+                       var params, apiPromise, innerPromise,
                                api = this;
 
                        params = {
                        };
 
                        apiPromise = api.post( params );
+
                        return apiPromise
                                .then( function ( data ) {
                                        params.lgtoken = data.login.token;
-                                       return api.post( params )
+                                       innerPromise = api.post( params )
                                                .then( function ( data ) {
                                                        var code;
                                                        if ( data.login.result !== 'Success' ) {
                                                        }
                                                        return data;
                                                } );
+                                       return innerPromise;
                                } )
-                               .promise( { abort: apiPromise.abort } );
+                               .promise( {
+                                       abort: function () {
+                                               apiPromise.abort();
+                                               if ( innerPromise ) {
+                                                       innerPromise.abort();
+                                               }
+                                       }
+                               } );
                }
        } );