Brion VIBBER has submitted this change and it was merged.

Change subject: Clear all inline styling from AF warning messages
......................................................................


Clear all inline styling from AF warning messages

They are at least readable now.

Change-Id: I89f48f580308fde3f9a7af3194b4840455c456b9
---
M wikipedia/assets/abusefilter.js
M www/abusefilter.js
M www/js/abusefilter.js
3 files changed, 101 insertions(+), 6 deletions(-)

Approvals:
  Brion VIBBER: Verified; Looks good to me, approved



diff --git a/wikipedia/assets/abusefilter.js b/wikipedia/assets/abusefilter.js
index 0a9f2d4..2d95f80 100644
--- a/wikipedia/assets/abusefilter.js
+++ b/wikipedia/assets/abusefilter.js
@@ -1,11 +1,27 @@
 (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof 
require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw 
new Error("Cannot find module '"+o+"'")}var 
f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return 
s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof 
require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return 
s})({1:[function(require,module,exports){
 var bridge = require('./bridge');
+var transformer = require('./transformer');
+
+transformer.register( 'clearInlineStyling', function( content ) {
+    var styledElements = content.querySelectorAll( "*[style]" );
+    for ( var i = 0; i < styledElements.length; i++ ) {
+        styledElements[i].removeAttribute( "style" );
+    }
+    return content;
+} );
 
 bridge.registerListener( 'displayWarning', function( payload ) {
     var content = document.getElementById( 'content' );
-    content.innerHTML = payload.html;
+
+    var warning = document.createElement( 'div' );
+    warning.innerHTML = payload.html;
+
+    warning = transformer.transform( 'clearInlineStyling', warning );
+
+    content.appendChild( warning );
 } );
-},{"./bridge":2}],2:[function(require,module,exports){
+
+},{"./bridge":2,"./transformer":3}],2:[function(require,module,exports){
 function Bridge() {
 }
 
@@ -43,4 +59,28 @@
 window.onload = function() {
     module.exports.sendMessage( "DOMLoaded", {} );
 };
+},{}],3:[function(require,module,exports){
+function Transformer() {
+}
+
+var transforms = {};
+
+Transformer.prototype.register = function( transform, fun ) {
+    if ( transform in transforms ) {
+        transforms[transform].append( fun );
+    } else {
+        transforms[transform] = [ fun ];
+    }
+};
+
+Transformer.prototype.transform = function( transform, element ) {
+    var functions = transforms[transform];
+    for ( var i = 0; i < functions.length; i++ ) {
+        element = functions[i](element);
+    }
+    return element;
+}
+
+module.exports = new Transformer();
+
 },{}]},{},[2,1])
\ No newline at end of file
diff --git a/www/abusefilter.js b/www/abusefilter.js
index 0a9f2d4..2d95f80 100644
--- a/www/abusefilter.js
+++ b/www/abusefilter.js
@@ -1,11 +1,27 @@
 (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof 
require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw 
new Error("Cannot find module '"+o+"'")}var 
f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return 
s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof 
require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return 
s})({1:[function(require,module,exports){
 var bridge = require('./bridge');
+var transformer = require('./transformer');
+
+transformer.register( 'clearInlineStyling', function( content ) {
+    var styledElements = content.querySelectorAll( "*[style]" );
+    for ( var i = 0; i < styledElements.length; i++ ) {
+        styledElements[i].removeAttribute( "style" );
+    }
+    return content;
+} );
 
 bridge.registerListener( 'displayWarning', function( payload ) {
     var content = document.getElementById( 'content' );
-    content.innerHTML = payload.html;
+
+    var warning = document.createElement( 'div' );
+    warning.innerHTML = payload.html;
+
+    warning = transformer.transform( 'clearInlineStyling', warning );
+
+    content.appendChild( warning );
 } );
-},{"./bridge":2}],2:[function(require,module,exports){
+
+},{"./bridge":2,"./transformer":3}],2:[function(require,module,exports){
 function Bridge() {
 }
 
@@ -43,4 +59,28 @@
 window.onload = function() {
     module.exports.sendMessage( "DOMLoaded", {} );
 };
+},{}],3:[function(require,module,exports){
+function Transformer() {
+}
+
+var transforms = {};
+
+Transformer.prototype.register = function( transform, fun ) {
+    if ( transform in transforms ) {
+        transforms[transform].append( fun );
+    } else {
+        transforms[transform] = [ fun ];
+    }
+};
+
+Transformer.prototype.transform = function( transform, element ) {
+    var functions = transforms[transform];
+    for ( var i = 0; i < functions.length; i++ ) {
+        element = functions[i](element);
+    }
+    return element;
+}
+
+module.exports = new Transformer();
+
 },{}]},{},[2,1])
\ No newline at end of file
diff --git a/www/js/abusefilter.js b/www/js/abusefilter.js
index b4a26dc..a59bfdc 100644
--- a/www/js/abusefilter.js
+++ b/www/js/abusefilter.js
@@ -1,6 +1,21 @@
 var bridge = require('./bridge');
+var transformer = require('./transformer');
+
+transformer.register( 'clearInlineStyling', function( content ) {
+    var styledElements = content.querySelectorAll( "*[style]" );
+    for ( var i = 0; i < styledElements.length; i++ ) {
+        styledElements[i].removeAttribute( "style" );
+    }
+    return content;
+} );
 
 bridge.registerListener( 'displayWarning', function( payload ) {
     var content = document.getElementById( 'content' );
-    content.innerHTML = payload.html;
-} );
\ No newline at end of file
+
+    var warning = document.createElement( 'div' );
+    warning.innerHTML = payload.html;
+
+    warning = transformer.transform( 'clearInlineStyling', warning );
+
+    content.appendChild( warning );
+} );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I89f48f580308fde3f9a7af3194b4840455c456b9
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <yuvipa...@gmail.com>
Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to