Commit graph

124 commits

Author SHA1 Message Date
Cheng Zhao
5a320222e2 feat: add WebContentsView API 2018-05-15 14:03:21 +09:00
Cheng Zhao
e058d11657 feat: add View API 2018-05-15 14:03:21 +09:00
Robo
ff571f3b5d Part I: Move from base::Bind to base::BindOnce and remove unneeded base::Passed (#12661) 2018-04-20 19:55:05 +09:00
Jeremy Apthorp
a635f078c6 [chromium-style] auto variable type must not deduce to a raw pointer type 2018-04-19 11:10:52 -07:00
Shelley Vohr
c6f4bbd143
also format missing .cc files 2018-04-18 20:48:45 -04:00
Cheng Zhao
858828d343
Refactor NativeWindow (Part 6): Move NativeWindow bindings to api::TopLevelWindow (#12596)
* Add atom::api::TopLevelWindow

* Make BrowserWindow inherit TopLevelWindow

* Fix reading from wrong weak map

* Read options after setting content view

* OnWindowClosed is not guarenteed to run now

* Fix the offscreen hack in BrowserWindow

* Fix building on Linux

* Fix tests on Linux

* Fix building on Windows
2018-04-14 11:04:23 +09:00
deepak1556
e24c0dda5d add features module to detect availability of build time features at runtime 2018-03-20 10:13:17 +03:00
Cheng Zhao
39e0433570 Fix build error after rebasing 2018-02-23 10:22:00 +09:00
shelley vohr
0e5b6f9300 Upgrade to node v9.3.0 (#11507)
* update submodule refs for node v9.3.0

* Define "llvm_version" for Node.js build

* NODE_MODULE_CONTEXT_AWARE_BUILTIN -> NODE_BUILTIN_MODULE_CONTEXT_AWARE

* update NodePlatform to MultiIsolatePlatform

* fix linting error

* update node ref

* REVIEW: Explicitly register builtin modules

https://github.com/nodejs/node/pull/16565

* update libcc ref

* switch libcc to c62

* REVIEW: Address node api changes

- Always start the inspector agent for https://github.com/nodejs/node/pull/17085
- Set the tracing controller for node https://github.com/nodejs/node/pull/15538
- Isolate data creation now requires plaform https://github.com/nodejs/node/pull/16700
2018-02-23 10:22:00 +09:00
Aleš Pergl
c49cb29ddf Disallow launching unknown apps via browser client.
CVE-2018-1000006
2018-01-22 16:49:30 -06:00
Adrien Fery
f3ae566164 Add in-app purchase for MacOS 2018-01-10 13:14:18 +09:00
Charles Kerr
435c9c1486 Force uv loop cleanup (#11465)
* ensure all uv handles are closed before ending worker's loop

* add DCHECK to test that the Worker loop is finished

* don't call deprecated uv_loop_new(), uv_loop_delete()

* make cpplint happy

* fix comment error

* empty commit for CI

* tweak DCHECK expression

* extract-method: stop_and_close_uv_loop()

* fix DCHECK oops
2018-01-04 11:16:06 -08:00
Samuel Attard
5dd4d6a961
macOS implementation of notifications in the main process 2017-05-23 02:05:13 +10:00
Kevin Sawicki
d8aca08da7 Set _debugWaitConnect on --inspect-brk 2017-05-16 14:50:49 -07:00
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