Merge pull request #7843 from electron/process-docs

document the process(es) in which APIs are available
This commit is contained in:
Zeke Sikelianos 2016-11-03 13:14:30 -07:00 committed by GitHub
commit ef9d8fe9bd
29 changed files with 74 additions and 2 deletions

View file

@ -2,6 +2,8 @@
> Control your application's event lifecycle. > Control your application's event lifecycle.
Process: [Main](../tutorial/quick-start.md#main-process)
The following example shows how to quit the application when the last window is The following example shows how to quit the application when the last window is
closed: closed:

View file

@ -2,6 +2,8 @@
> Enable apps to automatically update themselves. > Enable apps to automatically update themselves.
Process: [Main](../tutorial/quick-start.md#main-process)
The `autoUpdater` module provides an interface for the The `autoUpdater` module provides an interface for the
[Squirrel](https://github.com/Squirrel) framework. [Squirrel](https://github.com/Squirrel) framework.

View file

@ -2,6 +2,8 @@
> Create and control browser windows. > Create and control browser windows.
Process: [Main](../tutorial/quick-start.md#main-process)
```javascript ```javascript
// In the main process. // In the main process.
const {BrowserWindow} = require('electron') const {BrowserWindow} = require('electron')

View file

@ -2,6 +2,8 @@
> Perform copy and paste operations on the system clipboard. > Perform copy and paste operations on the system clipboard.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
The following example shows how to write a string to the clipboard: The following example shows how to write a string to the clipboard:
```javascript ```javascript

View file

@ -2,6 +2,8 @@
> Submit crash reports to a remote server. > Submit crash reports to a remote server.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
The following is an example of automatically submitting a crash report to a The following is an example of automatically submitting a crash report to a
remote server: remote server:

View file

@ -3,6 +3,8 @@
> Access information about media sources that can be used to capture audio and > Access information about media sources that can be used to capture audio and
> video from the desktop using the [`navigator.webkitGetUserMedia`] API. > video from the desktop using the [`navigator.webkitGetUserMedia`] API.
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
The following example shows how to capture video from a desktop window whose The following example shows how to capture video from a desktop window whose
title is `Electron`: title is `Electron`:

View file

@ -2,6 +2,8 @@
> Display native system dialogs for opening and saving files, alerting, etc. > Display native system dialogs for opening and saving files, alerting, etc.
Process: [Main](../tutorial/quick-start.md#main-process)
An example of showing a dialog to select multiple files and directories: An example of showing a dialog to select multiple files and directories:
```javascript ```javascript

View file

@ -2,6 +2,8 @@
> Control file downloads from remote sources. > Control file downloads from remote sources.
Process: [Main](../tutorial/quick-start.md#main-process)
`DownloadItem` is an `EventEmitter` that represents a download item in Electron. `DownloadItem` is an `EventEmitter` that represents a download item in Electron.
It is used in `will-download` event of `Session` class, and allows users to It is used in `will-download` event of `Session` class, and allows users to
control the download item. control the download item.

View file

@ -7,7 +7,7 @@ let users work on native files directly with the HTML5 file API. Electron has
added a `path` attribute to the `File` interface which exposes the file's real added a `path` attribute to the `File` interface which exposes the file's real
path on filesystem. path on filesystem.
Example on getting a real path from a dragged-onto-the-app file: Example of getting a real path from a dragged-onto-the-app file:
```html ```html
<div id="holder"> <div id="holder">

View file

@ -2,6 +2,8 @@
> Detect keyboard events when the application does not have keyboard focus. > Detect keyboard events when the application does not have keyboard focus.
Process: [Main](../tutorial/quick-start.md#main-process)
The `globalShortcut` module can register/unregister a global keyboard shortcut The `globalShortcut` module can register/unregister a global keyboard shortcut
with the operating system so that you can customize the operations for various with the operating system so that you can customize the operations for various
shortcuts. shortcuts.

View file

@ -2,6 +2,8 @@
> Communicate asynchronously from the main process to renderer processes. > Communicate asynchronously from the main process to renderer processes.
Process: [Main](../tutorial/quick-start.md#main-process)
The `ipcMain` module is an instance of the The `ipcMain` module is an instance of the
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. When used in the main [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. When used in the main
process, it handles asynchronous and synchronous messages sent from a renderer process, it handles asynchronous and synchronous messages sent from a renderer

View file

@ -2,6 +2,8 @@
> Communicate asynchronously from a renderer process to the main process. > Communicate asynchronously from a renderer process to the main process.
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
The `ipcRenderer` module is an instance of the The `ipcRenderer` module is an instance of the
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. It provides a few [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. It provides a few
methods so you can send synchronous and asynchronous messages from the render methods so you can send synchronous and asynchronous messages from the render

View file

@ -2,6 +2,8 @@
> Add items to native application menus and context menus. > Add items to native application menus and context menus.
Process: [Main](../tutorial/quick-start.md#main-process)
See [`Menu`](menu.md) for examples. See [`Menu`](menu.md) for examples.
## Class: MenuItem ## Class: MenuItem

View file

@ -2,6 +2,8 @@
> Create native application menus and context menus. > Create native application menus and context menus.
Process: [Main](../tutorial/quick-start.md#main-process)
Each `Menu` consists of multiple [`MenuItem`](menu-item.md)s and each `MenuItem` Each `Menu` consists of multiple [`MenuItem`](menu-item.md)s and each `MenuItem`
can have a submenu. can have a submenu.

View file

@ -2,6 +2,8 @@
> Create tray, dock, and application icons using PNG or JPG files. > Create tray, dock, and application icons using PNG or JPG files.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
In Electron, for the APIs that take images, you can pass either file paths or In Electron, for the APIs that take images, you can pass either file paths or
`NativeImage` instances. An empty image will be used when `null` is passed. `NativeImage` instances. An empty image will be used when `null` is passed.
@ -155,6 +157,8 @@ Creates a new `NativeImage` instance from `dataURL`.
> Natively wrap images such as tray, dock, and application icons. > Natively wrap images such as tray, dock, and application icons.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
### Instance Methods ### Instance Methods
The following methods are available on instances of the `NativeImage` class: The following methods are available on instances of the `NativeImage` class:

View file

@ -2,6 +2,8 @@
> Issue HTTP/HTTPS requests using Chromium's native networking library > Issue HTTP/HTTPS requests using Chromium's native networking library
Process: [Main](../tutorial/quick-start.md#main-process)
The `net` module is a client-side API for issuing HTTP(S) requests. It is The `net` module is a client-side API for issuing HTTP(S) requests. It is
similar to the [HTTP](https://nodejs.org/api/http.html) and similar to the [HTTP](https://nodejs.org/api/http.html) and
[HTTPS](https://nodejs.org/api/https.html) modules of Node.js but uses [HTTPS](https://nodejs.org/api/https.html) modules of Node.js but uses
@ -72,6 +74,8 @@ specified protocol scheme in the `options` object.
> Make HTTP/HTTPS requests. > Make HTTP/HTTPS requests.
Process: [Main](../tutorial/quick-start.md#main-process)
`ClientRequest` implements the [Writable Stream](https://nodejs.org/api/stream.html#stream_writable_streams) `ClientRequest` implements the [Writable Stream](https://nodejs.org/api/stream.html#stream_writable_streams)
interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter). interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).
@ -264,6 +268,8 @@ response object,it will emit the `aborted` event.
> Handle responses to HTTP/HTTPS requests. > Handle responses to HTTP/HTTPS requests.
Process: [Main](../tutorial/quick-start.md#main-process)
`IncomingMessage` implements the [Readable Stream](https://nodejs.org/api/stream.html#stream_readable_streams) `IncomingMessage` implements the [Readable Stream](https://nodejs.org/api/stream.html#stream_readable_streams)
interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter). interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).

View file

@ -2,6 +2,8 @@
> Monitor power state changes. > Monitor power state changes.
Process: [Main](../tutorial/quick-start.md#main-process)
You cannot require or use this module until the `ready` event of the `app` You cannot require or use this module until the `ready` event of the `app`
module is emitted. module is emitted.

View file

@ -2,6 +2,8 @@
> Block the system from entering low-power (sleep) mode. > Block the system from entering low-power (sleep) mode.
Process: [Main](../tutorial/quick-start.md#main-process)
For example: For example:
```javascript ```javascript

View file

@ -2,6 +2,8 @@
> Extensions to process object. > Extensions to process object.
Process: [Main](../tutorial/quick-start.md#main-process)
The `process` object is extended in Electron with following APIs: The `process` object is extended in Electron with following APIs:
## Events ## Events

View file

@ -2,6 +2,8 @@
> Register a custom protocol and intercept existing protocol requests. > Register a custom protocol and intercept existing protocol requests.
Process: [Main](../tutorial/quick-start.md#main-process)
An example of implementing a protocol that has the same effect as the An example of implementing a protocol that has the same effect as the
`file://` protocol: `file://` protocol:

View file

@ -2,6 +2,8 @@
> Use main process modules from the renderer process. > Use main process modules from the renderer process.
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
The `remote` module provides a simple way to do inter-process communication The `remote` module provides a simple way to do inter-process communication
(IPC) between the renderer process (web page) and the main process. (IPC) between the renderer process (web page) and the main process.

View file

@ -2,6 +2,8 @@
> Retrieve information about screen size, displays, cursor position, etc. > Retrieve information about screen size, displays, cursor position, etc.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
You cannot require or use this module until the `ready` event of the `app` You cannot require or use this module until the `ready` event of the `app`
module is emitted. module is emitted.

View file

@ -2,6 +2,8 @@
> Manage browser sessions, cookies, cache, proxy settings, etc. > Manage browser sessions, cookies, cache, proxy settings, etc.
Process: [Main](../tutorial/quick-start.md#main-process)
The `session` module can be used to create new `Session` objects. The `session` module can be used to create new `Session` objects.
You can also access the `session` of existing pages by using the `session` You can also access the `session` of existing pages by using the `session`
@ -52,6 +54,8 @@ A `Session` object, the default session object of the app.
> Get and set properties of a session. > Get and set properties of a session.
Process: [Main](../tutorial/quick-start.md#main-process)
You can create a `Session` object in the `session` module: You can create a `Session` object in the `session` module:
```javascript ```javascript
@ -375,6 +379,8 @@ app.on('ready', function () {
> Query and modify a session's cookies. > Query and modify a session's cookies.
Process: [Main](../tutorial/quick-start.md#main-process)
Instances of the `Cookies` class are accessed by using `cookies` property of Instances of the `Cookies` class are accessed by using `cookies` property of
a `Session`. a `Session`.
@ -480,6 +486,8 @@ Removes the cookies matching `url` and `name`, `callback` will called with
> Intercept and modify the contents of a request at various stages of its lifetime. > Intercept and modify the contents of a request at various stages of its lifetime.
Process: [Main](../tutorial/quick-start.md#main-process)
Instances of the `WebRequest` class are accessed by using the `webRequest` Instances of the `WebRequest` class are accessed by using the `webRequest`
property of a `Session`. property of a `Session`.

View file

@ -2,6 +2,8 @@
> Manage files and URLs using their default applications. > Manage files and URLs using their default applications.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
The `shell` module provides functions related to desktop integration. The `shell` module provides functions related to desktop integration.
An example of opening a URL in the user's default browser: An example of opening a URL in the user's default browser:

View file

@ -2,6 +2,8 @@
> Get system preferences. > Get system preferences.
Process: [Main](../tutorial/quick-start.md#main-process)
```javascript ```javascript
const {systemPreferences} = require('electron') const {systemPreferences} = require('electron')
console.log(systemPreferences.isDarkMode()) console.log(systemPreferences.isDarkMode())

View file

@ -2,6 +2,8 @@
> Add icons and context menus to the system's notification area. > Add icons and context menus to the system's notification area.
Process: [Main](../tutorial/quick-start.md#main-process)
```javascript ```javascript
const {app, Menu, Tray} = require('electron') const {app, Menu, Tray} = require('electron')

View file

@ -2,6 +2,8 @@
> Render and control web pages. > Render and control web pages.
Process: [Main](../tutorial/quick-start.md#main-process)
`webContents` is an `webContents` is an
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter). [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).
It is responsible for rendering and controlling a web page and is a property of It is responsible for rendering and controlling a web page and is a property of
@ -47,6 +49,8 @@ Returns `WebContents` - A WebContents instance with the given ID.
> Render and control the contents of a BrowserWindow instance. > Render and control the contents of a BrowserWindow instance.
Process: [Main](../tutorial/quick-start.md#main-process)
### Instance Events ### Instance Events
#### Event: 'did-finish-load' #### Event: 'did-finish-load'
@ -1186,6 +1190,8 @@ A Debugger instance for this webContents.
> An alternate transport for Chrome's remote debugging protocol. > An alternate transport for Chrome's remote debugging protocol.
Process: [Main](../tutorial/quick-start.md#main-process)
Chrome Developer Tools has a [special binding][rdp] available at JavaScript Chrome Developer Tools has a [special binding][rdp] available at JavaScript
runtime that allows interacting with pages and instrumenting them. runtime that allows interacting with pages and instrumenting them.

View file

@ -2,6 +2,8 @@
> Customize the rendering of the current web page. > Customize the rendering of the current web page.
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
An example of zooming current page to 200%. An example of zooming current page to 200%.
```javascript ```javascript

View file

@ -45,6 +45,8 @@ origin preference.
> Manipulate the child browser window > Manipulate the child browser window
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
The `BrowserWindowProxy` object is returned from `window.open` and provides The `BrowserWindowProxy` object is returned from `window.open` and provides
limited functionality with the child window. limited functionality with the child window.