Do not "resolve attributes" in toDomElements() overrides

Resolving attributes means turning 'href' and 'src' URLs from possibly
relative to absolute, so that they don't depend on the base URI of the
document.

This is necessary when rendering for clipboard (and in some other
cases), but at the point when toDomElements() is called, the document
these elements are in does not necessary have a sane base URI set,
giving us hrefs pointing to nonexistent pages.

Don't do it here; it will happen later when we know what the right
document (and right base URI) is, e.g. in ve.ce.Surface#onCopy or
ve.ui.PreviewElement#replaceWithModelDom.

Bug: T169675
Bug: T175157
Change-Id: Ie0a5d6e1c57b8efdbbfba0c24f31ca91d156e200
This commit is contained in:
Bartosz Dziewoński 2017-09-07 14:06:24 +02:00
parent a13620f49a
commit 98351fbcf3
2 changed files with 0 additions and 7 deletions

View file

@ -121,10 +121,6 @@ ve.dm.MWExtensionNode.static.toDomElements = function ( dataElement, doc, conver
els = [ el ];
}
}
if ( converter.isForClipboard() ) {
// Resolve attributes
ve.resolveAttributes( $( els ), doc, ve.dm.Converter.static.computedAttributes );
}
return els;
};

View file

@ -203,9 +203,6 @@ ve.dm.MWTransclusionNode.static.toDomElements = function ( dataElement, doc, con
els[ i ] = wrapTextNode( els[ i ] );
els[ i ].setAttribute( 'data-ve-ignore', 'true' );
}
// Resolve attributes
ve.resolveAttributes( $( els ), doc, ve.dm.Converter.static.computedAttributes );
}
return els;
};