Commit graph

4954 commits

Author SHA1 Message Date
Thiago de Arruda
19b6ba044b Fix context leak in ObjectLifeMonitor.
The RemoteObjectFreer class is keeping the context alive even when the window is
closed. For electron applications that use sandbox, this will cause a memory
leak every time a new window is created with `window.open`.

Close #9191
2017-04-28 11:21:53 -03:00
Kevin Sawicki
7881376aff Merge pull request #9254 from electron/endsession-event
End session event on browser window
2017-04-24 12:02:05 -07:00
Hari Krishna Reddy Juturu
8458acff26 Removing #ifdef on endsession api 2017-04-24 11:58:08 -07:00
Hari Krishna Reddy Juturu
8a32826876 Removing #ifdef windows for endsession methods 2017-04-24 11:49:21 -07:00
Hari Krishna Reddy Juturu
9e70372c1f change endsession event name to session-end 2017-04-24 10:16:11 -07:00
Kevin Sawicki
13e4582697 Emit autoUpdater error directly as Error object 2017-04-24 09:47:30 -07:00
Hari Krishna Reddy Juturu
9e8252c1f9 Remove wm_state change 2017-04-21 14:35:30 -07:00
Hari Krishna Reddy Juturu
3c3e14b820 End session event on browser window 2017-04-21 14:22:11 -07:00
Kevin Sawicki
a004cada7c Merge pull request #9095 from seanchas116/better-path-resolve
Search for module from app path when URL is not file protocol
2017-04-20 10:49:53 -07:00
Kevin Sawicki
dc8b43901b Merge pull request #9108 from yuya-oc/add-macos-sheet-events
Add sheet-begin and sheet-end events to macOS BrowserWindow
2017-04-20 10:33:31 -07:00
Kevin Sawicki
29a3e11893 Group sheet event methods with other macOS methods 2017-04-20 10:32:14 -07:00
Kevin Sawicki
4a9383b50b Bump v1.6.7 2017-04-18 09:17:16 -07:00
Hari Krishna Reddy Juturu
fe88697348 fixup! fixup! Adding cookie flush store api 2017-04-18 09:05:13 -07:00
Hari Krishna Reddy Juturu
19709a50e9 Adding cookie flush store api 2017-04-18 09:05:13 -07:00
Kevin Sawicki
c32a723e29 Only read iconPosition when icon is present 2017-04-18 08:58:54 -07:00
Samuel Attard
526d287d25 Make iconPosition non-breaking by defaulting to overlay 2017-04-18 08:56:39 -07:00
Samuel Attard
11c7c107a9 add iconPosition property to touch bar buttons 2017-04-18 08:56:39 -07:00
Birunthan Mohanathas
3bcf5e0e9f Fix OverrideSiteInstanceForNavigation() signature 2017-04-18 11:51:38 +03:00
Birunthan Mohanathas
dcf6c52f51 Actually hide menubar area when menu is autohidden
This was a regression introduced in 638eae10.
2017-04-17 12:31:39 +03:00
Yuya Ochiai
75184046f6 Add events to manage sheets of macOS BrowserWindow 2017-04-15 16:26:45 +09:00
Birunthan Mohanathas
e7d71000ee Fix missing warning icon with dialog.showMessageBox() on macOS
Fixes #9183.
2017-04-14 19:27:25 +03:00
Ryohei Ikegami
ea6890aa5c Use const 2017-04-13 23:26:42 +09:00
Kevin Sawicki
fe8726d775 Use Chrome default client inset handling 2017-04-13 13:03:46 +03:00
Ryohei Ikegami
9d62b196d3 Use base::FilePath 2017-04-13 10:59:12 +09: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
efa28503a7 Merge pull request #9148 from electron/share-render-frame-observer-with-sandbox
Refactor: Share AtomRenderFrameObserver with AtomSandboxedRendererClient
2017-04-11 10:02:12 -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
Kevin Sawicki
29c68182df Always set NSScrollViewRubberbanding scroll bounce pref 2017-04-11 08:42:41 -07:00
Cheng Zhao
c59ef0efc5 Enable per-monitor DPI 2017-04-11 15:17:15 +09:00
Thiago de Arruda
039aaba758 Move AtomRenderFrameObserver creation to RendererClientBase.
Also remove AtomSandboxedRenderFrameObserver class.
2017-04-08 11:54:58 -03:00
Thiago de Arruda
72781e38c8 Change AtomRenderFrameObserver.renderer_client_ type to RendererClientBase. 2017-04-08 11:27:19 -03:00
Thiago de Arruda
ef07e25f9d Make SetupMainWorldOverrides/isolated_world pure virtual.
Also implement stubs in AtomSandboxedRendererClient.
2017-04-08 11:12:18 -03:00
Thiago de Arruda
f751335bf9 Make DidCreateScriptContext/WillReleaseScriptContext pure virtual. 2017-04-08 10:58:13 -03:00
Thiago de Arruda
0227254774 Move DidClearWindowObject into RendererClientBase.
Also adapt AtomSandboxedRenderFrameObserver to forward DidClearWindowObject to
RendererClientBase.
2017-04-08 10:43:19 -03:00
Thiago de Arruda
91ee0ea740 Move AtomRenderFrameObserver into a separate module.
Also move SetupMainWorldOverrides into the AtomRendererClient class(since the
code there is specific to AtomRendererClient).
2017-04-08 10:29:05 -03:00
Kevin Sawicki
8a324a9375 Bump v1.6.6 2017-04-07 09:01:28 -07:00
Kevin Sawicki
4ec7cc913d Merge pull request #9117 from electron/fix_debug_checks
Fixed a couple of failing debug checks when calling Chromium APIs
2017-04-06 08:48:15 -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
aa75e4562e Restore delivering IPC messages to utility handlers 2017-04-04 20:40:57 -07: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