Commit graph

206 commits

Author SHA1 Message Date
Cheng Zhao
ef5a4b5fe0 Pass synchronous messages by JSON string.
We are going to use IPC_MESSAGE_HANDLER_DELAY_REPLY to handle
synchronous messages but DictionaryValue is not copyable, so we pass the
JSON string instead.
2013-09-20 22:32:59 +08:00
Cheng Zhao
2be1145a9e Guard against using protocol module too early. 2013-09-20 18:45:53 +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
3b7dd85d3f Merge pull request #65 from atom/custom-protocol
Support custom protocols
2013-09-04 03:33:09 -07:00
Cheng Zhao
c7fed48c4a Emit erros when getting errors in IO thread. 2013-09-03 17:21:10 +08:00
Cheng Zhao
7737708fdd Add protocol interceptor API. 2013-09-03 16:50:10 +08:00
Cheng Zhao
2a462cc2b7 💄 fix cpplint warning. 2013-08-30 20:24:42 +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
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