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