#10039 add BrowserView.fromId

This commit is contained in:
Siyuan Liu 2017-07-24 11:32:30 +08:00
parent a43553aa25
commit ae7c1ae741
3 changed files with 20 additions and 1 deletions

View file

@ -152,7 +152,8 @@ void Initialize(v8::Local<v8::Object> exports,
mate::Dictionary browser_view(
isolate, BrowserView::GetConstructor(isolate)->GetFunction());
browser_view.SetMethod("fromId",
&mate::TrackableObject<BrowserView>::FromWeakMapID);
mate::Dictionary dict(isolate, exports);
dict.Set("BrowserView", browser_view);
}

View file

@ -38,6 +38,14 @@ view.webContents.loadURL('https://electron.atom.io')
* `options` Object (optional)
* `webPreferences` Object (optional) - See [BrowserWindow](browser-window.md).
### Static Methods
#### `BrowserView.fromId(id)`
* `id` Integer
Returns `BrowserView` - The view with the given `id`.
### Instance Properties
Objects created with `new BrowserView` have the following properties:

View file

@ -100,4 +100,14 @@ describe('BrowserView module', function () {
assert.ok(!view.webContents.getOwnerBrowserWindow())
})
})
describe('BrowserView.fromId()', function () {
it('returns the view with given id', function () {
view = new BrowserView()
w.setBrowserView(view)
assert.notEqual(view.id, null)
let view2 = BrowserView.fromId(view.id)
assert.equal(view2.webContents.id, view.webContents.id)
})
})
})