Cheng Zhao
34e9132b68
Modify Window API to be more consistent.
...
* '_' becomes '-'
* removes 'position' field
* adds 'center' method.
2013-05-10 20:34:05 +08:00
Cheng Zhao
e6a9add691
Rename atom module to atom_delegate to avoid conflicts with Atom.
2013-05-07 20:33:50 +08:00
Cheng Zhao
1900ad4cb9
Make sure the 'closed' event is emitted before 'window-all-closed'.
2013-05-07 16:20:52 +08:00
Cheng Zhao
ffc0d4f516
Fix whitespace/line_length warnings of cpplint.
2013-05-07 11:43:21 +08:00
Cheng Zhao
dae98fa43f
Expose MenuModel's methods in js.
2013-05-07 00:03:34 +08:00
Cheng Zhao
7cc04035c4
Add Menu API. (WIP)
2013-05-06 20:27:09 +08:00
Cheng Zhao
5915591592
Pass the native window object directly in native dialog API.
2013-05-05 20:36:46 +08:00
Cheng Zhao
67f998357c
Make the CallbacksRegistry a separate module, though rather small.
2013-05-05 20:30:38 +08:00
Cheng Zhao
f725927c44
Use cross-platform callbacks in the dialog API.
2013-05-05 20:24:20 +08:00
Cheng Zhao
35441ad8fb
The unwrapArgs relies on the valueToMeta function.
2013-05-04 22:59:32 +08:00
Cheng Zhao
e7547363e2
Check whether id is valid when adding to weak map.
...
It's possible that the object has been added to weak map before and then
erased, so having an id property doesn't mean it's added in the weak map.
2013-05-04 22:57:17 +08:00
Cheng Zhao
6bf0d5d798
Modify funtion's names to make RPC code more easy to understand.
2013-05-04 21:38:25 +08:00
Cheng Zhao
36c260f4d5
Resupport cross-process callback.
...
It seems that it's avoidable to make callback cross-process when we
start to emitting events for GUI elements, without this feature our
implementation will be much more complicated. I will find a way to warn
about resources leak in browser.
2013-05-04 17:01:28 +08:00
Cheng Zhao
188bb5e225
Pass remote objects from renderer to browser by ID.
2013-05-03 21:51:06 +08:00
Cheng Zhao
ec43f740a7
Add the generialized showMessageBox API.
2013-05-03 21:03:26 +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
42f10a15d5
URL => Url, ID => Id in coffee script.
2013-05-03 15:36:25 +08:00
Cheng Zhao
9b75019898
Add 'quit' and 'window-all-closed' events for app module.
2013-05-03 10:53:54 +08:00
Cheng Zhao
66404b5f15
Add the 'app' built-in module.
2013-05-03 00:05:09 +08:00
Cheng Zhao
d151d494bd
Add Browser class to controll when the application should quit.
2013-05-02 23:43:23 +08:00
Cheng Zhao
8cf1050730
Add _mac suffix for obj-c files.
2013-05-02 23:03:14 +08:00
Cheng Zhao
264f085afb
Add WindowList class to manage all windows.
2013-05-02 22:54:09 +08:00
Cheng Zhao
43d42ca57f
Quiting the application is now equivalent to close all windows.
2013-05-02 20:09:19 +08:00
Cheng Zhao
e7aab096e7
Make sure WindowClosed message is sent when window is destroyed.
2013-05-02 20:08:23 +08:00
Cheng Zhao
21df63fc9b
Add 'closed' and 'destroyed' event for Window.
2013-05-02 18:19:07 +08:00
Cheng Zhao
afe07521c5
Correctly handle window's lifetime when it's closed.
2013-05-01 23:28:01 +08:00
Cheng Zhao
9e489cae0c
Add window closing related methods for window observer.
2013-05-01 16:33:19 +08:00
Cheng Zhao
edd8410c24
Simply the closing model.
2013-05-01 16:12:00 +08:00
Cheng Zhao
9f1fe4d2c2
Closing a window requires closing web contents now.
...
In this way, we can prevent the close of window by using beforeunload
handler.
2013-05-01 15:42:30 +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
a674572dd4
Implement beforeunload event.
...
Unlike normal browser which would show a dialog to choose whether to
continue, you can just return a empty string in the handler to prevent
unloading.
2013-05-01 00:05:19 +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
74c519ac3f
Enable getting window from routing id and process id.
2013-04-30 20:32:23 +08:00
Cheng Zhao
a06c9b806b
Add API to get any global variable from browser.
2013-04-30 16:27:14 +08:00
Cheng Zhao
6c21121001
Avoid using destoryed native objects in js API.
2013-04-29 19:38:18 +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
536b523232
Keep an id for each object added to global weak map.
2013-04-26 22:33:31 +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
dded164052
Separate stored objects by the render view.
...
When a render view is closed, it's not guarrenteed that all objects'
weak callback would be called. So we must clean up all objects manually
after the render view gets closed.
2013-04-26 21:14:29 +08:00
Cheng Zhao
bcfec7c8cd
Notify creation and destruction of native objects.
2013-04-25 20:23:00 +08:00
Cheng Zhao
a513daae30
Enable idle GC in browser.
2013-04-25 19:41:23 +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
678a4953fa
Better support of array type in RPC.
2013-04-25 16:03:29 +08:00
Cheng Zhao
2997eb9c77
Add renference links.
2013-04-25 15:12:56 +08:00
Cheng Zhao
0692776020
No more C++ RecordedObject and ObjectsRegistry code.
...
All RPC API will be implemented in pure javascript.
2013-04-25 15:02:58 +08:00