From ae7c1ae741d566399e9a14ed4af9daf7b829cf65 Mon Sep 17 00:00:00 2001 From: Siyuan Liu Date: Mon, 24 Jul 2017 11:32:30 +0800 Subject: [PATCH] #10039 add BrowserView.fromId --- atom/browser/api/atom_api_browser_view.cc | 3 ++- docs/api/browser-view.md | 8 ++++++++ spec/api-browser-view-spec.js | 10 ++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/atom/browser/api/atom_api_browser_view.cc b/atom/browser/api/atom_api_browser_view.cc index d37d2df41c..57fb06fcd2 100644 --- a/atom/browser/api/atom_api_browser_view.cc +++ b/atom/browser/api/atom_api_browser_view.cc @@ -152,7 +152,8 @@ void Initialize(v8::Local exports, mate::Dictionary browser_view( isolate, BrowserView::GetConstructor(isolate)->GetFunction()); - + browser_view.SetMethod("fromId", + &mate::TrackableObject::FromWeakMapID); mate::Dictionary dict(isolate, exports); dict.Set("BrowserView", browser_view); } diff --git a/docs/api/browser-view.md b/docs/api/browser-view.md index ac05101a37..4e05e8b7f8 100644 --- a/docs/api/browser-view.md +++ b/docs/api/browser-view.md @@ -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: diff --git a/spec/api-browser-view-spec.js b/spec/api-browser-view-spec.js index 54d9167756..11cf582b00 100644 --- a/spec/api-browser-view-spec.js +++ b/spec/api-browser-view-spec.js @@ -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) + }) + }) })