2fad53e66b
* refactor: use v8 serialization for ipc * cloning process.env doesn't work * serialize host objects by enumerating key/values * new serialization can handle NaN, Infinity, and undefined correctly * can't allocate v8 objects during GC * backport microtasks fix * fix compile * fix node_stream_loader reentrancy * update subframe spec to expect undefined instead of null * write undefined instead of crashing when serializing host objects * fix webview spec * fix download spec * buffers are transformed into uint8arrays * can't serialize promises * fix chrome.i18n.getMessage * fix devtools tests * fix zoom test * fix debug build * fix lint * update ipcRenderer tests * fix printToPDF test * update patch * remove accidentally re-added remote-side spec * wip * don't attempt to serialize host objects * jump through different hoops to set options.webContents sometimes * whoops * fix lint * clean up error-handling logic * fix memory leak * fix lint * convert host objects using old base::Value serialization * fix lint more * fall back to base::Value-based serialization * remove commented-out code * add docs to breaking-changes.md * Update breaking-changes.md * update ipcRenderer and WebContents docs * lint * use named values for format tag * save a memcpy for ~30% speedup * get rid of calls to ShallowClone * extra debugging for paranoia * d'oh, use the correct named tags * apparently msstl doesn't like this DCHECK * funny story about that DCHECK * disable remote-related functions when enable_remote_module = false * nits * use EnableIf to disable remote methods in mojom * fix include * review comments |
||
---|---|---|
.. | ||
api | ||
development | ||
fiddles | ||
images | ||
tutorial | ||
faq.md | ||
glossary.md | ||
README.md | ||
styleguide.md |
Official Guides
Please make sure that you use the documents that match your Electron version. The version number should be a part of the page URL. If it's not, you are probably using the documentation of a development branch which may contain API changes that are not compatible with your Electron version. To view older versions of the documentation, you can browse by tag on GitHub by opening the "Switch branches/tags" dropdown and selecting the tag that matches your version.
FAQ
There are questions that are asked quite often. Check this out before creating an issue:
Guides and Tutorials
- About Electron
- Setting up the Development Environment
- Creating your First App
- Boilerplates and CLIs
- Application Architecture
- Adding Features to Your App
- Accessibility
- Testing and Debugging
- Distribution
- Security
- Updates
- Getting Support
Detailed Tutorials
These individual tutorials expand on topics discussed in the guide above.
- Installing Electron
- Electron Releases & Developer Feedback
- Packaging App Source Code with asar
- Testing Widevine CDM
- Using Pepper Flash Plugin
API References
Custom DOM Elements:
Modules for the Main Process:
- app
- autoUpdater
- BrowserView
- BrowserWindow
- contentTracing
- dialog
- globalShortcut
- inAppPurchase
- ipcMain
- Menu
- MenuItem
- net
- netLog
- Notification
- powerMonitor
- powerSaveBlocker
- protocol
- screen
- session
- systemPreferences
- TouchBar
- Tray
- webContents