Commit graph

647 commits

Author SHA1 Message Date
Julien Isorce
27bd47a333 feat: implement BrowserWindow.moveTop on X11 (#16629)
It was implemented on Mac and Win but not on X11.
Tested on Ubuntu 16.04 and 18.04.

Also added a unit test in spec/api-browser-window-spec.js.
This test BrowserWindow.moveTop verifies that calling moveTop
on a window does not give the focus to this window.

notes: BrowserWindow.moveTop is now available on Linux/x11

https://github.com/electron/electron/issues/12516
2019-02-07 12:48:19 -08:00
Shelley Vohr
c8c1be7ae5
feat: add window removeMenu() method (#16570)
* feat: add window removeMenu() method

* chore: remove original method from docs and code

* retain backwards compatibility
2019-01-31 10:58:23 -08:00
Samuel Attard
f3e30c7ae3
Merge remote-tracking branch 'origin/chromium-upgrade/72' 2019-01-22 12:01:18 -08:00
Samuel Attard
0b85fb7ea2
Revert "feat: upgrade to Chromium 72.0.3626.52 (#16334)"
This reverts commit 1918e76913.
2019-01-22 12:01:04 -08:00
Samuel Attard
58a6fe13d6
feat: preloads and nodeIntegration in iframes (#16425)
* feat: add support for node / preloads in subframes

This feature has delibrately been built / implemented in such a way
that it has minimum impact on existing apps / code-paths.
Without enabling the new "nodeSupportInSubFrames" option basically none of this
new code will be hit.

The things that I believe need extra scrutiny are:

* Introduction of `event.reply` for IPC events and usage of `event.reply` instead of `event.sender.send()`
* Usage of `node::FreeEnvironment(env)` when the new option is enabled in order to avoid memory leaks.  I have tested this quite a bit and haven't managed to cause a crash but it is still feature flagged behind the "nodeSupportInSubFrames" flag to avoid potential impact.

Closes #10569
Closes #10401
Closes #11868
Closes #12505
Closes #14035

* feat: add support preloads in subframes for sandboxed renderers

* spec: add tests for new nodeSupportInSubFrames option

* spec: fix specs for .reply and ._replyInternal for internal messages

* chore: revert change to use flag instead of environment set size

* chore: clean up subframe impl

* chore: apply suggestions from code review

Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>

* chore: clean up reply usage

* chore: fix TS docs generation

* chore: cleanup after rebase

* chore: rename wrap to add in event fns
2019-01-22 11:24:46 -08:00
Jeremy Apthorp
1918e76913 feat: upgrade to Chromium 72.0.3626.52 (#16334) 2019-01-22 10:39:32 -08:00
Jeremy Apthorp
6d4480ea6b feat: allow setting autoplayPolicy in webPreferences (#16396) 2019-01-22 10:32:06 -08:00
Milan Burda
fade3eb679 chore: make "nodeIntegration" and "webviewTag" default to false (#16235) 2019-01-07 22:19:27 +03:00
Kilian Valkhof
21d1849723 Update browser-window.md with alpha hex formatting (#16269)
HEX with alpha can be #RRGGBBAA or #AARRGGBB. In Electron it's the latter. It's nice to explicitly state that, so others wont have to try twice like me :).
2019-01-04 10:33:12 -08:00
Vladimir
5ae3d1a1b2 feat: add multi BrowserView support to BrowserWindow (#16148)
* feat: add multi BrowserView support to BrowserWindow

Add functions addBrowserView, removeBroserView, getBrowserViews to
BrowserWindow class. Existing API as setBrowserView and
getBrowserView code replaced to use new api inside.

* fix: for lint and osx compile errors

* fix: lint error in test code

* feat: add multi BrowserView support to BrowserWindow

Add functions addBrowserView, removeBroserView, getBrowserViews to
BrowserWindow class. Existing API as setBrowserView and
getBrowserView code replaced to use new api inside.

* fix: for lint and osx compile errors

* fix: lint error in test code

* fix: method to be accessible on mac api impl

* fix: missed function declarations for mac impl

* fix: use base class reset function
2018-12-22 10:49:26 +09:00
popod
f6081b18b6 docs: Improve the doc about BrowserWindow title property (#16086)
* Improve the doc about BrowserWindow title property

* Update docs/api/browser-window.md

Co-Authored-By: popod <popod@me.com>
2018-12-17 13:16:24 -07:00
Michelle Tilley
d6d245d0c3 docs: contextIsolation is no longer experimental (#16043) 2018-12-13 11:21:16 -05:00
Simone Cattaneo
649633bbb7 fix: make 'setParentWindow' compatible under Windows (#15775) 2018-12-12 16:05:16 -08:00
Shelley Vohr
45a937df0a fix: incorrect view ordering for customButtonsOnHover (#15564) 2018-12-10 11:05:30 -08:00
Jeremy Apthorp
442c1b22e3
feat: webContents.loadURL returns a promise (#15855) 2018-12-06 12:16:19 -08:00
Saswat Bhattacharya
d243a45173 feat: implement 'app-command' events for browser history navigation keys on Linux (#15441)
* Added mouse forward/back button support on Linux

* Added browser history navigation action bindings for Windows, Mac, and Linux keyboard

* Removed new `history-action` event and modified `app-command` to execute on such events

* Removed attempt at macOS support and added constants

* Clarified app-command documentation

* Reverted 'app-command' description change

* Format code
2018-12-05 09:35:59 -08:00
Shelley Vohr
41c2685204
feat: promisify win.capturePage() (#15743)
* feat: promisify win.capturePage

* mark optional arg correctly

* Add to breaking changes doc

* properly deprecate win.capturePage

* remove change from api-contract

* document both callback and promise versions

* address docs feedback

* update promisification progress doc
2018-11-27 23:50:53 -05:00
Shelley Vohr
c06f023313
feat: allow partial setting of window bounds (#15677)
Extend the existing win.setBounds functionality by allowing developers to partially update bounds without being forced to pass in all four bounds values. No existing functionality is altere
2018-11-12 15:31:14 -05:00
Cheng Zhao
2f3a8ecd42
fix: child window with nativeWindowOpen should disable node integration (#15213)
* fix: child window with nativeWindowOpen should disable node integration

* Revert "fix: do not enable node integration in child window if not enabled (#15076)"

This reverts commit 0252d7686c.

This patch is not needed anymore since we are force disabling node integration
for child windows.
2018-10-25 15:31:07 +09:00
Milan Burda
d3efc52745 feat: add webPreferences.enableRemoteModule option (#13028) 2018-10-13 20:50:07 +03:00
Samuel Attard
6b621e203c fix: use valid markdown syntax in browser-window.md to fix docs linter 2018-10-10 11:01:05 +11:00
Jeremy Apthorp
373ffa9fee docs: document BrowserWindow.setBackgroundColor 2018-10-09 14:39:39 -07:00
Troy
d678d9ee75 fix: Check minSize constraints before resizing (#14931)
* Inital setSize check

* Only resize if above minimum size constraints

* lint

* Resize to min if size is changed

* Remove unneeded if statement

* chore: remove trailing whitespace

* Add note about setSize method in docs
2018-10-09 12:08:15 -05:00
Shelley Vohr
27bbf6a3c6 feat: add evt listeners for SetAlwaysOnTop (#14951)
* feat: add evt listeners for SetAlwaysOnTop

* only emit one event on AlwaysOnTop change

* docs: add new alwaysontop event

* dont emit if theres no change

* address feedback from review
2018-10-04 13:02:16 -05:00
Shelley Vohr
2bcc86dac7 docs: clarify allowable background colors for BrowserWindow transparency (#14762)
* docs: clarify allowable colors for transparency

* fix alpha value specification
2018-09-24 10:51:01 -05:00
Samuel Attard
558fff69e7
chore: update to standard 12 2018-09-14 14:57:01 +10:00
Milan Burda
58577bd431 feat: add options to webContents.loadFile (#14515) 2018-09-11 17:56:49 +10:00
Paulius
b89848d683 feat: allow window above full screen windows on mac (#14122)
* allow window above full screen windows on mac

* add visibility change params to higher level files

* adress feedback, fix bool issue, remove compilation hooks

* adjust readme

* switch to options object

* single argument for native window views
2018-08-31 15:06:02 -07:00
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
Leo MG Nesfield (LMGN)
519b57838a Fix broken link (#14301) 2018-08-24 14:25:15 -07:00
Jeremy Apthorp
3bdff2d238
feat: allow setting window shape (#13789)
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
2018-07-30 13:37:40 -07:00
Milan Burda
aacbd76baa docs: fix electron.d.ts typings (#13841) 2018-07-30 11:11:23 +10: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
f788143c1a pr: Update docs 2018-07-25 10:12:27 -07: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
Shelley Vohr
6045d1218a
refactor: remove experimentalCanvasFeatures property (#13684) 2018-07-16 13:32:42 -07:00
Danny Brown
dd6c776a19 docs: add note about how to remove a previously set aspect ratio (#13293) 2018-06-19 10:24:42 -05:00
Samuel Attard
c58fa02e58
Mark browser window affinity as experimental 2018-06-20 00:33:24 +10:00
deepak1556
c4b8e106c0 Create network_converter for services/network/* types 2018-06-19 11:49:42 +10:00
Shelley Vohr
5f5322c64e
rename blinkFeatures to enableBlinkFeatures 2018-05-23 14:01:34 -07:00
Charles Kerr
cf6d36cb72 Consistent docs for LoadURLOptions.httpReferrer 2018-05-11 12:18:38 -05:00
Charles Kerr
4d078fdb03
Remove more words (#12852)
* remove 'basically' from docs

* remove 'simply' from docs

* remove most uses of 'just' from docs
2018-05-08 00:16:09 -05:00
Shelley Vohr
52e3d5e4f0
remove some beginner-unfriendly terms from docs 2018-05-07 08:46:14 -07:00
Jeremy Apthorp
1a64b9f0c2 Disable navigating on drag/drop (#12655)
* Disable navigating on drag/drop

* Add a WebPreferences option to re-enable navigate on drag/drop
2018-04-26 10:23:27 -05:00
Zhuo Zhang
de1eae288c doc: rename 'blink-feature-string' as 'runtime-enabled-features'
make it more meaningful :)
2018-04-14 08:49:30 +08:00
Zhuo Zhang
dd45473356 fix broken url for 'blink-feature-string' 2018-04-11 15:02:54 +08:00
Andreas
6b5e09478c Mouse forward on macOS (#12281)
* Accept mouse events according to the forward parameter on macOS.

* Update BrowserWindow docs: mouse forward is available on macOS
2018-04-09 19:35:05 +09:00
Jeremy Apthorp
f0d08f4da1 Propagate referrer to new windows (#12397)
* Propagate referrer to new windows

Fixes #9205

* Rearrange -new-window event arguments for backwards-compatibility

* Plumb referrer policy through guest-window-manager

* Document the Referrer structure and its uses

* Add tests for referrer in new windows

* Docs nits
2018-04-05 18:13:24 -05:00
MadfishDT
200388ff96 add moveTop API to move window z-oder to top for win32, mac (#12485)
* add moveTop API to move window z-oder to top for win32, mac

* BrowserWindow::MoveTop SetMethod bug fix
2018-04-03 08:04:32 -05:00
Sean
5f7c6ccfe4 update doc for setProgressBar (#12428)
* update doc for setProgressBar

The linter was unable to get `paused` as a possible value for `mode`

* update doc for setProgressBar

Addressing PR feedback
2018-03-28 10:29:31 +11:00
Charles Kerr
cfd91a3b56 Fix documentation tyop (#12422) 2018-03-23 18:35:14 -04:00
Samuel Attard
8c138e74be More vibrancy fixes (#12157)
* Only set title bar to transparent when vibrant with a custom titlebar
* Correctly set the transparent state of the GpuSwitcher so vibrancy works on reload
* Document case where using frame: false without custom titleBarStyle and vibrant
2018-03-07 11:40:36 -05:00
br0nstein
f170914def Fix getFocusedWindow return type (#12149) 2018-03-07 10:23:02 +09:00
Cheng Zhao
d8f16f4116 docs: Default message is not localized 2018-03-06 11:24:42 +09:00
Cheng Zhao
26a071ea00 docs: Defaults of safeDialogs 2018-03-06 11:21:40 +09:00
Samuel Attard
795447f61a Implement dialog (alert/confirm) blocking as a user switch after the first dialog
* This is to enable more browser-like behavior so that users who run third-party code
  will not be DOS'ed with alerts and confirms.  This is already handled like this
  in most major browsers so this will greatly help these developers
2018-03-06 11:19:15 +09:00
shelley vohr
846be03f1d remove support for hidden-inset (#11975) 2018-02-20 11:09:54 -06:00
Cheng Zhao
2b623f5d86 docs: More explaination to affinity option 2018-02-13 15:33:11 +09:00
Emmanuel Kimmerlin
9c1b47361f Add an "affinity" option to webPreferences 2018-02-13 15:18:55 +09:00
Samuel Attard
b3234f634b Add ability to set arbitrary arguments in a renderer process (#11850) 2018-02-12 11:54:31 -06: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
Samuel Attard
32a1395bcf
Merge pull request #11565 from electron/add-load-file-helper
Add window.loadFile and webContents.loadFile helper methods
2018-01-23 09:08:23 +11:00
Tiago Danin
74769da9a7 [Docs] Fix URLs and Paths (#11584)
* Fix URLs and Paths in docs/

* Avoiding link break to /docs/development/updgrading-chrome.md

* Fix URLs and Paths in docs/ #2

* Removed double spaces in docs
2018-01-12 10:24:48 -05:00
Samuel Attard
1553b54779
Add window.loadFile and webContents.loadFile helper methods 2018-01-04 11:38:56 +13:00
HayateLaTech
f2e32791b1
Update browser-window.md 2017-12-22 15:13:12 +01:00
Toinane
59607c9a17
feat(docs): fix 'optional' wording 2017-11-28 18:15:15 +01:00
Felix Rieseberg
8f20ce6dcf 📝 Docs! 2017-11-22 14:38:22 -08:00
Samuel Attard
bf42426acc
Merge pull request #11048 from Toinane/fix-doc
fix(documentation): link in browserwindows.md
2017-11-08 01:14:36 +11:00
Toinane
247af376fe
fix(documentation): link in browserwindows.md 2017-11-07 14:17:00 +01:00
Felix Rieseberg
067662b304
📝 Oh look, another typo 2017-11-03 13:02:12 -07:00
Felix Rieseberg
43bb74cb13
📝 One-character typo change 2017-11-03 10:54:17 -07:00
Felix Rieseberg
7bad679a69 📝 Correct types 2017-10-27 12:14:09 -07:00
Felix Rieseberg
29a85bc928 📝 Document it 2017-10-27 11:44:48 -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
Cheng Zhao
09b93aa164 No need of example for such simple API 2017-10-03 20:12:05 +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
Taeho Kim
7c1c8f323c Update browser-window.md 2017-10-01 17:36:22 +09:00
Vadim Macagon
3ad1cccb1d [ci skip] Fix link to Chromium Runtime Features JSON file (#10639) 2017-09-29 14:17:00 -04: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
f256967414 📝 make clear what simple fullscreen mode is 2017-09-11 23:09:45 -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
Vanessa Yuen
deb7ccbef3 fix lint error 2017-08-25 17:24:50 -04:00
Vanessa Yuen
bb153ee79e update browser-window.md
Add a note about the subtle difference between `window.onbeforeunload = handler` and `window.addEventListener('beforeunload', handler)`.
2017-08-25 17:14:20 -04:00
Michael Kaylan
b4428e7e41 🍎 Add macOS native tab methods to window API 2017-08-21 23:24:30 -04:00
Cheng Zhao
f908678e8e Merge pull request #10183 from andens/mouse_forward
Mouse forward functionality on Windows
2017-08-17 15:54:22 +09:00
Andreas Flöjt
3d33da7696 Make mouse forward option of setIgnoreMouseMessages and update documentation. 2017-08-14 20:21:00 +02:00
Zachary Flower
8a2c35023f 📝 Document simple fullscreen functionality [ci skip] 2017-08-13 00:58:28 -06:00
Zeke Sikelianos
d0130e1b09 Merge pull request #9988 from kant2002/patch-1
Allow TypeScript definitions work with strictNullChecks
2017-08-07 20:37:26 -07:00
John Kleinschmidt
ccdff72ee4 Merge pull request #9918 from alexstrat/add-extensions-loading-api
Introduce Chrome extensions management APIs independent of Dev Tools Extensions
2017-08-07 20:06:22 -04:00
Andreas Flöjt
12dbcfa2ea 📝 Documentation for setForwardMouseMessages. 2017-08-02 21:50:42 +02:00
Kevin Sawicki
a2554080ea Mark nativeWindowOpen as experimental 2017-07-17 12:40:59 -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
9102c07ec7 always_show_title_text_in_full_screen -> fullscreen_window_title 2017-07-14 11:48:10 -07:00
Andrey Kurdyumov
189be18dd2 Allow TypeScript definitions work with strictNullChecks
See https://github.com/electron/electron-typescript-definitions/issues/25
2017-07-12 20:29:32 +06:00
Alexandre Lachèze
f09e448d4d 📝 2017-07-05 17:01:30 +02: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