Krinkle has uploaded a new change for review.

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


Change subject: ve.ce.MWTransclusionNode: Check for API errors
......................................................................

ve.ce.MWTransclusionNode: Check for API errors

See ApiVisualEditor.php#parsefragment.

Error code is also incorrectly about Parsoid, method
parseWikitextFragment does a FauxRequest to MediaWiki. Fixed
error.info. Keeping the same error.code for now for consistency.

Bug: 52483
Change-Id: Ic473ae4a5c1e9706140f6ec4cc8157fadd02c318
---
M ApiVisualEditor.php
M modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js
2 files changed, 10 insertions(+), 4 deletions(-)


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

diff --git a/ApiVisualEditor.php b/ApiVisualEditor.php
index c6ba537..2b0f599 100644
--- a/ApiVisualEditor.php
+++ b/ApiVisualEditor.php
@@ -274,7 +274,7 @@
                        case 'parsefragment':
                                $content = $this->parseWikitextFragment( 
$params['wikitext'], $page->getText() );
                                if ( $content === false ) {
-                                       $this->dieUsage( 'Error contacting the 
Parsoid server', 'parsoidserver' );
+                                       $this->dieUsage( 'Error querying 
MediaWiki API', 'parsoidserver' );
                                } else {
                                        $result = array(
                                                'result' => 'success',
diff --git a/modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js 
b/modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js
index 61a53f7..52be3c6 100644
--- a/modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js
+++ b/modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js
@@ -79,11 +79,17 @@
 /**
  * Handle a successful response from the parser for the wikitext fragment.
  *
- * @param {jQuery.Deferred} deferred The Deferred 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 ( deferred, 
response ) {
-       var data = response.visualeditor, contentNodes = $( data.content 
).get();
+       var contentNodes;
+
+       if ( !response || response.error || !response.visualeditor || 
response.visualeditor.result !== 'success' ) {
+               return this.onParseError.call( this, deferred );
+       }
+
+       contentNodes = $( response.visualeditor.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
        // will render strangely when wrapped in <p>s.
@@ -96,7 +102,7 @@
 /**
  * Handle an unsuccessful response from the parser for the wikitext fragment.
  *
- * @param {jQuery.Deferred} deferred 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 ( deferred ) {

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

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

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

Reply via email to