Catrope has uploaded a new change for review.

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


Change subject: Correctly distinguish between Deferred and Promise
......................................................................

Correctly distinguish between Deferred and Promise

Deferred is read-write, Promise is read-only. Document and return
the correct types.

Change-Id: Icfd6efb07b222c73d49b97ddbfe6565b8542ad00
---
M modules/ve/ce/nodes/ve.ce.MWTransclusionNode.js
M modules/ve/ui/dialogs/ve.ui.MWMetaDialog.js
M modules/ve/ui/widgets/ve.ui.LookupInputWidget.js
M modules/ve/ui/widgets/ve.ui.MWCategoryInputWidget.js
M modules/ve/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
5 files changed, 20 insertions(+), 20 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/26/69326/1

diff --git a/modules/ve/ce/nodes/ve.ce.MWTransclusionNode.js 
b/modules/ve/ce/nodes/ve.ce.MWTransclusionNode.js
index 5dc5738..d61c631 100644
--- a/modules/ve/ce/nodes/ve.ce.MWTransclusionNode.js
+++ b/modules/ve/ce/nodes/ve.ce.MWTransclusionNode.js
@@ -51,7 +51,7 @@
 /* Methods */
 
 ve.ce.MWTransclusionNode.prototype.generateContents = function () {
-       var promise = $.Deferred();
+       var deferred = $.Deferred();
        $.ajax( {
                'url': mw.util.wikiScript( 'api' ),
                'data': {
@@ -67,19 +67,19 @@
                // Wait up to 100 seconds before giving up
                'timeout': 100000,
                'cache': 'false',
-               'success': ve.bind( this.onParseSuccess, this, promise ),
-               'error': ve.bind( this.onParseError, this, promise )
+               'success': ve.bind( this.onParseSuccess, this, deferred ),
+               'error': ve.bind( this.onParseError, this, deferred )
        } );
-       return promise;
+       return deferred.promise();
 };
 
 /**
  * Handle a successful response from the parser for the wikitext fragment.
  *
- * @param {jQuery.Promise} promise The promise object created by 
generateContents
+ * @param {jQuery.Deferred} deferred The Deferred object created by 
generateContents
  * @param {Object} response Response data
  */
-ve.ce.MWTransclusionNode.prototype.onParseSuccess = function ( promise, 
response ) {
+ve.ce.MWTransclusionNode.prototype.onParseSuccess = function ( deferred, 
response ) {
        var data = response.visualeditor, contentNodes = $( data.content 
).get();
        // HACK: if $content consists of a single paragraph, unwrap it.
        // We have to do this because the PHP parser wraps everything in <p>s, 
and inline templates
@@ -87,17 +87,17 @@
        if ( contentNodes.length === 1 && 
contentNodes[0].nodeName.toLowerCase() === 'p' ) {
                contentNodes = contentNodes[0].childNodes;
        }
-       promise.resolve( contentNodes );
+       deferred.resolve( contentNodes );
 };
 
 /**
  * Handle an unsuccessful response from the parser for the wikitext fragment.
  *
- * @param {jQuery.Promise} promise The promise object created by 
generateContents
+ * @param {jQuery.Deferred} deferred The promise object created by 
generateContents
  * @param {Object} response Response data
  */
-ve.ce.MWTransclusionNode.prototype.onParseError = function ( promise ) {
-       promise.reject();
+ve.ce.MWTransclusionNode.prototype.onParseError = function ( deferred ) {
+       deferred.reject();
 };
 
 /* Concrete subclasses */
diff --git a/modules/ve/ui/dialogs/ve.ui.MWMetaDialog.js 
b/modules/ve/ui/dialogs/ve.ui.MWMetaDialog.js
index ffeeb43..e258e45 100644
--- a/modules/ve/ui/dialogs/ve.ui.MWMetaDialog.js
+++ b/modules/ve/ui/dialogs/ve.ui.MWMetaDialog.js
@@ -318,10 +318,10 @@
  * Get array of language items from meta list
  *
  * @method
- * @returns {Object[]} items
+ * @returns {jQuery.Promise}
  */
 ve.ui.MWMetaDialog.prototype.getAllLanguageItems = function () {
-       var promise = $.Deferred();
+       var deferred = $.Deferred();
        // TODO: Detect paging token if results exceed limit
        $.ajax( {
                'url': mw.util.wikiScript( 'api' ),
@@ -338,13 +338,13 @@
                // Wait up to 100 seconds before giving up
                'timeout': 100000,
                'cache': 'false',
-               'success': ve.bind( this.onAllLanuageItemsSuccess, this, 
promise ),
-               'error': ve.bind( this.onAllLanuageItemsError, this, promise )
+               'success': ve.bind( this.onAllLanuageItemsSuccess, this, 
deferred ),
+               'error': ve.bind( this.onAllLanuageItemsError, this, deferred )
        } );
-       return promise;
+       return deferred.promise();
 };
 
-ve.ui.MWMetaDialog.prototype.onAllLanuageItemsSuccess = function ( promise, 
response ) {
+ve.ui.MWMetaDialog.prototype.onAllLanuageItemsSuccess = function ( deferred, 
response ) {
        var i, iLen, languages = [], langlinks = 
response.query.pages[response.query.pageids[0]].langlinks;
        if ( langlinks ) {
                for ( i = 0, iLen = langlinks.length; i < iLen; i++ ) {
@@ -355,7 +355,7 @@
                        } );
                }
        }
-       promise.resolve( languages );
+       deferred.resolve( languages );
 };
 
 // TODO: This error function should probably not be empty.
diff --git a/modules/ve/ui/widgets/ve.ui.LookupInputWidget.js 
b/modules/ve/ui/widgets/ve.ui.LookupInputWidget.js
index e54de6f..6f795ee 100644
--- a/modules/ve/ui/widgets/ve.ui.LookupInputWidget.js
+++ b/modules/ve/ui/widgets/ve.ui.LookupInputWidget.js
@@ -188,7 +188,7 @@
  *
  * @method
  * @abstract
- * @returns {jQuery.Deferred} Deferred object
+ * @returns {jqXHR} jQuery AJAX object, or promise object with an .abort() 
method
  */
 ve.ui.LookupInputWidget.prototype.getLookupRequest = function () {
        // Stub, implemented in subclass
diff --git a/modules/ve/ui/widgets/ve.ui.MWCategoryInputWidget.js 
b/modules/ve/ui/widgets/ve.ui.MWCategoryInputWidget.js
index f708203..c9f446f 100644
--- a/modules/ve/ui/widgets/ve.ui.MWCategoryInputWidget.js
+++ b/modules/ve/ui/widgets/ve.ui.MWCategoryInputWidget.js
@@ -52,7 +52,7 @@
  * Gets a new request object of the current lookup query value.
  *
  * @method
- * @returns {jQuery.Deferred} Deferred object with success and fail handlers 
already attached
+ * @returns {jqXHR} AJAX object without success or fail handlers attached
  */
 ve.ui.MWCategoryInputWidget.prototype.getLookupRequest = function () {
        return $.ajax( {
diff --git a/modules/ve/ui/widgets/ve.ui.MWLinkTargetInputWidget.js 
b/modules/ve/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
index bac929a..6793048 100644
--- a/modules/ve/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
+++ b/modules/ve/ui/widgets/ve.ui.MWLinkTargetInputWidget.js
@@ -59,7 +59,7 @@
  * Gets a new request object of the current lookup query value.
  *
  * @method
- * @returns {jQuery.Deferred} Deferred object with success and fail handlers 
already attached
+ * @returns {jqXHR} AJAX object without success or fail handlers attached
  */
 ve.ui.MWLinkTargetInputWidget.prototype.getLookupRequest = function () {
        return $.ajax( {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icfd6efb07b222c73d49b97ddbfe6565b8542ad00
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Catrope <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to