Subramanya Sastry has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/322955

Change subject: WIP: T149209: Deal with newlines in <td> cells
......................................................................

WIP: T149209: Deal with newlines in <td> cells

* Incomplete patch: need to deal with selser issues as well.
* Tests needed.

Change-Id: Ifc0b75b9ad6cb367afbd95ffa403d645b593deab
---
M lib/html2wt/DOMHandlers.js
1 file changed, 16 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/55/322955/1

diff --git a/lib/html2wt/DOMHandlers.js b/lib/html2wt/DOMHandlers.js
index 25cf472..7f9330b 100644
--- a/lib/html2wt/DOMHandlers.js
+++ b/lib/html2wt/DOMHandlers.js
@@ -787,13 +787,26 @@
                handle: Promise.method(function(node, state, wrapperUnmodified) 
{
                        var dp = DU.getDataParsoid(node);
                        var usableDP = stxInfoValidForTableCell(state, node);
-                       var startTagSrc = usableDP ? dp.startTagSrc : '';
                        var attrSepSrc = usableDP ? dp.attrSepSrc : null;
-                       var src = (usableDP && dp.stx_v === 'row') ? '||' : '|';
+                       var startTagSrc = usableDP ? dp.startTagSrc : '';
+                       if (!startTagSrc) {
+                               startTagSrc = (usableDP && dp.stx_v === 'row') 
? '||' : '|';
+                       }
+
+                       // T149209: Special case to deal with scenarios
+                       // where the previous sibling put us in a SOL state
+                       // (or will put in a SOL state when the separator is 
emitted)
+                       if (state.onSOL || state.sep.constraints.min > 0) {
+                               if (startTagSrc === '||') {
+                                       startTagSrc = '|';
+                               } else if (startTagSrc === '{{!}}{{!}}') {
+                                       startTagSrc = '{{!}}';
+                               }
+                       }
 
                        // If the HTML for the first td is not enclosed in a 
tr-tag,
                        // we start a new line.  If not, tr will have taken 
care of it.
-                       return serializeTableTag(startTagSrc || src, attrSepSrc 
|| null,
+                       return serializeTableTag(startTagSrc, attrSepSrc || 
null,
                                        state, node, 
wrapperUnmodified).then(function(tableTag) {
                                var inWideTD = (tableTag.length > 1);
                                WTSUtils.emitStartTag(tableTag, node, state);

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifc0b75b9ad6cb367afbd95ffa403d645b593deab
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Subramanya Sastry <[email protected]>

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

Reply via email to