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
Cheng Zhao
2ef1b70897
Fix crash happened in UvRunOnce
2017-03-28 17:19:14 +09:00
Cheng Zhao
c068285ff8
AtomBindings should not use default uv loop
2017-03-20 12:52:46 -07:00
Cheng Zhao
d2f185bea5
Create new uv loop in each worker
2017-03-20 12:52:46 -07:00
Cheng Zhao
69df934710
Converter for base::Callback is not thread safe
2017-03-20 12:52:45 -07:00
Cheng Zhao
b467c3939e
Add a new type of NodeBindings
2017-03-20 12:52:45 -07:00
Cheng Zhao
d379b05890
async handles should be closed on exit
2017-03-02 17:19:00 +09:00
Kevin Sawicki
ff718b19db
Upgrade node for new 7.4 patches and changes
2017-01-26 14:46:50 -08:00
Kevin Sawicki
c374e37cc4
Leak IsolateData since Environment is also leaked
2017-01-19 09:05:59 +02:00
Kevin Sawicki
54e2c480cb
Upgrade to node 7.4
2017-01-19 09:05:59 +02:00
Cheng Zhao
497f5a1199
Update files for Chrome 54 API changes
2017-01-19 09:05:59 +02:00
Ales Pergl
5b3d0f86f7
Adjustments after migrating libchromiumcontent to GN
2017-01-19 09:05:44 +02:00
Kevin Sawicki
3796d7a6a1
Use trace event with zero args
2016-12-12 13:49:58 -08:00
Ryohei Ikegami
a7a06a483e
Record JavaScript calls in DevTools timeline on Node/ipc callback
2016-12-07 20:22:13 +09:00
ali.ibrahim
e8d4abe78f
Adding net module and URLRequest class.
2016-10-12 14:54:15 +02:00
Milan Burda
5bfa898a02
Always drop SEM_NOGPFAULTERRORBOX flag from error mode (enables WER if crashReporter is not started)
2016-09-29 13:57:41 -07:00
Milan Burda
12a2b144f3
Only drop the SEM_NOGPFAULTERRORBOX flag when calling SetErrorMode (ELECTRON_DEFAULT_ERROR_MODE)
2016-09-16 14:01:33 -07:00
Cheng Zhao
4e800e7fef
Merge pull request #7002 from electron/include-alpha
...
Enable alphabetical include order cpplint rule
2016-08-29 15:19:05 +09:00
Kevin Sawicki
6285500cdc
Sort includes alphabetically
2016-08-26 15:30:02 -07:00
Kevin Sawicki
7dd1a7e6f4
Only set _debugWaitConnect in main process
2016-08-26 12:30:27 -07:00
Kevin Sawicki
056e5b951b
Set process._debugWaitConnect with --debug-brk is specified
2016-08-26 12:06:15 -07:00
Cheng Zhao
103fea5cdf
Use scoped policy for micro tasks
2016-08-22 19:34:59 +09:00
Saúl Ibarra Corretgé
d6ff804b9a
Remove unneeded flag check
...
stop_flag is only set if uv_stop was called, which is never the case, so
skipping the test should be harmless.
2016-08-03 12:52:17 +01:00
Saúl Ibarra Corretgé
0da72be8a9
Remove unneeded libuv callback
2016-08-03 12:48:58 +01:00
Cheng Zhao
1445ea8baf
Revert Node's call of SetAutorunMicrotasks(false)
2016-08-03 17:57:10 +09:00
Cheng Zhao
39bd2bee8e
Avoid using CHECK in files using node headesr
...
Node has its own CHECK macro which requires linking with node::Assert.
2016-07-21 16:56:48 +09:00
Cheng Zhao
ee28f4fc32
Handle v8::MicrotasksScope in the main process
2016-06-24 14:45:31 +09:00
Cheng Zhao
4fb9e20c33
Add API to set render process preferences
2016-05-27 08:51:02 +09:00
Cheng Zhao
a2bd55dd3c
Adapt to changes of Chrome 51 API changes (Part 2)
2016-05-23 12:29:14 +09:00
Cheng Zhao
7ba391da7c
Update to API changes of Chrome 51
2016-05-23 10:59:39 +09:00
Cheng Zhao
49ac160ff7
Move createIDWeakMap to v8Util
2016-05-11 19:30:06 +09:00
Cheng Zhao
13f8599ba1
Add systemPreferences module
2016-04-25 11:32:33 +09:00
Cheng Zhao
39a20ea4fb
Upgrade Node to v5.10.0
2016-04-03 15:05:47 +09:00
Kevin Sawicki
ce95747a25
atom.asar -> electron.asar
2016-04-01 16:12:12 -07:00
Cheng Zhao
e401335ebb
Get rid of the global_env
2016-03-27 19:21:12 +09:00
Cheng Zhao
5fae63a2f5
Fix compilation errors on OS X
2016-03-10 17:06:21 +09:00
Kevin Sawicki
006c77a00f
Update requires paths
2016-03-08 11:14:22 -08:00
Cheng Zhao
8ff30a2abc
Revert "protocol: respect requests from partition"
...
This reverts commit 85800256de
.
2016-02-24 13:25:30 +08:00
Robo
85800256de
protocol: respect requests from partition
2016-02-19 19:39:01 +05:30
Robo
d938dd68b0
wrap debugger for lazy initialization
2016-01-23 09:32:21 +05:30
Cheng Zhao
04f7ceab73
Merge branch 'master' into desktop-capture-api
2015-12-08 12:43:44 +08:00
Cheng Zhao
73e7773d84
Update to API changes of Chrome 47
2015-12-07 19:56:23 +08:00
Cheng Zhao
acf4372cf7
win: Add ELECTRON_DEFAULT_ERROR_MODE env
...
It is useful to help debugging crashes without opening debugger.
2015-11-06 20:25:20 +08:00
Robo
3a154ab8ea
add line and column values to callback id
2015-10-29 21:21:30 +05:30
Robo
ac4df34ecd
create binding to idweakmap
2015-10-29 17:51:56 +05:30
Haojian Wu
c9fbde321c
Implement desktop capture API on OS X.
2015-10-02 19:17:28 +08:00
Haojian Wu
5ec74451ef
Introduce DownloadItem for supporting more downloading features.
2015-09-20 18:56:10 +08:00
Cheng Zhao
e365cb6b1c
No longer needs to define node_includes.h at last
2015-09-07 16:41:49 +08:00
Robo
4062ca5f68
implement wrapSession
2015-09-01 16:50:42 +05:30
Cheng Zhao
63eb4b72e2
IDWeakMap is not used anly more in JS
2015-08-27 19:55:16 +08:00