jenkins-bot has submitted this change and it was merged.
Change subject: Only copy data-parsoid attribute from element to shadow meta
......................................................................
Only copy data-parsoid attribute from element to shadow meta
Others aren't necessary and if they aren't sanitized, result in crashes.
Does a bit of es5 cleanup.
Bug: 55820
Change-Id: Ib82891a374bf1e8b5e87309d62b3a53e4e12b7eb
---
M js/lib/mediawiki.DOMPostProcessor.js
M js/lib/mediawiki.HTML5TreeBuilder.node.js
M js/lib/mediawiki.Util.js
M js/lib/pegTokenizer.pegjs.txt
4 files changed, 15 insertions(+), 15 deletions(-)
Approvals:
GWicke: Looks good to me, approved
jenkins-bot: Verified
diff --git a/js/lib/mediawiki.DOMPostProcessor.js
b/js/lib/mediawiki.DOMPostProcessor.js
index 7f89b6e..3c17ab3 100644
--- a/js/lib/mediawiki.DOMPostProcessor.js
+++ b/js/lib/mediawiki.DOMPostProcessor.js
@@ -109,7 +109,7 @@
try {
meta.setAttribute( attr.name,
attr.value );
} catch(e) {
- console.error('WARNING: prepareDOM:
Dropped invalid attribute ' + attr);
+ console.error( 'WARNING: prepareDOM:
Dropped invalid attribute ' + attr.name );
}
});
node.parentNode.insertBefore( meta, node );
diff --git a/js/lib/mediawiki.HTML5TreeBuilder.node.js
b/js/lib/mediawiki.HTML5TreeBuilder.node.js
index e028240..6b9229f 100644
--- a/js/lib/mediawiki.HTML5TreeBuilder.node.js
+++ b/js/lib/mediawiki.HTML5TreeBuilder.node.js
@@ -7,7 +7,6 @@
var events = require('events'),
util = require('util'),
- $ = require('./fakejquery'),
HTML5 = require('html5'),
domino = require('./domino'),
defines = require('./mediawiki.parser.defines.js'),
@@ -113,14 +112,12 @@
};
FauxHTML5.TreeBuilder.prototype._att = function (maybeAttribs) {
- var atts = [];
- if ( maybeAttribs && $.isArray( maybeAttribs ) ) {
- for(var i = 0, length = maybeAttribs.length; i < length; i++) {
- var att = maybeAttribs[i];
- atts.push({name: att.k, value: att.v});
- }
+ if ( Array.isArray( maybeAttribs ) ) {
+ return maybeAttribs.map(function ( attr ) {
+ return { name: attr.k, value: attr.v };
+ });
}
- return atts;
+ return [];
};
// Adapt the token format to internal HTML tree builder format, call the actual
@@ -153,9 +150,10 @@
dataAttribs.tagId = this.tagId++;
}
+ var dpString = JSON.stringify(dataAttribs);
attribs = attribs.concat([ {
k: 'data-parsoid',
- v: JSON.stringify(dataAttribs)
+ v: dpString
} ]);
if (this.trace) {
@@ -273,9 +271,11 @@
this.emit('token', {type: 'EndTag', name: tName});
if ( this.trace ) { console.warn('inserting shadow meta
for ' + tName); }
- attrs = this._att(attribs);
- attrs.push({name: "typeof", value: "mw:EndTag"});
- attrs.push({name: "data-etag", value: tName});
+ attrs = [
+ { name: "data-parsoid", value: dpString },
+ { name: "typeof", value: "mw:EndTag" },
+ { name: "data-etag", value: tName }
+ ];
this.emit('token', {type: 'Comment', data:
JSON.stringify({
"@type": "mw:shadow",
attrs: attrs
diff --git a/js/lib/mediawiki.Util.js b/js/lib/mediawiki.Util.js
index 90ca713..c4a4e2e 100644
--- a/js/lib/mediawiki.Util.js
+++ b/js/lib/mediawiki.Util.js
@@ -319,7 +319,7 @@
tokensToString: function ( tokens, strict ) {
var out = [];
// XXX: quick hack, track down non-array sources later!
- if ( ! $.isArray( tokens ) ) {
+ if ( !Array.isArray( tokens ) ) {
tokens = [ tokens ];
}
for ( var i = 0, l = tokens.length; i < l; i++ ) {
diff --git a/js/lib/pegTokenizer.pegjs.txt b/js/lib/pegTokenizer.pegjs.txt
index 98a0685..3c6c0e6 100644
--- a/js/lib/pegTokenizer.pegjs.txt
+++ b/js/lib/pegTokenizer.pegjs.txt
@@ -25,7 +25,7 @@
// // flatten sub-arrays
// for(var i = 0, length = e.length; i < length; i++) {
// var ei = e[i];
- // if ($.isArray(ei))
+ // if ( Array.isArray( ei ) )
// es = es.concat(flatten(ei));
// else
// es.push(ei);
--
To view, visit https://gerrit.wikimedia.org/r/90436
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib82891a374bf1e8b5e87309d62b3a53e4e12b7eb
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <[email protected]>
Gerrit-Reviewer: GWicke <[email protected]>
Gerrit-Reviewer: Subramanya Sastry <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits