jenkins-bot has submitted this change and it was merged.

Change subject: Revert "Clean up captcha form and remove <link> to stylesheet"
......................................................................


Revert "Clean up captcha form and remove <link> to stylesheet"

This is harmful because it breaks styling for CAPTCHAs.
The bug we tried to fix (RTL issues) no longer occurs now
that we get CAPTCHAs in the correct language (c31356d1fc).

This reverts commit 65cc2f6c1d2e1ca8fe5ccd060c8f55a2adc177f2.

Change-Id: I356009880e3a2e2e7b82772ba9dbbbbab8c89dad
---
M modules/flow-initialize.js
M modules/flow/dm/api/mw.flow.dm.APIHandler.js
M modules/flow/ui/widgets/mw.flow.ui.BoardDescriptionWidget.js
M modules/flow/ui/widgets/mw.flow.ui.EditPostWidget.js
M modules/flow/ui/widgets/mw.flow.ui.EditTopicSummaryWidget.js
M modules/flow/ui/widgets/mw.flow.ui.NewTopicWidget.js
M modules/flow/ui/widgets/mw.flow.ui.ReplyWidget.js
7 files changed, 11 insertions(+), 36 deletions(-)

Approvals:
  Mattflaschen: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/flow-initialize.js b/modules/flow-initialize.js
index 0e06f8c..9772ec5 100644
--- a/modules/flow-initialize.js
+++ b/modules/flow-initialize.js
@@ -389,7 +389,7 @@
                                                                if ( 
/spamfilter$/.test( errorCode ) && errorObj.error.spamfilter === 
'flow-spam-confirmedit-form' ) {
                                                                        
editor.error.setLabel(
                                                                                
// CAPTCHA form
-                                                                               
OO.getProp( errorObj, 'error', '$info' )
+                                                                               
new OO.ui.HtmlSnippet( errorObj.error.info )
                                                                        );
                                                                } else {
                                                                        
editor.error.setLabel( errorObj.error && errorObj.error.info || 
errorObj.exception );
@@ -445,7 +445,7 @@
                                                                if ( 
/spamfilter$/.test( errorCode ) && errorObj.error.spamfilter === 
'flow-spam-confirmedit-form' ) {
                                                                        
error.setLabel(
                                                                                
// CAPTCHA form
-                                                                               
OO.getProp( errorObj, 'error', '$info' )
+                                                                               
new OO.ui.HtmlSnippet( errorObj.error.info )
                                                                        );
                                                                } else {
                                                                        
error.setLabel( errorObj.error && errorObj.error.info || errorObj.exception );
diff --git a/modules/flow/dm/api/mw.flow.dm.APIHandler.js 
b/modules/flow/dm/api/mw.flow.dm.APIHandler.js
index 1080edb..13dc453 100644
--- a/modules/flow/dm/api/mw.flow.dm.APIHandler.js
+++ b/modules/flow/dm/api/mw.flow.dm.APIHandler.js
@@ -210,8 +210,7 @@
                return ( new mw.Api() ).postWithToken( 'edit', params )
                        .then( function ( response ) {
                                return OO.getProp( response.flow, 'new-topic', 
'committed', 'topiclist', 'topic-id' );
-                       } )
-                       .then( null, this.processCaptchaError.bind( this ) );
+                       } );
        };
 
        /**
@@ -255,8 +254,7 @@
                xhr = this.postEdit( 'edit-header', params )
                        .then( function ( data ) {
                                return OO.getProp( data.flow, 'edit-header', 
'committed', 'header', 'header-revision-id' );
-                       } )
-                       .then( null, this.processCaptchaError.bind( this ) );
+                       } );
 
                return xhr.promise( { abort: xhr.abort } );
        };
@@ -305,8 +303,7 @@
                return this.postEdit( 'edit-post', params )
                        .then( function ( data ) {
                                return OO.getProp( data.flow, 'edit-post', 
'workflow' );
-                       } )
-                       .then( null, this.processCaptchaError.bind( this ) );
+                       } );
        };
 
        /**
@@ -350,8 +347,7 @@
                return this.postEdit( 'edit-topic-summary', params )
                        .then( function ( data ) {
                                return OO.getProp( data.flow, 
'edit-topic-summary', 'workflow' );
-                       } )
-                       .then( null, this.processCaptchaError.bind( this ) );
+                       } );
        };
 
        /**
@@ -393,27 +389,6 @@
         */
        mw.flow.dm.APIHandler.prototype.reopenTopic = function ( topicId ) {
                return this.lockTopic( topicId, 'unlock', 
'flow-rev-message-restore-topic-reason' );
-       };
-
-       /**
-        * Process captcha error and remove offending <link> tag
-        * This entire method is a necessary hack, because CAPTCHA returns an 
html block that
-        * contains a <link rel="stylesheet" ...> that contains destructive 
classes for RTL wikis.
-        * That link must be destroyed before being given to the DOM.
-        * HACK: This should really be done by making the CAPTCHA element not 
return garbage.
-        *
-        * @private
-        * @param {string} errorCode API error code
-        * @param {Object} errorObj API error object
-        * @return {jQuery.Promise} Rejected promise with the API error object 
adjusted
-        */
-       mw.flow.dm.APIHandler.prototype.processCaptchaError = function ( 
errorCode, errorObj ) {
-               if ( /spamfilter$/.test( errorCode ) && 
errorObj.error.spamfilter === 'flow-spam-confirmedit-form' ) {
-                       // // Remove the <link rel="stylesheet" ...> and 
<script> and <style> tags
-                       errorObj.error.$info = $( $.parseHTML( 
errorObj.error.info ) ).not( 'link, script, style' );
-               }
-
-               return $.Deferred().reject( errorCode, errorObj );
        };
 
 }( jQuery ) );
diff --git a/modules/flow/ui/widgets/mw.flow.ui.BoardDescriptionWidget.js 
b/modules/flow/ui/widgets/mw.flow.ui.BoardDescriptionWidget.js
index e9a35d5..67fa12c 100644
--- a/modules/flow/ui/widgets/mw.flow.ui.BoardDescriptionWidget.js
+++ b/modules/flow/ui/widgets/mw.flow.ui.BoardDescriptionWidget.js
@@ -246,7 +246,7 @@
                                if ( /spamfilter$/.test( errorCode ) && 
errorObj.error.spamfilter === 'flow-spam-confirmedit-form' ) {
                                        widget.error.setLabel(
                                                // CAPTCHA form
-                                               OO.getProp( errorObj, 'error', 
'$info' )
+                                               new OO.ui.HtmlSnippet( 
errorObj.error.info )
                                        );
                                } else {
                                        widget.error.setLabel( errorObj.error 
&& errorObj.error.info || errorObj.exception );
diff --git a/modules/flow/ui/widgets/mw.flow.ui.EditPostWidget.js 
b/modules/flow/ui/widgets/mw.flow.ui.EditPostWidget.js
index fc0b9b6..656d35b 100644
--- a/modules/flow/ui/widgets/mw.flow.ui.EditPostWidget.js
+++ b/modules/flow/ui/widgets/mw.flow.ui.EditPostWidget.js
@@ -137,7 +137,7 @@
                                if ( /spamfilter$/.test( errorCode ) && 
errorObj.error.spamfilter === 'flow-spam-confirmedit-form' ) {
                                        widget.error.setLabel(
                                                // CAPTCHA form
-                                               OO.getProp( errorObj, 'error', 
'$info' )
+                                               new OO.ui.HtmlSnippet( 
errorObj.error.info )
                                        );
                                } else {
                                        widget.error.setLabel( errorObj.error 
&& errorObj.error.info || errorObj.exception );
diff --git a/modules/flow/ui/widgets/mw.flow.ui.EditTopicSummaryWidget.js 
b/modules/flow/ui/widgets/mw.flow.ui.EditTopicSummaryWidget.js
index df7957c..123a233 100644
--- a/modules/flow/ui/widgets/mw.flow.ui.EditTopicSummaryWidget.js
+++ b/modules/flow/ui/widgets/mw.flow.ui.EditTopicSummaryWidget.js
@@ -138,7 +138,7 @@
                                if ( /spamfilter$/.test( errorCode ) && 
errorObj.error.spamfilter === 'flow-spam-confirmedit-form' ) {
                                        widget.error.setLabel(
                                                // CAPTCHA form
-                                               OO.getProp( errorObj, 'error', 
'$info' )
+                                               new OO.ui.HtmlSnippet( 
errorObj.error.info )
                                        );
                                } else {
                                        widget.error.setLabel( errorObj.error 
&& errorObj.error.info || errorObj.exception );
diff --git a/modules/flow/ui/widgets/mw.flow.ui.NewTopicWidget.js 
b/modules/flow/ui/widgets/mw.flow.ui.NewTopicWidget.js
index c0c070d..6247307 100644
--- a/modules/flow/ui/widgets/mw.flow.ui.NewTopicWidget.js
+++ b/modules/flow/ui/widgets/mw.flow.ui.NewTopicWidget.js
@@ -178,7 +178,7 @@
                                if ( /spamfilter$/.test( errorCode ) && 
errorObj.error.spamfilter === 'flow-spam-confirmedit-form' ) {
                                        widget.error.setLabel(
                                                // CAPTCHA form
-                                               OO.getProp( errorObj, 'error', 
'$info' )
+                                               new OO.ui.HtmlSnippet( 
errorObj.error.info )
                                        );
                                } else {
                                        widget.error.setLabel( errorObj.error 
&& errorObj.error.info || errorObj.exception );
diff --git a/modules/flow/ui/widgets/mw.flow.ui.ReplyWidget.js 
b/modules/flow/ui/widgets/mw.flow.ui.ReplyWidget.js
index 0c13bc4..b68c39d 100644
--- a/modules/flow/ui/widgets/mw.flow.ui.ReplyWidget.js
+++ b/modules/flow/ui/widgets/mw.flow.ui.ReplyWidget.js
@@ -132,7 +132,7 @@
                                if ( /spamfilter$/.test( errorCode ) && 
errorObj.error.spamfilter === 'flow-spam-confirmedit-form' ) {
                                        widget.error.setLabel(
                                                // CAPTCHA form
-                                               OO.getProp( errorObj, 'error', 
'$info' )
+                                               new OO.ui.HtmlSnippet( 
errorObj.error.info )
                                        );
                                } else {
                                        widget.error.setLabel( errorObj.error 
&& errorObj.error.info || errorObj.exception );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I356009880e3a2e2e7b82772ba9dbbbbab8c89dad
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Catrope <[email protected]>
Gerrit-Reviewer: Mattflaschen <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to