Commit graph

2231 commits

Author SHA1 Message Date
Birunthan Mohanathas
8b9f7e5b00 Implement initial, experimental BrowserView API
Right now, `<webview>` is the only way to embed additional content in a
`BrowserWindow`. Unfortunately `<webview>` suffers from a [number of
problems](https://github.com/electron/electron/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Awebview%20).
To make matters worse, many of these are upstream Chromium bugs instead
of Electron-specific bugs.

For us at [Figma](https://www.figma.com), the main issue is very slow
performance.

Despite the upstream improvements to `<webview>` through the OOPIF work, it is
probable that there will continue to be `<webview>`-specific bugs in the
future.

Therefore, this introduces a `<webview>` alternative to called `BrowserView`,
which...

- is a thin wrapper around `api::WebContents` (so bugs in `BrowserView` will
  likely also be bugs in `BrowserWindow` web contents)

- is instantiated in the main process like `BrowserWindow` (and unlike
  `<webview>`, which lives in the DOM of a `BrowserWindow` web contents)

- needs to be added to a `BrowserWindow` to display something on the screen

This implements the most basic API. The API is expected to evolve and change in
the near future and has consequently been marked as experimental. Please do not
use this API in production unless you are prepared to deal with breaking
changes.

In the future, we will want to change the API to support multiple
`BrowserView`s per window. We will also want to consider z-ordering
auto-resizing, and possibly even nested views.
2017-04-13 01:27:27 +03:00
Kevin Sawicki
0caa35d33c Merge pull request #9155 from Hum4n01d/master
Add information about dragging not working with Dev tools open
2017-04-10 08:18:09 -07:00
Kevin Sawicki
676f02e001 Tweak GitHub spelling 2017-04-10 08:17:55 -07:00
Kevin Sawicki
3ec7900e6e Merge pull request #9154 from miniak/fix-api-docs
Fix api docs
2017-04-10 08:16:54 -07:00
Hum4n01d
0ce983363b Add information about dragging not working with Dev tools open 2017-04-09 23:05:56 -07:00
Milan Burda
fa0de5c2b4 Define filter argument type for WebRequest methods 2017-04-10 02:18:36 +02:00
Milan Burda
8f46137fda Fix session.setPermissionRequestHandler webContents argument type 2017-04-10 02:12:15 +02:00
Kevin Sawicki
b7b7f28c5a Link properties to class docs 2017-04-08 18:50:55 -07:00
Tasuku Uno
59fe7d3dbb 📝 Fix document of MimeTypedBuffer Object
[ci skip]
2017-04-06 11:38:59 +09:00
Kevin Sawicki
414540bfcb Support passing escape item to TouchBar constructor 2017-04-04 12:50:41 -07:00
Kevin Sawicki
b24b4212c5 Make escape item a property instead of setter 2017-04-04 12:50:41 -07:00
Samuel Attard
60cc862031 Make everything pointer like 2017-04-04 12:50:41 -07:00
Samuel Attard
4d6b0fc01b Add a method to set the escape identifier on the touch bar 2017-04-04 12:50:41 -07:00
Kevin Sawicki
3e9014c371 Merge pull request #9099 from electron/certificate-trust
macOS: Add certificate trust API
2017-04-04 11:17:09 -07:00
Kevin Sawicki
2e32525e8f Make browser window optional 2017-04-04 10:49:10 -07:00
Kevin Sawicki
af40a60937 Merge pull request #9072 from p-jackson/patch-1
Document passing null to Menu.setApplicationMenu
2017-04-04 08:42:08 -07:00
joshaber
146e1ed3ce Don't pass the result through
It's meaningless on macOS, at least.
2017-04-04 09:21:15 -04:00
Ryohei Ikegami
61fa8693d2 Merge branch 'master' into native-window-open 2017-04-04 20:54:37 +09:00
Milan Burda
568454525d Use point / size / rectangle structures consistently in API docs 2017-04-04 08:31:09 +02:00
Philip Jackson
6169ccd1e2 📝 Document that setApplicationMenu(null) has no effect on macOS 2017-04-04 18:00:20 +12:00
joshaber
e2bda3ca0f Use an options object for most of the params 2017-04-03 21:33:21 -04:00
joshaber
da1b0aab3e Flesh out some docs 2017-04-03 15:39:45 -04:00
Samuel Attard
f757912f90
Add missing finalUpdate prop 2017-04-01 12:11:34 +11:00
Kevin Sawicki
6d516fbae3 Move normalizeAccessKeys docs to right method 2017-03-31 15:08:03 -07:00
Thiago de Arruda
f0d447cd68 Pass uploadToServer to windows crash reporter 2017-03-31 13:46:30 -03:00
Philip Jackson
1c80102218 📝 Document passing null to Menu.setApplicationMenu
[ci skip]
2017-03-31 16:42:03 +13:00
Kevin Sawicki
a2588c1fd9 Merge pull request #9052 from tonyganch/native_tabs
Native tabs on macOS
2017-03-30 14:02:19 -07:00
Kevin Sawicki
6f27d466a5 Move tabbingIdentifier out of webPreferences list 2017-03-30 13:49:00 -07:00
Kevin Sawicki
4001ba038e Add descriptions for each segmentStyle 2017-03-30 12:36:20 -07:00
Kevin Sawicki
f805bbee9b Merge pull request #9062 from electron/stringify-headers-in-net-module
Fix net module to accept non-string header values
2017-03-30 12:35:53 -07:00
Zeke Sikelianos
f0e7a84627 Merge pull request #9065 from electron/roles
Improve docs for MenuItem Roles
2017-03-30 12:28:14 -07:00
Thiago de Arruda
b3cf00a19a Fix net module to accept non-string header values
This is required to be compatible with node.js http module.
2017-03-30 16:01:40 -03:00
Kevin Sawicki
3100463117 Merge pull request #8917 from bcomnes/patch-1
Clarify remote require of relative modules
2017-03-30 12:00:47 -07:00
Kevin Sawicki
55bf2239df Remove spaces around brackets 2017-03-30 11:58:09 -07:00
Zeke Sikelianos
d5bc8990fc link to roles list from Menu doc 2017-03-30 11:08:12 -07:00
Zeke Sikelianos
b24be19fac tighten up formatting of menu example 2017-03-30 11:07:59 -07:00
Zeke Sikelianos
d779ecf674 create a linkable heading for MenuItem roles 2017-03-30 11:07:25 -07:00
Colin Eberhardt
bed32682b7 Clarification of the chromium sandbox support 2017-03-30 10:47:14 +01:00
Kevin Sawicki
57edc28b0d Merge pull request #8880 from mst128256/2814
Default menu items for 'Edit' and 'Window' #2814
2017-03-29 12:31:58 -07:00
Tony Ganch
a7565f0d57 Enable native tabs on macOS 2017-03-29 13:51:39 +02:00
deepak1556
8db1eacd1c [skip ci] add docs 2017-03-28 18:46:21 +05:30
Ryohei Ikegami
87565f4c84 Simplify example code 2017-03-28 19:50:45 +09:00
Ryohei Ikegami
e885e33b75 Fix choise -> choice 2017-03-28 19:50:00 +09:00
Kevin Sawicki
ad5a48d255 Merge pull request #8983 from electron/sandbox-initial-documentation
Add initial documentation for `sandbox` option.
2017-03-27 10:16:24 -07:00
Kevin Sawicki
870dcb9071 Remove old sandbox option in list and mark as experimental 2017-03-27 10:14:47 -07:00
Kevin Sawicki
10dc08b39b Merge pull request #9006 from electron/fix-thumbnailSize-doc
fix docs for thumbnailSize
2017-03-27 09:10:40 -07:00
Samuel Attard
168c47bf10 Update web-contents.md 2017-03-25 18:27:43 +11:00
Samuel Attard
b62f1fd022
Add missing return type on executeJavaScript 2017-03-25 14:59:48 +11:00
Samuel Attard
a80148aa29
Add missing property types on the process docs 2017-03-25 14:51:23 +11:00
Samuel Attard
aa5c778ca2
Generic doc fixes 2017-03-25 12:37:07 +11:00
Zeke Sikelianos
095df457b2 fix docs for thumbnailSize 2017-03-24 11:14:43 -07:00
mst128256
9e471d8f1c Added specs 2017-03-24 12:14:08 +01:00
Thiago de Arruda
437f1192d9 Add initial documentation for sandbox option. 2017-03-23 21:42:25 -03:00
Cory Reed
a92f639b64 📝 Add note regarding dynamic addition/removal of menu items.
Closes #8928.

[ci skip]
2017-03-23 11:57:44 -07:00
Ryohei Ikegami
6f9dbd4e04 Merge branch 'master' into native-window-open 2017-03-24 00:11:43 +09:00
Cheng Zhao
ab83aa0bfd docs: Multithreading 2017-03-20 12:52:46 -07:00
Kevin Sawicki
6ded27f3a9 Merge pull request #8878 from TanninOne/patch-1
Update browser-window.md
2017-03-20 10:14:23 -07:00
Kevin Sawicki
caae03f954 Use rendered language in both ready-to-show docs 2017-03-20 10:13:45 -07:00
Ryohei Ikegami
c3c67f78c1 Improve docs on window.open 2017-03-19 20:33:22 +09:00
Ryohei Ikegami
88f062958f Fix option doc 2017-03-19 20:21:03 +09:00
Ryohei Ikegami
2c21d3b3fa Fix JavaScript in docs 2017-03-19 20:09:52 +09:00
Ryohei Ikegami
afdf52b053 Add docs for useNativeWindowOpen 2017-03-19 18:37:38 +09:00
Kevin Sawicki
6f047fd4b7 Mark touch bar apis with _Experimental_ 2017-03-17 10:56:41 -07:00
Kevin Sawicki
3ae034deab Change data -> format in clipboard docs 2017-03-17 09:57:17 -07:00
Kevin Sawicki
466c39ed19 Use icon for consistency with other touch bar APIs 2017-03-15 09:33:11 -07:00
Kevin Sawicki
87c219748d Document more constructor options 2017-03-14 14:12:41 -07:00
Kevin Sawicki
2e0e4e69bb Drop on prefix from property names 2017-03-14 14:02:48 -07:00
Bret Comnes
b67c81226c
fix linting 2017-03-14 10:48:44 -07:00
Samuel Attard
a55cddaa53
Add more options 2017-03-14 18:57:57 +11:00
Bret Comnes
85c48a2336
make main process example shorter 2017-03-13 17:20:11 -07:00
Bret Comnes
2276357f72
update with a tree 2017-03-13 17:18:23 -07:00
Bret Comnes
f82590b9ab Wrap at 80 2017-03-13 15:48:42 -07:00
Bret Comnes
46af3cefec Clarify remote require of relative modules
The docs for the `remote.require(module)` method were a little too terse for me to understand the behavior of relative module loading for `remote.require` and I had to run an experiment to understand the behavior (e.g. is the relative path relative to caller of `remote.require` or relative to some other path in the project related to the main process?).   I think this is correct but someone please double check my understanding.

Adding an example and additional explanation should help clarify this.  Feel free to edit the copy as needed.
2017-03-13 15:42:26 -07:00
Samuel Attard
cfb3798703
Add docs for TouchBarScrubbber 2017-03-13 11:00:25 +11:00
Samuel Attard
e6a66b6006
Add docs for segmented control touch bar item 2017-03-10 17:50:23 +11:00
Thiago de Arruda
e03e37e984 Pass uploadToServer parameter to linux crash reporter 2017-03-09 17:23:52 -03:00
Kevin Sawicki
f19998ef4c Add more default values 2017-03-09 10:26:44 -08:00
Kevin Sawicki
089bfd2cd2 Document nativeImage.addRepresentation(options) 2017-03-09 09:56:42 -08:00
Kevin Sawicki
783b5e84f4 Merge pull request #8866 from jkleinsc/master
Add WebRTCIPPolicy setting to webContents
2017-03-09 09:55:08 -08:00
mst128256
8aba640250 added default menu items for 'Edit' and 'Window' #2814 2017-03-09 16:01:33 +01:00
John Kleinschmidt
3c74404a3e Updated docs. 2017-03-09 09:54:09 -05:00
TanninOne
410e80682a Update browser-window.md
Notes that maximize will also show the window and that ready-to-show won't fire if the window is already being displayed. (See issue #8861)
2017-03-09 15:41:31 +01:00
Kevin Sawicki
dcfab1b6a0 Link more touch bar params 2017-03-08 13:04:55 -08:00
John Kleinschmidt
950e3436c2 Removed webrtcippolicy attribute from webview 2017-03-08 13:52:04 -05:00
John Kleinschmidt
1c2a78a896 Add WebRTCIPPolicy setting to webContents and webview
Resolves #8777
Code to set and get the policy come from the muon framework code:
https://github.com/brave/muon/blob/master/atom/browser/api/atom_api_web_
contents.cc#L1324...L1343
2017-03-08 10:15:48 -05:00
Kevin Sawicki
6d5fbe6be2 Document scale factor option 2017-03-07 12:27:55 -08:00
Kevin Sawicki
bb8d42f1e1 Mark TouchBar as experimental 2017-03-07 09:42:45 -08:00
Samuel Attard
f97066511f Capitalize type 2017-03-07 21:25:40 +11:00
João Moreno
5a4d9807ee Update ses.resolveProxy return type
As far as I'm aware, after using the `ses.resolveProxy` API, it seems to return a string in the shape of `PROXY foopy:80;SOCKS5 bar.com:1080`, not an object. Correct me if I'm wrong.
2017-03-07 11:21:51 +01:00
Kevin Sawicki
6bc464d4b0 Mention userGesture default 2017-03-06 10:51:48 -08:00
Kevin Sawicki
f549bda9fc Merge pull request #8799 from nitsakh/baseURLForDataURL
Support base URL option to loadURL for data URLs
2017-03-06 10:25:53 -08:00
Kevin Sawicki
d26e4a4abf Merge pull request #8800 from electron/https-website
Update website URLs to use HTTPS
2017-03-06 09:32:20 -08:00
Kevin Sawicki
c7d3d48875 Merge pull request #8837 from rhysd/fix-touchbar-doc
Fix TouchBarSpacer class name in doc
2017-03-06 09:25:57 -08:00
rhysd
c209b886bf fix TouchBarSpacer class name in doc 2017-03-05 15:09:57 +09:00
Samuel Attard
f97ee56c9f
Add more explicit types to docs for TouchBar 2017-03-04 16:14:41 +11:00
Kevin Sawicki
2680ee9f8f Add support for setting TouchBarLabel text color 2017-03-03 15:14:51 -08:00
Kevin Sawicki
fde310f50d Mention it only effects 10.12.1 with touch bar 2017-03-03 14:04:55 -08:00
Kevin Sawicki
d9a8c15c69 Add clover to possible values 2017-03-03 14:00:39 -08:00
Kevin Sawicki
c349aeff80 Add initial touch bar specs 2017-03-03 14:00:39 -08:00
Kevin Sawicki
002369576f Add initial touch bar docs 2017-03-03 14:00:39 -08:00
Samuel Attard
61949657f0 Some docs for touch bar 2017-03-03 14:00:38 -08:00
Zeke Sikelianos
ffc7a4c8a0 move platform labels to end of description for consistency 2017-03-02 13:57:04 -08:00
Zeke Sikelianos
23eecac288 document arguments for webview methods 2017-03-02 13:29:46 -08:00
Zeke Sikelianos
5ee7434a54 fix indentation of app.setLoginItemSettings arguments 2017-03-02 13:28:58 -08:00
Zeke Sikelianos
01423f79b3 denote webview process so linter will recognize it as an API 2017-03-02 13:27:04 -08:00
Nitish Sakhawalkar
370562b129 Moving data url test outside post navigation block. Trailing separator comment in the docs. 2017-03-02 12:14:18 -08:00
Nitish Sakhawalkar
e8c0813f46 Changes based on review. 2017-03-02 10:58:39 -08:00
Zeke Sikelianos
69f0cb26e7 use https for all Electron website URLs 2017-02-28 21:19:55 -08:00
Nitish Sakhawalkar
879082b1a6 Issue #8735:Support base URL option to loadURL for data URLs 2017-02-28 16:49:03 -08:00
Kevin Sawicki
368da3300e Merge pull request #8783 from thesbros/docs/blink-features-link
📝 Update link to Blink features.
2017-02-27 08:53:34 -08:00
Kevin Sawicki
20a9cf834b Merge pull request #8769 from jwheare/docs-cancel-id
Clarify docs for dialog.showMessageBox cancelId
2017-02-27 08:52:59 -08:00
Oden
c10f1210bc 📝 Update link to Blink features. 2017-02-26 20:34:00 -08:00
Zeke Sikelianos
dd5fa2df85 Merge pull request #8746 from electron/clarify-app-activation
clarify actions that cause app.activate event to be emitted
2017-02-25 18:20:43 -08:00
James Wheare
cdc6b13fc8 Clarify docs for dialog.showMessageBox cancelId 2017-02-24 23:56:47 +00:00
Kevin Sawicki
be16e75be2 Support explicit cancelId on macOS 2017-02-24 09:05:55 -08:00
Kevin Sawicki
eb260c3593 Update parameter prefix 2017-02-23 13:03:22 -08:00
popod
ea3b14f0bb update startDrag(item) doc
add doc for `files` option
2017-02-23 21:28:36 +01:00
Zeke Sikelianos
7c4529a01a clarify actions that cause app.activate event to be emitted 2017-02-22 16:42:34 -08:00
Kevin Sawicki
6c6506e5aa Document menu.closePopup 2017-02-22 10:30:28 -08:00
Kevin Sawicki
d686cf77e9 Update menu.popup docs to take options object 2017-02-22 10:30:28 -08:00
Kevin Sawicki
91bd95a0b2 Add space after if 2017-02-22 08:11:21 -08:00
René Herrmann
c4280612c1 update setCertificateVerifyProc example
setCertificateVerifyProc example should reflect new api
2017-02-22 11:49:14 +01:00
Kevin Sawicki
9be42db8d5 Merge pull request #8628 from Spacetech/master
Implement invalidate for non-offscreen mode
2017-02-14 11:41:16 -08:00
Kevin Sawicki
52d989f908 Update docs for non-offscreen invalidate 2017-02-14 11:17:39 -08:00
Kevin Sawicki
07173cdd9d Tweak setExtraParameter description 2017-02-14 09:37:09 -08:00
Kevin Sawicki
3b7207da9f Support removing extra parameters 2017-02-14 09:37:09 -08:00
Kevin Sawicki
41fef3999c Document setExtraParameter 2017-02-14 09:37:09 -08:00
Kevin Sawicki
cfe3ae234b Correct , -> . typo 2017-02-14 09:37:09 -08:00
Samuel Attard
7c33f3ee65 Document the noResolveAliases property 2017-02-13 08:23:53 -08:00
Kevin Sawicki
266c78b861 Merge pull request #8669 from poppinlp/patch-1
Fix typo
2017-02-13 08:18:19 -08:00
Kevin Sawicki
c9e5d7d1e2 Merge pull request #8660 from fab1an/patch-3
Update session.md
2017-02-13 08:17:23 -08:00
PoppinL
9b8e4eb6cb Fix typo
Fix typo
2017-02-13 16:14:49 +08:00
Fabian Zeindl
46c65ae5fc Update session.md 2017-02-12 10:06:24 +01:00
Fabian Zeindl
5efa34ce6d Update web-contents.md 2017-02-12 10:03:33 +01:00
Kevin Sawicki
b92c4f6ce5 Merge pull request #8651 from electron/new-window-docs
[ci skip] Improve docs for `new-window` event
2017-02-10 10:29:07 -08:00
Kevin Sawicki
e85d2f00dd Fix linting errors around spacing and semicolons 2017-02-10 08:49:13 -08:00
Vadim Macagon
035d9df29b Fix example code 2017-02-10 18:02:03 +07:00
Vadim Macagon
197ad915b7 [ci skip] Improve docs for new-window event
This should help clarify the purpose of `event.newGuest` as per the recent discussion in #7407.
2017-02-10 17:57:55 +07:00
Vadim Macagon
e8f0331aeb Improve docs for will-attach-webview event 2017-02-10 10:33:33 +07:00
Kevin Sawicki
acedc3e726 Merge pull request #8584 from electron/new-webview-event
Add will-attach-webview event
2017-02-09 12:40:11 -08:00
Kevin Sawicki
a7c050107b Remove guest from will-attach-webview event 2017-02-09 11:47:45 -08:00
Kevin Sawicki
8b0d3a2567 Emit attach params as well in event 2017-02-09 11:45:07 -08:00
Kevin Sawicki
792f3c3030 Document will-attach-webview 2017-02-09 11:45:07 -08:00
Kevin Sawicki
35654d872b Document new settings 2017-02-09 11:29:10 -08:00
Kevin Sawicki
f7f4de36af Merge remote-tracking branch 'origin/master' into macos-open-save-panel 2017-02-09 11:25:05 -08:00
Birunthan Mohanathas
c8c11e68c6 Add support for checkbox with dialog.showMessageBox
This adds the `checkboxLabel` and `checkboxChecked` options to display a
checkbox in the message box. Fixes #6048.
2017-02-09 09:03:54 -08:00
Tan Wang Leng
8843fef065 📝 Update docs for new attributes in showOpenDialog() 2017-02-09 20:10:57 +08:00
Tan Wang Leng
cc22149beb 📝 Update docs for new attributes in showSaveDialog() 2017-02-09 20:10:57 +08:00
Kevin Sawicki
70178adb6e Use object for verification request 2017-02-08 11:59:43 -08:00
Greg Nolle
e29b64a18a modify CertVerifier Class
* respond to multiple similar verification requests.
* accept net error result as callback response.
2017-02-08 11:59:43 -08:00