Add webContents.id property
authorCheng Zhao <zcbenz@gmail.com>
Tue, 17 May 2016 12:56:47 +0000 (21:56 +0900)
committerCheng Zhao <zcbenz@gmail.com>
Wed, 18 May 2016 04:57:48 +0000 (13:57 +0900)
atom/browser/api/atom_api_web_contents.cc
atom/browser/api/atom_api_web_contents.h
docs/api/web-contents.md

index 6a254ab..8e4653b 100644 (file)
@@ -1174,6 +1174,10 @@ v8::Local<v8::Value> WebContents::GetOwnerBrowserWindow() {
     return v8::Null(isolate());
 }
 
+int32_t WebContents::ID() const {
+  return weak_map_id();
+}
+
 v8::Local<v8::Value> WebContents::Session(v8::Isolate* isolate) {
   return v8::Local<v8::Value>::New(isolate, session_);
 }
@@ -1266,6 +1270,7 @@ void WebContents::BuildPrototype(v8::Isolate* isolate,
       .SetMethod("_printToPDF", &WebContents::PrintToPDF)
       .SetMethod("addWorkSpace", &WebContents::AddWorkSpace)
       .SetMethod("removeWorkSpace", &WebContents::RemoveWorkSpace)
+      .SetProperty("id", &WebContents::ID)
       .SetProperty("session", &WebContents::Session)
       .SetProperty("hostWebContents", &WebContents::HostWebContents)
       .SetProperty("devToolsWebContents", &WebContents::DevToolsWebContents)
index 9deb169..81d97df 100644 (file)
@@ -154,6 +154,7 @@ class WebContents : public mate::TrackableObject<WebContents>,
   v8::Local<v8::Value> GetOwnerBrowserWindow();
 
   // Properties.
+  int32_t ID() const;
   v8::Local<v8::Value> Session(v8::Isolate* isolate);
   content::WebContents* HostWebContents();
   v8::Local<v8::Value> DevToolsWebContents(v8::Isolate* isolate);
index 7d42b8a..d071630 100644 (file)
@@ -913,6 +913,10 @@ win.webContents.on('did-finish-load', () => {
 
 `WebContents` objects also have the following properties:
 
+### `webContents.id`
+
+The unique ID of this WebContents.
+
 ### `webContents.session`
 
 Returns the [session](session.md) object used by this webContents.