Commit graph

1758 commits

Author SHA1 Message Date
Shelley Vohr
762f7bcca2
refactor: use typeutils for nativeImage serialization (#23693) 2020-05-22 08:56:57 -07:00
Samuel Attard
e3c2ec9f7c
chore: remove unused isolated-world-args (#23716) 2020-05-21 20:11:58 -07:00
Shelley Vohr
78d74bf8b4
fix: trigger about panel for about role on on win (#23687) 2020-05-21 15:38:26 -07:00
Milan Burda
df53816eea
feat: expose the desktopCapturer module in the main process (#23548) 2020-05-20 20:25:49 -04:00
Shelley Vohr
4b23a85475
refactor: correctly serialize nativeImage/buffer with typeUtils (#23666)
* refactor: correctly serialize nativeImage/buffer with typeUtils

* test: add serialization specs

* fix: construct from dataURL

* test: test for dataURL specificity
2020-05-20 13:42:42 -07:00
LuoJinghua
9d851b8791
net: Don't ignore the referer header in net.request (#23386) 2020-05-20 13:28:38 -04:00
Jeremy Apthorp
8de06f0c57
feat: deprecate uncompressed crash uploads (#23598) 2020-05-19 13:47:21 -07:00
Jeremy Apthorp
de44d28c8e
refactor: ginify Session (#23569) 2020-05-19 10:18:12 -07:00
Jeremy Apthorp
7e841ceb5c
refactor: tsify net module (#23618) 2020-05-18 10:22:48 -07:00
Shelley Vohr
ee0f67d541
fix: nativeImage remote serialization (#23543)
We weren't serializing nativeImages properly in the remote module, leading to gin conversion errors when trying to, for example, create a new context menu in the renderer with icons using nativeImage. This fixes that by adding a new special case to handle them.
2020-05-18 09:29:24 -07:00
Milan Burda
52b50e6b33
feat: add app render-process-gone event (#23560) 2020-05-17 17:05:05 +02:00
Samuel Attard
9d7ba98209
refactor: remove the RenderFrameFunctionStore and use privates to memory manage (#23592) 2020-05-15 11:57:40 -07:00
Milan Burda
4afc756094
feat: add contents.getBackgroundThrottling() + backgroundThrottling property (#21036) 2020-05-14 15:11:45 +02:00
Milan Burda
85fae67966
perf: use type-utils for desktopCapturer.getSources() result serialization (#23549) 2020-05-13 19:05:53 +02:00
Samuel Attard
54ff423dac
fix: leave behind the unmodified XDG_CURRENT_DESKTOP variable (#23512) 2020-05-12 20:13:53 -07:00
Samuel Attard
34da3bc500
feat: add new render-process-gone event (#23096) 2020-05-11 13:42:24 -07:00
Samuel Attard
7f9b7b2e95
chore: clean up context bridge scopes and add specs for internal bridge (#23334)
* chore: clean up context bridge context scopes

* spec: add specs for internalContextBridge
2020-05-11 13:41:42 -07:00
Milan Burda
392ea320cf
build: allow use of BUILDFLAG directives from within JS code (#20328) 2020-05-11 01:06:07 +02:00
Jeremy Apthorp
06bf0d08dc
fix: crashReporter incompatible with sandbox on Linux (#23265) 2020-05-07 13:31:26 -07:00
Robo
a707a3eda3
feat: add enableWebSQL webpreference (#23311)
* feat: add enableWebSQL webpreference

* chore: update indexedDB test
2020-05-06 12:52:59 -07:00
shelley vohr
0f0cc51b35
refactor: return null when passing empty menu templates (#23364) 2020-05-04 08:19:21 -07:00
Robo
c438b93f18
fix: ensure guest-embedder map is updated when webview is removed (#23342)
There are use cases of webview where the container holding the webview is not
actually destroyed first, instead just webview gets removed from DOM, in such
situations the browser process map is not updated accordingly and holds reference
to stale guest contents, and any window operations like scroll, resize or keyboard
events that has to chain through browser embedder will lead to UAF crash.

Ref: https://github.com/microsoft/vscode/issues/92420
2020-04-30 21:33:14 -07:00
Milan Burda
4bbb2fbf1f
chore: remove unused ELECTRON_GET_CONTENT_SCRIPTS ipc handler (#23371) 2020-04-30 21:32:08 -07:00
Jeremy Apthorp
8d0a612265
refactor: remove code for non-native extensions shim (#23340) 2020-04-30 09:38:09 -07:00
shelley vohr
f50f725a9c
fix: prevent Menu.buildFromTemplate with empty array (#23308)
Prevent issues with menu creation and subsequent pane focus from menu bar by preventing menus from being created from an empty array. I can't conceive a valid use case for this, since if one wants to remove a menu they should be be passing null to win.setMenu() or calling win.removeMenu(). This issue is also specific to top-level menus, and not submenus, so the new check and exception is scoped to top-level menus.
2020-04-30 08:29:02 -07:00
Samuel Attard
7377bb3736
fix: do not add 104 to the history length (#23301) 2020-04-27 15:53:47 -07:00
Samuel Attard
abe5cf398c
refactor: port window.open and window.opener to use ctx bridge instead of hole punching (#23235)
* refactor: port window.open and window.opener to use ctx bridge instead of hole punching

* refactor: only run the isolated init bundle when webview is enabled
2020-04-27 12:46:04 -07:00
Cheng Zhao
cb6a1e2c5e
fix: set default menu in will-finish-launching event (#23214) 2020-04-23 10:51:31 -07:00
Samuel Attard
8262f24fd8
fix: do not mutate ipc instances across contexts (#23236) 2020-04-22 16:36:15 -07:00
Samuel Attard
375b793984
fix: do not allow child windows to specify their own preload script (#23226) 2020-04-22 12:43:21 -07:00
Samuel Attard
96bf9ce77f
refactor: port parts of window-setup to use ctx bridge instead of being run in the main world (#23194)
* refactor: port parts of window-setup to use ctx bridge instead of being run in the main world

* chore: update ctx bridge specs for new base numbers
2020-04-22 12:42:51 -07:00
Samuel Attard
9d60cfa6fc
fix: do not double-declare webPreferences (#23223) 2020-04-22 11:06:30 -07:00
Jeremy Apthorp
c798a6e5d1
fix: block custom window.open when nativeWindowOpen is true (#23188) 2020-04-22 10:48:54 -07:00
loc
aca2e4f968
refactor: improve feature string parsing (#23130)
* test: add pre-change snapshot of new-window event

* move to .ts file for easier diff

* refactor: improve feature string parsing logic

* test: update snapshots

* update type names per review

* update comma-separated parse test

* use for loop instead of reduce per review

* tighten up types

* avoid variable guest contents id returnValue in test snapshot
2020-04-21 16:23:00 -04:00
Shelley Vohr
f3dc3997b1
feat: support fullScreen BrowserWindow property (#23145) 2020-04-20 20:25:18 -07:00
Jeremy Apthorp
e65cac6ae8
refactor: remove extra args from crashreporter init (#23144) 2020-04-20 14:44:09 -07:00
Jeremy Apthorp
aeaccd00a2
feat: crashReporter: expose rateLimit and compress options (#23062) 2020-04-14 10:36:31 -07:00
Electron Bot
3e8d77d564
chore: bump chromium to 98ebf6c3f0b7bd96bdb1a4b42208f (master) (#22999)
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Electron Bot <anonymous@electronjs.org>
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2020-04-13 16:39:26 -07:00
Samuel Attard
b03bd8c45c
chore: rename atom things to electron things in our docs / scripts (#23100) 2020-04-13 14:32:29 -07:00
Cheng Zhao
ca947307db
chore: make WebContentsView take webPreferences as parameter (#22997)
* chore: add WebContentsView.webContents helper

* chore: no need to handle webContents option

* chore: Create WebContentsView in C++

* chore: make WebContentsView accept web_preferences

* fix: nativeWindowOpen still passes WebContents to BrowserWindow

* chore: no more need of WebContentsViewRelay

* test: WebContentsView now takes options

* fix: avoid creating 2 constructors
2020-04-09 16:01:16 +09:00
Samuel Attard
0d2e967960
feat: expose electron/{process} typed modules (#22937)
* feat: expose electron/{process} typed modules

* chore: update imports for common modules

* chore: update typescript generator

* chore: remap electron/* to the internal packages
2020-04-06 17:04:09 -07:00
Jeremy Apthorp
0a78ab4b98
refactor: ginify DownloadItem (#22924) 2020-04-02 17:22:46 -07:00
Jeremy Apthorp
6159066c26
refactor: ginify Menu (#22916) 2020-04-02 16:07:56 -07:00
Shelley Vohr
da67cbf551
feat: add property support for remainder of BrowserWindow (#22771)
Adds property-based support for the remainder of primitive gette/setter pairs on `BrowserWindow`.

Namely:
- `win.simpleFullScreen`
- `win.title`
- `win.visibleOnAllWorkspaces`
- `win.documentEdited`
- `win.representedFilename`
- `win.shadow`
- `win.kiosk`
- `win.menuBarVisible`
2020-04-01 08:22:32 -07:00
Cheng Zhao
d74ad631e7
chore: there is no need to define _init (#22882) 2020-03-31 14:50:03 -07:00
Jeremy Apthorp
765c08c600
refactor: ginify Notification (#22821) 2020-03-31 11:42:32 -07:00
Jeremy Apthorp
a3e28788ce
refactor: ginify Tray (#22822)
* refactor: ginify Tray

* lint

* improve argument parsing logic

* remove redundant imports from tray.js

* new Tray produces an instanceof Tray

* make Constructible generic

* lint

* clean up on exit
2020-03-30 10:32:02 +09:00
Cheng Zhao
76ae3b7ecb
chore: remove unused classes of views API (#22861)
* chore: remove unused views API classes

* chore: remove LayoutManager code

* chore: no more need to make View inherit from TrackabeObject

* chore: make enable_view_api default to true

* chore: enable_view_api => enable_views_api
2020-03-28 15:44:57 +09:00
Heilig Benedek
74372d65ae
feat: enhance native window.open to match the custom implementation's behavior (#19703)
Co-authored-by: Andy Locascio <andy@slack-corp.com>
2020-03-26 11:05:45 -07:00
Jeremy Apthorp
e73d5e3db5
refactor: ginify protocol (#22812) 2020-03-26 10:34:32 -07:00
Jeremy Apthorp
222022556f
refactor: ginify Cookies (#22823) 2020-03-25 15:34:53 -07:00
Jeremy Apthorp
b327478cf0
fix: prevent remote from messing with constructor names (#22820) 2020-03-25 13:13:10 -07:00
Jeremy Apthorp
07cd70a37e
refactor: ginify powerMonitor (#22751) 2020-03-24 09:03:29 -07:00
Samuel Attard
6b41d86032
Revert "fix: better window hierarchy checks"
This reverts commit 8e368a046d.
2020-03-23 19:34:52 -07:00
Samuel Attard
8e368a046d
fix: better window hierarchy checks 2020-03-23 14:13:12 -07:00
Jeremy Apthorp
decbca734f
refactor: ginify net.request (#22779) 2020-03-23 13:09:45 -07:00
Cheng Zhao
341f643b81
feat: add ImageView (#22738) 2020-03-22 19:11:43 +09:00
Samuel Attard
60bd52880f
feat: add support for net requests to use the session cookie store (#22704) 2020-03-20 15:56:02 -07:00
Jeremy Apthorp
22c17bcc5b
refactor: ginify ServiceWorkerContext (#22756) 2020-03-20 14:15:14 -07:00
Samuel Attard
5d657dece4
build: enable JS semicolons (#22783) 2020-03-20 13:28:31 -07:00
Samuel Attard
b87b501161
build: update eslint + eslint plugins (#22777)
* build: run eslint --fix

* chore: manually fix all hasOwnProperty errors

* chore: manually fix all void 0 vs undefined errors

* chore: manually fix all async-in-promise errors

* chore: manually fix lexical declaration in case block
2020-03-20 11:12:18 -04:00
Samuel Attard
aa15a2cc03
build: update typescript and webpack (#22776) 2020-03-19 16:55:49 -07:00
Jeremy Apthorp
a824e12275
refactor: ginify desktopCapturer (#22746) 2020-03-19 11:35:11 -07:00
Jeremy Apthorp
c4a7eade28
refactor: ginify session.netLog (#22732) 2020-03-18 16:46:05 -07:00
Jeremy Apthorp
232ca8af39
refactor: EventEmitters without gin_helper (#22726) 2020-03-18 12:57:08 -07:00
Shelley Vohr
fc661ec56b
chore: update app module property support (#22713) 2020-03-18 10:06:41 -07:00
Shelley Vohr
674e4a9fdd
chore: more modules to dual prop/fn support (#22688) 2020-03-17 18:06:52 -07:00
Samuel Attard
5e4e50c5eb
fix: remove bad usages of for-in and guard against it (#22616)
* fix: remove bad usages of for-in and guard against it

* Apply suggestions from code review

Co-Authored-By: Samuel Maddock <samuel.maddock@gmail.com>

* Apply suggestions from code review

Co-Authored-By: Jeremy Apthorp <jeremya@chromium.org>

* Update remote.js

Co-authored-by: Samuel Maddock <samuel.maddock@gmail.com>
Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>
2020-03-17 13:17:55 -07:00
Shelley Vohr
97d8caa1e0
chore: support props/fns for BrowserWindow (#22686) 2020-03-16 14:03:35 -07:00
Shelley Vohr
1b353d1ed3
chore: revert deprecated WebContents properties (#22640)
* chore: revert deprecated WebContents properties

* Fix failing zoomFactor test
2020-03-13 10:16:08 -07:00
Jeremy Apthorp
b4d07f76d3
feat: MessagePorts in the main process (#22404) 2020-03-11 18:07:54 -07:00
Shelley Vohr
efc11563e8
fix: properly forward properties to webview (#22485) 2020-03-03 22:25:14 +00:00
Erick Zhao
85ef762269
fix: guard against duplicate TouchBarItem IDs (#22272)
* feat: Add OtherItemsProxy touchbar item

* review!

* fix: guard against duplicate TouchBarItem IDs

* add spec
2020-02-26 22:12:56 +00:00
Samuel Attard
12c1d4411d
chore: add deprecation warning on setting app.allowRendererProcessReuse to false (#22337)
* chore: add deprecation warning on setting app.allowRendererProcessReuse to false

* fix: no deprecation warnings in process reuse spec

* chore: add test for new deprecate removeProperty behavior
2020-02-26 14:03:52 -08:00
Samuel Attard
360c1cad1b
chore: do not override history methods when rendererprocessreuse is enabled (#22335) 2020-02-24 12:14:11 -08:00
Erick Zhao
1848e3f658
feat: Add OtherItemsProxy TouchBar item (#22270)
* feat: Add OtherItemsProxy touchbar item

* review!
2020-02-24 17:55:06 +09:00
Syed Umair
e965703e62
fix: typo in crash reporter constructor (#22274) 2020-02-21 16:32:45 +00:00
Samuel Attard
e7b0a9ca8f
feat: add API for receiving logs from service workers (#20624)
* feat: add API for receiving logs from service workers

* feat: add new serviceWorkerContext APIs

* chore: add missing #include's

* refactor: rename serviceWorkerContext to serviceWorkers

* chore: clean up based on review

* chore: remove native_mate

* chore: add tests for the service worker module

* Update spec-main/api-service-workers-spec.ts

Co-Authored-By: Jeremy Apthorp <jeremya@chromium.org>

* chore: fix linting

* chore: handle renames

Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
2020-02-20 15:19:06 -08:00
Jeremy Apthorp
602913cb4c
chore: rename node bindings atom => electron (#22176) 2020-02-14 06:25:39 -05:00
Shelley Vohr
5e7c594691
fix: no-arg console.log is undefined (#22165) 2020-02-12 09:25:11 -08:00
Cheng Zhao
9ad6f06831
fix: remove cyclic references of BrowserWindow (#22006)
* fix: remove cyclic references in BrowserWindow

* fix: prevent TopLevelWindow from garbage collection

* test: garbage collection of BrowserWindow

* chore: createIDWeakMap is used in tests
2020-02-11 09:37:46 +09:00
Jeremy Apthorp
b77f701aeb
feat: disable the remote module by default (#22091) 2020-02-10 10:49:09 -08:00
Jeremy Apthorp
ea89120c9e
chore: remove debugging log (#22093) 2020-02-07 12:31:08 -08:00
Shelley Vohr
928175bdfe
feat: allow specifying pageSize for print (#22014) 2020-02-05 04:25:02 +00:00
Charles Kerr
c83f836faf
refactor: prefer using app.whenReady() (#21972)
* docs: add references to app.whenReady() in isReady

* refactor: prefer app.whenReady()

In the docs, specs, and lib, replace instances of `app.once('ready')`
(seen occasionally) and `app.on('ready')` (extremely common) with
`app.whenReady()`.

It's better to encourage users to use whenReady():
1. it handles the edge case of registering for 'ready' after it's fired
2. it avoids the minor wart of leaving an active listener alive for
an event that wll never fire again
2020-02-03 22:43:22 +00:00
Jeremy Apthorp
1c6d8f5af6
fix: return path from netLog.stopLogging (#21985) 2020-01-31 10:43:02 -08:00
Hye Sung Jung
0bd8a97f38
update (#21915) 2020-01-29 18:42:25 +09:00
Shelley Vohr
548b290ea7
feat: add more options to printToPDF (#21906) 2020-01-28 20:47:24 +00:00
Charles Kerr
1b4eb0b679
fix: use powerMonitor.on() only after app is ready (#21927)
* fix: use powerMonitor.on() only after app is ready

powerMonitor can't be used until the app is ready; however, on Linux,
powerMonitor.on() was called as soon as lib/browser/api/power-monitor.ts
was loaded.

This patch takes @vladimiry's suggestion of wrapping that in an
app.on('ready') handler to prevent powerMonitor.on() from being called
prematurely.

Fixes #21716
2020-01-28 12:19:44 -06:00
Jeremy Apthorp
acb5b75057
chore: [extensions] support old APIs when enable_electron_extensions = true (#21812) 2020-01-21 09:42:55 -08:00
Samuel Attard
b31c02ef31 test: fix some failing and disabled node specs (#19518)
* test: fix some failing and disabled node specs

These tests were failing due to mismatched stacktraces as a result of
our Module._load hook.  This fixes those by adding a flag to optionally
not hook those calls and instead do the asar override eagily.

* ELECTRON_EAGER_ASAR_HOOK => ELECTRON_EAGER_ASAR_HOOK_FOR_TESTING

* test: parallel/test-zlib-unused-weak consistently fails

Co-authored-by: Cheng Zhao <zcbenz@github.com>
2020-01-15 16:07:03 +09:00
Cheng Zhao
ceacadb4f4 fix: pass full response headers in net module (#21552) 2020-01-14 09:36:08 -08:00
Shelley Vohr
83c19faf61 fix: pass startPage url correctly to extensions (#21711)
* fix: pass startPage url correctly to extensions

* check for devtools_page first
2020-01-14 15:47:56 +09:00
Jeremy Apthorp
2e1531ad90 feat: warn when remote is used without enableRemoteModule: true (#21546)
* feat: warn when remote is used without enableRemoteModule: true

* fix security warning
2020-01-13 15:23:03 +09:00
Milan Burda
31c93fec67 fix: load window-setup in sandboxed renderer (#21416) 2020-01-06 22:23:03 +01:00
Shelley Vohr
d56f67b7af
refactor: throw error for getLastCrashReport if crashReporter not started (#21643) 2020-01-06 11:00:27 -05:00
Lutz Roeder
ed6a3877a4 fix: SimpleURLLoaderWrapper redirects (#21630) 2019-12-31 10:47:08 +11:00
Jeremy Apthorp
54b4756a29
refactor: try just using regular [Sync] for MessageSync (#20797) 2019-12-17 11:35:28 -08:00
Joël Charles
0bcfae752e feat: allow pages to override window.history.length (#17742)
* fix: allow pages to override window.history.length

* Update lib/renderer/window-setup.ts

Co-Authored-By: magne4000 <joel.charles91@gmail.com>

* fix: lint error
2019-12-16 11:14:27 +09:00
Milan Burda
6a03d3cc66 refactor: export internalWindowOpen from guest-window-manager (#21498) 2019-12-16 10:30:25 +09:00