Commit graph

24 commits

Author SHA1 Message Date
Cheng Zhao
3142d5ca00
chore: support converting OnceCallback to V8 (#17941) 2019-04-25 09:40:27 +09:00
Cheng Zhao
671533f7d2 fix: check the result when calling js function (#17443)
* fix: check the result when calling js function

* test: should not crash when callback returns nothing
2019-03-20 08:27:06 -07:00
Jeremy Apthorp
d01db5a656 migrate to non-deprecated v8 functions
https://bugs.chromium.org/p/v8/issues/detail?id=8238

https://bugs.chromium.org/p/v8/issues/detail?id=7295

https://chromium-review.googlesource.com/c/v8/v8/+/1352273
2019-01-22 10:32:03 -08:00
Jeremy Apthorp
83d951db7e chore: DCHECK that events are only emitted on the UI thread (#15873)
* chore: DCHECK that events are only emitted on the UI thread

* move dcheck to EmitWithEvent
2018-11-30 18:48:27 +09:00
Charles Kerr
859567983a
chore: run clang-format to clear linter for #14977 (#14990) 2018-10-05 10:38:27 -05:00
Cheng Zhao
d3ae541397 refactor: Clean up the implementation of the registerStreamProtocol (#11357)
* Use weak pointer to avoid race condition

* Use DeleteSoon to delete pointer across threads

* Simplify EventSubscriber

* No need to manually mange V8 convertions

* Fix cpplint warning

We should update cpplint for this, but let's do it in other PR.

* Move UI thread operations to EventSubscriber

* Less and more assertions

Some methods are now private so no more need to assert threads.

* Fix cpplint warnings

* No longer needs the EventEmitted

* EventSubscriber => StreamSubscriber

* Reduce the copies when passing data

* Fix cpplint warnings
2018-10-04 10:13:09 -04:00
Shelley Vohr
53bdf22c85
clang-format atom files 2018-04-18 20:48:45 -04:00
Shelley Vohr
ca406637af
add converters for base::BindOnce and base::BindRepeating 2018-04-17 18:47:12 -04:00
Thiago de Arruda
64bfabdeba Make BindFunctionWith function visible to other modules. 2017-11-13 15:21:22 -03:00
Cheng Zhao
0ee2ab8a6e Fix accessing empty vector in V8FunctionInvoker 2017-07-31 16:47:14 +09:00
Ales Pergl
440b238157 Fixed build issues in debug mode 2017-06-30 12:28:01 +02:00
Cheng Zhao
e496e18f6e Make Archive thread safe 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
ee28f4fc32 Handle v8::MicrotasksScope in the main process 2016-06-24 14:45:31 +09:00
Cheng Zhao
7ba391da7c Update to API changes of Chrome 51 2016-05-23 10:59:39 +09:00
Cheng Zhao
73e7773d84 Update to API changes of Chrome 47 2015-12-07 19:56:23 +08:00
Cheng Zhao
e5358d405a Make sure V8 Function passed to native code are destroyed on UI thread 2015-12-03 11:24:33 +08:00
Cheng Zhao
d70706f876 Make sure handles of callbacks are releases on exit
Some callbacks are stored in native resources that not managed by
JavaScript, so when those resources are destroyed the JavaScript context
may already be destroyed, and releasing callbacks then would result in
crash.
2015-11-06 21:00:32 +08:00
Cheng Zhao
54dad72d92 Don't leak TranslaterHolder 2015-10-28 19:54:59 +08:00
Cheng Zhao
3881ad1c4b Don't leak FunctionTemplate when converting C++ callback 2015-10-28 19:54:59 +08:00
Robo
70fe169b0f nativemate: use maybe version of v8::Function::Call to avoid exceptions 2015-10-26 10:59:40 +05:30
Cheng Zhao
1bb0dde360 Use WebScopedRunV8Script in converted C++ functions 2015-08-07 19:37:17 +08:00
Cheng Zhao
5c18d89453 Reimplement callback.h with C++11 2015-08-07 19:35:35 +08:00
Cheng Zhao
2ff104d012 Move callback converter from native mate to electron 2015-08-07 19:35:35 +08:00