diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts index 939f7ea2822890afc5bbb147c4c0fa350bc4c428..b8af134f20e938877ef3ea88682ac221b8642afa 100644 --- a/src/vs/base/browser/dom.ts +++ b/src/vs/base/browser/dom.ts @@ -4,6 +4,7 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; +import * as platform from 'vs/base/common/platform'; import { TPromise } from 'vs/base/common/winjs.base'; import { TimeoutTimer } from 'vs/base/common/async'; import { onUnexpectedError } from 'vs/base/common/errors'; @@ -1063,5 +1064,14 @@ export function computeScreenAwareSize(cssPx: number): number { * See https://mathiasbynens.github.io/rel-noopener/ */ export function windowOpenNoOpener(url: string): void { - window.open(url, '_blank', 'noopener'); + if (platform.isNative) { + // In VSCode, window.open() always returns null... + window.open(url); + } else { + let newTab = window.open(); + if (newTab) { + newTab.opener = null; + newTab.location.href = url; + } + } }