diff --git a/modules/ve-mw/ui/contextitems/ve.ui.MWInternalLinkContextItem.js b/modules/ve-mw/ui/contextitems/ve.ui.MWInternalLinkContextItem.js index 1ed1b9a550..d8d6f8e63c 100644 --- a/modules/ve-mw/ui/contextitems/ve.ui.MWInternalLinkContextItem.js +++ b/modules/ve-mw/ui/contextitems/ve.ui.MWInternalLinkContextItem.js @@ -47,17 +47,18 @@ ve.ui.MWInternalLinkContextItem.static.modelClasses = [ ve.dm.MWInternalLinkAnno ve.ui.MWInternalLinkContextItem.static.generateBody = function ( linkCache, model, htmlDoc, context ) { var icon, $description, title = model.getAttribute( 'lookupTitle' ), - description = model.getAttribute( 'normalizedTitle' ), + normalizedTitle = model.getAttribute( 'normalizedTitle' ), href = model.getHref(), + titleObj = mw.Title.newFromText( ve.normalizeParsoidResourceName( href ) ), fragment = model.getFragment(), usePageImages = mw.config.get( 'wgVisualEditorConfig' ).usePageImages, usePageDescriptions = mw.config.get( 'wgVisualEditorConfig' ).usePageDescriptions, $wrapper = $( '
' ), $link = $( '' ) .addClass( 've-ui-linkContextItem-link' ) - .text( description ) + .text( normalizedTitle ) .attr( { - href: ve.resolveUrl( href, htmlDoc ), + href: titleObj.getUrl(), target: '_blank', rel: 'noopener' } ); diff --git a/modules/ve-mw/ui/contextitems/ve.ui.MWMediaContextItem.js b/modules/ve-mw/ui/contextitems/ve.ui.MWMediaContextItem.js index d5892b33c2..f51e8ca659 100644 --- a/modules/ve-mw/ui/contextitems/ve.ui.MWMediaContextItem.js +++ b/modules/ve-mw/ui/contextitems/ve.ui.MWMediaContextItem.js @@ -69,12 +69,12 @@ ve.ui.MWMediaContextItem.prototype.getDescription = function () { * @inheritdoc */ ve.ui.MWMediaContextItem.prototype.renderBody = function () { - var htmlDoc = this.context.getSurface().getModel().getDocument().getHtmlDocument(); + var title = mw.Title.newFromText( ve.normalizeParsoidResourceName( this.model.getAttribute( 'resource' ) ) ); this.$body.append( $( '' ) .text( this.getDescription() ) .attr( { - href: ve.resolveUrl( this.model.getAttribute( 'resource' ), htmlDoc ), + href: title.getUrl(), target: '_blank', rel: 'noopener' } ) diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js b/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js index 3a65db5882..52016fecc5 100644 --- a/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js +++ b/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js @@ -920,12 +920,13 @@ ve.ui.MWMediaDialog.prototype.confirmSelectedImage = function () { * Update the filename fieldset (link to media page) */ ve.ui.MWMediaDialog.prototype.updateFilenameFieldset = function () { + var title = mw.Title.newFromText( ve.normalizeParsoidResourceName( this.imageModel.getResourceName() ) ); this.filenameFieldset.setLabel( $( '' ).append( document.createTextNode( this.imageModel.getFilename() + ' ' ), $( '' ) .addClass( 've-ui-mwMediaDialog-description-link' ) - .attr( 'href', ve.resolveUrl( this.imageModel.getResourceName(), this.getFragment().getDocument().getHtmlDocument() ) ) + .attr( 'href', title.getUrl() ) .attr( 'target', '_blank' ) .attr( 'rel', 'noopener' ) .text( ve.msg( 'visualeditor-dialog-media-content-description-link' ) )