Commit graph

3849 commits

Author SHA1 Message Date
Birunthan Mohanathas
e7d71000ee Fix missing warning icon with dialog.showMessageBox() on macOS
Fixes #9183.
2017-04-14 19:27:25 +03:00
Kevin Sawicki
fe8726d775 Use Chrome default client inset handling 2017-04-13 13:03:46 +03:00
Birunthan Mohanathas
06fcf2c19d Add support for BrowserView autoresizing 2017-04-13 01:27:31 +03:00
Birunthan Mohanathas
638eae1080 Remove MenuLayout in favor of NativeWindowViews::Layout 2017-04-13 01:27:31 +03: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
1c44bcf654 Merge pull request #8786 from electron/per-monitor-dpi-aware
Enable per-monitor DPI for Win10
2017-04-12 12:27:41 -07:00
Kevin Sawicki
e7b679ead6 Add IsEmpty helper and remove GetInstance public usage 2017-04-11 09:09:17 -07:00
Kevin Sawicki
da5d7d72b0 Add GetWindows helper that returns a vector 2017-04-11 09:09:17 -07:00
Kevin Sawicki
0883a9f966 Use CloseAllWindows helper 2017-04-11 09:09:17 -07:00
Kevin Sawicki
8311aa667c Add DestroyAllWindows helper that uses vector copy 2017-04-11 09:09:17 -07:00
Cheng Zhao
c59ef0efc5 Enable per-monitor DPI 2017-04-11 15:17:15 +09:00
Kevin Sawicki
8a324a9375 Bump v1.6.6 2017-04-07 09:01:28 -07:00
Ales Pergl
73e3fd01eb Fixed a couple of failing debug checks when calling Chromium APIs 2017-04-05 14:45:46 +02:00
Kevin Sawicki
6a22c6645e Guard against missing popover identifier 2017-04-04 13:51:39 -07:00
Kevin Sawicki
9c73c991d7 Use const references for params 2017-04-04 13:51:39 -07:00
Samuel Attard
bea56bbdc8 Update as per feedback 2017-04-04 13:51:38 -07:00
Samuel Attard
2fd62d090a Allow items to be assigned to multiple popovers 2017-04-04 13:51:33 -07:00
Samuel Attard
f05dfc74da Store parent popover in popover touch bar items 2017-04-04 13:51:13 -07:00
Kevin Sawicki
7f8e490839 Take const reference 2017-04-04 12:50:41 -07:00
Kevin Sawicki
d596d85288 🎨 2017-04-04 12:50:41 -07:00
Kevin Sawicki
df0f468dea Add escapeKeyReplacementItemIdentifier forward declaration 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
3e9014c371 Merge pull request #9099 from electron/certificate-trust
macOS: Add certificate trust API
2017-04-04 11:17:09 -07:00
joshaber
146e1ed3ce Don't pass the result through
It's meaningless on macOS, at least.
2017-04-04 09:21:15 -04:00
joshaber
8d465234e4 Appease our linty overlords 2017-04-03 21:40:46 -04:00
joshaber
2badfbe04f Remove the intermediate function 2017-04-03 21:22:37 -04:00
joshaber
b3e865a478 Fix some style things 2017-04-03 21:22:14 -04:00
joshaber
74c0cbddae Linebreak to keep the linter happy 2017-04-03 16:07:02 -04:00
joshaber
b8ff4666c8 Remove stale includes 2017-04-03 15:48:47 -04:00
joshaber
06643e525a Const ref that message 2017-04-03 15:28:44 -04:00
joshaber
11f5c942ce Conditionalize 2017-04-03 15:25:09 -04:00
joshaber
bcecba20e6 Fix indentation 2017-04-03 15:09:24 -04:00
joshaber
4ffaf2cd99 Remove old unnecssary change on app 2017-04-03 15:09:04 -04:00
joshaber
6e89cb9d7c Move it into dialog 2017-04-03 15:05:24 -04:00
joshaber
4bbbcd093b Handle the callback and cleanup properly 2017-04-03 14:01:48 -04:00
joshaber
1ed443ea29 Do the callback & release dance 2017-04-03 13:21:44 -04: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
joshaber
4f3d3557cc Notify that the cert changed 2017-03-31 21:51:29 -04:00
Kevin Sawicki
a724b6555f Bump v1.6.5 2017-03-31 12:10:09 -07:00
Kevin Sawicki
08db63c3cc Only define NSWindowTabbingModeDisallowed on pre-10.12 2017-03-31 11:28:55 -07:00
Haojian Wu
8ae91682cb Lines should be <= 80 characters. 2017-03-31 20:09:13 +02:00
joshaber
16cc79354c Errrrybody's a scoped_refptr now 2017-03-31 13:53:42 -04:00
joshaber
653b2d15c3 Expose the certificate trust panel as part of app 2017-03-30 17:25:55 -04:00
joshaber
64369cd07f Show a certificate trust panel 2017-03-30 17:25:44 -04:00
Haojian Wu
328cf4789b Should override the virtual destructor. 2017-03-30 23:19:43 +02:00
Haojian Wu
e8abee9ca9 Replace C-style casts with static_cast. 2017-03-30 23:05:47 +02:00
Haojian Wu
ff745e1a82 Use prefix increment in for loops. 2017-03-30 22:56:21 +02:00
Haojian Wu
8d8c7ce6ad Correct type cast. 2017-03-30 22:53:20 +02:00