Commit graph

473 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
Milan Burda
568454525d Use point / size / rectangle structures consistently in API docs 2017-04-04 08:31:09 +02:00
Kevin Sawicki
6f27d466a5 Move tabbingIdentifier out of webPreferences list 2017-03-30 13:49:00 -07:00
Tony Ganch
a7565f0d57 Enable native tabs on macOS 2017-03-29 13:51:39 +02:00
Kevin Sawicki
870dcb9071 Remove old sandbox option in list and mark as experimental 2017-03-27 10:14:47 -07:00
Thiago de Arruda
437f1192d9 Add initial documentation for sandbox option. 2017-03-23 21:42:25 -03: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
Kevin Sawicki
6f047fd4b7 Mark touch bar apis with _Experimental_ 2017-03-17 10:56:41 -07: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
bb8d42f1e1 Mark TouchBar as experimental 2017-03-07 09:42:45 -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
fde310f50d Mention it only effects 10.12.1 with touch bar 2017-03-03 14:04:55 -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
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
Nitish Sakhawalkar
879082b1a6 Issue #8735:Support base URL option to loadURL for data URLs 2017-02-28 16:49:03 -08:00
Oden
c10f1210bc 📝 Update link to Blink features. 2017-02-26 20:34:00 -08:00
PoppinL
9b8e4eb6cb Fix typo
Fix typo
2017-02-13 16:14:49 +08:00
Cheng Zhao
2e0780308c allowDisplayingInsecureContent is removed by Chrome 2017-02-06 10:34:29 -08:00
Kevin Sawicki
2cacaa443a Indent relativeLevel docs 2017-01-30 15:27:51 -08:00
leethomas
fb741285c6 update documentation 2017-01-23 23:42:38 -08:00
Kevin Sawicki
13acf7a6a3 Mention accessing context in dev tools 2017-01-16 12:38:16 -08:00
Kevin Sawicki
dacfb2f596 Mention contextIsolation is experimental 2017-01-16 12:38:16 -08:00
Kevin Sawicki
572fc058d3 Document contextIsolation option 2017-01-16 12:38:16 -08:00
Kevin Sawicki
afa3bd2143 Put optional label before dash 2016-12-29 14:11:26 -08:00
Kevin Sawicki
f8d41f1f68 Link to offscreen rendering tutorial 2016-12-29 09:15:28 -08:00
Kevin Sawicki
5d505f9139 Support cursive/fantasy default font families 2016-12-28 13:40:53 -08:00
Zeke Sikelianos
e57cb713b2 link process annotations to glossary 2016-12-21 13:47:40 -08:00
Kevin Sawicki
f99dabbac6 Merge pull request #8078 from electron/dts-docs-update-again
Update Docs
2016-12-21 13:39:53 -08:00
Dustin
2e1feb63e4 Corrected some grammatical errors 2016-12-19 19:01:35 -08:00
Kevin Sawicki
2fa9ca1f6d Merge pull request #8156 from sindresorhus/remove-dock-window-level
🍎 Document that the `dock` window level is deprecated
2016-12-12 09:39:08 -08:00
Sindre Sorhus
3dde669ee8 🍎 Remove deprecated dock window level
According to the Apple docs, the `NSDockWindowLevel` constant is deprecated: https://developer.apple.com/reference/appkit/nsdockwindowlevel?language=objc
2016-12-09 12:46:49 +01:00
Kevin Sawicki
54d27a390b Merge pull request #8155 from salomvary/explain-macos-modal-sheet
Clarify modal windows being sheets on macOS
2016-12-07 10:29:42 -08:00
Kevin Sawicki
e198b6945c Add simple postData example 2016-12-06 16:49:22 -08:00
Márton Salomváry
9adb232d99 Clarify modal windows being sheets on macOS 2016-12-06 22:47:26 +01:00
Birunthan Mohanathas
18c49285a8 Add BrowserWindow.setAutoHideCursor for macOS
The `disableAutoHideCursor` BrowserWindow option can be used to control
auto-hiding behavior when the window is created. This new API is needed
to dynamically change the behavior after the fact.
2016-11-29 09:46:00 -08:00
Kevin Sawicki
774b2f99f2 Merge pull request #8038 from electron/danhp/close-file-preview
Add 'win.closeFilePreview()'
2016-11-28 14:47:06 -08:00
Kevin Sawicki
a7395118af Merge pull request #7952 from the-ress/window-setappid
Added BrowserWindow.setAppDetails to set user model id, icon and relaunch command
2016-11-28 14:46:14 -08:00
Kevin Sawicki
5abecadfd3 Tweak setAppDetails docs 2016-11-28 14:29:21 -08:00
Daniel Pham
d5a0dd39a1 🎁 Add 'win.closeFilePreview()' 2016-11-28 14:25:11 -08:00
Samuel Attard
921b474919 Fixup app and bw docs 2016-11-25 23:21:25 +11:00
Samuel Attard
06960704c4 Update docs for dts again 2016-11-25 23:17:31 +11:00
Kevin Sawicki
ea6b53578f Mention preferred size 2016-11-21 08:45:46 -08:00
Kevin Sawicki
7916981da2 zoomToContentSize -> zoomToPageWidth 2016-11-21 08:45:46 -08:00
Kevin Sawicki
7896ee23a2 Document zoomToContentSize 2016-11-21 08:45:46 -08:00
Tereza Tomcova
b305020c1d Added documentation for BrowserWindow.setAppDetails 2016-11-18 21:43:03 +01:00
George Hafiz
aac31159b8 Update formatting to prevent '[] ()' sequences (e.g. String[] (optional)), which breaks MD rendering on GitHub and hides the array indication 2016-11-18 00:34:48 +00:00