Commit graph

415 commits

Author SHA1 Message Date
Cheng Zhao
7a1365673e Remove code which are used for borderless window. 2013-09-12 15:13:56 +08:00
Cheng Zhao
6c098deb57 💄 Fix cpplint warnings. 2013-09-12 13:03:57 +08:00
Steve Smith
cf4a566290 Just round the top also and use a standard window.
Using borderless window causes too many issues. Smaller, less
window-like shadows being the most annoying.
2013-09-11 22:02:42 -04:00
Steve Smith
aabba3c641 Fix view autoresizing. 2013-09-11 17:25:42 -04:00
Steve Smith
8f31bf8615 Get radius working with frameless window.
Right now it's set as a constant `AtomWindowCornerRadius`, but it could
be set to a variable.
2013-09-11 16:23:17 -04:00
Cheng Zhao
5d49fc4bee WIP: rounded corner of frameless window. 2013-09-11 18:10:28 +08:00
Cheng Zhao
f38eb1b66f mac: Import chromium's CustomFrameView code. 2013-09-11 13:46:36 +08:00
Cheng Zhao
a567ba08ea Hide the fullscreen button when leaving fullscreen mode. Fixes #88. 2013-09-11 13:05:08 +08:00
Cheng Zhao
cc62978ac3 win: Add NativeWindowFramelessView as non-client view. 2013-09-09 14:30:07 +08:00
Cheng Zhao
f833423a2f win: Save draggable region. 2013-09-09 12:12:17 +08:00
Cheng Zhao
3c0671c179 Quit when all windows are closed if running an app by passing it in command line. 2013-09-09 10:54:08 +08:00
Cheng Zhao
a00bf3e1e1 Print stack when got error on startup. 2013-09-09 10:49:28 +08:00
Cheng Zhao
b9d994dca2 Make sure the cursor doesn't drift away when dragging window. 2013-09-06 12:12:17 +08:00
Cheng Zhao
b7c2295a1c Don't use setMouseDownCanMoveWindow to implement draggable area.
It would not work when we have the in-window devtools.
2013-09-06 11:54:52 +08:00
Cheng Zhao
da2ded5453 Implement frameless window on OS X.
Most of the code came from Chromium's packaged app window.
2013-09-05 23:52:29 +08:00
Cheng Zhao
a5eb9ea08f Add has_frame_ attribute for NativeWindow. 2013-09-05 21:43:47 +08:00
Cheng Zhao
4223867dbc Send and receive the AtomViewHostMsg_UpdateDraggableRegions message. 2013-09-05 20:06:54 +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
610ac5b045 Revert "💄 for the beforeunload handler."
Restore the previous behavior of beforeunload handler.

This reverts commit b1f30c1eb6.
2013-09-02 16:39:00 +08:00
Cheng Zhao
30c9cd4318 Use dummy stdin stream on Windows. 2013-08-31 12:13:08 +08:00
Cheng Zhao
790c53825b Merge pull request #79 from atom/message-box-button-order
Fix button order on Win32
2013-08-30 16:41:25 -07:00
Paul Betts
10bd2384d0 Fix button order on Win32
On Windows, the button order is left to right, with the primary action on the
left (i.e. "Ok" "Cancel"). On Mac, the button order is that the primary action
is nearest to the corner.
2013-08-30 12:08:04 -07:00
Cheng Zhao
335db788a5 Add InterceptProtocol AtomURLRequestJobFactory. 2013-08-30 21:15:46 +08:00
Cheng Zhao
d8cd3d78ff Make ReadRawData a public member, so there is no need to detect types. 2013-08-30 20:49:27 +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
b1f30c1eb6 💄 for the beforeunload handler.
Returning text in beforeunload handler should prevent the close instead
of allow the close.
2013-08-29 15:36:09 +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
dbdf2d8d54 Add OnLoadingStateChanged for NativeWindowObserver. 2013-08-29 11:19:34 +08:00
Cheng Zhao
9e16e41bb3 Enable creating object from remote object's member. 2013-08-25 20:44:52 +08:00
Cheng Zhao
c86acc4cd7 Add remote.createFunctionWithReturnValue API. 2013-08-25 17:22:36 +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
833190e8fa 💄 for cpplint. 2013-08-21 21:36:16 +08:00
Cheng Zhao
dde07f03ec [Win] Remove the extra MenuWrapper class. 2013-08-19 16:30:25 +08:00
Cheng Zhao
738a929f8c [Win] Add flag to build window menu. 2013-08-17 17:10:16 +08:00
Cheng Zhao
6193a889ff [Win] Use the modified Menu2 class. 2013-08-17 16:45:21 +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
91a9fe41c9 [Win] Fix compilation error. 2013-08-16 16:33:32 +08:00
Cheng Zhao
a949e9542d Add AtomWindow.isWebViewFocused() API, fixes #57. 2013-08-16 12:56:25 +08:00
Cheng Zhao
a33c068ed1 Should inherit brightray's default web contents delegate, fixes #31. 2013-08-16 10:38:02 +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
2fd91e8c96 Enable passing objects and arrays when calling remote function. 2013-08-14 21:51:51 +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
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
b2872eaf60 [Win] Implement context menu. 2013-08-06 21:08:52 +08:00
Cheng Zhao
286335c8f9 Only set application menu on OS X. 2013-08-06 21:08:30 +08:00
Cheng Zhao
17a4842eaa [Win] Should filters in the save as dialog. 2013-08-06 19:39:10 +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
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
cd19666307 Remove the useless remote.getObject API. 2013-07-29 16:35:25 +08:00
Cheng Zhao
51a632d7d9 Don't make use of the 'id' property when sending objects.
Fixes #43.
2013-07-26 16:40:29 +08:00
Cheng Zhao
47686b3233 [Win] Add key bindings for message box. 2013-07-25 21:04:33 +08:00
Cheng Zhao
2f2cbce9b9 [Win] Override node's console and output stream with chromium's logging.
On Window node doesn't outputing as GUI program, so we have to switch to
chromium's implementation. Hacking into node (like what we did before
this commit) would sometimes make the outputing blocked.
2013-07-25 20:06:23 +08:00
Cheng Zhao
a163b148ce [Win] Show title and message's detail. 2013-07-25 17:06:08 +08:00
Cheng Zhao
21f59ec730 [Win] Message box now returns the right result. 2013-07-25 16:56:02 +08:00
Cheng Zhao
e2898d4f2a [Win] Layout the buttons of message box manually. 2013-07-25 16:19:40 +08:00
Cheng Zhao
da2a21f97d [Win] Layout the buttons. 2013-07-25 15:47:12 +08:00
Cheng Zhao
23452172ed [Win] Use system's window background for message box. 2013-07-25 15:30:44 +08:00
Cheng Zhao
489c5daff5 [Win] Show buttons in message box. 2013-07-25 15:22:44 +08:00
Cheng Zhao
2e7dcade25 [Win] Make message box modal. 2013-07-24 18:51:03 +08:00
Cheng Zhao
8d41c27a8c [Win] Show an empty window for ShowMessageBox. 2013-07-24 18:34:50 +08:00
Cheng Zhao
a7557a9626 Do not end the process when other exception occurs. 2013-07-24 15:20:59 +08:00
Cheng Zhao
e248e2ffc8 Delay the unresponsive message for a second, fixes #42.
It could happen that a window became responsive immediately after the
unresponsive message is sent (for example, the window was blocked by
showing a save as dialog), by delaying sending the unresponsive message
for a second, we can give the window a chance to whether it's really
unresponsive or not.
2013-07-23 15:29:56 +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
d59fb55a81 Add BrowserWindow.inspectElement(x, y) API. 2013-07-18 19:21:25 +08:00
Cheng Zhao
4ddd1bccb4 Fix how we detect renderer crash. 2013-07-18 18:37:40 +08:00
Cheng Zhao
9b828ce39a Start the specified app if there is one in command line parameters. 2013-07-17 16:21:33 +08:00
Cheng Zhao
4a47ceb730 Restart renderer when reloading in the default app. 2013-07-15 17:39:53 +08:00
Cheng Zhao
23dd5b4da8 Add 'open-url' event for app API. Fixes #36. 2013-07-10 18:59:21 +08:00
Cheng Zhao
9c52af8253 Remove the :evil: loop. 2013-07-10 11:39:49 +08:00
Cheng Zhao
9e3772ff0f [Win] Add custom frame view implementation for native window. 2013-07-08 17:24:54 +08:00
Cheng Zhao
528e6d2679 [Win] No need to manually to control the visibility of maximize button. 2013-07-08 17:09:11 +08:00
Cheng Zhao
739465582f [Win] Force using native frame. 2013-07-08 17:06:56 +08:00
Cheng Zhao
64329268b8 [Win] Provide ClientView implementation. 2013-07-08 17:00:42 +08:00
Cheng Zhao
7047e5167f [Win] Implement simple delegate methods of Widget.
From now on I'll use [Win], [Mac] and [GTK] to mark commits that only
for each platform.
2013-07-08 10:48:59 +08:00
Cheng Zhao
b5bc347cd4 cpplint 💄 2013-07-07 16:26:59 +08:00
Cheng Zhao
3cd910abc6 Use process.resourcePath to locate js files. 2013-07-07 11:20:30 +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
947470b6ae Mark OS X only implementations in BrowserMainParts. 2013-07-04 20:09:11 +08:00
Cheng Zhao
8bdf06131b Separate the creation function of NodeBindings for renderer and browser.
On Windows the message loop integration would need two different
implementations.
2013-07-04 19:47:48 +08:00
Cheng Zhao
d82f2dd835 💄 2013-07-04 17:00:16 +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
1b93ec1032 Fix compilation errors and warnings on native_window.cc. 2013-07-01 22:01:17 +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
411e1a3685 Emit WindowCloseCancelled message when close is cancelled by user code. 2013-06-26 17:50:50 +08:00
Cheng Zhao
adacc2bcf9 Use applicationShouldTerminate to control whether application should quit. 2013-06-26 17:48:59 +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
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
a79649c43f Add platform method to return executable(bundle)'s version. 2013-06-19 13:41:54 +08:00
Cheng Zhao
c9e9080a35 Fix cpplint errors. 2013-06-19 13:24:13 +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
e440ad2714 Make window aware of renderer crashes. 2013-06-10 20:42:10 +08:00
Cheng Zhao
25df5caf63 Use a different icon for atom-shell to make it distinguishable from atom. 2013-06-10 16:12:10 +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
a897d5b715 Return button's index for [NSAlert runModalSheetForWindow]. 2013-06-07 15:58:36 +08:00
Cheng Zhao
b9455a997c Add runModalSheetForWindow method for NSAlert. 2013-06-07 15:41:26 +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
556e84f53a Discard fullscreen support on OS X 10.6. 2013-06-04 18:15:03 +08:00