Commit graph

356 commits

Author SHA1 Message Date
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
Kevin Sawicki
1972e2eff9 Update renamed variable 2017-03-03 14:00:38 -08:00
Kevin Sawicki
28f2a4951b touch_bar_helper_ -> atom_touch_bar_ 2017-03-03 14:00:38 -08:00
Kevin Sawicki
b39b49a15a Rename to touch_bar_helper_ to differentiate from touchBar property 2017-03-03 14:00:38 -08:00
Kevin Sawicki
14ef5c5957 Reset helper when makeTouchBar is called 2017-03-03 14:00:38 -08:00
Kevin Sawicki
48515d9ecc Ignore objective-c header lint 2017-03-03 14:00:38 -08:00
Kevin Sawicki
b632cdd37d Extract helper class to encapsulate touch bar items 2017-03-03 14:00:38 -08:00
Kevin Sawicki
1b5149ae7a Few memory and scope tweaks 2017-03-03 14:00:38 -08:00
Kevin Sawicki
b16d649819 Use skia color helpers 2017-03-03 14:00:38 -08:00
Kevin Sawicki
69638a399c Make touchBar readwrite/nullable 2017-03-03 14:00:38 -08:00
Kevin Sawicki
52905ae9b3 Get compiling against 10.10 SDK 2017-03-03 14:00:38 -08:00