DLynch has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/394374 )
Change subject: Use rel="noopener" on links targeted at new windows
......................................................................
Use rel="noopener" on links targeted at new windows
Bug: T180932
Change-Id: I93bda6aaebf97727a187774cccbeba4f27fcddd5
---
M modules/ve-mw/ui/contextitems/ve.ui.MWInternalLinkContextItem.js
M modules/ve-mw/ui/dialogs/ve.ui.MWGalleryDialog.js
M modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
M modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
M modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
M modules/ve-mw/ui/pages/ve.ui.MWTemplatesUsedPage.js
M modules/ve-mw/ui/tools/ve.ui.MWPopupTool.js
7 files changed, 15 insertions(+), 10 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor
refs/changes/74/394374/1
diff --git a/modules/ve-mw/ui/contextitems/ve.ui.MWInternalLinkContextItem.js
b/modules/ve-mw/ui/contextitems/ve.ui.MWInternalLinkContextItem.js
index 0c269da..d777fc4 100644
--- a/modules/ve-mw/ui/contextitems/ve.ui.MWInternalLinkContextItem.js
+++ b/modules/ve-mw/ui/contextitems/ve.ui.MWInternalLinkContextItem.js
@@ -57,7 +57,8 @@
.text( description )
.attr( {
href: ve.resolveUrl( href, htmlDoc ),
- target: '_blank'
+ target: '_blank',
+ rel: 'noopener'
} );
// Style based on link cache information
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWGalleryDialog.js
b/modules/ve-mw/ui/dialogs/ve.ui.MWGalleryDialog.js
index 865ebd1..c627dad 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWGalleryDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWGalleryDialog.js
@@ -601,6 +601,7 @@
.addClass(
'visualeditor-dialog-media-content-description-link' )
.attr( 'href', title.getUrl() )
.attr( 'target', '_blank' )
+ .attr( 'rel', 'noopener' )
.text( ve.msg(
'visualeditor-dialog-media-content-description-link' ) )
)
);
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
b/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
index b1c33d9..4465cb7 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
@@ -648,7 +648,7 @@
);
// Make sure all links open in a new window
- $info.find( 'a' ).prop( 'target', '_blank' );
+ $info.find( 'a' ).prop( 'target', '_blank' ).attr( 'rel', 'noopener' );
// Initialize thumb container
$thumbContainer
@@ -903,6 +903,7 @@
.addClass(
'visualeditor-dialog-media-content-description-link' )
.attr( 'href', mw.util.getUrl(
title ) )
.attr( 'target', '_blank' )
+ .attr( 'rel', 'noopener' )
.text( ve.msg(
'visualeditor-dialog-media-content-description-link' ) )
)
);
@@ -1210,6 +1211,7 @@
.addClass(
'visualeditor-dialog-media-content-description-link' )
.attr( 'href', mw.util.getUrl(
this.imageModel.getResourceName() ) )
.attr( 'target', '_blank' )
+ .attr( 'rel', 'noopener' )
.text( ve.msg(
'visualeditor-dialog-media-content-description-link' ) )
)
);
diff --git a/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
b/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
index 0a2fecd..0e621f9 100644
--- a/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
+++ b/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
@@ -523,7 +523,7 @@
// Save panel
this.$editSummaryLabel = $( '<div>' ).addClass(
've-ui-mwSaveDialog-summaryLabel' )
.html( ve.init.platform.getParsedMessage( 'summary' ) )
- .find( 'a' ).attr( 'target', '_blank' ).end();
+ .find( 'a' ).attr( 'target', '_blank' ).attr( 'rel', 'noopener'
).end();
this.editSummaryInput = new OO.ui.MultilineTextInputWidget( {
placeholder: ve.msg( 'visualeditor-editsummary' ),
classes: [ 've-ui-mwSaveDialog-summary' ],
@@ -568,7 +568,7 @@
this.$saveFoot = $( '<div>' ).addClass( 've-ui-mwSaveDialog-foot'
).append(
$( '<p>' ).addClass( 've-ui-mwSaveDialog-license' )
.html( ve.init.platform.getParsedMessage(
'copyrightwarning' ) )
- .find( 'a' ).attr( 'target', '_blank' ).end()
+ .find( 'a' ).attr( 'target', '_blank' ).attr( 'rel',
'noopener' ).end()
);
this.savePanel.$element.append(
this.$editSummaryLabel,
@@ -632,7 +632,7 @@
} );
this.$conflict = $( '<div>' ).addClass( 've-ui-mwSaveDialog-conflict' )
.html( ve.init.platform.getParsedMessage(
'visualeditor-editconflict' ) )
- .find( 'a' ).attr( 'target', '_blank' ).end();
+ .find( 'a' ).attr( 'target', '_blank' ).attr( 'rel', 'noopener'
).end();
this.conflictPanel.$element.append( this.$conflict );
// Panel stack
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
b/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
index 8e6c3c6..5bddc3b 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWTemplatePage.js
@@ -68,7 +68,7 @@
title.getRelativeText(
mw.config.get( 'wgNamespaceIds' ).template )
).parseDom() )
)
- .find( 'a' ).attr( 'target', '_blank' );
+ .find( 'a' ).attr( 'target', '_blank' ).attr(
'rel', 'noopener' );
}
} else {
// The transcluded page may be dynamically generated or
unspecified in the DOM
@@ -84,7 +84,7 @@
this.$description
.addClass(
've-ui-mwTemplatePage-description-missing' )
.append( mw.message( messageKey,
title.getPrefixedText() ).parseDom() )
- .find( 'a' ).attr( 'target', '_blank' );
+ .find( 'a' ).attr( 'target', '_blank' ).attr(
'rel', 'noopener' );
}
}
diff --git a/modules/ve-mw/ui/pages/ve.ui.MWTemplatesUsedPage.js
b/modules/ve-mw/ui/pages/ve.ui.MWTemplatesUsedPage.js
index 56bd2ce..1aec0f7 100644
--- a/modules/ve-mw/ui/pages/ve.ui.MWTemplatesUsedPage.js
+++ b/modules/ve-mw/ui/pages/ve.ui.MWTemplatesUsedPage.js
@@ -28,7 +28,7 @@
if ( ve.init.target.$templatesUsed &&
ve.init.target.$templatesUsed.find( 'li' ).length ) {
this.templatesUsedFieldset.$element.append(
ve.init.target.$templatesUsed.clone().find( 'a' ).each(
function () {
- $( this ).attr( 'target', '_blank' );
+ $( this ).attr( 'target', '_blank' ).attr(
'rel', 'noopener' );
} ).end()
);
} else {
diff --git a/modules/ve-mw/ui/tools/ve.ui.MWPopupTool.js
b/modules/ve-mw/ui/tools/ve.ui.MWPopupTool.js
index f889280..8d3f812 100644
--- a/modules/ve-mw/ui/tools/ve.ui.MWPopupTool.js
+++ b/modules/ve-mw/ui/tools/ve.ui.MWPopupTool.js
@@ -90,7 +90,7 @@
.append( $.parseHTML( itemHtml ) );
// Ensure that any links in the notices open in a new tab/window
- $node.find( 'a' ).attr( 'target', '_blank' );
+ $node.find( 'a' ).attr( 'target', '_blank' ).attr( 'rel',
'noopener' );
tool.$items.append( $node );
} );
@@ -169,7 +169,7 @@
.append( this.keyboardShortcutsButton.$element )
.append( this.feedbackButton.$element )
);
- this.$items.find( 'a' ).attr( 'target', '_blank' );
+ this.$items.find( 'a' ).attr( 'target', '_blank' ).attr( 'rel',
'noopener' );
this.popup.$body.append( this.$items );
};
@@ -266,6 +266,7 @@
.append( $( '<a>' )
.addClass(
've-ui-mwHelpPopupTool-version-link' )
.attr( 'target', '_blank' )
+ .attr( 'rel', 'noopener' )
.attr( 'href', extension[
'vcs-url' ] )
.text( extension[ 'vcs-version'
].slice( 0, 7 ) )
)
--
To view, visit https://gerrit.wikimedia.org/r/394374
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I93bda6aaebf97727a187774cccbeba4f27fcddd5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: DLynch <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits