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
Samuel Attard
bea56bbdc8
Update as per feedback
2017-04-04 13:51:38 -07:00
Samuel Attard
2fd62d090a
Allow items to be assigned to multiple popovers
2017-04-04 13:51:33 -07:00
Samuel Attard
f05dfc74da
Store parent popover in popover touch bar items
2017-04-04 13:51:13 -07:00
Kevin Sawicki
74a3a34caa
Add spec for interaction event with escape item
2017-04-04 13:14:56 -07:00
Kevin Sawicki
bbadeb62ac
Check that escape item is non-null before checking id
2017-04-04 13:12:29 -07: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
Kevin Sawicki
21c1ddffb3
Handle change and interaction events on escape items
2017-04-04 12:50:41 -07:00
Kevin Sawicki
591cd8d073
Update window via listener when escape item changes
2017-04-04 12:50:41 -07:00
Kevin Sawicki
d596d85288
🎨
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
joshaber
2749ded062
Fix c&p error
2017-04-04 11:45:27 -04:00
joshaber
e2bda3ca0f
Use an options object for most of the params
2017-04-03 21:33:21 -04:00
joshaber
0b7ffd094a
Expose through the actual JS API too
2017-04-03 15:25:06 -04:00
Kevin Sawicki
fcb7cbc54a
Check name directly instead of arguments length
2017-03-30 14:03:00 -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
57edc28b0d
Merge pull request #8880 from mst128256/2814
...
Default menu items for 'Edit' and 'Window' #2814
2017-03-29 12:31:58 -07:00
Kevin Sawicki
8b4bf1f29e
🎨
2017-03-29 12:29:36 -07:00
mst128256
6ae198a625
Empty objects within default menu replaced by nulls
2017-03-29 12:50:31 +02:00
deepak1556
3ae62615f4
net: allow controlling redirects
2017-03-28 18:46:21 +05:30
mst128256
9e471d8f1c
Added specs
2017-03-24 12:14:08 +01:00
Kevin Sawicki
23b235c9c7
Default async to false when object is specified
2017-03-20 20:37:52 -07:00
Kevin Sawicki
bc31f05404
highlightedStyle -> overlayStyle
2017-03-15 09:47:07 -07:00
Kevin Sawicki
2e0e4e69bb
Drop on prefix from property names
2017-03-14 14:02:48 -07:00
Samuel Attard
a55cddaa53
Add more options
2017-03-14 18:57:57 +11:00
Kevin Sawicki
5e70adb511
Guard against only specifying select or highlight handler
2017-03-13 11:23:27 -07:00
mst128256
76ee7fda2b
Fixed linting
2017-03-13 14:26:34 +01:00
Samuel Attard
a85ae27d68
Fix linting
2017-03-13 11:00:10 +11:00
Samuel Attard
25a231fc50
Initial NSScrubber implementation
2017-03-13 10:51:12 +11:00
Samuel Attard
bfe63d7a88
Fix linting
2017-03-10 17:56:26 +11:00
Samuel Attard
1c027c526b
Add segmented control implementation
2017-03-10 17:40:39 +11:00
Thiago de Arruda
44bd93589a
Refactor electron exports to keep module list in separate files
2017-03-09 19:08:01 -03:00
mst128256
8aba640250
added default menu items for 'Edit' and 'Window' #2814
2017-03-09 16:01:33 +01:00
Kevin Sawicki
6240e30be1
Default hasUserGesture to false when null
2017-03-06 10:51:17 -08:00
Samuel Attard
095e79b043
Ensure the callback is a function when executing JS
2017-03-06 10:46:20 -08:00
Kevin Sawicki
2680ee9f8f
Add support for setting TouchBarLabel text color
2017-03-03 15:14:51 -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
Kevin Sawicki
81ecd4499c
Make exported properties match class names
2017-03-03 14:00:39 -08:00
Kevin Sawicki
eb03ab561d
Make config optional
2017-03-03 14:00:39 -08:00
Kevin Sawicki
ce12dcd3b4
Add live popover icon property
2017-03-03 14:00:39 -08:00
Kevin Sawicki
a34f9d3583
Support icon property to match MenuItem
2017-03-03 14:00:39 -08:00
Kevin Sawicki
d1edd80ef8
Use NSTouchBar itemForIdentifier to lookup existing item
2017-03-03 14:00:39 -08:00
Kevin Sawicki
8d716e8b17
Register item after validating
2017-03-03 14:00:39 -08:00
Kevin Sawicki
76f112ffc5
Only export TouchBar to start
2017-03-03 14:00:39 -08:00
Kevin Sawicki
5f9e9d4b36
Add move live updating properties
2017-03-03 14:00:39 -08:00