jenkins-bot has submitted this change and it was merged.
Change subject: Don't break the editor if paste handling fails
......................................................................
Don't break the editor if paste handling fails
Wrap the code re-enabling the SurfaceObserver and re-enabling
pasting in try-finally so it runs even if afterPaste failed.
Also call beforePaste() earlier so that if it fails, we won't
already have disabled the SurfaceObserver and disabled pasting.
Bug: T68229
Change-Id: I02b6df232853178d63c737eb90026175d31233e7
---
M src/ce/ve.ce.Surface.js
1 file changed, 13 insertions(+), 10 deletions(-)
Approvals:
Catrope: Looks good to me, approved
Trevor Parscal: Looks good to me, approved
jenkins-bot: Verified
diff --git a/src/ce/ve.ce.Surface.js b/src/ce/ve.ce.Surface.js
index 418ad12..a19a303 100644
--- a/src/ce/ve.ce.Surface.js
+++ b/src/ce/ve.ce.Surface.js
@@ -1668,20 +1668,23 @@
if ( this.pasting ) {
return false;
}
+ this.beforePaste( e );
this.surfaceObserver.disable();
this.pasting = true;
- this.beforePaste( e );
setTimeout( function () {
- if ( !e.isDefaultPrevented() ) {
- surface.afterPaste( e );
- }
- surface.surfaceObserver.clear();
- surface.surfaceObserver.enable();
+ try {
+ if ( !e.isDefaultPrevented() ) {
+ surface.afterPaste( e );
+ }
+ } finally {
+ surface.surfaceObserver.clear();
+ surface.surfaceObserver.enable();
- // Allow pasting again
- surface.pasting = false;
- surface.pasteSpecial = false;
- surface.beforePasteData = null;
+ // Allow pasting again
+ surface.pasting = false;
+ surface.pasteSpecial = false;
+ surface.beforePasteData = null;
+ }
} );
};
--
To view, visit https://gerrit.wikimedia.org/r/200649
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I02b6df232853178d63c737eb90026175d31233e7
Gerrit-PatchSet: 1
Gerrit-Project: VisualEditor/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Catrope <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: Trevor Parscal <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits