Siddharth Dalal
afdb6c5f90
feat: 'will-move' event for windows. ( #14283 )
...
* feat: 'will-resize' window event (Windows only)
* documentation for 'will-move' event
* comment and line break fix in docs
2018-08-28 08:44:10 -05:00
Emmanuel Kimmerlin
5f6706ac33
feat: BrowserWindow.getNormalBounds() ( #13290 )
...
* First commit
* Add Mac support (1st attempt)
* Add Mac support (2nd attempt)
* Simplify tests
* Restore window state !
* Looking at other tests, seems minimize, maximize, fullscreen are skipped when in CI
* Fix Mac tests
* Restore tests in CI
* Fix typo
* widget getRestoredBounds not working on Mac !!
* widget getRestoredBounds not working on Mac !!
* Add IsNormal function
* Add IsNormal
* IsNormal => isNormal
* Deactivate fullscreen on Mac. Do not receive leave-fullscreen event
* Set default original_frame_
* Set default original_frame_
* Fix Mac
2018-08-24 14:33:27 -07:00
Birunthan Mohanathas
c8dc2d3730
feat: Add will-resize event to TopLevelWindow ( #13649 )
...
The new `will-resize` event can be used to prevent the resize from
happening before the native window is actually resized. This is in
contrast to the existing the `resize` event, which is sent *after* the
native window has already been resized. For apps with e.g. custom window
snapping logic, the `resize` event is not sufficient because it will
result in flickering between the dragged size and the snapped size.
`will-resize` is only emitted on macOS and Windows.
2018-07-27 18:53:01 +09:00
Birunthan Mohanathas
a42ca9eecc
feat: Add BrowserWindow.setWindowButtonVisibility()
...
Fixes #12701 and supersedes #13131 .
Ideally we would have added `setTitleBarStyle()`, but that is a
significantly more involved change. For example, consider the case where
we switch from `hidden` to `normal`. We would not only have to show the
traffic light buttons, we would also have to switch the window from a
frameless to a framed window and deal with various other window state.
Lets instead implement a simple solution for #12701 .
2018-07-25 10:12:27 -07:00
Milan Burda
2337237d58
Refactoring: use C++11 class member variable initialization
2018-05-22 00:18:38 +02:00
Heilig Benedek
8b2bffcf9e
Only expand maximum size constraint if there was a constraint originally ( #13003 )
2018-05-21 10:56:45 +10:00
Cheng Zhao
2b24b26e59
refactor: do not pass WebContents to NativeWindow
2018-05-15 14:03:21 +09:00
Heilig Benedek
ce8af7d499
#else instead of #elif
2018-05-12 22:05:25 +02:00
Heilig Benedek
c6bf39b283
Only include windows headers on windows
2018-05-12 21:33:47 +02:00
Heilig Benedek
f1fd457411
Format code with clang-format
2018-05-12 19:51:19 +02:00
Heilig Benedek
eae0674f61
Match chromium's workaround when setting size of unresizable windows
2018-05-12 17:37:31 +02:00
Cheng Zhao
2225cc9608
refactor: manage widget_ in NativeWindow
2018-04-30 10:56:54 +09:00
Jeremy Apthorp
27cee90e5e
[chromium-style] move methods out of headers
2018-04-19 11:12:58 -07:00
Jeremy Apthorp
f1587da480
[chromium-style] out-of-line default constructors and destructors
2018-04-19 11:12:58 -07:00
Shelley Vohr
c6f4bbd143
also format missing .cc files
2018-04-18 20:48:45 -04:00
Cheng Zhao
5a95aaaa54
kVibrancyType should be read in InitFromOptions
2018-04-11 15:12:53 +09:00
Cheng Zhao
97e8800677
Remove web_contents from NativeWindow's constructor
2018-04-11 15:12:53 +09:00
Cheng Zhao
8fc5c6c862
Refactor NativeWindow (Part 3): Remove is_offscreen_dummy from NativeWindow ( #12503 )
...
* Don't use is_offscreen_dummy in MessageBox
* Don't use is_offscreen_dummy in DownloadManagerDelegate
* Don't use is_offscreen_dummy in CommonWebContentsDelegate
* Remove is_offscreen_dummy from NativeWindow
2018-04-03 12:19:35 +09:00
Cheng Zhao
78468098c5
Don't store WebContents in NativeWindow
2018-03-06 16:21:18 +09:00
Cheng Zhao
9c7854aef6
NativeWindow is no longer WebContentsObserver
2018-03-06 16:21:18 +09:00
Cheng Zhao
702f1631a3
Remove NativeWindow::FromWebContents
2018-03-06 16:21:17 +09:00
Cheng Zhao
eea4e60b73
Remove NativeWindow's webview APIs
2018-03-06 16:20:37 +09:00
Cheng Zhao
5a4c2fb61d
mac: Pass the view to install
2018-03-06 16:20:37 +09:00
Cheng Zhao
3b3e69f8b2
Save browser_view_ in the NativeWindow
...
No need to store it separately in subclasses.
2018-03-06 16:20:37 +09:00
Cheng Zhao
503b0ba1b1
mac: Move draggable region code to BrowserWindow
...
On macOS current draggable region implementation highly relies on
WebContents, the code is only meaningful for BrowserWindow.
2018-03-06 16:20:37 +09:00
Cheng Zhao
1681ee35db
Set WebContents background color in BrowserWindow
2018-03-06 16:20:37 +09:00
Cheng Zhao
cad3d694ab
mac: Remove access to webContents in windowWillUseStandardFrame
2018-03-06 16:20:37 +09:00
Shelley Vohr
2abc69780e
move native-mate back into the api layer
2018-02-27 13:00:42 -08:00
Shelley Vohr
837a2d4bbd
appease the linter
2018-02-26 22:25:09 -08:00
Samuel Attard
5336b4a89c
Pass arguments instance through the chain in order to throw error
2018-02-27 16:11:58 +11:00
Cheng Zhao
816a96c2cc
Update font settings in api::WebContents
2018-02-22 19:01:45 +09:00
Cheng Zhao
c87fc2426d
Handle transparent WebContents in api::BrowserWindow
2018-02-22 19:01:45 +09:00
Cheng Zhao
c611eb061d
Move InputEventObserver to api::BrowserWindow
2018-02-22 19:01:45 +09:00
Cheng Zhao
aa3eafcea1
Move closing logic to api::BrowserWindow
...
Closing a BrowserWindow is essentially closing a WebContents, the logic
should not be in NativeWindow.
2018-02-22 19:01:45 +09:00
Cheng Zhao
66fab65a1a
Add NativeWindowObserver::OnCloseButtonClicked
2018-02-22 19:01:45 +09:00
Cheng Zhao
a3124e8873
Use observer to provide OnRendererUnresponsive
2018-02-22 19:01:45 +09:00
Cheng Zhao
bffb31c337
Remove OnMessageReceived from NativeWindow
2018-02-22 19:01:45 +09:00
Cheng Zhao
44e7282b4b
The UpdateDraggableRegions does not share implementations
2018-02-22 19:01:45 +09:00
Cheng Zhao
6650a06339
Move RenderViewCreated logic to api::BrowserWindow
2018-02-22 19:01:45 +09:00
Cheng Zhao
c256a43139
Move ready-to-show to api::BrowserWindow
2018-02-22 19:01:45 +09:00
Cheng Zhao
0d9a157914
Turn api::Window into a WebContentsObserver
2018-02-22 19:01:45 +09:00
deepak1556
99e26b8318
fix: draggable region ipc should be frame based
2018-01-01 22:54:02 +05:30
Heilig Benedek
bb5eecc16c
Use SizeConstraints instead of window events
2017-11-23 21:25:25 +01:00
Heilig Benedek
71b36ef54d
don't show the dummy window for the rest of the dialogs too on mac
2017-11-13 15:46:46 +09:00
Felix Rieseberg
e8f8100e19
🔧 Add fixme
2017-11-01 11:30:32 -07:00
Felix Rieseberg
58708d6242
🔧 Lowercase
2017-10-31 10:31:05 -07:00
Felix Rieseberg
08b8f2df55
📝 Typo!
2017-10-31 08:38:33 -07:00
Felix Rieseberg
91414dde62
🔧 I can't believe this helps
2017-10-30 11:22:07 -07:00
Cheng Zhao
8c5bb5969c
Merge pull request #10667 from dittos/window-opacity
...
Add window opacity support
2017-10-04 15:03:45 +09:00
Daniel Ma
1bb042a661
feat(NativeWindowMac): addTabbedWindow
...
Add support for the [`NSWindow addTabbedWindow`][nsw] method on MacOSX
This plays nicely with the changes from #9052 and #9725
Usage samples available in [this commit][c] in my fork of
`electron-quick-start`
[nsw]: https://developer.apple.com/documentation/appkit/nswindow/1855947-addtabbedwindow
[c]: 79f06591df
2017-10-03 20:11:16 +09:00