Revert "sec: deprecate some webPreference defaults to be secure-by-default (#14284)" (#14380)

This reverts commit 66d6ba8689.
This commit is contained in:
Samuel Attard 2018-08-30 09:57:49 +12:00 committed by GitHub
parent 66d6ba8689
commit 1b7418fb7b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 43 additions and 100 deletions

View file

@ -16,10 +16,7 @@ exports.load = (appUrl) => {
autoHideMenuBar: true,
backgroundColor: '#FFFFFF',
webPreferences: {
nodeIntegration: false,
webviewTag: false,
contextIsolation: true,
preload: path.resolve(__dirname, 'renderer.js')
nodeIntegrationInWorker: true
},
useContentSize: true,
show: false

View file

@ -83,6 +83,8 @@
</div>
</div>
</nav>
<script src="./renderer.js"></script>
</body>
</html>

View file

@ -4,60 +4,49 @@ const path = require('path')
const URL = require('url')
const electronPath = path.relative(process.cwd(), remote.process.execPath)
function initialize () {
Array.from(document.querySelectorAll('a[href]')).forEach(link => {
// safely add `?utm_source=default_app
let url = URL.parse(link.getAttribute('href'), true)
url.query = Object.assign(url.query, {utm_source: 'default_app'})
url = URL.format(url)
Array.from(document.querySelectorAll('a[href]')).forEach(link => {
// safely add `?utm_source=default_app
let url = URL.parse(link.getAttribute('href'), true)
url.query = Object.assign(url.query, {utm_source: 'default_app'})
url = URL.format(url)
link.addEventListener('click', (e) => {
e.preventDefault()
shell.openExternal(url)
})
link.addEventListener('click', (e) => {
e.preventDefault()
shell.openExternal(url)
})
})
document.querySelector('.electron-version').innerText = `Electron v${process.versions.electron}`
document.querySelector('.chrome-version').innerText = `Chromium v${process.versions.chrome}`
document.querySelector('.node-version').innerText = `Node v${process.versions.node}`
document.querySelector('.v8-version').innerText = `v8 v${process.versions.v8}`
document.querySelector('.command-example').innerText = `${electronPath} path-to-app`
document.querySelector('.electron-version').innerText = `Electron v${process.versions.electron}`
document.querySelector('.chrome-version').innerText = `Chromium v${process.versions.chrome}`
document.querySelector('.node-version').innerText = `Node v${process.versions.node}`
document.querySelector('.v8-version').innerText = `v8 v${process.versions.v8}`
document.querySelector('.command-example').innerText = `${electronPath} path-to-app`
function getOcticonSvg (name) {
const octiconPath = path.resolve(__dirname, 'node_modules', 'octicons', 'build', 'svg', `${name}.svg`)
if (fs.existsSync(octiconPath)) {
const content = fs.readFileSync(octiconPath, 'utf8')
const div = document.createElement('div')
div.innerHTML = content
return div
}
return null
function getOcticonSvg (name) {
const octiconPath = path.resolve(__dirname, 'node_modules', 'octicons', 'build', 'svg', `${name}.svg`)
if (fs.existsSync(octiconPath)) {
const content = fs.readFileSync(octiconPath, 'utf8')
const div = document.createElement('div')
div.innerHTML = content
return div
}
return null
}
function loadSVG (element) {
for (const cssClass of element.classList) {
if (cssClass.startsWith('octicon-')) {
const icon = getOcticonSvg(cssClass.substr(8))
if (icon) {
icon.classList = element.classList
element.parentNode.insertBefore(icon, element)
element.remove()
break
}
function loadSVG (element) {
for (const cssClass of element.classList) {
if (cssClass.startsWith('octicon-')) {
const icon = getOcticonSvg(cssClass.substr(8))
if (icon) {
icon.classList = element.classList
element.parentNode.insertBefore(icon, element)
element.remove()
break
}
}
}
for (const element of document.querySelectorAll('.octicon')) {
loadSVG(element)
}
}
function onReadyStateChange () {
if (document.readyState === 'complete') {
document.removeEventListener('readystatechange', onReadyStateChange)
initialize()
}
for (const element of document.querySelectorAll('.octicon')) {
loadSVG(element)
}
document.addEventListener('readystatechange', onReadyStateChange)