Commit graph

226 commits

Author SHA1 Message Date
leethomas
359123458d 🍎 allow x-axis offset to be set for sheets 2016-05-18 23:45:54 -07:00
Cheng Zhao
5f6c468f0f Handle keyboard events for WebContents that do not have owner window 2016-05-18 13:57:48 +09:00
Cheng Zhao
13bfb099a2 Fix the toolbar showing when titleBarStyle is hidden-inset 2016-05-17 16:25:18 +09:00
Cheng Zhao
f53aabaef5 Implement titleBarStyle without using NSFullSizeContentViewWindowMask 2016-05-17 15:48:14 +09:00
Milan Burda
e1516d4244 Fix BrowserWindow.maximize/unmaximize on Mac 2016-04-23 01:16:31 +02:00
Cheng Zhao
18f5fcde60 Fix some coding style issues 2016-04-20 09:18:50 +09:00
Ben Gotow
65c37fe64b Create local variable to typecast view 2016-04-16 10:57:39 -04:00
Ben Gotow
c87c49f4c8 Allow sheets to be attached at a custom offset #4679
Adds a new "setSheetOffset" API to the `dialog` module, which allows you to change the attachment point for sheets on Mac OS X. I put the API on the dialog module, even though Mac OS X requires that the native window hold and return the desired offset.

1. I was originally hoping to make this an argument on the actual dialog.show* calls, but it seems the parameter set is defined in `libchromiumcontent` and I wasn't sure it would be appropriate to add there?

2.  The API could also be on the BrowserWindow (eg `BrowserWindow.setSheetOffset`). I don't have a strong preference, but I think it's more discoverable on the `dialog` module.
2016-04-16 10:16:43 -04:00
Cheng Zhao
b84a178ceb Set the backgroundColor of RenderWidgetHostView 2016-04-14 21:52:17 +09:00
Cheng Zhao
f94661547c mac: backgroundColor should not change titlebar color 2016-04-03 11:59:21 +09:00
Cheng Zhao
1980d85f3e Fix converting SkColor to NSColor
Close #4992.
2016-04-02 21:18:15 +09:00
Cheng Zhao
cb470cb94b Use BrowserWindow's backgroundColor as renderer view's background color 2016-04-02 20:46:50 +09:00
James Wheare
8482109dea Switch to a single OS X swipe event with a direction argument 2016-03-23 15:20:11 +00:00
James Wheare
03319a5426 OSX: Capture 3-finger swipe events in NativeWindow 2016-03-18 15:21:19 +00:00
Arek Sredzki
fcc1f4d7ed Finalized browser-window show & hide events, added tests & fixed os x implementation 2016-03-10 13:51:31 -08:00
Cheng Zhao
2a0be28111 Merge pull request #4682 from phamdaniel/ismaximized
Fix `isMaximized()` in window for when resizable is set to false on OSX
2016-03-06 19:23:46 +09:00
Cheng Zhao
d93ccd47a8 Merge pull request #4670 from atom/cmd-backtick-order
Use sendAction for cycling windows
2016-03-06 16:17:38 +09:00
Cheng Zhao
114801d412 Remove the duplicate logic on OS X 2016-03-05 21:54:41 +09:00
Daniel Pham
d5f5cdb45a 🍎Fix 'isMaximized()' for non resizable windows 2016-03-05 01:39:48 -05:00
Kevin Sawicki
be67dca686 Use _cycleWindows selector to implement cmd-` 2016-03-03 20:53:58 -08:00
Cheng Zhao
12569f2c9d mac: Simulate the behavior of cmd+~ when OS X didn't handle it 2016-02-18 18:32:13 +08:00
Cheng Zhao
a83aee90e5 No need to use scoped_nsobject for id 2016-01-25 15:15:58 +08:00
Cheng Zhao
059d97e1aa Merge pull request #4181 from bengotow/scroll-touch-events
Extend NativeWindow to track touch-based scroll events on OS X
2016-01-25 14:47:54 +08:00
Cheng Zhao
7761815339 Merge branch 'bg-color-pr' of https://github.com/evgenyzinoviev/electron 2016-01-24 21:33:53 +08:00
Cheng Zhao
c41de501cb spec: Test the -able methods 2016-01-24 14:31:37 +08:00
Cheng Zhao
010cc3276a Simplify the setStyleMask calls 2016-01-24 14:31:37 +08:00
Cheng Zhao
239bfe970c Make hasShadow work on Windows/Linux 2016-01-24 14:31:37 +08:00
Cheng Zhao
d704b3f7ba Reorgnize how attributes work 2016-01-24 14:31:37 +08:00
Cheng Zhao
ae7e96f181 Fix fullscreenable on EL Capitan 2016-01-24 14:31:36 +08:00
Cheng Zhao
5372b6cd91 Fullscreenable => FullScreenable 2016-01-24 14:31:36 +08:00
Cheng Zhao
31624995bc Merge pull request #4202 from evgenyzinoviev/shadow-pr
Added hasShadow option to BrowserWindow on OS X
2016-01-22 23:56:38 -08:00
Cheng Zhao
8cabe0f008 Merge pull request #4156 from evgenyzinoviev/windows-pr
Improvements in BrowserWindow
2016-01-22 23:42:41 -08:00
evgenyzinoviev
ff41b4a267 added hasShadow option to BrowserWindow (osx) 2016-01-23 01:16:08 +01:00
evgenyzinoviev
2fcd3ce7cd Support alpha in backgroundColor 2016-01-23 00:55:08 +01:00
evgenyzinoviev
85991d312a mac: SetResizable fix 2016-01-22 23:44:17 +01:00
evgenyzinoviev
ef51e4e108 maximizable and fullscreenable 2016-01-22 23:21:46 +01:00
Ben Gotow
d186dceb4b Add correct window check for wheel events. See description
Tested that with two windows, events are fired on the correct BrowserWindow instance and not both, and that scrolling a window which is in the background works properly.
2016-01-21 16:36:48 -08:00
Ben Gotow
e96e674201 Properly clean up NSEvent monitor 2016-01-21 16:31:31 -08:00
Cheng Zhao
21f5e27a5e Merge pull request #4161 from gabriel/master
Support backgroundColor for window on mac
2016-01-21 15:42:21 -07:00
Gabriel Handford
239baa3e9a Support backgroundColor for window on mac 2016-01-21 11:07:33 -08:00
Ben Gotow
bd2252ea55 Extend NativeWindow to track touch-based scroll events on OS X
In N1, we want to implement the famous "swipe to archive" action on threads in the user's inbox. Chrome exposes `scroll` and `wheel` events, but these aren't sufficient to implement the interaction because the element needs to "snap" when the user lifts their fingers from the trackpad, not when they / we stop receiving `wheel` / `scroll` events. These events may stop before the user lifts their fingers, or continue after the user has lifted their fingers if they had enough momentum for the gesture to continue.

This exposes BrowserWindow `scroll-touch-down` and `scroll-touch-up`, which fire immeditaely when the user touches two fingers to the trackpad, and again when the user lifts their fingers. Combined with the existing wheel event should allow for "swipe-to-archive" and other similar interactions.

Note: This is only implemented on Mac OS X and the events don't fire unless you're using a trackpad!

Related: #1486, #2683, https://github.com/nylas/N1/issues/541
2016-01-21 09:40:21 -08:00
evgenyzinoviev
2a554cb138 added or/and improved closable, minimizable, movable, resizable features for windows on os x and windows 2016-01-19 16:14:57 +01:00
Cheng Zhao
712f11a9a3 Merge pull request #4112 from evgenyzinoviev/resize-animate-pr
Animate window resizing on OS X
2016-01-16 12:12:00 +08:00
evgenyzinoviev
b75dccb0be arguments handing rewritten, doc updated 2016-01-15 17:31:31 +01:00
evgenyzinoviev
2598b00b41 Animate window resizing on OS X 2016-01-15 05:59:58 +01:00
evgenyzinoviev
cda88db77c Added option to prevent a window from being moved on OS X 2016-01-15 03:58:57 +01:00
Omri Litov
943e46f3bd Fix linux and mac build errors 2016-01-08 00:27:53 +02:00
Omri Litov
3f0c007578 Added getNativeWindowHandle 2016-01-07 22:38:35 +02:00
Cheng Zhao
10f663d017 Fix hiding fullscreen button on EL Capitan 2016-01-07 15:46:40 +08:00
Cheng Zhao
e90435e236 Remove visual artifacts of hidden-inset window 2015-12-23 12:38:11 +08:00
jaanus
aa2f7aaf3a Fixes #2810: correct look of hidden-inset windows in full screen.
`hidden` and `hidden-inset` windows differ only by the hidden-inset window having a toolbar. Yet, the toolbar yields an incorrect look in fullscreen mode. So, we hide and recreate the toolbar for such windows when going to/from fullscreen.

There are some visible artifacts during the fullscreen animations, as the toolbar gets created and destroyed. When entering fullscreen, you see a toolbar that then disappears. When going back to normal window, you see the traffic light buttons jump around a little bit. Yet, this is definitely better than the current broken fullscreen look.
2015-12-22 20:31:55 +02:00
Cheng Zhao
774ba2a235 Merge pull request #3706 from billyct/master
support an api with SetIgnoreMouseEvents for osx
2015-12-09 12:00:16 +08:00
Cheng Zhao
0f2f9b5543 No need to use CommandDispatcher 2015-12-08 11:20:07 +08:00
Cheng Zhao
73e7773d84 Update to API changes of Chrome 47 2015-12-07 19:56:23 +08:00
billyct
5f092a6c65 support an api with SetIgnoreMouseEvents, and worked fine with osx 2015-12-06 10:14:54 +08:00
Cheng Zhao
6c1878d15b mac: Clears the delegate when window is going to be closed
Since EL Capitan it is possible that the methods of delegate would get
called after the window has been closed.

Refs atom/atom#9584.
2015-11-26 13:56:56 +08:00
Cheng Zhao
8e2faba8f7 Small style fix 2015-11-20 13:06:42 +08:00
Ben Gotow
d427ae1030 Support the "desktop" window type on Mac OS X
Adds the desktop window type referenced in https://github.com/atom/electron/issues/2899 for compatiblity with the linux version. Note that on Mac OS X, the desktop window cannot receive input events (seems to be a limitation of being behind the desktop).

In this diff I also removed the `standardWindow` option from the docs, in favor of an additional `textured` value for window `type` on Mac OS X. The old `standardWindow` option continues to work, but seemed more confusing. If this seems like a bad idea, I can revert that change.
2015-11-19 00:39:45 -08:00
Cheng Zhao
860c46b3c1 Separate options from switches
On Windows the case sensitivity of command line switches are ignored, so
--nodeIntegraion will become --nodeintegration.

We should separate options from switches so we use "nodeIntegraion" in
options, while passing "--node-integration" in command line.
2015-11-13 14:05:49 +08:00
Cheng Zhao
e36d455d51 Add setBackgroundColor method 2015-10-23 11:35:33 +08:00
Cheng Zhao
d092c6acc9 osx: Implement draggable region with mouseDownCanMoveWindow
Previously we implemented draggable region by tracking mouse position,
it is buggy and causing some problems. But it is interesting that until
this didn't cause troubles until recently.
2015-10-21 08:54:46 +08:00
Cheng Zhao
898db4d6bd osx: Set resizable flag when creating window
Setting resizable for frameless window before it is shown will change
its size.
2015-10-06 15:23:23 +08:00
Cheng Zhao
6fea6cf58a osx: Fix setting size constraints for frameless window 2015-10-06 15:15:23 +08:00
Cheng Zhao
d19ead1907 osx: Call setContentMinSize in SetContentSizeConstraints 2015-10-05 20:09:29 +08:00
Cheng Zhao
279407f7a3 osx: Fix converting size for frameless window 2015-10-05 20:07:20 +08:00
Cheng Zhao
8577f2b52f osx: Add NativeWindow::SetSizeConstraints 2015-10-05 20:07:20 +08:00
Cheng Zhao
8d61531f4e Revert #2879 2015-10-01 17:46:11 +08:00
Cheng Zhao
7884a2319c osx: Make draggable region work for window with hidden titlebar 2015-09-25 16:38:36 +08:00
Cheng Zhao
6f944ad49b Clean up code 2015-09-25 16:21:08 +08:00
Cheng Zhao
da57a3101f Call WasShown when showing window
Otherwise WebContents would be invisible when window is hidden at first
and then show later.

Refs #2879.
2015-09-24 18:16:41 +08:00
jaanus
5d8f1dd404 Implements #2734 “New API to configure BrowserWindow title bar on Mac”
New API supported on Yosemite 10.10 and newer.
2015-09-14 16:50:00 +02:00
Cheng Zhao
290b221d79 mac: Do not set rounded corner by adding layer 2015-08-26 15:58:44 +08:00
Cheng Zhao
1505dc207b mac: Disable resizing window when changing style mask 2015-08-05 14:12:55 +08:00
Cheng Zhao
58b1172025 Avoid exposing data members to subclass 2015-08-05 12:46:32 +08:00
Cheng Zhao
58c0486236 Remove duplicate UpdateDraggableRegions 2015-08-05 12:32:22 +08:00
Haojian Wu
c69002b0dd Fix: browser window will be resiable when calling window.setResizable(false) twice. 2015-07-31 09:57:08 +08:00
Cheng Zhao
df35700b94 Style fixes
* Use under_score for variable names in C++
* Use const& when possible
* Line length <= 80
2015-07-23 10:07:58 +08:00
Cheng Zhao
ea1b89c699 Merge pull request #2250 from EyeSee360/master
Maintain an aspect ratio for content within a window
2015-07-23 09:45:42 +08:00
Michael S. Barthelemy
6d25c81bd1 changes requested for pull request #2250 into electron master 2015-07-22 10:23:31 -04:00
Cheng Zhao
891d107a51 mac: Always use GetSize for frameless window 2015-07-21 10:34:37 +08:00
Cheng Zhao
3ea878941b mac: Always call SetSize for framless window 2015-07-21 10:29:05 +08:00
Michael S. Barthelemy
6656afd57f fix bug with computing the case where we should constrain via height 2015-07-17 10:25:30 -04:00
Michael S. Barthelemy
666aca7803 add function maintainAspectRatioOfInteriorContent to BrowserWindow in order to enforce an aspect ratio for an electron window 2015-07-16 13:54:51 -04:00
Cheng Zhao
9f52b11761 Remove NativeWindow::GetWebContents 2015-06-25 14:54:00 +08:00
Cheng Zhao
62c44ee47b Rename CloseWebContents to RequestToClosePage 2015-06-25 13:27:51 +08:00
Cheng Zhao
fb5fe7a714 Decouple WebContentsDelegate from NativeWindow 2015-06-25 11:07:23 +08:00
Cheng Zhao
5236b0c067 Don't create WebContents in NativeWindow 2015-06-25 09:47:57 +08:00
deepak1556
9a60fde59b alias move and moved event on OS X 2015-05-22 12:24:12 +05:30
deepak1556
3a5977e09f window: adding resize and move events 2015-05-22 12:13:00 +05:30
joshaber
76d33c37d7 Use the textured window for the frameless case too. 2015-05-12 21:11:43 -04:00
joshaber
033f9bcced If the window's transparent it also needs to be textured. 2015-05-12 21:05:48 -04:00
Cheng Zhao
66ef52197a mac: Make "standard-window" option default to true 2015-05-10 21:16:08 +08:00
Cheng Zhao
9e3f108fad Merge pull request #1585 from joshaber/no-texture
Use the standard window background
2015-05-10 21:09:38 +08:00
Cheng Zhao
ce042d0524 mac: Don't use [NSScreen mainScreen] 2015-05-10 16:51:18 +08:00
joshaber
85119db81a Use a new option to opt into the standard window. 2015-05-08 16:28:24 -04:00
joshaber
5f357d39b2 If it's frameless then use the textured background. 2015-05-06 10:08:24 -04:00
joshaber
102fb66461 Remove the textured background. 2015-05-05 20:53:26 -04:00
Cheng Zhao
0d4d2080ca Implement size and position APIs with bounds API 2015-05-04 12:47:56 +08:00
Cheng Zhao
7142cae041 mac: Also use [NSScreen mainScreen] in other places 2015-05-04 12:33:51 +08:00
deepak1556
9ae59e8ac7 removed move utility and replaced with setbounds 2015-05-01 20:10:46 +05:30