Merge pull request #5965 from electron/installed-extension-api
Add BrowserWindow.getDevToolsExtensions API
This commit is contained in:
commit
853d7b1b79
3 changed files with 22 additions and 0 deletions
|
@ -396,6 +396,17 @@ Method will also not return if the extension's manifest is missing or incomplete
|
||||||
|
|
||||||
Remove the DevTools extension whose name is `name`.
|
Remove the DevTools extension whose name is `name`.
|
||||||
|
|
||||||
|
### `BrowserWindow.getDevToolsExtensions()`
|
||||||
|
|
||||||
|
Returns an Object where the keys are the extension names and each value is
|
||||||
|
an Object containing `name` and `version` properties.
|
||||||
|
|
||||||
|
To check if a DevTools extension is installed you can run the following:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
let installed = BrowserWindow.getDevToolsExtensions().hasOwnProperty('devtron')
|
||||||
|
```
|
||||||
|
|
||||||
## Instance Properties
|
## Instance Properties
|
||||||
|
|
||||||
Objects created with `new BrowserWindow` have the following properties:
|
Objects created with `new BrowserWindow` have the following properties:
|
||||||
|
|
|
@ -339,4 +339,13 @@ app.once('ready', function () {
|
||||||
delete manifestMap[manifest.extensionId]
|
delete manifestMap[manifest.extensionId]
|
||||||
delete manifestNameMap[name]
|
delete manifestNameMap[name]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BrowserWindow.getDevToolsExtensions = function () {
|
||||||
|
const extensions = {}
|
||||||
|
Object.keys(manifestNameMap).forEach(function (name) {
|
||||||
|
const manifest = manifestNameMap[name]
|
||||||
|
extensions[name] = {name: manifest.name, version: manifest.version}
|
||||||
|
})
|
||||||
|
return extensions
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -838,9 +838,11 @@ describe('browser-window module', function () {
|
||||||
|
|
||||||
beforeEach(function () {
|
beforeEach(function () {
|
||||||
BrowserWindow.removeDevToolsExtension('foo')
|
BrowserWindow.removeDevToolsExtension('foo')
|
||||||
|
assert.equal(BrowserWindow.getDevToolsExtensions().hasOwnProperty('foo'), false)
|
||||||
|
|
||||||
var extensionPath = path.join(__dirname, 'fixtures', 'devtools-extensions', 'foo')
|
var extensionPath = path.join(__dirname, 'fixtures', 'devtools-extensions', 'foo')
|
||||||
BrowserWindow.addDevToolsExtension(extensionPath)
|
BrowserWindow.addDevToolsExtension(extensionPath)
|
||||||
|
assert.equal(BrowserWindow.getDevToolsExtensions().hasOwnProperty('foo'), true)
|
||||||
|
|
||||||
w.webContents.on('devtools-opened', function () {
|
w.webContents.on('devtools-opened', function () {
|
||||||
var showPanelIntevalId = setInterval(function () {
|
var showPanelIntevalId = setInterval(function () {
|
||||||
|
|
Loading…
Reference in a new issue