Commit graph

466 commits

Author SHA1 Message Date
Cheng Zhao
1681ee35db Set WebContents background color in BrowserWindow 2018-03-06 16:20:37 +09:00
Cheng Zhao
7b8890a4c9 web_contents can't be null 2018-03-06 16:20:37 +09:00
Cheng Zhao
2eaa6d0874 Move StoreFocus/RestoreFocus to 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
bf491de9fe
fix styling and add spec 2018-02-28 00:22:42 -08:00
Shelley Vohr
2abc69780e
move native-mate back into the api layer 2018-02-27 13:00:42 -08:00
Samuel Attard
5336b4a89c Pass arguments instance through the chain in order to throw error 2018-02-27 16:11:58 +11:00
Shelley Vohr
e84d7c0cda
add warning when addTabbedWindow is called on self 2018-02-26 14:47:36 -08:00
Cheng Zhao
c611eb061d Move InputEventObserver to api::BrowserWindow 2018-02-22 19:01:45 +09:00
Cheng Zhao
66fab65a1a Add NativeWindowObserver::OnCloseButtonClicked 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
384b03d49b UpdateDraggableRegionViews is redundant 2018-02-22 19:01:45 +09:00
shelley vohr
846be03f1d remove support for hidden-inset (#11975) 2018-02-20 11:09:54 -06:00
Samuel Attard
ae65938752 Fix frameless windows with vibrancy (#11886) 2018-02-12 13:38:37 -05:00
Shelley Vohr
3f6d2eb3ab
remove extraneous variable 2018-02-06 09:27:30 -05:00
Shelley Vohr
80aa399f8a
updates to mac enable method 2018-02-06 09:16:22 -05:00
Shelley Vohr
131aa38768
typo fix 2018-02-06 08:30:33 -05:00
Shelley Vohr
faf08b2b77
add documentation 2018-02-06 08:28:41 -05:00
Shelley Vohr
ae632193c0
migrate to virtual void and start mac impl 2018-02-06 08:21:53 -05:00
Nitish Sakhawalkar
2b4cc0a525 Fix macos Full Screen Toggle menu item label (#11633) 2018-01-19 09:27:36 -05:00
deepak1556
99e26b8318 fix: draggable region ipc should be frame based 2018-01-01 22:54:02 +05:30
Felix Rieseberg
daad465fcd 🔧 Eh, let's do it for all the types 2017-11-18 20:19:22 -08:00
Felix Rieseberg
e3b6271806 🔧 setTitlebarAppearsTransparent=YES 2017-11-18 20:00:01 -08:00
Antoine
5e6b683cfb fixed: trying to fix the build 2017-10-05 15:57:27 -07:00
Antoine
8e1945f768 🍎 skip tabbing category if macOS < Sierra
Previously, the macro was ensuring the` MAC_OS_X_VERSION_10_12` was not defined to decide to compile a `NSWindow` category back porting native tabs or not.

This patch ensures to compile the `NSWindow` category only if the min required version is lesser than 1012 (`MAC_OS_X_VERSION_10_12`)
2017-10-05 14:11:58 -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
Taeho Kim
7570ec9d39 Add BrowserWindow.getOpacity for consistency 2017-10-03 00:08:10 +09:00
Ted Kim
7f2c4a9e06 Add window opacity support 2017-09-29 17:49:10 +09:00
Cheng Zhao
19a7c7ac39 Styling fixes 2017-09-14 14:43:22 +09:00
xaviergonz
e18cdc185a add the fix for showinactive 2017-09-14 14:35:53 +09:00
xaviergonz
d0c91daaed make sure setparentwindow only shows the window if already visible 2017-09-14 14:35:53 +09:00
xaviergonz
dc7cc6921e fix for mac child windows so they honor show option 2017-09-14 14:35:53 +09:00
Cheng Zhao
a19a229a59 Merge pull request #10254 from zachflower/feature/simple-fullscreen-mode
Feature/simple fullscreen mode
2017-09-14 09:39:50 +09:00
Zachary Flower
432b912c6a 🎨 Rename ambiguous simple_fullscreen_ variable to always_simple_fullscreen_ 2017-09-13 12:16:37 -06:00
Vanessa Yuen
9a7d8a0511 merge master into fix-fullscreen-with-resizable-flag. 2017-09-12 18:34:23 -04:00
Zachary Flower
fa4d52f042 🎨 Track/restore original stylemask, rather than individual states. 2017-09-12 12:27:30 -06:00
Cheng Zhao
10ab870237 Merge pull request #10321 from kaylanm/macos-native-tab-api
🍎 Add macOS native tab methods to window API
2017-09-11 18:49:56 +09:00
Samuel Attard
7ecac42214 Merge pull request #10232 from electron/drag-browser-view
Add -webkit-app-region support to BrowserView
2017-08-24 10:30:56 +10:00
Michael Kaylan
b4428e7e41 🍎 Add macOS native tab methods to window API 2017-08-21 23:24:30 -04:00
Cheng Zhao
9c552644d8 Fix compilation on mac 2017-08-17 16:47:12 +09:00
Felix Rieseberg
6191e6e787 🔧 Implement feedback 2017-08-15 16:14:58 -07:00
Aleksei Kuzmin
7a4ca08a8d The Blink Rename 2017-08-15 16:19:20 +03:00
Zachary Flower
ba5fa2c8b1 Add support for simple (pre-Lion) fullscreen on Mac OS 2017-08-13 00:28:33 -06:00
Felix Rieseberg
7bfece1144 🔧 Make work with complex shapes 2017-08-09 15:21:58 -07:00
Felix Rieseberg
a5dfb09037 🔧 Draggable (using the window’s regions) 2017-08-09 15:21:58 -07:00
Kevin Sawicki
5581d1d652 Merge pull request #9788 from shubham2892/Add-option-to-show-title-text-in-titlebar-in-fullscreen
Add alwaysShowTitleTextInFullscreen flag
2017-07-14 11:58:12 -07:00
Kevin Sawicki
c4ffb91190 🎨 2017-07-14 11:49:40 -07:00
Kevin Sawicki
9102c07ec7 always_show_title_text_in_full_screen -> fullscreen_window_title 2017-07-14 11:48:10 -07:00
Kevin Sawicki
0a71a9b992 Merge pull request #9695 from shubham2892/alwaysOnTop-window-disappears-when-restored-fix
Fix an issue where alwaysOnTop window disappears when restore…
2017-07-14 10:09:13 -07:00
Kevin Sawicki
4935e8567f Initialize level_ in initWithShell 2017-07-14 10:07:06 -07:00
Shubham
a38f0f5f46 rename alwaysShowTitleTextInFullscreen to fullscreenWindowTitle 2017-06-26 16:58:45 -04:00
Cheng Zhao
00d023cd71 Merge pull request #9725 from danielma/dma/native-tab-new-button
Add "New Tab" button for Native macOS Tabs
2017-06-26 15:07:10 +09:00
Shubham
1b8963ff6e 🍎 Fix full screen when resizable is set to true 2017-06-20 16:11:28 -04:00
Tony Ganch
471f6e0fa5 Fix invisible titlebar on macOS 10.13 2017-06-19 14:34:37 +02:00
Shubham
25c651c40a add alwaysShowTitleTextInFullscreen flag 2017-06-17 20:45:29 -04:00
Shubham
12b90a2304 🐛 store current level fix 2017-06-15 18:05:58 -04:00
Daniel Ma
4fb9f825b1 Add "New Tab" button for Native macOS Tabs
Adds responders for `newWindowForTab` to `AtomApplicationDelegate` and
`NativeWindowMac`, so that `BrowserWindow`s with a `tabbingIdentifier`
will get the new tab button, and both `app` and `window` will emit a
`new-tab-for-window` event.
2017-06-11 02:26:26 -07:00
Shubham
373decd07e 🎨 2017-06-07 19:01:06 -04:00
Shubham
f001377493 🍎 Fix an issue where alwaysOnTop window disappears when restored from the application icon 2017-06-07 12:28:50 -04:00
Birunthan Mohanathas
391c07b80a Simplify custom window button positioning 2017-06-07 03:33:33 +03:00
Birunthan Mohanathas
f60315141b Remove unnecessary if check 2017-06-07 01:19:53 +03:00
Birunthan Mohanathas
3106478510 Rename SemaphoreView to CustomWindowButtonView 2017-06-07 01:18:22 +03:00
Kevin Sawicki
4989b21dbc Autorelease semaphore view 2017-06-05 14:28:58 -07:00
Kevin Sawicki
3a2abde804 Add TODO for hidden-inset deprecation 2017-06-05 13:58:50 -07:00
Kevin Sawicki
de0daa2481 Autorelease tracking area 2017-06-05 13:48:30 -07:00
Kevin Sawicki
7d10bf229d Switch to titleBarStyle for custom window buttons on hover 2017-06-05 13:30:32 -07:00
Kevin Sawicki
566e04f1c0 🎨 2017-06-05 13:13:16 -07:00
Kevin Sawicki
37ba1b0a6b Declare mouse inside variable in interface 2017-06-05 12:55:39 -07:00
Kevin Sawicki
1493d6763c Make custom window buttons an option 2017-06-05 12:50:18 -07:00
Kevin Sawicki
2880cfdc9c 🎨 Minor formatting tweaks 2017-06-05 11:08:05 -07:00
mst128256
96251e55de Removed commented code 2017-06-05 10:41:52 -07:00
mst128256
9b4664daa5 Area near the top border in frameless window is clickable 2017-06-05 10:41:52 -07:00
gellert
039908a244 various fixes for macos 2017-05-23 11:41:59 +02:00
gellert
062b1ed43e moves createviewfordwidget method to osrrwhv 2017-05-10 22:19:05 +02:00
Cheng Zhao
6be10ffef2 Fix more API changes due to name changes 2017-04-27 16:34:52 +09:00
Yuya Ochiai
75184046f6 Add events to manage sheets of macOS BrowserWindow 2017-04-15 16:26:45 +09:00
Birunthan Mohanathas
8b9f7e5b00 Implement initial, experimental BrowserView API
Right now, `<webview>` is the only way to embed additional content in a
`BrowserWindow`. Unfortunately `<webview>` suffers from a [number of
problems](https://github.com/electron/electron/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aopen%20label%3Awebview%20).
To make matters worse, many of these are upstream Chromium bugs instead
of Electron-specific bugs.

For us at [Figma](https://www.figma.com), the main issue is very slow
performance.

Despite the upstream improvements to `<webview>` through the OOPIF work, it is
probable that there will continue to be `<webview>`-specific bugs in the
future.

Therefore, this introduces a `<webview>` alternative to called `BrowserView`,
which...

- is a thin wrapper around `api::WebContents` (so bugs in `BrowserView` will
  likely also be bugs in `BrowserWindow` web contents)

- is instantiated in the main process like `BrowserWindow` (and unlike
  `<webview>`, which lives in the DOM of a `BrowserWindow` web contents)

- needs to be added to a `BrowserWindow` to display something on the screen

This implements the most basic API. The API is expected to evolve and change in
the near future and has consequently been marked as experimental. Please do not
use this API in production unless you are prepared to deal with breaking
changes.

In the future, we will want to change the API to support multiple
`BrowserView`s per window. We will also want to consider z-ordering
auto-resizing, and possibly even nested views.
2017-04-13 01:27:27 +03:00
Kevin Sawicki
7f8e490839 Take const reference 2017-04-04 12:50:41 -07:00
Samuel Attard
60cc862031 Make everything pointer like 2017-04-04 12:50:41 -07:00
Samuel Attard
4d6b0fc01b Add a method to set the escape identifier on the touch bar 2017-04-04 12:50:41 -07:00
Kevin Sawicki
f5a75c4e87 Merge pull request #9076 from electron/cleanup-cpp
Cleanup cpp codebase
2017-04-03 08:30:08 -07:00
Haojian Wu
34a91434aa Remove extra spaces. 2017-04-01 22:01:29 +02:00
Kevin Sawicki
08db63c3cc Only define NSWindowTabbingModeDisallowed on pre-10.12 2017-03-31 11:28:55 -07:00
Haojian Wu
e8abee9ca9 Replace C-style casts with static_cast. 2017-03-30 23:05:47 +02:00
Kevin Sawicki
42300ae58e Make tabbing identifier var local 2017-03-30 13:47:11 -07:00
Kevin Sawicki
c8b992fa39 Remove 10.12 check handled by respondsToSelector 2017-03-30 13:46:34 -07:00
Haojian Wu
d425b63b0d NULL => nullptr 2017-03-30 22:12:14 +02:00
Tony Ganch
bd935b213f Fix compilation against macOS 10.10 SDK 2017-03-30 15:13:49 +02:00
Tony Ganch
a7565f0d57 Enable native tabs on macOS 2017-03-29 13:51:39 +02:00
Kevin Sawicki
edebb32014 Drop nullable for consistency 2017-03-03 14:07:59 -08:00
Kevin Sawicki
ca2898a60e Check that window responds to touchBar selector for pre-10.12.1 compat 2017-03-03 14:00:39 -08:00
Kevin Sawicki
d1edd80ef8 Use NSTouchBar itemForIdentifier to lookup existing item 2017-03-03 14:00:39 -08:00
Kevin Sawicki
5fe3ac60fa Check that atom_touch_bar_ is set 2017-03-03 14:00:39 -08:00
Kevin Sawicki
708ed9d1cd Store ordered settings in AtomTouchBar 2017-03-03 14:00:39 -08:00
Kevin Sawicki
51f1c5a557 Use SetTouchBar withe empty vector instead of DestroyTouchBar 2017-03-03 14:00:39 -08:00
Kevin Sawicki
b959f782f6 Rename instance variable maps 2017-03-03 14:00:39 -08:00
Kevin Sawicki
ec500b2852 Use scoped_nsobject to match Chrome implementation 2017-03-03 14:00:38 -08:00
Kevin Sawicki
823b3baed0 Use vector of dictionaries instead of mate::Arguments 2017-03-03 14:00:38 -08:00
Kevin Sawicki
98f5858b11 Initial support for dynamic properties 2017-03-03 14:00:38 -08:00