Cheng Zhao
072ac8ba0b
Rename 'window' module to 'browser_window' module. Fix #3 .
2013-05-15 19:19:53 +08:00
Cheng Zhao
014b0a9a38
Add StringToAccelerator to parse a string as an accelerator.
2013-05-14 21:12:27 +08:00
Cheng Zhao
d6103dd639
Expose Menu API in javascript.
2013-05-14 19:24:52 +08:00
Cheng Zhao
667384ef74
Use Atom's icon.
2013-05-14 15:50:33 +08:00
Cheng Zhao
ebac5f9ed5
Ship the custom node binary build with atom-shell.
...
This is required by the child_process.fork, which is indeed executing
the node binary to start a script.
The node fork can be found at:
https://github.com/atom/cefode-node/tree/chromium-v8
2013-05-11 21:07:03 +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
7cc04035c4
Add Menu API. (WIP)
2013-05-06 20:27:09 +08:00
Cheng Zhao
67f998357c
Make the CallbacksRegistry a separate module, though rather small.
2013-05-05 20:30:38 +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
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
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
7a2734ed71
Add Clipboard API.
2013-04-30 16:10:25 +08:00
Cheng Zhao
157c978aa8
Add Shell API.
...
Include APIs:
shell.showItemInFolder
shell.openItem
shell.openExternal
shell.moveItemToTrash
2013-04-29 21:57:05 +08:00
Cheng Zhao
fbad5bc822
Add platform_util from Chrome.
...
The platform_util files just come from chrome/browser/ with slight
modifications so it doesn't depend on grit/generate_resources.h, which
is not availabe in libchromiumcontent because it's generated by chrome's
chrome/app/generated_resources.grd.
2013-04-29 20:41:11 +08:00
Cheng Zhao
e91d4c7c99
Add WeakMap built-in module.
2013-04-25 21:46:04 +08:00
Cheng Zhao
a513daae30
Enable idle GC in browser.
2013-04-25 19:41:23 +08:00
Cheng Zhao
cc37431a1f
Add v8_util.setDestructor.
...
This API can monitor when the object is GCed by V8, this is required by
the RPC API since we want to make sure the remote object got destroied
when object in renderer is GCed.
2013-04-25 18:25:18 +08:00
Cheng Zhao
ddad3e4846
Add built-in v8_util module for internal use.
2013-04-25 16:30:31 +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
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
16244e42e0
Use require('ipc').send to communicate between browser and renderer.
2013-04-23 12:18:07 +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
Cheng Zhao
5948bff23f
Share same native bindings code on both renderer and browser.
2013-04-21 14:53:26 +08:00
Cheng Zhao
993cf1cc61
Add API messages for IPC.
2013-04-21 11:01:04 +08:00
Cheng Zhao
683087fbc4
Record all objects created by API in browser.
2013-04-20 21:52:46 +08:00
Cheng Zhao
1309d04ca7
Emulate DOM's Event class.
2013-04-18 21:42:20 +08:00
Cheng Zhao
2d016785a7
Add observers list for NativeWindow.
2013-04-18 20:50:58 +08:00
Cheng Zhao
60528e53ee
Use JavaScript to open the main window.
2013-04-17 20:05:43 +08:00
Cheng Zhao
7da34e65f7
Initial empty window javascript binding.
2013-04-16 00:25:08 +08:00
Cheng Zhao
488d72e41b
Internal built-in module code should be wrapped under api namespace.
2013-04-15 23:01:12 +08:00
Cheng Zhao
ef2056c3f5
Initial javascript startup code.
2013-04-15 15:39:54 +08:00
Cheng Zhao
a7516f3da5
Copy the default_app to bundle.
2013-04-14 23:24:46 +08:00
Cheng Zhao
ee420b1590
Write js codes in coffee script.
2013-04-14 22:48:35 +08:00
Cheng Zhao
0f6ece2d27
Add our own built-in native module system.
2013-04-14 15:36:48 +08:00
Cheng Zhao
409228207c
Integrate libuv with browser's message loop.
2013-04-13 23:05:13 +08:00
Cheng Zhao
40307126d7
Load atom.js on startup.
2013-04-13 21:10:41 +08:00
Cheng Zhao
f853fc3df5
Initialize node in browser process.
2013-04-13 18:39:09 +08:00
Cheng Zhao
939b695675
Build with node.
2013-04-12 22:52:32 +08:00
Cheng Zhao
87dbf82d83
Pass brightray.gypi via parameters.
...
We need to make sure node.gyp can get variables in brightray.gypi, this
needs minimum modifications.
2013-04-12 21:17:54 +08:00
Cheng Zhao
f5e74e1b65
AtomBrowserMainParts is platform-independent now.
2013-04-12 15:57:17 +08:00
Cheng Zhao
3391370857
Steal ChromeEventProcessingWindow from chrome.
...
Chromium has done quite a lot of low level works for us, steal them to
ease our lives.
2013-04-12 15:24:36 +08:00
Cheng Zhao
c27cbaaaf9
Implement generic native window class.
2013-04-12 15:04:46 +08:00
Cheng Zhao
a915cf2e81
Initial empty browser.
2013-04-12 10:14:23 +08:00