Cheng Zhao
188bb5e225
Pass remote objects from renderer to browser by ID.
2013-05-03 21:51:06 +08:00
Cheng Zhao
73d4b01597
Cache remote.getCurrentWindow.
2013-05-03 21:14:28 +08:00
Cheng Zhao
4aeb5e1388
Add dialog API.
...
Supported APIs:
* openFile
* openMultiFiles
* openFolder
* saveAs
Each API is asynchronous and accepts a callback.
2013-05-03 19:31:24 +08:00
Cheng Zhao
31d6be0e63
Release resources in browser when renderer view is gonna unloaded.
2013-05-01 10:59:29 +08:00
Cheng Zhao
bcf6cd9f1b
Drop support for cross-process callbacks.
...
Now it's forbidden for browser to store reference to objects (including
functions) in renderer, because when the renderer is destroyed, it's
extremely hard to clean all of corresponding objects in browser
correctly, which would cause very bad resources leak.
2013-04-30 22:37:54 +08:00
Cheng Zhao
a06c9b806b
Add API to get any global variable from browser.
2013-04-30 16:27:14 +08:00
Cheng Zhao
1f1f6abd78
💄
2013-04-29 19:56:12 +08:00
Cheng Zhao
af57d3be08
Uniform message names.
...
Messages sent to browser should be prefixed with ATOM_BROWSER_, and
messages sent to renderer should be prefixed with ATOM_RENDERER_.
2013-04-29 18:59:34 +08:00
Cheng Zhao
f1e15b49a9
Support passing callbacks from renderer to browser.
2013-04-29 18:24:37 +08:00
Cheng Zhao
948e50285d
Use camelCase not under_score, I forgot it's coffee script.
2013-04-27 19:13:24 +08:00
Cheng Zhao
99f6a5678a
Add remote.getCurrentWindow() API in renderer.
2013-04-27 19:06:41 +08:00
Cheng Zhao
b35946381b
Make the RPC stuff code more understandable.
2013-04-26 23:58:49 +08:00
Cheng Zhao
da3d4c8408
Allow renderer to get object in browser for arbitrary times.
...
Now, when creating a remote object in renderer, the browser will
reference the corresponding object by storing it in a strong map. And
when the remote object in renderer is GCed, the corresponding object
will be dereferenced in browser.
2013-04-26 23:26:41 +08:00
Cheng Zhao
cc921fed1e
Add remote.getObject API to get object in browser by it's ID.
2013-04-26 22:25:30 +08:00
Cheng Zhao
3f6f2f4bea
Tell browser to release remote object when the object is GCed.
2013-04-25 19:28:04 +08:00
Cheng Zhao
a7ddf57620
Cheat on the remote object's constructor name.
2013-04-25 16:36:28 +08:00
Cheng Zhao
678a4953fa
Better support of array type in RPC.
2013-04-25 16:03:29 +08:00
Cheng Zhao
70fe77ca34
Return object instead of function for remote object type.
2013-04-25 15:28:37 +08:00
Cheng Zhao
2997eb9c77
Add renference links.
2013-04-25 15:12:56 +08:00
Cheng Zhao
d723173bc7
Initial RPC API implementation.
...
Basic usage is:
remote = require 'remote'
Window = remote.require 'window'
w = new Window { width: 800, height: 600 }
Still need to do:
* Beter support for Array type.
* Remote objects should cheat devtools.
* Support cross-process callbacks.
2013-04-24 16:43:01 +08:00
Cheng Zhao
f8899242c5
No more plan for ipc.sendSync in browser.
...
I want the browser to be fully asynchronous, so sending synchronous
messages from browser to renderer will be unacceptable.
2013-04-23 22:21:49 +08:00
Cheng Zhao
1b87a31940
Add ipc.sendSync in renderer.
2013-04-23 21:52:19 +08:00
Cheng Zhao
8f0b2b6363
small tune of IPC interface.
2013-04-23 20:57:14 +08:00
Cheng Zhao
d28f51fb9c
Add getRoutingID and getProcessID for window API.
2013-04-23 17:21:34 +08:00
Cheng Zhao
16244e42e0
Use require('ipc').send to communicate between browser and renderer.
2013-04-23 12:18:07 +08:00
Cheng Zhao
66a0abe799
Renderer can now use process.send to send messages to browser.
2013-04-22 21:32:48 +08:00
Cheng Zhao
a7c3bdbf5d
Separate AtomBindings for renderer.
2013-04-22 16:27:52 +08:00
Cheng Zhao
2ba3ce740c
Remove RemoteObject, C++ layer should only have basic bridges.
2013-04-22 16:16:55 +08:00
Cheng Zhao
3ae0c99ca9
Add the RemoteObject API in renderer. (not implemented yet)
2013-04-22 09:13:25 +08:00