Commit graph

423 commits

Author SHA1 Message Date
Cheng Zhao
40e06db3a8 Use the platform_util_win implementation from Chromium. 2013-07-02 18:47:51 +08:00
Cheng Zhao
236b29ee8c Fix main function on Windows. 2013-07-02 18:02:55 +08:00
Cheng Zhao
892f1aa7ce Rename source_root to atom_source_root to avoid conflicts. 2013-07-02 12:10:14 +08:00
Cheng Zhao
59ba3f1025 Implement main function on Windows. 2013-07-01 22:21:31 +08:00
Cheng Zhao
fecaa7b75a Should enable C++ exceptions for all targets on Windows.
It's a requirement for using standard library of VS.
2013-07-01 20:52:48 +08:00
Cheng Zhao
49a5f6e38c Compile atom_lib with C++ exception enabled. 2013-07-01 18:31:23 +08:00
Cheng Zhao
02ba7d27b9 Make Objective-C's categories work.
See more on:
http://stackoverflow.com/questions/2567498/objective-c-categories-in-static-library
2013-06-29 09:23:27 +08:00
Cheng Zhao
6362e60a7b Make video and audio tag work, fixes #31.
See more about this on:
fdf20531bd
2013-06-26 10:31:32 +08:00
Cheng Zhao
5c48f03dfe Rewrite compile-coffee script in python. 2013-06-24 16:24:19 +08:00
Cheng Zhao
6bb3f1bba8 Merge branch 'master' into python
Conflicts:
	script/update
2013-06-22 07:55:51 +08:00
Cheng Zhao
f26db5c7a1 Enable getUserMedia(). Part of fixes for #31. 2013-06-21 16:05:28 +08:00
Cheng Zhao
6d187cbb7d Build atom-shell with ninja. 2013-06-19 21:34:43 +08:00
Cheng Zhao
b9455a997c Add runModalSheetForWindow method for NSAlert. 2013-06-07 15:41:26 +08:00
Cheng Zhao
1f8fd40195 Add auto-updater module. 2013-06-03 17:59:34 +08:00
Cheng Zhao
08dbdd9718 Wrap Sparkle's minimum interface with C++. 2013-06-02 20:26:03 +08:00
Cheng Zhao
312744b863 Build with Sparkle.framework. 2013-06-02 15:48:08 +08:00
Cheng Zhao
cd42fcceb9 Add crash reporter module (based on Quincy). 2013-06-01 15:57:37 +08:00
Cheng Zhao
97bc6cfc81 Build with Quincy. 2013-06-01 15:17:45 +08:00
Cheng Zhao
bb69d99423 Use - as filename seperator for coffee script files. Fixes #15.
Also clean unused files and wrong file names.
2013-05-30 20:21:07 +08:00
Cheng Zhao
2bb33d8b32 Rewrite dialog API with our simpler blocking dialog implementations.
Fixed #9, fixed #10.
2013-05-20 21:50:54 +08:00
Cheng Zhao
84e721188b Build node-webkit style Menu API arounding the delegate-style Menu API. 2013-05-16 19:34:23 +08:00
Cheng Zhao
b16c19ce32 Convert generic accelerator to platform accelerator.
When creating menus, the accelerators must be converted to platform
accelerators before they can be used.
2013-05-16 15:24:18 +08:00
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