Commit graph

2118 commits

Author SHA1 Message Date
Samuel Attard
0a1b26b1d5
refactor: remove internal navigation controller (#28839) 2021-04-27 16:11:18 -07:00
Samuel Attard
79077f6df9
chore: remove app.allowRendererProcessReuse (#26874) 2021-04-21 13:59:11 -07:00
Jeremy Rose
4ca518468d
feat: remove BrowserWindow option inheritance (#28550) 2021-04-21 10:55:17 -07:00
Shelley Vohr
11199d8824
feat: add BrowserWindow.isFocusable() (#28642) 2021-04-21 12:32:19 +02:00
Jeremy Rose
e12a3cb59c
feat: remove deprecated additionalFeatures (#28548) 2021-04-19 15:46:54 -07:00
Samuel Attard
b8c2481edb
fix: do not handle write errors after request is aborted (#28682)
This fixes a flake on linux CI which started recently where the "write"
promise is being rejected after the request has been aborted /
cancelled.  In this case we should drop the error to the floor but
instead we pass it down the stack where it eventually emits a now
unhandled error event.

Example failure: https://app.circleci.com/pipelines/github/electron/electron/38072/workflows/c1faf19b-aa41-4f99-a564-165729222859/jobs/838813

Verified fix by running the test that caused it 10000 times before fix
and 10000 times after.  ~50 failures before, 0 after.
2021-04-19 09:50:14 -04:00
Jeremy Rose
dba4df9326
feat: add more info in setWindowOpenHandler details (#28518)
* fix: invoke the window open handler for _blank links

* feat: add disposition to setWindowOpenHandler details

* fix: pass postData to new-window event

* postData can be heterogeneous

* fix type of postBody

* fix type of UploadFile and UploadRawData to be discriminated unions

* exclude the empty string from additionalFeatures

* add a test

* add postBody and referrer to setWindowOpenHandler args

* appease typescript

* Update api-browser-window-spec.ts

* update snapshots
2021-04-13 15:35:27 -04:00
Samuel Attard
6df2680cb6
refactor: clean up webFrame implementation to use gin wrappers (#28497)
* refactor: clean up webFrame implementation to use gin wrappers

The previous implementation of webFrame in the renderer process leaked
sub-frame contexts and global objects across the context boundaries thus
making it possible for apps to either maliciously or accidentally
violate the contextIsolation boundary.

This re-implementation binds all methods in native code directly to
content::RenderFrame instances instead of relying on JS to provide a
"window" with every method request.  This is much more consistent with
the rest of the Electron codebase and is substantially safer.

* chore: un-re-order for ease of review

* chore: pass isolate around instead of ErrorThrower

* chore: fix rebase typo

* chore: remove unused variables
2021-04-12 16:35:18 -07:00
Shelley Vohr
95e26e2fd4
refactor: use URL API (#28583) 2021-04-09 14:22:18 -07:00
Milan Burda
da8c35e3b2
chore: remove deprecated worldSafeExecuteJavaScript option (#28456) 2021-04-08 12:03:57 -04:00
Jeremy Rose
77dcf1020a
fix: pass postData to new-window event (#28513) 2021-04-06 09:54:05 -07:00
Jeremy Rose
62b38812b6
fix: invoke the window open handler for _blank links (#28498)
* fix: invoke the window open handler for _blank links

* add test
2021-04-06 01:04:14 -07:00
Milan Burda
55c66e3e92
chore: add types for electron_renderer_web_frame binding (#28455)
* chore: add types for electron_renderer_web_frame binding

* chore: use keyof for getWebPreference type

Co-authored-by: Samuel Attard <sattard@slack-corp.com>
2021-04-02 14:34:28 -07:00
Erick Zhao
f55aa78883
chore: update Community link in default menu (#28449) 2021-03-30 23:22:55 -07:00
Shelley Vohr
7c36463085
fix: window.print() in pdf plugin (#28328) 2021-03-23 10:40:37 -04:00
Jeremy Rose
502d4c19ce
feat: allow omitting submitURL when uploadToServer is false (#28105) 2021-03-18 14:15:19 -07:00
Milan Burda
485fa5bea9
feat: add process.contextId used by @electron/remote (#28007) 2021-03-17 11:23:03 -07:00
Jeremy Rose
d27ad0d182
fix: revert "refactor: mmap asar files (#24470)" (#28137)
This reverts commit 01a2e23194.
2021-03-15 11:42:54 -07:00
Samuel Attard
089ac8180f
fix: ensure child window transparency works (#28054)
* fix: ensure child window transparency works

Windows opened via window.open and intecepted via setWindowOpenHandler
or the `new-window` event should (a) have the correct background color
and (b) that background color should be transparent if specified.

The changes in api_web_contents fix (a) and the changes in
web_contents_preferences fix (b).

Notes: Child windows with specified background colors or transpency now
work as intended

* fix: set background_color in blink prefs apply logic

* chore: update for PR comments
2021-03-10 12:44:36 -08:00
Milan Burda
5b205731f6
chore: remove deprecated remote module (#25734)
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2021-03-09 17:12:40 -08:00
liulun
54bc71da34
chore: Add a condition to crashReporter deprecate log (#27953)
* Add a condition to crashReporter deprecate log

When developer set  submitURL to '' crash reports will be saved  at `...\AppData\Roaming\...\Crashpad\reports`, will not be uploaded to the server.
So  at this time `deprecate.log('Sending uncompressed crash reports....')`  is  unnecessary.

* Update lib/browser/api/crash-reporter.ts

change to check uploadToServer

Co-authored-by: Jeremy Rose <nornagon@nornagon.net>

Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
2021-03-05 10:13:17 +09:00
Electron Bot
ca75bca667
chore: bump chromium to 90.0.4415.0 (master) (#27694)
* chore: bump chromium in DEPS to 520c02b46668fc608927e0fcd79b6a90885a48bf

* chore: bump chromium in DEPS to 90.0.4414.0

* resolve chromium conflicts

* resolve v8 conflicts

* fix node gn files

* 2673502: Remove RenderViewCreated use from ExtensionHost.

https://chromium-review.googlesource.com/c/chromium/src/+/2673502

* 2676903: [mojo] Remove most legacy Binding classes.

https://chromium-review.googlesource.com/c/chromium/src/+/2676903

* 2644847: Move self-deleting URLLoaderFactory base into //services/network.

https://chromium-review.googlesource.com/c/chromium/src/+/2644847

* 2664006: Remove from mojo::DataPipe.

https://chromium-review.googlesource.com/c/chromium/src/+/2664006

* 2674530: Remove CertVerifierService feature

https://chromium-review.googlesource.com/c/chromium/src/+/2674530

* 2668748: Move OnSSLCertificateError to a new interface.

https://chromium-review.googlesource.com/c/chromium/src/+/2668748

* 2672923: Remove RAPPOR reporting infrastructure.

https://chromium-review.googlesource.com/c/chromium/src/+/2672923

* 2673502: Remove RenderViewCreated use from ExtensionHost.

https://chromium-review.googlesource.com/c/chromium/src/+/2673502

* 2655126: Convert FrameHostMsg_ContextMenu and FrameMsg_ContextMenuClosed|CustomContextMenuAction to Mojo

https://chromium-review.googlesource.com/c/chromium/src/+/2655126

* 2628705: Window Placement: Implement screen.isExtended and change event

https://chromium-review.googlesource.com/c/chromium/src/+/2628705

* 2643161: Refactor storage::kFileSystem*Native*

https://chromium-review.googlesource.com/c/chromium/src/+/2643161

* fix build

* only remove the biggest subdir of //ios

* chore: bump chromium in DEPS to 90.0.4415.0

* update patches

* update sysroots

* 2686147: Remove WebContentsObserver::RenderViewCreated().

https://chromium-review.googlesource.com/c/chromium/src/+/2686147

* 2596429: Fixing how extension's split and spanning modes affect OriginAccessList.

https://chromium-review.googlesource.com/c/chromium/src/+/2596429

* 2686026: [mojo] Delete AssociatedInterfacePtr (replaced by AssociatedRemote)

https://chromium-review.googlesource.com/c/chromium/src/+/2686026

* 2651705: Move ui/base/dragdrop/file_info to ui/base/clipboard

https://chromium-review.googlesource.com/c/chromium/src/+/2651705

* 358217: drawBitmap is deprecated

https://skia-review.googlesource.com/c/skia/+/358217

* fix gn check

* 2678098: Use gen/front_end as input to generate_devtools_grd

https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2678098

* 2674530: Remove CertVerifierService feature

https://chromium-review.googlesource.com/c/chromium/src/+/2674530

* fixup 2664006: Remove from mojo::DataPipe.

  https://chromium-review.googlesource.com/c/chromium/src/+/2664006

* fixup build_add_electron_tracing_category.patch

* 2673415: [base] Prepare CrashReporterClient for string16 switch

https://chromium-review.googlesource.com/c/chromium/src/+/2673415

* 2673413: Add CursorFactoryWin to handle Cursors on Windows

https://chromium-review.googlesource.com/c/chromium/src/+/2673413

* 2668748: Move OnSSLCertificateError to a new interface.

https://chromium-review.googlesource.com/c/chromium/src/+/2668748

* fix mas gn check

* update patch after merge

* Update node for .mjs files

* build: load v8_prof_processor dependencies as ESM

* chore: add patch to fix linux 32bit

Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2021-03-04 09:27:05 -08:00
Milan Burda
bf7e445883
fix: warning when worldSafeExecuteJavaScript is disabled (#27928) 2021-03-02 09:45:27 -08:00
Erick Zhao
2d0ad0b96a
fix: make TouchBarPopover and TouchBarGroup work (#27901)
* fix: use correct `orderedItem` touchbar property

* fix: correct parent in touchbar group and popover

* fix: preserve property hook order
2021-03-01 13:34:00 -08:00
Emil Pettersson
a9b25dda85
fix: race-condition in electron.net (#27898) 2021-02-26 13:18:46 -08:00
Tony
b181dae146
fix: isFullScreen typo (#27823)
* fix isFullScreen typo

* Update lib/browser/api/base-window.ts

Co-authored-by: John Kleinschmidt <jkleinsc@github.com>

Co-authored-by: Tony Wu <tonywoo@fb.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
2021-02-22 15:33:46 -05:00
Shelley Vohr
599f398ddc
fix: enableBlinkFeatures warning in webviews (#27753) 2021-02-18 11:11:35 -08:00
Jeremy Rose
706d9ede9b
refactor: only allow internal messages from the main process (#27676) 2021-02-09 17:12:26 -08:00
Shelley Vohr
e46446e7e4
chore: bump chromium to e836cbe709f3cd703f233de8eb6cc6ec99b72c9d (#27475)
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
2021-02-09 12:16:21 -08:00
Milan Burda
bc7c290601
refactor: load preload script directly as a string (#27546) 2021-02-08 09:32:20 -08:00
Michaela Laurencin
c175d41ae8
fix: remove windowName set as title for native window.open() (#27481) 2021-02-05 11:20:58 -08:00
Milan Burda
79b3393768
chore: remove bunch of usages of any (#27512) 2021-01-29 12:41:59 -08:00
Michaela Laurencin
357becd113
fix: replace default frameName title with null check (#27521)
* refactor: replace default frameName title with null check

* add isNativeWindowOpen check in makeBrowserWindowOptions

* modify snapshot test files

* replace title with frame-name again for proxy - not native open

* modify proxy snapshot title key-value to come after height key-value
2021-01-29 07:24:30 -06:00
Milan Burda
64b7be751a
fix: CSP with unsafe-eval detection with Trusted Types (#27446) 2021-01-25 10:31:25 +09:00
Milan Burda
4a5c5843c4
fix: <webview> not working with Trusted Types (#27445) 2021-01-25 10:29:25 +09:00
Milan Burda
70190ec2b1
chore: update to latest TypeScript, which has built-in WeakRef declarations (#27425) 2021-01-22 11:25:47 -08:00
Milan Burda
8b74361b0c
refactor: store WeakMaps in CallbacksRegistry / ObjectsRegistry (#27037) 2021-01-20 14:03:10 -08:00
Milan Burda
2be3d03630
feat: add webFrameMain.send() / webFrameMain.postMessage() (#26807) 2021-01-15 09:00:37 +09:00
Milan Burda
a55e028b12
fix: handle _sendToFrameInternal() throwing an exception in remote/server.ts (#27046) 2020-12-17 14:28:40 -08:00
Jeremy Rose
da3d21e5e3
fix: make webContents.id work even after destroy (#27038) 2020-12-17 12:10:29 -08:00
Jeremy Rose
6a3679dc55
fix: memory leak in desktopCapturer.getSources (#27031) 2020-12-16 16:11:39 -08:00
Cheng Zhao
998f17ee59
fix: make protocol wrapper remote-friendly again (#27009) 2020-12-16 16:56:53 +09:00
Milan Burda
6932e17088
chore: remove deprecated systemPreferences methods (#26849) 2020-12-16 08:34:24 +09:00
Avi Vahl
9b02d94e97
fix(asar): readdir(withFileTypes) fails on deep directory (#26865)
when using readdirSync on a deep directory within the archive, the code fails to get the stats of child paths.
2020-12-15 11:21:49 +09:00
Milan Burda
cec6378881
feat: add event.senderFrame property returning the originating webFrameMain (#26764) 2020-12-09 15:34:06 -08:00
Jeremy Rose
07a1c2a3e5
fix: restrict sendToFrame to same-process frames by default (#26875) 2020-12-09 12:48:16 -08:00
Milan Burda
c41b8d536b
refactor: move IPC handlers from navigation-controller to rpc-server (#26846) 2020-12-08 10:46:08 -08:00
Milan Burda
ee0550efca
fix: systemPreferences.effectiveAppearance returning systemPreferences.getAppLevelAppearance() (#26852) 2020-12-08 16:07:04 +09:00
Shelley Vohr
b788ceb7bd
fix: screen EventEmitter methods with remote (#26809)
* fix: screen EventEmitter methods with remote

* Review feedback
2020-12-08 13:47:48 +09:00
Samuel Attard
3db4e612f4
fix: handle security warnings promise when JS is disabled (#26837) 2020-12-07 10:58:00 -08:00
Alexey Kuzmin
e89b3ca1d1
fix: add a "set" trap to the "screen" module proxy (#26818) 2020-12-07 09:20:50 -08:00
Jeremy Rose
d3b1566181
chore: remove unused _replyInternal method (#26825) 2020-12-07 09:19:26 -08:00
Nikita Kot
7672aa9525
feat: exposeInMainWorld allow to expose non-object APIs (#26594) 2020-12-04 09:43:20 -08:00
Milan Burda
b111bba387
fix: send IPC_MESSAGES.RENDERER_RELEASE_CALLBACK as internal message (#26808) 2020-12-04 19:09:08 +03:00
Milan Burda
b37982987a
chore: remove unused sendToAll + related APIs (#26771)
* chore: remove unused sendToAll + related APIs

* refactor: no need to args.ShallowClone() anymore
2020-12-03 15:55:50 +09:00
Vadim
efca7007b6
fix: internalModuleReadJSON for unpacked JSON (#26749) 2020-12-01 21:33:39 -08:00
Milan Burda
19954126e0
chore: remove deprecated extension APIs (#26696) 2020-11-30 14:40:56 -08:00
Milan Burda
09d7b2bc91
chore: remove deprecated shell.moveItemToTrash() (#26723) 2020-11-30 23:25:03 +03:00
Milan Burda
022bafc485
chore: remove deprecated crashReporter APIs (#26695) 2020-11-26 22:07:40 +03:00
Milan Burda
c8d77cae4a
refactor: replace V8 hidden values with WeakMap / WeakSet (#26659) 2020-11-24 16:11:39 -05:00
Anders Kaseorg
b1b25607ee
fix: make screen wrapper remote-friendly again (#26620)
This restores accessibility of screen methods via remote.screen.

Fixes #26610.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2020-11-23 16:44:54 -05:00
Milan Burda
6932e02eb8
refactor: use getWebPreference() for all options (#26531) 2020-11-23 22:39:08 +03:00
LuoJinghua
e1cc78f275
feat: allow setting the Origin header and Sec-Fetch-* headers in net.request() (#26135) 2020-11-17 14:25:41 -08:00
Jeremy Rose
92643a5a1c
refactor: consolidate WebContents::{Create,New} (#26521) 2020-11-17 14:14:33 -08:00
Jeremy Rose
a303813d15
refactor: move GetPrinterList off WebContents (#26518) 2020-11-17 14:14:09 -08:00
Jeremy Rose
7c2ac6b7c1
fix: BrowserWindow.fromBrowserView in multiple-BrowserView windows (#26493) 2020-11-17 11:12:02 -08:00
Jeremy Rose
a9924e1c32
feat: add powerMonitor.onBatteryPower (#26494) 2020-11-16 16:31:46 -08:00
Milan Burda
5ee9cc202b
fix: ensure that internal messages are sent from the main process (#26429) 2020-11-12 06:20:01 +03:00
Cheng Zhao
bb3fb548d8
feat: add APIs to enable/disable spell checker (#26276)
* feat: add APIs to enable/disable bulitin spell checker

* feat: add togglespellchecker menu item role
2020-11-11 10:29:18 -05:00
loc
0b85fdf26c
feat: add webContents.setWindowOpenHandler API (#24517)
Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2020-11-10 09:06:03 -08:00
Jeremy Rose
34156c424c
fix: [webview] fix missing properties on events when contextIsolation: true (#26289) 2020-11-04 11:15:20 +09:00
Milan Burda
d25fa7b075
refactor: store <webview> attributes as typed Map (#26307) 2020-11-03 15:02:23 -08:00
Abhishek Shingane
d16e61dc85
fix: window.open not accepting size values with "px" at the end (#26104)
* fix: use parseInt to parse sizes

* fix: pass radix to parseInt

Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>

Co-authored-by: Cheng Zhao <github@zcbenz.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
2020-11-02 18:55:59 +09:00
Milan Burda
0c2e2bca92
refactor: don't send ipcRenderer.sendSync() returnValue as an array (#26178) 2020-10-28 18:48:20 +03:00
Fabio Spampinato
d4191c4a26
fix: optimized asar paths checks (#26024)
* fix: optimized asar paths checks

* fix: ensuring the linter is happy
2020-10-26 12:19:35 +09:00
Shelley Vohr
e89abed924
fix: disable use of the vm module in the renderer (#26087) 2020-10-23 11:49:52 -07:00
Milan Burda
df1432a315
feat: add net.online / net.isOnline() (#21004) 2020-10-20 19:55:06 -07:00
Cheng Zhao
6b6ffbdd10
feat: add support for share menu on macOS (#25629) 2020-10-19 18:33:06 -07:00
Milan Burda
321395d96e
refactor: use Map instead of Object for better semantics (#25982) 2020-10-19 03:24:51 +03:00
Matt Kane
dfbb88c5f6
fix: pass module resolution paths to wrapped function (#25891) 2020-10-14 10:13:45 -07:00
Milan Burda
2c68bad631
refactor: create IPC_MESSAGES enum for IPC message channels (#25694) 2020-10-14 00:11:06 +03:00
David Sanders
b194030a34
chore: cleanup some typos in comments (#25770) 2020-10-13 10:25:21 -07:00
Milan Burda
f827acc3be
chore: convert guest-view-manager.js to TypeScript (#25825) 2020-10-13 04:29:08 +03:00
Milan Burda
83bb065b4f
refactor: wrap Object.prototype.hasOwnProperty.call (#25834) 2020-10-10 03:45:08 +03:00
Jeremy Rose
b8f414f4da
feat: hide electron links in default help menu when packaged (#25831) 2020-10-09 13:42:44 -07:00
Samuel Maddock
704d69a8f9
feat: add webFrameMain API to the main process (#25464) 2020-10-09 09:50:46 -07:00
Milan Burda
fb11a12d5b
refactor: replace a few any-s with proper types (#25681) 2020-10-08 03:01:23 +02:00
Milan Burda
db911f29ad
refactor: remove duplicate <webview> event list (#25697) 2020-10-06 15:11:26 +02:00
Milan Burda
b33f22601e
refactor: check ELECTRON_ENABLE_LOGGING via native implementation (#25623) 2020-10-06 09:58:31 +09:00
Keeley Hammond
6356cd4018
fix: allow ClientRequest responses to be throttled (#25531)
* fix: allow net streams to be throttled [WIP]

* fix: handle resume throttling within IncomingMessage [WIP]

* fix: fix urlLoader typing, add throttle test

* fix: fix lint and increase test timeout for Linux

* fix: increase test chunk limit to 20 and timeout to 2000

Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
2020-10-06 09:47:41 +09:00
Cheng Zhao
57dc170e81
fix: no more need to hijack process.stdout on Win32 (#25765) 2020-10-05 10:10:38 -07:00
Milan Burda
e1a19d735e
chore: convert guest-window-manager.js to TypeScript (#25709) 2020-10-02 20:18:42 +02:00
Milan Burda
8df4faa8f0
chore: cleanup typings/internal-electron.d.ts (#25711) 2020-10-02 04:52:29 +02:00
Jeremy Rose
822b044068
fix: suppress worldSafe warning emitted from security checks (#25692) 2020-10-01 08:59:52 -07:00
Jeremy Rose
0e7d59dd79
feat: [net] add "credentials" option to net.request (#25284)
* feat: [net] add "credentials" option to net.request

* remove debugging log

* add tests
2020-09-29 12:03:33 -04:00
CezaryKulakowski
b85195ee5f
fix: ensure ready-to-show event is fired (#25632) 2020-09-28 13:36:45 -07:00
Milan Burda
1f856c25a9
chore: improve renderer crash logging (#25592) 2020-09-24 08:22:17 -07:00
Charles Kerr
515e85079f
chore: fix minor script warnings (#25575) 2020-09-23 13:21:34 -07:00
Samuel Attard
3503d3745b
fix: order menu items before filtering excess separators (#25563) 2020-09-23 10:39:08 -07:00
Shelley Vohr
77038b7bda
chore: upgrade to Node.js v14.9.0 (#25249) 2020-09-17 16:08:57 -06:00
Shelley Vohr
fa7a29e84b
chore: log hint on renderer crash (#25317) 2020-09-15 13:01:50 -06:00
Jeremy Rose
9f4a097e03
feat: remove getMediaSourceIdForWebContents() (#25414)
This reverts commit 204f001c5d.
2020-09-14 10:38:05 -07:00
Jeremy Rose
5de7eb3618
docs: remove references to remote from docs (#25416) 2020-09-14 10:36:54 -07:00
Jeremy Rose
dd781c4f63
chore: deprecate remote (#25293) 2020-09-10 09:17:17 -07:00
Samuel Maddock
860e14c0da
chore(extensions): remove old renderer code (#25347) 2020-09-08 20:11:38 +09:00
Samuel Attard
a6b9f9d8e5
fix: only focus a webContents if the window was not initially hidden (#25292) 2020-09-04 15:57:29 +09:00
Jeremy Rose
4dc09ea9dc
feat: [crashReporter] enable compression by default (#25288) 2020-09-03 12:43:58 -07:00
Jeremy Rose
1b6534b326
feat: add shell.trashItem() to replace shell.moveItemToTrash() (#25114) 2020-09-02 10:32:33 -07:00
Samuel Attard
8baa9deccd
build: update to typescript 4 (#25091) 2020-08-24 11:23:25 -07:00
George Xu
beaf60de0a
feat: add nativeImage.createThumbnailFromPath API (#24802)
* initial commit, mac implementation

* add documentation

* convert createThumbnailFromPath to async function

* windows impl protoype

* add tests

* added test

* fix

* fix test

* clean up

* update docs

* cleaning up code

* fix test

* retrigger CI

* retrigger CI

* refactor from app to native_image

* windows build

* lint

* lint

* add smart pointers, fix test

* change tests and update docs

* fix test, remove nolint

* add renderer-main process routing to fix tests

* lint

* thanks sam

* thanks sam
2020-08-24 09:36:13 -07:00
Jeremy Rose
01a2e23194
refactor: mmap asar files (#24470) 2020-08-04 11:48:04 -07:00
Jeremy Rose
b5cd9ce0b3
refactor: ginify WebContents (#24651) 2020-07-30 09:17:57 -07:00
Jeremy Rose
9c37e12e2d
refactor: ginify app (#24679) 2020-07-28 16:43:43 -07:00
Jeremy Rose
38fafe4986
refactor: ginify autoUpdater (#24678) 2020-07-28 11:04:34 -07:00
Jeremy Rose
e6cf5906f6
refactor: ginify Screen (#24677) 2020-07-28 11:04:01 -07:00
Jeremy Rose
362da77c0a
refactor: ginify SystemPreferences (#24675) 2020-07-28 11:03:30 -07:00
Electron Bot
2f02a469f4
chore: bump node to v12.18.3 (master) (#24707)
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
2020-07-27 09:12:29 -07:00
Jeremy Rose
071c5930b9
refactor: ginify InAppPurchase (#24674) 2020-07-23 14:55:41 -07:00
Samuel Attard
b500294c1d
feat: add worldSafe flag for executeJS results (#24114)
* feat: add worldSafe flag for executeJS results

* chore: do not log warning for webContents.executeJS

* Apply suggestions from code review

Co-authored-by: Jeremy Rose <jeremya@chromium.org>

* chore: apply PR feedback

* chore: split logic a bit

* chore: allow primitives through the world safe checl

* chore: clean up per PR feedback

* chore: flip boolean logic

* chore: update per PR feedback

* chore: fix typo

* chore: fix spec

Co-authored-by: Jeremy Rose <jeremya@chromium.org>
2020-07-23 14:32:20 -07:00
Jeremy Rose
734753dd7a
refactor: ginify NativeTheme (#24673) 2020-07-22 11:01:30 -07:00
Samuel Attard
f649e604be
build: tsify asar and move to webpack js2c pipeline (#24495)
* build: tsify asar and move to webpack js2c pipeline

* build: use the webpack provider for fs-wrapper
2020-07-16 11:38:31 -07:00
Samuel Attard
4c3da359fc
build: convert touch-bar to typescript (#24511) 2020-07-16 11:37:38 -07:00
Electron Bot
8bbdc224ac
chore: bump chromium to 6d130075d378a64187360ba4e7820 (master) (#24256)
* chore: bump chromium in DEPS to 7fb9778894d73378bff51087ce869ea5aa6e5d5d

* chore: bump chromium in DEPS to 83da426e53d423f0530fc23433b6d2c4d0548442

* update patches

* remove chromeos-only TtsControllerDelegate

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2255314

* SharedUserScriptMaster -> SharedUserScriptManager

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2258357

* avoid deprecated DISALLOW_COPY_AND_ASSIGN

https://groups.google.com/a/chromium.org/forum/#!msg/cxx/qwH2hxaEjac/TUKq6eqfCwAJ

* chore: bump chromium in DEPS to b2eaf9ff4e6b03267bf279583ea20ceb2b25e9d0

* update patches

* rename GetHighContrastColorScheme -> GetPlatformHighContrastColorScheme

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2250224

* remove vulkan info collection

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2252818

* add max_xcode_version build var

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2264867

* add missing headers

* chore: bump chromium in DEPS to cded18ca1138f7e8efc904f077ddcca34f0135cf

* update patches

* add empty floc blocklist to BrowserProcessImpl

Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2240873

* chore: bump chromium in DEPS to f06602226cd80bf677b2ce013a94a2fb7f6ac58d

* chore: bump chromium in DEPS to 747aa4bfc74fc6cf7f08ee72624cd69ae41ae28d

* chore: bump chromium in DEPS to 31c0105e50fcc4e94de33e5c8602c755ace4a32b

* chore: update patches

* Reland "[base] Stop including check.h, notreached.h, etc. in logging.h"

https://chromium-review.googlesource.com/c/chromium/src/+/2264297

* X11 and Ozone: make sure gfx::AcceleratedWidget to be uint32_t

https://chromium-review.googlesource.com/c/chromium/src/+/2260554

* Move zygote from //services/service_manager back to //content

https://chromium-review.googlesource.com/c/chromium/src/+/2252466

* chore: update v8 patches

* [XProto] Remove usage of Shape extension

https://chromium-review.googlesource.com/c/chromium/src/+/2262113

* fixup! add empty floc blocklist to BrowserProcessImpl

* Require macOS 10.15.1 sdk

https://chromium-review.googlesource.com/c/chromium/src/+/2238504

* Use newer Xcode version 11.5.0

* update src cache

* chore: bump chromium in DEPS to 60a9883e35db3f6f91916f0878e88e1849c17b11

* chore: update patches

* Reland "Reland "New toolchain for Windows 10 19041 SDK""

https://chromium-review.googlesource.com/c/chromium/src/+/2255527

* update patches

* Convert raw NonClientFrameViews to unique_ptrs

https://chromium-review.googlesource.com/c/chromium/src/+/2240417

* [printing] Move PrintHostMsg_DidPreviewDocument_Params to print.mojom

https://chromium-review.googlesource.com/c/chromium/src/+/2257035

* chore: bump chromium in DEPS to 12c233c2a85bfa28fb279f390121ba681e52a71b

* chore: update patches

* Removing oppressive language for the directory chrome/browser/apps

https://chromium-review.googlesource.com/c/chromium/src/+/2269822

* Inclusion: rename SpellcheckLanguageBlacklistPolicyHandler

https://chromium-review.googlesource.com/c/chromium/src/+/2267646

* Clean up duplicate WebContents "is fullscreen" functions

https://chromium-review.googlesource.com/c/chromium/src/+/2275148

* Adds icon loading service with sandbox for Windows.

https://chromium-review.googlesource.com/c/chromium/src/+/1987273

* No more Vulkan info collection for UMA on Windows

https://chromium-review.googlesource.com/c/chromium/src/+/2252818

* fix lint

* chore: update buildflag conditions

* chore: bump chromium in DEPS to a837d4c4230ace4f10b2768728f4044b7995dfa5

* update hunspell files

* chore: update patches

* Make content::FileSelectListener a RefCounted

https://chromium-review.googlesource.com/c/chromium/src/+/2275338

* fix build failures on MAS

* update patches

* fixup! Reland "[base] Stop including check.h, notreached.h, etc. in logging.h"

* fix build on windows

* Check for GDI exhaustion if window creation fails

https://chromium-review.googlesource.com/c/chromium/src/+/2244124

* chore: bump chromium in DEPS to 2c9b2a73be4ef9ec22d8b6da8e174cb80753f125

* chore: update patches

* Network Service: Move DeleteCookiePredicate into public folder

https://chromium-review.googlesource.com/c/chromium/src/+/2264186

* chore: bump chromium in DEPS to fa2606299bcc02c362528d26b5dcf8c8a0db0735

* chore: bump chromium in DEPS to d9c235d1227204dbae3708daae851573a3566b94

* chore: bump chromium in DEPS to 2f82c284243c035f49a747fd1ead6c44b4b31093

* chore: update patches

* Move creating the LayerTreeSettings into blink.

https://chromium-review.googlesource.com/c/chromium/src/+/2267720

* chore: bump chromium in DEPS to 914112f1d9af9e4974059dc403da62699a55550f

* update patches

* chore: bump chromium in DEPS to e0bc1ffae6393fc543a2da94c88167df75859b36

* refactor: match upstream print preview handling (#24452)

* update patches

* chore: bump chromium in DEPS to 0881423156abe084164b51ab58ce93a8bd380524

* update patches

* update patches

* give a type to pendingPromise

* chore: bump chromium in DEPS to 11a8c1534b16d130075d378a64187360ba4e7820

* update patches

* 2272609: Move //services/service_manager/sandbox to //sandbox/policy.

https://chromium-review.googlesource.com/c/chromium/src/+/2272609

* update patches

* fixup! 2272609: Move //services/service_manager/sandbox to //sandbox/policy.

* fixup! 2272609: Move //services/service_manager/sandbox to //sandbox/policy.

* 2264511: Cookies: Update SetCanonicalCookie to return CookieAccessResult

https://chromium-review.googlesource.com/c/chromium/src/+/2264511

* chore: fix setAlwaysOnTop test

The window must be visible for state to be updated properly.

* Revert "Migrate modules/desktop_capture and modules/video_capture to webrtc::Mutex."

https://webrtc-review.googlesource.com/c/src/+/179080

* update patches

Co-authored-by: Andy Locascio <andy@slack-corp.com>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
Co-authored-by: Samuel Attard <samuel.r.attard@gmail.com>
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
Co-authored-by: Electron Bot <anonymous@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: Samuel Attard <marshallofsound@electronjs.org>
2020-07-13 21:13:34 -04:00
Jeremy Rose
36bd940bc3
refactor: ginify NativeImage (#24486) 2020-07-13 14:44:12 -07:00
Samuel Attard
b02748e607
build: ensure that electron/lib/browser can only use browser or common imports (#24512)
* build: ensure that electron/lib/browser can only use browser or common imports

* chore: fix linting
2020-07-13 09:58:49 -07:00
Jeremy Rose
1719f073c1
chore: remove some unused code in the net module (#24488) 2020-07-13 09:36:20 -07:00
Shelley Vohr
6c4017ff45
fix: always callback error with invalid print settings (#24476) 2020-07-10 09:42:22 -07:00
Samuel Attard
5737fda154
build: tsify worker/init (#24497) 2020-07-09 20:32:37 -07:00
Samuel Attard
8847517798
build: tsify isolated_renderer/init (#24496) 2020-07-09 20:32:26 -07:00
Samuel Attard
eb6616e4e9
build: update to standard 14 (#24479) 2020-07-09 10:18:49 -07:00
Jeremy Rose
9bd0fc5348
refactor: ginify BrowserView (#23578) 2020-07-09 08:48:39 -07:00
Samuel Attard
ad16e6c647
build: update linting deps (#24461) 2020-07-08 21:19:49 -07:00
Jeremy Rose
80a6adb597
fix: coerce executeJavaScript arguments (#24396) 2020-07-08 16:13:50 -07:00
Jeremy Rose
71a7e1b2e3
chore: tsify menu (#24358) 2020-07-06 13:24:54 -07:00
Jeremy Rose
1f23807271
chore: tsify web-contents (#24325) 2020-07-06 10:50:03 -07:00
Jeremy Rose
354ea00f17
chore: tsify auto-updater (#24328) 2020-07-01 12:27:12 -07:00
Jeremy Rose
6bd30bf09e
chore: tsify dialog (#24324) 2020-06-30 15:51:44 -07:00
Jeremy Rose
451086d7f2
chore: tsify extensions shim (#24355) 2020-06-30 12:49:08 -07:00
Jeremy Rose
d9d07c65b2
chore: tsify net-log (#24322)
* chore: tsify net-log

* comment

* gn
2020-06-29 09:21:32 -07:00
Cheng Zhao
ef3579eae3
refactor: rename TopLevelWindow to BaseWindow (#24305) 2020-06-29 16:06:20 +09:00
Jeremy Rose
80e5007c47
chore: tsify browser-window (#24326)
* chore: tsify browser-window

* fix focus

* also tsify top-level-window
2020-06-29 10:22:55 +09:00
Jeremy Rose
605e50269e
chore: convert rpc-server to ts (#24271) 2020-06-25 10:19:08 -07:00
Shelley Vohr
659e79fc08
refactor: prevent consistent early exception (#24191)
* refactor: prevent consistent early exception

* Use _linkedBinding where possible

* Remove dead electronBinding
2020-06-22 20:32:45 -07:00
Elena Topaka
4e66f1b2c6
fix: use correct 'pasteandmatchstyle' shortcut on macOS (#24153) 2020-06-17 23:13:46 +02:00
Jeremy Rose
e1e73fa5f5
refactor: use WeakRef on main process side of remote (#24115) 2020-06-16 14:34:08 -07:00
Milan Burda
673169a7ba
chore: remove unused deprecate.fnToProperty() (#24069) 2020-06-15 18:59:04 -07:00
Shelley Vohr
b9ac334efc
fix: showing certificate dialog with no window (#24091) 2020-06-12 22:18:09 -07:00
Jeremy Rose
379bb174e9
refactor: use WeakRef on renderer side of remote (#24037) 2020-06-12 15:50:03 -07:00
Shelley Vohr
66744ecb4d
fix: fs.readdir should support withFileTypes (#24062) 2020-06-12 08:32:59 -07:00
Jeremy Rose
7274467f73
refactor: tsify remote (#24034) 2020-06-11 11:36:03 -07:00
Jeremy Rose
78fe545d18
refactor: remove renderer-side refcount in remote (#24054) 2020-06-11 10:22:28 -07:00
Samuel Attard
969f46a48f
chore: remove IPC hiddens (#23720) 2020-06-02 02:33:06 -07:00
Samuel Attard
c6f4573a13
perf: lazily load some modules in sandbox mode (#23856) 2020-06-02 02:32:32 -07:00
Samuel Attard
066b8c5ab3
fix: expose electron/common and electron/renderer modules in sandboxed preloads (#23857) 2020-06-01 17:37:02 -07:00
Alexey Kuzmin
4133c71105
build: fix for "enable_desktop_capturer = false" (#23864) 2020-06-01 10:13:47 -04:00
Samuel Attard
236c1334e3
chore: tsify sandboxed init (#23719) 2020-05-30 02:56:54 -07:00
Shelley Vohr
e8ea007104
fix: ensure nativeImage serialization main->renderer (#23759) 2020-05-28 09:43:15 -07:00
Shelley Vohr
f78504515b
fix: handle asynchronous URL loading in bw proxy (#23776) 2020-05-27 13:50:54 -07:00
Jeremy Judeaux
204f001c5d
feat: add desktopCapturer.getMediaSourceIdForWebContents() to get stream source id from web contents (#22701)
* feat: add desktopCapturer.getMediaSourceIdForWebContents() to get stream source id from web contents

* Cleanup from #22701 PR comments
2020-05-26 16:34:24 -04:00
Samuel Attard
9bc5e98238
chore: tsify more of lib (#23721)
* chore: tsify more of lib

* Update lib/browser/api/session.ts

Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>

Co-authored-by: Jeremy Apthorp <jeremya@chromium.org>
2020-05-22 12:46:22 -07:00
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
Milan Burda
341df4a8c2 fix: enforce parent-child relationship in custom postMessage() handler (#21496) 2019-12-13 10:10:56 -08:00
Cheng Zhao
3cb0ed306b fix: hiding window menu should work on startup (#21436)
* fix: menu visibility should not be overwritten on startup

* fix: removing menu for window without global menubar

* test: setMenu tests are not for mac
2019-12-09 11:17:36 -08:00
Jeremy Apthorp
092e00f7f0
fix: fix ClientRequest.getUploadProgress (#21388) 2019-12-06 13:14:44 -08:00
Jeremy Apthorp
dc9beda182
feat: remove deprecated setLayoutZoomLevelLimits (#21383) 2019-12-06 13:14:25 -08:00
Shelley Vohr
4ac575416f docs: fix return type of getPrinters (#21411) 2019-12-06 12:36:35 -08:00
Shelley Vohr
9e189eac71 fix: pass noLink correctly on Windows (#21386) 2019-12-05 13:38:57 -08:00
Jeremy Apthorp
9526c5584e
fix: deprecate setLayoutZoomLevelLimits (#21296) 2019-12-02 13:27:03 -08:00
Samuel Attard
ee58d60612
fix: ensure no node globals passively leak when nodeIntegration is disabled (#21342) 2019-12-02 10:09:47 -08:00
Shelley Vohr
5f365858c9 fix: correctly plumb checkboxChecked on win (#21248)
* fix: correctly plumb checkboxChecked on win

* address final style comment
2019-11-27 16:39:07 +09:00
Jeremy Apthorp
d25256dcf5
refactor: rewrite the net module to simplify state tracking (#21244) 2019-11-26 17:01:13 -08:00
Samuel Attard
d84ba30541
fix: reloadIgnoringCache() should ignore the cache (#21263) 2019-11-25 11:12:58 -08:00
Samuel Attard
34452ee69e
feat: expose executeJavaScriptInIsolatedWorld on webContents (#21190)
* feat: expose executeJavaScriptInIsolatedWorld on webContents

* Apply suggestions from code review

Co-Authored-By: loc <andy@slack-corp.com>
2019-11-22 15:33:55 -08:00
Milan Burda
3f2cb91a35 refactor: declare KeyWeakMap<K, V> returned by createIDWeakMap() / createDoubleIDWeakMap() (#21171) 2019-11-21 13:32:31 +01:00
Jeremy Apthorp
4f1536479e
fix: implement 'login' event for net.ClientRequest (#21096) 2019-11-14 10:01:18 -08:00
Shelley Vohr
af1e8a347e chore: remove unused promisify code (#21114) 2019-11-14 14:50:50 +09:00
Milan Burda
1d596f616d fix: NativeImage serialization of <webview>.capturePage() result (#20825) 2019-11-12 21:56:17 +01:00
Jeremy Apthorp
034f4d5734
fix: implement 'login' event for WebContents (#20954) 2019-11-11 09:47:01 -08:00
Milan Burda
093f2dd4a6 chore: remove deprecated <webview>.getWebContents() (#20986) 2019-11-08 15:46:35 -05:00
Milan Burda
f1e7393e30 feat: deprecate <webview>.getWebContents() (#20726) 2019-11-07 09:43:19 -08:00
Samuel Attard
d91cc257f9
chore: emit the document-start and document-end events in a sandboxed renderer (#20987) 2019-11-05 17:53:03 -08:00
Samuel Attard
5b7382765c
feat: allow TouchBarButton instances to be disabled (#20945)
* feat: allow TouchBarButton instances to be disabled

* Update touch-bar-button.md
2019-11-05 15:56:36 -08:00
Milan Burda
a034f5db0d refactor: add Error to isSerializableObject() (#20886) 2019-11-04 14:35:57 -08:00
Milan Burda
01e18c2fc3 fix: cannot access nativeTheme via electron.remote (#20938) 2019-11-04 14:17:03 -08:00
Milan Burda
ee7ce3954a fix: don't export __esModule = true by electron.ts (#20939) 2019-11-04 14:16:42 -08:00
Samuel Attard
267821831c
fix: capture the promise global to avoid userland mutation (#20925) 2019-11-04 11:16:51 -08:00
Jeremy Apthorp
8dfc896cfa
refactor: send the 'close' message asynchronously (#20796) 2019-10-30 13:13:01 -07:00
Milan Burda
3d56e13b38 fix: devtools extensions not loading (#20791) 2019-10-30 14:46:52 +09:00
Milan Burda
0f7ebff81e fix: pass frameId to v8Util.setRemoteCallbackFreer() (#20732) 2019-10-29 15:40:09 +09:00
Milan Burda
0c870775c4 fix: deprecation warnings in Electron code (#20793) 2019-10-29 13:16:10 +09:00
Milan Burda
bd5a5b3ae6 fix: properly generate requestID in webContents.printToPDF() (#20769) 2019-10-29 11:36:29 +09:00
Electron Bot
b6246dcf12 chore: bump chromium to f5b345dd470f14eef6e44732ccf23 (master) (#20649) 2019-10-28 15:12:35 -07:00
Milan Burda
ba8f80267c fix: send ELECTRON_BROWSER_CONTEXT_RELEASE asynchronously (#20632)
* fix: send ELECTRON_BROWSER_CONTEXT_RELEASE asynchronously

* test: remote references should be able to be cleared for all cases
2019-10-23 13:44:21 +09:00
Jeremy Apthorp
b155ebeeb3 fix: don't overwrite global constructor names in remote (#20637)
* fix: don't overwrite global constructor names in remote

* fake constructor names better, and improve error serialization
2019-10-21 15:48:03 +09:00
Samuel Attard
0090616f7b
feat: add a new contextBridge module (#20307)
* feat: add a new contextBridge module

* chore: fix docs linting

* feat: add support for function arguments being proxied

* chore: ensure that contextBridge can only be used when contextIsolation is enabled

* docs: getReverseBinding can be null

* docs: fix broken links in md file

* feat: add support for promises in function parameters

* fix: linting failure for explicit constructor

* Update atom_api_context_bridge.cc

* chore: update docs and API design as per feedback

* refactor: remove reverse bindings and handle GC'able functions across the bridge

* chore: only expose debugGC in testing builds

* fix: do not proxy promises as objects

* spec: add complete spec coverage for contextBridge

* spec: add tests for null/undefined and the anti-overwrite logic

* chore: fix linting

* spec: add complex nested back-and-forth function calling

* fix: expose contextBridge in sandboxed renderers

* refactor: improve security of default_app using the new contextBridge module

* s/bindAPIInMainWorld/exposeInMainWorld

* chore: sorry for this commit, its a big one, I fixed like everything and refactored a lot

* chore: remove PassedValueCache as it is unused now

Values transferred from context A to context B are now cachde in the RenderFramePersistenceStore

* chore: move to anonymous namespace

* refactor: remove PassValueToOtherContextWithCache

* chore: remove commented unused code blocks

* chore: remove .only

* chore: remote commented code

* refactor: extract RenderFramePersistenceStore

* spec: ensure it works with numbered keys

* fix: handle number keys correctly

* fix: sort out the linter

* spec: update default_app asar spec for removed file

* refactor: change signatures to return v8 objects directly rather than the mate dictionary handle

* refactor: use the v8 serializer to support cloneable buffers and other object types

* chore: fix linting

* fix: handle hash collisions with a linked list in the map

* fix: enforce a recursion limit on the context bridge

* chore: fix linting

* chore: remove TODO

* chore: adapt for PR feedback

* chore: remove .only

* chore: clean up docs and clean up the proxy map when objects are released

* chore: ensure we cache object values that are cloned through the V8 serializer
2019-10-18 12:57:09 -07:00
Alecyrus
825e67140e feat: support fitToPageEnabled and scaleFactor (#20436)
* fix: support fitToPageEnabled and scaleFactor

Support fitToPageEnabled and scaleFactor in  `WebContents.printToPDF()`

* fix: change default value of scaleFactor
2019-10-18 09:40:19 +09:00
Milan Burda
b29f0b9348 refactor: use Map for windowProxies in window-setup.ts (#20600) 2019-10-17 15:07:27 +02:00
Milan Burda
5273930f76 refactor: use Map for callbacks in CallbacksRegistry (#20565) 2019-10-15 09:14:41 -07:00
Jeremy Apthorp
8dad0c7aaa
test: move crashReporter specs to the main process (#20417) 2019-10-14 14:38:54 -07:00
Milan Burda
b92163d226 refactor: take advantage of structured clone algorithm in the remote module (#20427) 2019-10-10 09:59:08 -04:00
Jeremy Apthorp
2fad53e66b refactor: use v8 serialization for ipc (#20214)
* refactor: use v8 serialization for ipc

* cloning process.env doesn't work

* serialize host objects by enumerating key/values

* new serialization can handle NaN, Infinity, and undefined correctly

* can't allocate v8 objects during GC

* backport microtasks fix

* fix compile

* fix node_stream_loader reentrancy

* update subframe spec to expect undefined instead of null

* write undefined instead of crashing when serializing host objects

* fix webview spec

* fix download spec

* buffers are transformed into uint8arrays

* can't serialize promises

* fix chrome.i18n.getMessage

* fix devtools tests

* fix zoom test

* fix debug build

* fix lint

* update ipcRenderer tests

* fix printToPDF test

* update patch

* remove accidentally re-added remote-side spec

* wip

* don't attempt to serialize host objects

* jump through different hoops to set options.webContents sometimes

* whoops

* fix lint

* clean up error-handling logic

* fix memory leak

* fix lint

* convert host objects using old base::Value serialization

* fix lint more

* fall back to base::Value-based serialization

* remove commented-out code

* add docs to breaking-changes.md

* Update breaking-changes.md

* update ipcRenderer and WebContents docs

* lint

* use named values for format tag

* save a memcpy for ~30% speedup

* get rid of calls to ShallowClone

* extra debugging for paranoia

* d'oh, use the correct named tags

* apparently msstl doesn't like this DCHECK

* funny story about that DCHECK

* disable remote-related functions when enable_remote_module = false

* nits

* use EnableIf to disable remote methods in mojom

* fix include

* review comments
2019-10-09 13:59:08 -04:00