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
2000f88c84
Allow passing a fallback protocol handler for request jobs.
2013-08-30 15:48:57 +08:00
Cheng Zhao
738cbd4080
💄 Fix protocol specs.
2013-08-30 13:04:02 +08:00
Cheng Zhao
11221979e5
Disable overriding built-in protocols with protocol.registerProtocol.
2013-08-30 12:51:15 +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
04910b8391
Skelecton for interceptor APIs.
2013-08-30 10:15:15 +08:00
Cheng Zhao
4bdd1b88ad
Wrap passed 'url' and 'referrer' in an 'request' object.
2013-08-29 21:12:48 +08:00
Cheng Zhao
261f50701a
Add 'registered' and 'unregistered' events for protocol module.
...
This is only used for writing specs.
2013-08-29 20:56:25 +08:00
Cheng Zhao
bc4201f911
Make protocol module an EventEmitter.
2013-08-29 20:38:04 +08:00
Cheng Zhao
6915f020d9
Add protocol.isHandledProtocol API.
2013-08-29 20:22:52 +08:00
Cheng Zhao
34e1800716
Add 'loading-state-changed' event for BrowserWindow.
...
It's required for testing the BrowserWindow class.
2013-08-29 11:47:07 +08:00
Cheng Zhao
244d7eaf17
Allow returning file for custom protocol.
2013-08-25 16:06:29 +08:00
Cheng Zhao
1ed77371c0
Enable customing mime type and charset when returning reqeust string job.
2013-08-25 15:07:07 +08:00
Cheng Zhao
912bac698c
Allow returning string in custom protocols.
2013-08-25 12:36:06 +08:00
Cheng Zhao
8464fb4f64
Pass weak pointers when posting tasks to other threads.
2013-08-24 20:32:12 +08:00
Cheng Zhao
0b01e49cd3
💄
2013-08-24 20:21:46 +08:00
Cheng Zhao
8cd7ccdc0d
Call the JS handler to get the type of job.
2013-08-24 20:18:12 +08:00
Cheng Zhao
b7c9f8ba1c
The request should go through UI thread.
2013-08-24 19:46:38 +08:00
Cheng Zhao
f63661256f
Return AdapterRequestJob when creating job.
2013-08-24 19:33:23 +08:00
Cheng Zhao
33279b1a2f
Actually set and remove protocol handlers in IO thread..
2013-08-24 17:59:34 +08:00
Cheng Zhao
96c173217f
Remember registered schemes.
2013-08-24 16:38:19 +08:00
Cheng Zhao
b9cbfb8103
Skelecton for the protocol module.
2013-08-24 15:26:10 +08:00
Cheng Zhao
6193a889ff
[Win] Use the modified Menu2 class.
2013-08-17 16:45:21 +08:00
Cheng Zhao
a949e9542d
Add AtomWindow.isWebViewFocused() API, fixes #57 .
2013-08-16 12:56:25 +08:00
Cheng Zhao
fc3bad0d4f
💄
2013-08-15 17:50:30 +08:00
Cheng Zhao
c700d291e5
Don't overwrite existing fields when build menu from template.
2013-08-15 16:11:25 +08:00
Cheng Zhao
63b85bccab
[Mac] Clean up the menu controller.
2013-08-14 23:03:02 +08:00
Cheng Zhao
f908619630
[Mac] Move the FixMenuTitles hack to MenuController.
2013-08-14 22:33:18 +08:00
Cheng Zhao
22012d41d8
[Mac] Ship the MenuController implementation from Chromium.
2013-08-14 22:24:21 +08:00
Cheng Zhao
ee2c696577
Make sure all MenuItem's options have a default value.
2013-08-14 21:59:49 +08:00
Cheng Zhao
971b72c2b6
When calling menu item's click callback, pass the item object.
2013-08-14 12:51:47 +08:00
Cheng Zhao
d4a148ea52
The Menu object should store items by its index.
2013-08-14 12:03:37 +08:00
Cheng Zhao
c6f18f095e
Enable to attach extra fields to menu items.
2013-08-14 11:07:44 +08:00
Cheng Zhao
f4425afb39
Move accelerator_util to browser/ui.
2013-08-13 17:07:25 +08:00
Cheng Zhao
97bf979b22
Move file_dialog and message_box to browser/ui.
2013-08-13 16:51:47 +08:00
Cheng Zhao
b2872eaf60
[Win] Implement context menu.
2013-08-06 21:08:52 +08:00
Cheng Zhao
ea1f81aa52
[Mac] Add app.dock.getBadge() API.
2013-08-06 16:39:31 +08:00
Cheng Zhao
b1f88d680b
[Mac] Add API for dock, fixes #46 .
2013-08-06 16:19:56 +08:00
Cheng Zhao
55034be104
Add power-monitor module, fixes #45 .
2013-08-03 16:03:56 +08:00
Cheng Zhao
d59fb55a81
Add BrowserWindow.inspectElement(x, y) API.
2013-07-18 19:21:25 +08:00
Cheng Zhao
23dd5b4da8
Add 'open-url' event for app API. Fixes #36 .
2013-07-10 18:59:21 +08:00
Cheng Zhao
df460c8d7d
Add dummny menu implementation for Windows.
2013-07-05 09:44:56 +08:00
Cheng Zhao
f146c1fe3b
Seperate implementation of crash reporter to standalone class.
2013-07-04 16:30:49 +08:00
Cheng Zhao
6bdf7c51b4
Don't rely on "iosfwd" for forward including std::string.
...
It seems that VS fails on this.
2013-07-01 21:56:46 +08:00
Cheng Zhao
0c6997b160
Fix passing null as window in dialog.showMessageBox.
2013-06-27 19:33:38 +08:00
Cheng Zhao
7138d3a58d
Add app.getHomeDir() API.
2013-06-19 13:49:58 +08:00
Cheng Zhao
81aea6a4b9
Add app.getVersion() API. Fixes #28 .
2013-06-19 13:44:17 +08:00
Cheng Zhao
dbaf8860a6
Revert "Make BrowserWindow inheritable. Fixed #23."
...
This reverts commit 5a0aab2e4f
.
2013-06-18 21:40:03 +08:00
Cheng Zhao
3d267e2a9f
Since we support inheritance of native objects, use js to send messages.
2013-06-18 18:47:13 +08:00
Cheng Zhao
5a0aab2e4f
Make BrowserWindow inheritable. Fixed #23 .
2013-06-18 18:35:08 +08:00
Cheng Zhao
eaa03facee
Add API for renderer's crashes.
2013-06-10 21:08:30 +08:00
Cheng Zhao
f62b88d9ae
Add BrowserWindow.restartHangMonitorTimeout() API.
2013-06-07 18:42:57 +08:00
Cheng Zhao
dfbbaa9efb
Allow showing message dialog as sheet.
2013-06-07 15:59:12 +08:00
Cheng Zhao
024c316bcd
Fullscreen => FullScreen. Fixed #19 .
2013-06-07 14:06:30 +08:00
Cheng Zhao
ae88f303fa
Add responsive and unresponsive events for window.
2013-06-06 19:45:48 +08:00
Cheng Zhao
a1dc4b88be
Add 'ready-for-update-on-quit' event for auto-updater.
2013-06-03 21:51:46 +08:00
Cheng Zhao
f435ed8667
Pass continueUpdate callback in the 'will-install-update' event.
2013-06-03 18:27:12 +08:00
Cheng Zhao
1f8fd40195
Add auto-updater module.
2013-06-03 17:59:34 +08:00
Cheng Zhao
600f38c94d
Don't ship frameworks in repository, instead we download them.
2013-06-03 17:58:20 +08:00
Cheng Zhao
bf409efc46
Add 'will-finish-launching' event for app.
2013-06-03 15:31:46 +08:00
Cheng Zhao
cfa02bb41c
URL => Url in javascript.
2013-06-02 15:15:56 +08:00
Cheng Zhao
cd42fcceb9
Add crash reporter module (based on Quincy).
2013-06-01 15:57:37 +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
9ea1f9956e
Add app.focus API.
2013-05-30 19:24:47 +08:00
Cheng Zhao
4133fc28d9
Emit 'finish-launching' event when the application has finished launching.
2013-05-30 19:12:14 +08:00
Cheng Zhao
7dd48e24d3
Emit 'open-file' event when OS X is trying to open file with the app.
2013-05-30 16:03:10 +08:00
Cheng Zhao
9cf890bb61
Add BrowserWindow.restart() to restart renderer process.
2013-05-28 16:22:29 +08:00
Cheng Zhao
5f26b83ec1
Add app.exit() API to exit with specified exit status.
2013-05-24 17:59:11 +08:00
Cheng Zhao
9c86978da0
Add 'blur' window event.
2013-05-24 17:58:39 +08:00
Cheng Zhao
edf2e84895
Add BrowserWindow.focusOnWebView and blurWebView.
2013-05-24 17:51:15 +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
ca1b8ada99
dialog.showMessageBox doesn't require window as parameter any more.
2013-05-18 10:47:06 +08:00
Cheng Zhao
7e11743735
Use string instead of integer to represent dialog's types.
2013-05-18 10:41:43 +08:00
Cheng Zhao
354b0c8e39
Send message to window directly when passing BrowserWindow for ipc.send.
2013-05-17 23:40:37 +08:00
Cheng Zhao
66c35e4517
Add BrowserWindow.fromProcessIdAndRoutingId API.
2013-05-17 21:53:37 +08:00
Cheng Zhao
1fea283d91
Simulate the toggleDevTools API.
...
Currently there is no way to know the devtools's state in brightray, so
we have to record the state manually, fix this after patching brightray.
2013-05-17 16:09:12 +08:00
Cheng Zhao
61bca04dfd
Add the App.commandLine API to control Chromium's command line.
2013-05-17 15:39:44 +08:00
Cheng Zhao
394bf0a8d9
Add BrowserWindow.getFocusedWindow() API.
2013-05-16 23:00:43 +08:00
Cheng Zhao
5c3857790c
Add BrowserWindow.isFocused() API.
2013-05-16 22:56:52 +08:00
Cheng Zhao
eec8abf397
Add Menu.buildFromTemplate API to greatly simplify building menu.
2013-05-16 22:43:58 +08:00
Cheng Zhao
e58f115b43
Make MenuItem's type default to 'submenu' if it has submenu property.
2013-05-16 22:22:33 +08:00
Cheng Zhao
c2f6676c62
Add 'selector' property for MenuItem, which automatically calls first reponder's selector.
2013-05-16 20:53:10 +08:00
Cheng Zhao
fae3137463
Automatically convert menu with tile of 'Window' to Window menu in application menu.
2013-05-16 20:48:09 +08:00
Cheng Zhao
84c320ea7f
setApplicationMenu and sendActionToFirstResponder are Mac only.
2013-05-16 20:31:58 +08:00
Cheng Zhao
4984f30e48
Read menu item's properties in menu's delegate.
2013-05-16 20:06:25 +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
faf7280d1f
Add API to SendActionToFirstResponder.
...
It's important to bind application menu items to curtain actions of
first responder, like 'quit', 'minimize', 'copy' etc. This API gives
developers ability to do most of them in javascript.
2013-05-16 17:25:02 +08:00
Cheng Zhao
5d985aae09
Calling delegate methods should pass command id of menu item.
2013-05-16 15:32:37 +08:00
Cheng Zhao
995b9dacc9
Fix titles of submenus in application menu.
2013-05-16 14:39:12 +08:00
Cheng Zhao
937b811c8d
Add Menu.setApplicationMenu API to set main menu of NSApp.
2013-05-16 10:54:37 +08:00
Cheng Zhao
64a8664ffe
Fix places where Window should be BrowserWindow.
2013-05-15 22:17:27 +08:00
Cheng Zhao
072ac8ba0b
Rename 'window' module to 'browser_window' module. Fix #3 .
2013-05-15 19:19:53 +08:00
Cheng Zhao
65c1ec4e94
Prevent submenu from getting destroyed bebore the container menu.
2013-05-14 22:17:25 +08:00
Cheng Zhao
3bcb5b11a4
Set accelerator for menu item by string in delegate.
2013-05-14 21:37:59 +08:00
Cheng Zhao
46c882f0ba
Emit 'execute' event when menu item is clicked.
2013-05-14 20:24:53 +08:00
Cheng Zhao
d8a6c68bf9
Expose Menu's delegate methods in javascript.
2013-05-14 19:26:16 +08:00
Cheng Zhao
9ef9f6bf95
Fix the menu popup on OS X.
2013-05-14 19:25:14 +08:00
Cheng Zhao
d6103dd639
Expose Menu API in javascript.
2013-05-14 19:24:52 +08:00
Cheng Zhao
13c0a05fdd
Add popup method for Menu.
2013-05-14 16:50:56 +08:00
Cheng Zhao
85e22c0709
Expose dialog.showMessageBox API.
2013-05-10 21:19:13 +08:00
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
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
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
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
6c21121001
Avoid using destoryed native objects in js API.
2013-04-29 19:38:18 +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
cc921fed1e
Add remote.getObject API to get object in browser by it's ID.
2013-04-26 22:25:30 +08:00
Cheng Zhao
bcfec7c8cd
Notify creation and destruction of native objects.
2013-04-25 20:23:00 +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
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
c22d927b6f
Messages from renderer will be emitted to the process object in browser.
2013-04-22 22:24:02 +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
db0717851d
Simpler way of inheriting EventEmitter.
2013-04-22 16:11:56 +08:00
Cheng Zhao
ebf5bf2d19
Remove recorded object from registry in desturctor.
2013-04-21 16:27:30 +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
5fb5ce2251
Enable creating window with existing web contents.
2013-04-20 13:42:39 +08:00
Cheng Zhao
53dd742632
Add Window.url API.
2013-04-19 00:06:10 +08:00
Cheng Zhao
d3e4db7ba3
Emit 'page-title-updated' as javascript event for window.
2013-04-18 23:50:47 +08:00
Cheng Zhao
1309d04ca7
Emulate DOM's Event class.
2013-04-18 21:42:20 +08:00
Cheng Zhao
d508f711c6
Add convenient accessors for Window API.
2013-04-18 15:57:53 +08:00
Cheng Zhao
100c4a426b
Complete a few APIs for getters.
2013-04-18 15:38:04 +08:00
Cheng Zhao
d06472b092
Add partial APIs for WebContents and NavigationController.
2013-04-18 15:09:53 +08:00
Cheng Zhao
257e439efb
Add GetTitle for window API.
2013-04-18 14:30:05 +08:00
Cheng Zhao
df50cc08d6
Expose interface of NativeWindow in javascript.
2013-04-17 22:49:49 +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
0d8c4dde97
💄 for cpplint.
2013-04-14 17:33:44 +08:00
Cheng Zhao
0f6ece2d27
Add our own built-in native module system.
2013-04-14 15:36:48 +08:00