jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/385831 )
Change subject: Fix visual diff timeout
..
Fix visual diff timeout
Bug: T177378
Change-Id: Ia15ec2fa8ce98969a552430ba52c79c21482f2a7
---
M lib/treeDiffer/treeDiffer-dist.js
M src/dm/ve.dm.VisualDiff.js
2 files changed, 11 insertions(+), 11 deletions(-)
Approvals:
Esanders: Looks good to me, approved
jenkins-bot: Verified
diff --git a/lib/treeDiffer/treeDiffer-dist.js
b/lib/treeDiffer/treeDiffer-dist.js
index 77e2310..e335792 100644
--- a/lib/treeDiffer/treeDiffer-dist.js
+++ b/lib/treeDiffer/treeDiffer-dist.js
@@ -1,6 +1,9 @@
/*!
* treeDiffer Namespace for treeDiffer.js
*
+ * Version 1.0.1
+ * https://github.com/Tchanders/treeDiffer.js
+ *
* Released under the MIT license
*/
@@ -300,6 +303,7 @@
this.findMinimumTransactions( keyRoot1, keyRoot2,
iNulls, jNulls, transactions );
if ( new Date().getTime() > this.endTime ) {
+ this.transactions = null;
return;
}
}
diff --git a/src/dm/ve.dm.VisualDiff.js b/src/dm/ve.dm.VisualDiff.js
index 608ef43..4e0eb97 100644
--- a/src/dm/ve.dm.VisualDiff.js
+++ b/src/dm/ve.dm.VisualDiff.js
@@ -414,7 +414,7 @@
*/
ve.dm.VisualDiff.prototype.getDocChildDiff = function ( oldDocChild,
newDocChild, threshold ) {
var i, ilen, j, jlen,
- treeDiff, linearDiff,
+ transactions, treeDiff, linearDiff,
oldNode, newNode,
replacement,
oldDocChildTree,
@@ -432,20 +432,16 @@
oldDocChildTree = new this.treeDiffer.Tree( oldDocChild,
ve.DiffTreeNode );
newDocChildTree = new this.treeDiffer.Tree( newDocChild,
ve.DiffTreeNode );
- treeDiff = new this.treeDiffer.Differ( oldDocChildTree, newDocChildTree
)
- .transactions[ oldDocChildTree.orderedNodes.length - 1 ][
newDocChildTree.orderedNodes.length - 1 ];
+ transactions = new this.treeDiffer.Differ( oldDocChildTree,
newDocChildTree ).transactions;
+ if ( transactions === null ) {
+ // Tree diff timed out
+ return false;
+ }
+ treeDiff = transactions[ oldDocChildTree.orderedNodes.length - 1 ][
newDocChildTree.orderedNodes.length - 1 ];
// Length of old content is length of old node minus the open and close
// tags for each child node
keepLength = oldDocChild.length - 2 * (
oldDocChildTree.orderedNodes.length - 1 );
-
- // Tree diff timed out: record as full remove and insert
- if ( !treeDiff ) {
- treeDiff = [];
- linearDiff = null;
- diffLength = oldDocChild.length + newDocChild.length;
- keepLength = 0;
- }
for ( i = 0, ilen = treeDiff.length; i < ilen; i++ ) {
--
To view, visit https://gerrit.wikimedia.org/r/385831
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ia15ec2fa8ce98969a552430ba52c79c21482f2a7
Gerrit-PatchSet: 3
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Tchanders
Gerrit-Reviewer: Esanders
Gerrit-Reviewer: Jforrester
Gerrit-Reviewer: Tchanders
Gerrit-Reviewer: jenkins-bot <>
___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits