Content deleted Content added
debug Tag: Reverted |
put the regexp fix back in |
||
(6 intermediate revisions by the same user not shown) | |||
Line 179:
var iter = document.createNodeIterator(root, NodeFilter.SHOW_TEXT, {
acceptNode: function (node) {
// We can’t just check the node’s direct parent, because templates
// like [[Template:Talkback]] and [[Template:Resolved]] may place a
Line 186 ⟶ 185:
|| !$(node).parents(codeTags).length;
var isDateNode = isInProse && LocalComments.parseRegExp.test(node.data);
return isDateNode ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
},
Line 196 ⟶ 194:
function wrapTimestamps() {
var prefixNode;
var loopEscapeCounter = 0; // we'll break out if the while loop runs more than 5,000 times to avoid a browser hang
while ((prefixNode = iter.nextNode())) {
if (loopEscapeCounter++ > 5000) { // escape infinite loop
console.log("ERROR: CommentsInLocalTime.js loop breakout in wrapTimestamps()");
break;
}
var result = LocalComments.parseRegExp.exec(prefixNode.data);
if (!result) continue;
// Split out the timestamp into a separate text node.
var dateNode = prefixNode.splitText(result.index);
Line 215 ⟶ 216:
}
if (!then.isValid()) continue;
then.utcOffset(-LocalComments.utcOffset);
Line 313:
mw.loader.using("moment", function () {
wrapTimestamps();
formatTimestamps();
});
});
|