Commit graph

141 commits

Author SHA1 Message Date
Cheng Zhao
aeeb2a259f destruct objects in stack order 2018-05-21 10:53:09 +09:00
Cheng Zhao
1c6c75da4f Merge the logic of managing ViewsDelegate 2018-04-20 19:10:37 +09:00
Cheng Zhao
37a7df49d6 mac: Provide ViewsDelegate 2018-04-20 19:10:37 +09:00
Shelley Vohr
c6f4bbd143
also format missing .cc files 2018-04-18 20:48:45 -04:00
Robo
171230e45d Cleanup destruction of URLRequestContextGetter (#12305)
- Add Leak detector
 - Indicate shutdown of request context from Browser Context
 - Change stored references to URLRequestContextGetter to use BrowserContext
 - Destroy session properties explicitly
2018-03-30 08:24:55 -05:00
deepak1556
4b39d17e5f move pdf viewer behind feature flag 2018-03-20 10:13:17 +03:00
OJ Kwon
e7181eb89c feat(powerMonitor): expose interface to query system idle state (#11807)
* feat(BrowserWindow): expose interface to query system idle state

* test(BrowserWindow): update test cases for querySystemIdle interface

* docs(BrowserWindow): add querySystemIdle interface documentation

* refactor(powerMonitor): move querySystemIdle into powerMonitor

* test(powerMonitor): split test cases for all platform
2018-03-14 14:42:08 +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
shelley vohr
ca34978e73 add app.setLocale() (#11469)
* infrastructure for setLocale via klang

* add documentation for setLocale

* add test for setLocale

* fix spec

* add spec and update docs

* fix carriage feeds on windows

* SetLocale() sets LC_ALL on Linux

* in SetLocale() on Linux, use g_setenv()

* fix tyop: '#ifdef OSX_POSIX'

* make the linter happy

* improvements from review
2018-02-08 08:26:37 -06:00
Cheng Zhao
952928dc79 Singleton must be created on request
The creation of singleton relies on the `userData` dir, which can be
changed by user, we have to ensure singleton uses the `userData` dir set
by user.
2018-01-03 18:59:12 +09:00
deepak1556
b9ace16959 update libcc for using custom platform with gin 2018-01-02 16:37:12 +09:00
deepak1556
769fbd0d3b REVIEW: register BrowserChildProcessObserver once main message loop is ready 2018-01-02 16:37:11 +09:00
deepak1556
1b30cac372 Don't delay node module initialization 2018-01-02 16:37:11 +09:00
deepak1556
ee80313666 opt into location service on main thread 2018-01-02 16:37:09 +09:00
deepak1556
a1592446da REVIEW: access GetApplicationLocale on sequence that allows IO 2018-01-02 16:37:08 +09:00
deepak1556
88e53b1b5e REVIEW: destroy process singleton on sequence where IO is allowed 2018-01-02 16:37:07 +09:00
Cheng Zhao
c0c2461245 Do not create duplicate V8Platform in NodeDebugger 2017-12-22 20:29:09 +09:00
Samuel Attard
0ab83b301d Refactor as per @zcbenz comments
Also fix issue where we run the single instance callback *not* on the UI thread,
this apparently results in a hung process.
2017-09-20 11:58:32 +09:00
Samuel Attard
f928a399ae Move OnBrowserReady call to PreMainMessageLoopRun to account for timing issues on macOS 2017-09-20 11:58:32 +09:00
Kevin Sawicki
a33643c518 Start node inspector agent when --inspect is present 2017-05-16 14:44:28 -07:00
Kevin Sawicki
4824c24fbc Remove non-functional node debugger usage 2017-05-11 10:59:51 -07:00
Cheng Zhao
e496e18f6e Make Archive thread safe 2017-03-20 12:52:46 -07:00
Cheng Zhao
c068285ff8 AtomBindings should not use default uv loop 2017-03-20 12:52:46 -07:00
Cheng Zhao
b467c3939e Add a new type of NodeBindings 2017-03-20 12:52:45 -07:00
deepak1556
578b717b5f fix cpplint error 2017-03-14 00:25:59 +05:30
deepak1556
fdd574cea5 browser: implement pdf renderer as webui 2017-03-14 00:25:59 +05:30
Cheng Zhao
a0605275b9 Clean up node environment on exit in main process 2017-03-02 17:19:00 +09:00
Cheng Zhao
be29ea4dad libgtk2ui => libgtkui 2017-02-06 10:34:29 -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
Kevin Sawicki
1072519488 Mark atom-shell version as deprecated 2016-09-16 15:59:00 -07:00
Charlie Hess
32e0e8a151 Use smart pointers in a couple places. 2016-09-08 16:23:55 -07:00
Charlie Hess
cd25066c9f Fix oops on Windows / Linux. 2016-08-31 17:26:25 -07:00
Charlie Hess
af9e010162 Send notification userInfo to app.ready, on macOS.
Check if the user launched the app from a notification and send the notification args across if so.
2016-08-31 17:17:44 -07:00
deepak1556
835891b373 browser: register extension scheme as web safe scheme 2016-08-04 04:30:25 +05:30
Cheng Zhao
b57665330c Merge branch 'master' into chrome52 2016-07-21 05:34:36 -06:00
Haojian Wu
fab02809c6 Modernize to C++11: NULL => nullptr.
No functional change.
2016-07-10 11:57:04 +02:00
Cheng Zhao
1ba3907038 Update to API changes of Chrome 52 2016-07-04 15:32:43 +09:00
Cheng Zhao
ee28f4fc32 Handle v8::MicrotasksScope in the main process 2016-06-24 14:45:31 +09:00
Leonard Lamprecht
67dd19ed0f Replace OS X and Mac OS with macOS 2016-06-18 15:26:26 +02:00
Cheng Zhao
3780d9f033 Use LowMemoryNotification for GC 2016-04-13 17:58:36 +09:00
Kevin Sawicki
fc84c952f2 Update source code for new org 2016-04-04 12:07:22 -07:00
Cheng Zhao
e401335ebb Get rid of the global_env 2016-03-27 19:21:12 +09:00
Cheng Zhao
9a13d559e9 Leak the JavascriptEnvironment on exit
This is to work around the bug that V8 would be waiting for background
tasks to finish on exit, while somehow it waits forever in Electron, more
about this can be found at https://github.com/atom/electron/issues/4767.

On the other handle there is actually no need to gracefully shutdown V8
on exit in the main process, we already ensured all necessary resources get
cleaned up, and it would make quitting faster.
2016-03-14 13:59:31 +09:00
Krzysztof
440c588a33 Pass --touch-devices to chromium contents under X11 2016-01-11 12:23:53 +01:00
Kevin Sawicki
92433be888 Include exit code with quit event 2015-12-09 18:09:59 -08:00
Cheng Zhao
eb8426269f Remove itself from the cleanup list when it is destroyed 2015-12-03 17:04:40 +08:00
Cheng Zhao
44e24ebf7a Delete BridgeTaskRunner when main message loop is ready 2015-11-30 22:29:01 +08:00
Cheng Zhao
863199348f Make process.exit() quit gracefully
Instead of abrupting the whole program immediately, we should close all
windows and release all native resources gracefully on exit. This avoids
possible crashes.

Fix #3350.
2015-11-06 20:25:20 +08:00
Cheng Zhao
07c55f321f Destroy JS env immediately after running destruction callbacks 2015-11-04 17:31:10 +08:00
Cheng Zhao
84410a7e1c mac: Destroy the app delegate before running destruction callbacks
Otherwise users might be able to access wrapper functions after they are
destroyed.
2015-11-04 17:23:27 +08:00
Cheng Zhao
05c6300329 Don't discard tasks in BridgeTaskRunner 2015-10-22 15:54:27 +08:00
Cheng Zhao
acb2c099f6 Make sure current task runner is available
When calling makeSingleInstance we have to ensure current task runnder
is available, otherwise crash may happen.
2015-10-22 14:56:57 +08:00
Cheng Zhao
d4bfeff6ad Fix crashing on Linux 2015-10-04 20:08:19 +08:00
Cheng Zhao
0e131f760b Quit gracefully when Ctrl-C is pressed 2015-10-04 19:21:36 +08:00
Cheng Zhao
74b76102a8 linux: No longer needs to manually read DPI settings
It is now done in brightray by reading the value from GTK+.
2015-10-04 16:53:20 +08:00
Cheng Zhao
9d51da505e Run destruction callbacks before message loop gets destroyed 2015-09-09 19:27:08 +08:00
Cheng Zhao
e365cb6b1c No longer needs to define node_includes.h at last 2015-09-07 16:41:49 +08:00
Cheng Zhao
fafb28e41a Move management of browser context to BrowserContext 2015-09-06 10:54:34 +08:00
Cheng Zhao
ba25bed45b Store BrowserContext in ref-counted ptr 2015-09-06 10:54:34 +08:00
Cheng Zhao
3773f81fd5 Pass partition name instead of path to BrowserContext 2015-09-06 10:53:39 +08:00
Eran Tiktin
0577e911b3 Fix build failing on Windows
build.py would fail on Windows due to a couple of changes made in #2459.

This commit fixes those issues.
2015-09-04 23:24:42 +03:00
Robo
8f59c0b642 create partitionId with encodedURIcomponent 2015-09-03 20:49:29 +05:30
Robo
d180d3b168 webview: fix partition attribute 2015-09-03 20:49:29 +05:30
Cheng Zhao
262b66b93a Feed gin::PerIsolateData with a task runner 2015-09-03 17:50:23 +09:00
Cheng Zhao
a1a6ea6fe1 Revert "Remove our own debugger implementation"
This reverts commit 1d148fe2fb.
2015-08-27 12:25:28 +08:00
Cheng Zhao
cc8b22b5ff Make each class only have one weak map 2015-06-24 17:58:12 +08:00
Cheng Zhao
7f0658efa7 Add mate::TrackableObject 2015-06-24 14:36:05 +08:00
Cheng Zhao
e6341ceaaa Move BrowserProcess to BrowserMainParts 2015-06-18 16:34:02 +08:00
Cheng Zhao
1d148fe2fb Remove our own debugger implementation
Previously it was used because Node doesn't provide one for latest V8.
2015-04-20 14:35:57 +08:00
Cheng Zhao
105ad369ab linux: Fix compilation error 2015-03-18 09:57:48 +08:00
Cheng Zhao
7e33e26465 Add atom-shell bindings before loading environment 2015-01-21 15:02:09 -08:00
Cheng Zhao
5e58915bdd Separate LoadEnvironment from CreateEnvironment 2015-01-21 14:00:19 -08:00
Kevin Sawicki
b6b6fc3bfd Remove All Rights Reserved after GitHub copyright
Closes #762
2014-10-31 11:17:05 -07:00
Cheng Zhao
4b75b10542 Add libgio loader 2014-10-21 18:50:50 +08:00
Cheng Zhao
4dd7848084 Run idle GC in browser every 1m 2014-10-17 12:41:40 +08:00
Cheng Zhao
3795cc58b0 Pass debugger messages between V8 debugger. 2014-09-05 10:44:07 +08:00
Cheng Zhao
2bcb7393c4 Avoid calling GetRequestContext() in UI thread, fixes #591.
Since we can access job factory without touching the request context,
there is no need to make sure GetRequestContext() is called before using
the protocol module.
2014-08-20 13:48:38 +08:00
Cheng Zhao
1207dfde4c Add support for --debug switch. 2014-08-19 23:36:26 +08:00
Cheng Zhao
33580f66df Run user's main script before everything is initialized, fixes #543. 2014-08-04 20:51:08 +08:00
Cheng Zhao
a6ede12cd7 Make sure javascript environment is initialized after ProxyResolverV8. 2014-07-28 20:28:50 +08:00
Cheng Zhao
7a89a08534 Update to new Chromium APIs. 2014-07-28 20:28:49 +08:00
Cheng Zhao
61db17412c Use views to implement NativeWindow and MessageBox on Linux. 2014-07-04 01:30:36 +08:00
Cheng Zhao
6a891be0e4 Make the node environment constrained in browser_main_parts. 2014-06-30 14:16:16 +08:00
Cheng Zhao
cd4c5d976b Adapt to API changes of Chromium and node. 2014-06-28 22:33:00 +08:00
Cheng Zhao
58ccb27792 There is no more node_isolate. 2014-06-28 19:49:55 +08:00
Cheng Zhao
f176b2c58f Switch to use MIT license. 2014-05-04 20:29:08 +08:00
Cheng Zhao
c0875864dc Handle IPC messages in webContents instead of BrowserWindow. 2014-04-25 16:13:16 +08:00
Cheng Zhao
5dae7b8658 Put converters under atom/common/native_mate_converters. 2014-04-17 13:45:14 +08:00
Cheng Zhao
516d46444d Move all sources under atom/. 2014-03-16 08:30:26 +08:00
Renamed from browser/atom_browser_main_parts.cc (Browse further)