Cheng Zhao
0398577e93
gtk: Implement basic native window methods.
2014-01-15 13:28:00 +00:00
Cheng Zhao
42dc9c1ec6
Add dummy implementation of crash reporter.
2014-01-15 12:01:03 +00:00
Cheng Zhao
2f798c5116
Merge branch 'master' into linux
...
Conflicts:
vendor/apm
2014-01-15 11:18:40 +00:00
Cheng Zhao
b0c23294fe
Also use uv loop fixes in browser process.
2014-01-13 13:57:08 +08:00
Cheng Zhao
7253a35455
Add initial screen module.
2014-01-07 20:00:25 +08:00
Cheng Zhao
cf4616de7f
api::EventEmitter could also be used by renderer.
2014-01-07 19:32:40 +08:00
Cheng Zhao
fe8a2b9ee0
Still support 'atom-delegate' API for old apps.
2014-01-07 09:50:00 +08:00
Cheng Zhao
a4253e3899
linux: Implemnt browser methods.
2014-01-02 14:47:54 +00:00
Cheng Zhao
52b5f769f0
linux: Add empty implementation of auto updater.
2014-01-02 14:15:02 +00:00
Cheng Zhao
b73a114f8f
gtk: Implement accelerator_util.
2014-01-02 14:12:05 +00:00
Cheng Zhao
f24ccd3841
linux: Implement platform_util.
2013-12-31 12:59:33 +00:00
Cheng Zhao
66ac11ca5f
linux: Implement brightray's stub functions.
2013-12-31 12:24:53 +00:00
Cheng Zhao
6c5ea4ea32
Compile coffee script on Linux.
2013-12-31 08:01:08 +00:00
Cheng Zhao
031426d54e
Use our fork of V8ValueConverter for all cases.
2013-12-23 22:42:21 +08:00
Cheng Zhao
902be9bab5
Update node: Removed two unused patches.
2013-12-20 14:20:24 +08:00
Cheng Zhao
5b12f80d01
Discard the require('atom-delegate') API.
2013-12-17 22:08:45 +08:00
Cheng Zhao
886ebdb002
Use node's Environment feature to add "require" in renderer.
2013-12-15 14:20:28 +08:00
Cheng Zhao
28f5d184b3
Do not depend on node to set include_dirs.
...
Part of atom/node#2 .
2013-12-12 14:07:00 +08:00
Cheng Zhao
e4bfa373de
Fix node integration to browser after updated to Chrome31.
2013-12-11 23:59:03 +08:00
Cheng Zhao
409a431892
Huge commit to use new V8 and Content APIs.
...
Still got a lots of linking errors!
2013-12-11 15:48:19 +08:00
Cheng Zhao
0a37852757
Update to node v0.11.9.
2013-12-10 14:07:32 +08:00
Cheng Zhao
287c948845
Enable getting scoped_ptr type from v8 value.
...
God damned C++ template.
2013-12-05 23:25:14 +08:00
Cheng Zhao
94569f7f8c
Fix executing python script in gyp.
2013-11-28 20:11:06 +08:00
Cheng Zhao
deef68bcf9
Also search libchromiumcontent download dir for dSYMs.
2013-11-23 01:07:38 -08:00
Cheng Zhao
2fd3616ef3
win: Implement the atom_dump_symbols target.
2013-11-26 21:34:27 +08:00
Cheng Zhao
a5224f705d
mac: Use "Atom Framework.framework" instead of "Atom.framework".
...
The "Atom.framework" would confuse breakpad with "App.app" when finding
symbols.
2013-11-25 15:37:39 +08:00
Cheng Zhao
59f586ba59
Use "Atom-Shell" instead of "atom-shell" for product names.
2013-11-24 23:17:48 +08:00
Cheng Zhao
6f8c46d2f4
win: Start as crash service when ATOM_SHELL_INTERNAL_CRASH_SERVICE is set.
2013-11-24 17:35:58 +08:00
Cheng Zhao
4bab284f2e
Add crash_service on Windows.
2013-11-23 20:26:47 +08:00
Cheng Zhao
e4b4087fdb
Create symbols zip file when creating distribution.
2013-11-18 11:41:44 +08:00
Cheng Zhao
1d2de6d1fb
mac: Add target to dump breakpad symbols.
2013-11-15 22:52:08 +08:00
Cheng Zhao
d1a5c49843
win: Add stubs for crash reporter.
2013-11-14 13:42:28 +08:00
Cheng Zhao
9007a45051
Refactor crash reporter to be more cross-platform friendly.
2013-11-14 13:33:09 +08:00
Cheng Zhao
374cf948e4
Make the crash reporter available for both browser and renderer.
2013-11-13 17:29:35 +08:00
Cheng Zhao
896c1793d3
mac: Copy necessary breakpad binaries to package.
2013-11-13 17:20:51 +08:00
Cheng Zhao
85428d8eb3
No more use of QuincyKit.
2013-11-13 17:20:51 +08:00
Cheng Zhao
e8455d5c9a
Add breakpad as build dependency.
2013-11-12 18:07:25 +08:00
Cheng Zhao
85243edf4e
win: Add an icon.
2013-11-07 09:55:59 +08:00
Cheng Zhao
64b2d0da36
Add a corresponding .h file for atom_main.cc.
...
It's required if we want to include Chromium headers before C headers
and do not break cpplint rules in the meanwhile.
2013-11-05 13:12:13 +08:00
Cheng Zhao
cf75e4ac49
Move atom_event_processing_window to browser/ui.
2013-09-25 16:51:55 +08:00
Cheng Zhao
eed8f6cabc
Remove the CustomFrameView, it's no longer needed.
2013-09-25 15:40:22 +08:00
Cheng Zhao
11ca836afc
Use the convient V8 wrapper in all files.
2013-09-24 09:41:54 +08:00
Cheng Zhao
a0d1a7620c
Put FromV8Value and ToV8Value to a new header.
2013-09-23 21:30:54 +08:00
Cheng Zhao
ef4b36d621
Use string16 instead of std::string when sending IPC messages.
...
The underlying V8::String is represented in UTF18, by using string16 in
IPC messages we can avoid the overhead of encode conversion.
2013-09-20 22:55:42 +08:00
Cheng Zhao
3f357f184d
Use custom url request getter to setup request job factory.
2013-09-20 16:47:47 +08:00
Cheng Zhao
8708d0611a
mac: Force using "Atom" as application name in framework bundle path.
2013-09-12 17:51:45 +08:00
Cheng Zhao
f38eb1b66f
mac: Import chromium's CustomFrameView code.
2013-09-11 13:46:36 +08:00
Cheng Zhao
40273cf37d
Add IPC messages and structs for passing draggable regions.
2013-09-05 19:46:12 +08:00
Cheng Zhao
3b7dd85d3f
Merge pull request #65 from atom/custom-protocol
...
Support custom protocols
2013-09-04 03:33:09 -07:00
Cheng Zhao
766347ffae
Generate node.lib from atom.lib and chromiumcontent.dll.lib.
2013-08-31 16:37:01 +08:00
Cheng Zhao
5787b4cd6f
Also ship ffmpegsumo.dll in the distribution.
2013-08-31 11:13:11 +08:00
Cheng Zhao
df30f130d3
Separate logics between low level URLRequestJob and js calls.
2013-08-30 20:02:17 +08:00
Cheng Zhao
24e613c827
Separate URLRequestStringJob from atom_api_protocol.
2013-08-30 16:16:41 +08:00
Cheng Zhao
7df256f8dc
Move atom_url_request_job_factory to browser/net.
2013-08-30 16:10:36 +08:00
Cheng Zhao
72c604f741
Custom the implementation of url request job factory.
...
It's needed for interceptor API.
2013-08-30 12:04:51 +08:00
Cheng Zhao
b9cbfb8103
Skelecton for the protocol module.
2013-08-24 15:26:10 +08:00
Cheng Zhao
dde07f03ec
[Win] Remove the extra MenuWrapper class.
2013-08-19 16:30:25 +08:00
Cheng Zhao
ee10c469c8
[Win] Ship with Chromium's menu library.
...
I will hack it.
2013-08-17 16:42:12 +08:00
Cheng Zhao
22012d41d8
[Mac] Ship the MenuController implementation from Chromium.
2013-08-14 22:24:21 +08:00
Cheng Zhao
f4425afb39
Move accelerator_util to browser/ui.
2013-08-13 17:07:25 +08:00
Cheng Zhao
d2f1a03b51
Move nsalert_synchronous_sheet to browser/ui.
2013-08-13 17:00:30 +08:00
Cheng Zhao
97bf979b22
Move file_dialog and message_box to browser/ui.
2013-08-13 16:51:47 +08:00
Cheng Zhao
317bd0debf
Discard the extra node binary.
...
We now use atom-shell's binary to execute scripts.
2013-08-08 16:57:07 +08:00
Cheng Zhao
55034be104
Add power-monitor module, fixes #45 .
2013-08-03 16:03:56 +08:00
Cheng Zhao
394fb77ee0
[Win] Implement dialog.showSaveDialog.
2013-08-01 15:39:53 +08:00
Cheng Zhao
d888f5cc31
Revert "Enable getUserMedia(). Part of fixes for #31."
...
Now the getUserMedia is implemented in brightray.
This reverts commit f26db5c7a1
.
Conflicts:
atom.gyp
2013-08-01 14:50:06 +08:00
Cheng Zhao
4acbbd1ad7
Discard the idle gc module.
2013-07-29 20:34:07 +08:00
Cheng Zhao
7d61dcdde1
[Win] Write log to file in Debug build.
2013-07-23 16:37:00 +08:00
Cheng Zhao
008b8d404d
Don't separate node bindings into renderer and browser part.
...
Since we are going to use embeding thread to implement message
integration on all platforms, we do not need to separate renderer and
browser anymore.
2013-07-22 16:05:35 +08:00
Cheng Zhao
41ff753339
Don't use gcd to post tasks to main thread.
2013-07-22 13:03:13 +08:00
Cheng Zhao
4c71fbb68b
[Win] views_chromiumcontent.lib is renamed to chromiumviews.lib.
2013-07-09 12:26:31 +08:00
Cheng Zhao
7dae2c4966
Link to the views module as static library.
2013-07-09 10:22:38 +08:00
Cheng Zhao
525433905b
Also ship content_shell.pak on Windows.
2013-07-08 09:55:38 +08:00
Cheng Zhao
7c44d1fa3e
Compile out a working exe!
2013-07-06 08:29:08 +08:00
Cheng Zhao
d473fcbf64
Implement basic methods of NativeWindowWin.
2013-07-05 18:33:37 +08:00
Cheng Zhao
ec147010fd
Add dummy implemenation of accelerator_util for Windows.
2013-07-05 10:23:10 +08:00
Cheng Zhao
3d77ee9d3b
Add dummy implementation of file dialog for Windows.
2013-07-05 10:13:09 +08:00
Cheng Zhao
cbb3c89ad7
Add dummy implementation of message box for Windows.
2013-07-05 09:59:53 +08:00
Cheng Zhao
df460c8d7d
Add dummny menu implementation for Windows.
2013-07-05 09:44:56 +08:00
Cheng Zhao
803ec00378
Add dummy implementaions of node integration in Windows.
2013-07-04 21:18:28 +08:00
Cheng Zhao
afca7464be
Implement browser related functions in Windows.
2013-07-04 20:58:28 +08:00
Cheng Zhao
f146c1fe3b
Seperate implementation of crash reporter to standalone class.
2013-07-04 16:30:49 +08:00
Cheng Zhao
5f3b71e589
Add empty auto updater implementation for Windows.
2013-07-04 16:30:48 +08:00
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