Nemo bis has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/175667

Change subject: Revert "mediawiki.api: Use action=query&meta=tokens instead of 
action=tokens"
......................................................................

Revert "mediawiki.api: Use action=query&meta=tokens instead of action=tokens"

This reverts commit aacdb664a10d5eca2b55891e5a75ca8c0368a11b.

Change-Id: I2e7e761281dae6a22fc520c9153734b55403b120
---
M includes/resourceloader/ResourceLoaderUserTokensModule.php
M resources/src/mediawiki.api/mediawiki.api.js
M tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js
3 files changed, 16 insertions(+), 29 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/67/175667/1

diff --git a/includes/resourceloader/ResourceLoaderUserTokensModule.php 
b/includes/resourceloader/ResourceLoaderUserTokensModule.php
index 9eb6ee9..ccd1dfd 100644
--- a/includes/resourceloader/ResourceLoaderUserTokensModule.php
+++ b/includes/resourceloader/ResourceLoaderUserTokensModule.php
@@ -47,7 +47,6 @@
                        'editToken' => $user->getEditToken(),
                        'patrolToken' => $user->getEditToken( 'patrol' ),
                        'watchToken' => $user->getEditToken( 'watch' ),
-                       'csrfToken' => $user->getEditToken()
                );
        }
 
diff --git a/resources/src/mediawiki.api/mediawiki.api.js 
b/resources/src/mediawiki.api/mediawiki.api.js
index 1a9c1b5..3a19e02 100644
--- a/resources/src/mediawiki.api/mediawiki.api.js
+++ b/resources/src/mediawiki.api/mediawiki.api.js
@@ -1,11 +1,5 @@
 ( function ( mw, $ ) {
 
-       function getTokenType( action ) {
-               // Token types from `action=tokens` that need to be mapped to 
the 'csrf' token type for backward-compatibility.
-               var csrfActions = [ 'block', 'delete', 'edit', 'email', 
'import', 'move', 'options', 'protect', 'unblock' ];
-               return $.inArray( action, csrfActions ) === -1 ? action : 
'csrf';
-       }
-
        // We allow people to omit these default parameters from API requests
        // there is very customizable error handling here, on a per-call basis
        // wondering, would it be simpler to make it easy to clone the api 
object,
@@ -277,32 +271,26 @@
                 * @return {string} return.done.token Received token.
                 * @since 1.22
                 */
-               getToken: function ( action, assert ) {
+               getToken: function ( type, assert ) {
                        var apiPromise,
-                               type = getTokenType( action ),
                                promiseGroup = promises[ this.defaults.ajax.url 
],
-                               d = promiseGroup && promiseGroup[ action + 
'Token' ];
+                               d = promiseGroup && promiseGroup[ type + 
'Token' ];
 
                        if ( !d ) {
-                               apiPromise = this.get( {
-                                       action: 'query',
-                                       meta: 'tokens',
-                                       type: type,
-                                       assert: assert
-                               } );
+                               apiPromise = this.get( { action: 'tokens', 
type: type, assert: assert } );
 
                                d = apiPromise
-                                       .then( function ( res ) {
+                                       .then( function ( data ) {
                                                // If token type is not 
available for this user,
                                                // key '...token' is either 
missing or set to boolean false
-                                               if ( res.query && 
res.query.tokens && res.query.tokens[type + 'token'] ) {
-                                                       return 
res.query.tokens[type + 'token'];
+                                               if ( data.tokens && 
data.tokens[type + 'token'] ) {
+                                                       return data.tokens[type 
+ 'token'];
                                                }
 
-                                               return $.Deferred().reject( 
'token-missing', res );
+                                               return $.Deferred().reject( 
'token-missing', data );
                                        }, function () {
                                                // Clear promise. Do not cache 
errors.
-                                               delete promiseGroup[ action + 
'Token' ];
+                                               delete promiseGroup[ type + 
'Token' ];
 
                                                // Pass on to allow the caller 
to handle the error
                                                return this;
@@ -314,7 +302,7 @@
                                if ( !promiseGroup ) {
                                        promiseGroup = promises[ 
this.defaults.ajax.url ] = {};
                                }
-                               promiseGroup[ action + 'Token' ] = d;
+                               promiseGroup[ type + 'Token' ] = d;
                        }
 
                        return d;
diff --git a/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js 
b/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js
index 61c9772..b89526f 100644
--- a/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js
+++ b/tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js
@@ -136,12 +136,12 @@
                                assert.equal( test.server.requests.length, 3, 
'Requests made' );
 
                                test.server.requests[2].respond( 200, { 
'Content-Type': 'application/json' },
-                                       '{ "query": { "tokens": { 
"testaction2token": "0123abc" } } }'
+                                       '{ "tokens": { "testaction2token": 
"0123abc" } }'
                                );
                        } );
 
                this.server.requests[0].respond( 200, { 'Content-Type': 
'application/json' },
-                       '{ "query": { "tokens": { "testactiontoken": "0123abc" 
} } }'
+                       '{ "tokens": { "testactiontoken": "0123abc" } }'
                );
 
                this.server.requests[1].respond( 200, { 'Content-Type': 
'application/json' },
@@ -162,7 +162,7 @@
                        } );
 
                this.server.requests[0].respond( 200, { 'Content-Type': 
'application/json' },
-                       '{ "query": { "tokens": { "testsimpletokentoken": 
"a-bad-token" } } }'
+                       '{ "tokens": { "testsimpletokentoken": "a-bad-token" } 
}'
                );
 
                this.server.requests[1].respond( 200, { 'Content-Type': 
'application/json' },
@@ -245,7 +245,7 @@
                        } );
 
                this.server.requests[0].respond( 200, { 'Content-Type': 
'application/json' },
-                       '{ "query": { "tokens": { "testbadtokentoken": 
"a-bad-token" } } }'
+                       '{ "tokens": { "testbadtokentoken": "a-bad-token" } }'
                );
 
                this.server.requests[1].respond( 200, { 'Content-Type': 
'application/json' },
@@ -253,7 +253,7 @@
                );
 
                this.server.requests[2].respond( 200, { 'Content-Type': 
'application/json' },
-                       '{ "query": { "tokens": { "testbadtokentoken": 
"a-good-token" } } }'
+                       '{ "tokens": { "testbadtokentoken": "a-good-token" } }'
                );
 
                this.server.requests[3].respond( 200, { 'Content-Type': 
'application/json' },
@@ -284,7 +284,7 @@
                        } );
 
                this.server.requests[0].respond( 200, { 'Content-Type': 
'application/json' },
-                       '{ "query": { "tokens": { "testbadtokencachetoken": 
"a-good-token-once" } } }'
+                       '{ "tokens": { "testbadtokencachetoken": 
"a-good-token-once" } }'
                );
 
                this.server.requests[1].respond( 200, { 'Content-Type': 
'application/json' },
@@ -296,7 +296,7 @@
                );
 
                this.server.requests[3].respond( 200, { 'Content-Type': 
'application/json' },
-                       '{ "query": { "tokens": { "testbadtokencachetoken": 
"a-good-new-token" } } }'
+                       '{ "tokens": { "testbadtokencachetoken": 
"a-good-new-token" } }'
                );
 
                this.server.requests[4].respond( 200, { 'Content-Type': 
'application/json' },

-- 
To view, visit https://gerrit.wikimedia.org/r/175667
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2e7e761281dae6a22fc520c9153734b55403b120
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Nemo bis <federicol...@tiscali.it>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to