Commit graph

3269 commits

Author SHA1 Message Date
Shelley Vohr
a0b1f4fe0b
refactor: convert browser window state fns to props (#18618) 2019-06-04 22:44:16 -07:00
Samuel Attard
f80601da16
docs: ensure that optionality matches between documented params and signatures (#18613)
* docs: ensure that optionality matches between documented params and signatures

* docs: ensure that all optional declarations are lower case

* chore: fix broken link
2019-06-04 14:03:24 -07:00
Jeremy Apthorp
901cdb22e3
test: move some BrowserWindow specs to the main runner (#18551) 2019-06-03 15:10:58 -07:00
Felix Rieseberg
cb4579fe28 docs: Fix incorrect dialog docs (#18227)
* docs: Fix incorrect dialog docs

We had multiple definitions for `showSaveDialog`.

* docs: Update, take two
2019-06-03 12:54:47 -07:00
Joël Charles
fd9e031f0d docs: Update breaking changes on webFrame.setSpellCheckProvider (#17915)
* doc: Update breaking changes on webFrame.setSpellCheckProvider

* doc: fix example

* doc: lint: extra semicolon

* Update docs/api/breaking-changes.md

Co-Authored-By: magne4000 <joel.charles91@gmail.com>
2019-06-03 13:56:46 -05:00
Shelley Vohr
52c76d737a
refactor: make autoHideMenuBar a property on BrowserWindows (#18555) 2019-06-03 09:09:47 -07:00
Samuel Attard
bc527f6b51
refactor: bundle the browser and renderer process electron code (#18553)
* refactor: bundle the browser and renderer process electron code

* Bundles browser/init and renderer/init
  * Improves load performance of main process by ~40%
  * Improves load performance of renderer process by ~30%
* Prevents users from importing our "requiring" our internal logic such
as ipc-main-internal.  This makes those message buses safer as they are
less accessible, there is still some more work to be done though to lock
down those buses completely.
* The electron.asar file now only contains 2 files, as a future
improvement maybe we can use atom_natives to ship these two files
embedded in the binary
* This also removes our dependency on browserify which had some strange
edge cases that caused us to have to hack around require-order and
stopped us using certain ES6/7 features we should have been able to use
(async / await in some files in the sandboxed renderer init script)

TLDR: Things are faster and better :)

* fix: I really do not want to talk about it

* chore: add performance improvements from debugging

* fix: resolve the provided path so webpack thinks it is absolute

* chore: fixup per PR review

* fix: use webpacks ProvidePlugin to keep global, process and Buffer alive after deletion from global scope for use in internal code

* fix: bundle worker/init as well to make node-in-workers work

* chore: update wording as per feedback

* chore: make the timers hack work when yarn is not used
2019-06-02 13:03:03 -07:00
Samuel Attard
87ae9324ac
feat: Add option to conditionally disable site instance patches (#18396)
* chore: allow conditional disable of the site instance override patches at runtime

* feat: add app.allowRendererProcessReuse property to allow runtime disable of site instance overrides

spec: add tests for the new allowRendererProcessReuse property

feat: add console warnings / errors for loading non context-aware native modules
  * Only error if the patch is disabled
  * Warn all the time, this will ship in Electron 7
2019-05-31 15:47:18 -07:00
Jeremy Apthorp
c436997840
feat: add ipcRenderer.invoke() (#18449) 2019-05-31 10:25:19 -07:00
Shelley Vohr
1e3e5a6619
refactor: set appLevelAppearance prop on systemPreferences (#18477)
* refactor: set appLevelAppearance prop on systemPreferences

* ensure backwards compat is tested
2019-05-30 17:12:46 -07:00
Shelley Vohr
554ee92b39
docs: specify use case for the 'services' role (#18484)
* docs: specify use case for the 'services' role

* update based on @caesar's recommendation

Co-Authored-By: Caesar Schinas <caesar@caesarschinas.com>
2019-05-30 14:33:48 -07:00
Samuel Attard
02dc1b266c
docs: use | instead of 'or' for docs (#18512) 2019-05-30 10:32:46 -07:00
Milan Burda
09d544f6ad docs: remove obsolete callback argument from dialog.showOpenDialog() (#18496) 2019-05-30 12:00:22 +02:00
Milan Burda
a1226d75ff feat: add process.getBlinkMemoryInfo() (#17762) 2019-05-30 11:50:35 +02:00
Jeremy Apthorp
815b9d7707
feat: [contentTracing] allow calling stopTracing() with no arguments (#18411) 2019-05-28 14:15:42 -07:00
Shelley Vohr
c621615112
fix: create missing directories with app.setPath (#18244) 2019-05-28 10:37:54 -07:00
Shelley Vohr
01cd6e7a06
docs: clarify crash report extra param length (#18386)
Resolves #17746.

Clarifies that the extra field of the crashReporter options object only needs to be < 64 characters on Windows.
2019-05-28 10:17:01 -07:00
Jeremy Apthorp
646f572b77
refactor: netLog directly uses network service (#18289) 2019-05-23 15:31:38 -07:00
Jeremy Apthorp
53954494a9
chore: bump chromium to 54af93edd956a53c786668bc0e253 (master) 2019-05-23 13:35:41 -07:00
Milan Burda
e32cf5c418 chore: remove leftover docs/api/structures/memory-info.md (#18421) 2019-05-23 15:25:52 -04:00
Lucas Gabriel Schneider
72b1c01836 fix: docs/api/dialog.md: fix typo (#18392) 2019-05-22 20:22:51 -07:00
Jeremy Apthorp
ca283c74c9 Merge remote-tracking branch 'origin/master' into roller/chromium-ad1b791122c04bd91b825fbfbdf1ff4da82a0edb-1558011686736 2019-05-21 10:07:17 -07:00
Milan Burda
1941a46825 docs: clarify that 'second-instance' is only emitted when the second instance calls app.requestSingleInstanceLock() (#18272) 2019-05-21 10:56:36 -05:00
Samuel Attard
e73a0e6cc6 docs: replace the atom.io headers URL with electronjs.org (#18328) 2019-05-21 16:17:07 +09:00
Charles Kerr
d1207e9d8f docs: use "Breaking Changes" as the changes doc's title (#18326)
* Use "Breaking Changes" as the changes doc's title.

Multiple people have commented that this important page is difficult
to find, in part because people search for "Breaking" or "Changes" or
"Breaking Changes" rather than "API Contract".

This PR changes the name to "Breaking Changes" so that it'll show up
on electronjs.org/docs/.

It also adds a backwards-friendly link so people still searching for
"API Contract" will get a redirect. I'm not sure if this is necessary --
the actual URL of https://electronjs.org/docs/api/breaking-changes is
unchanged -- would especially welcome feedback on this part.

* fixup! Use "Breaking Changes" as the changes doc's title.

* fixup! Use "Breaking Changes" as the changes doc's title.
2019-05-21 16:15:57 +09:00
Lucas Gabriel Schneider
286fdaa53c fix: docs/api/browser-window.md: fix typo (#18367) 2019-05-21 15:42:27 +09:00
Andrey
204e3808d2 docs: add parentheses + change lower case to upper case in some places (#18368)
* fix: add parentheses

Add parentheses to the end `app.showAboutPanel`, because this is method.

* fix: change 'Promise<string>' to 'Promise<String>'

Change `Promise<string>` to `Promise<String>`, because this is class name.

* docs: change lower case to upper case

Change lower case in word `menu` to upper case - `Menu`, because it's method.
2019-05-21 15:41:41 +09:00
Milan Burda
dbb8617214 docs: update sandbox-option.md (#18275)
Co-Authored-By: Mark Lee <malept@users.noreply.github.com>
2019-05-20 17:34:57 +02:00
Milan Burda
7e2cbf528e docs: link to better list of icons for nativeImage.createFromNamedImage() (#18336) 2019-05-18 22:00:08 +02:00
Milan Burda
2b4ad2cb09 feat: add 'gpu-info-update' event to app (#18250) 2019-05-18 10:06:48 +09:00
Nitish Sakhawalkar
e38127323f Update gpuinfo enumerator api
Related chromium change is here => 4178e190e9
2019-05-17 16:16:25 -07:00
Milan Burda
76783e2a90 fix: 'page-title-updated' event forwarding + documentation (#18270) 2019-05-16 12:33:16 +03:00
Samuel Attard
2a08bfbcc6
docs: update type for responseHeaders in the webRequest module (#18302)
Fixes #18298
2019-05-15 18:20:37 -07:00
Milan Burda
6609138959 feat: add webContents 'zoom-changed' event (#17747) 2019-05-14 09:40:40 +03:00
Milan Burda
3a5e6f2551 feat: allow setting working directory in app.setUserTasks() / app.setJumpList() (#18148) 2019-05-13 19:17:12 +03:00
Milan Burda
019b31d084 chore: remove deprecated APIs (#18159) 2019-05-09 14:48:10 -04:00
Jeremy Apthorp
96e19f1cc4
docs: fix name of Backtrace in crash reporter docs (#18180) 2019-05-09 10:30:37 -07:00
Jeremy Apthorp
be484ee8a4 docs: note session.clearAuthCache planned change for 7.0 (#18185)
* docs: note session.clearAuthCache planned change for 7.0

* Update breaking-changes.md
2019-05-09 10:58:01 -04:00
Shelley Vohr
02710ef574 refactor: make templateImage a property on nativeImage (#18124)
* refactor: make templateImage a property on nativeImage

* Update docs/api/native-image.md

Co-Authored-By: codebytere <codebytere@github.com>

* fix nativeImage prototype deprecation

* update for new property name

* Update docs/api/native-image.md

Co-Authored-By: codebytere <codebytere@github.com>
2019-05-07 06:52:07 -07:00
Bobby Galli
175fae722a docs: added BugSplat to list of hosted solutions (#18162) 2019-05-06 19:37:24 -07:00
Samuel Attard
a96b6e2c96 build: move to the new docs parser (#18103)
* build: move to the new docs parser

* chore: remove the bad getTitle param doc

* build: update parser/ts gen deps + fix some docs issues highlighted by GH desktop

* chore: apply suggestions from code review

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

* chore: update docs for accidentally removed things

* chore: update docs/api/command-line.md

Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
2019-05-06 08:29:01 -07:00
Shelley Vohr
9ec59cbc6c docs: clarify clipboard type options (#18107) 2019-05-06 08:11:47 -07:00
Shelley Vohr
6d96f30ed3
refactor: make shell.OpenExternal async (#17135) 2019-05-03 13:53:45 -07:00
Michelle Tilley
4808f30538
fix: revert to previous documentation folder structure (#18127) 2019-05-02 15:17:17 -07:00
Samuel Attard
d4f5ebefe6
feat: allow setting of global fallback user agent (#18016)
* feat: allow setting of global fallback user agent

* spec: add tests for app.set/getUserAgentFallback
2019-05-01 16:34:42 -07:00
bughit
493af7f84c document the loadURL promise pre-attached rejection handler (#18043) 2019-05-01 14:04:21 -07:00
Milan Burda
d2cebc62d1 docs: fix webContents 'new-window' event handler sample (#18067) 2019-05-01 10:49:42 -07:00
Shelley Vohr
8d83518f9a
refactor: make name a prop on app (#17701)
Update app.name to be a property on app.
2019-04-30 13:55:33 -07:00
Shelley Vohr
d87b3ead76 chore: remove promisification deprecation callbacks (#17907)
* chore: remove promisification deprecation callbacks

* update docs

* fix smoke test

* fix executejs issue

* cleanup leftovers

* fix webContents.executeJavaScript tests

* cleanup WebContents.prototype.takeHeapSnapshot

* fix "sets arbitrary webContents as devtools" test

* fix executeJavaScriptInFrame related tests
2019-04-30 07:08:32 -07:00
Shelley Vohr
7b55ee9d36 refactor: allow requiring modules with no side effects (#17496) 2019-04-30 09:46:08 +09:00
pathim
cc1e8ecef6 docs: Correct doc for registerFileProtocol (#18022)
In the registerFileProtocol docs the "headers" argument of the callback was described as being a list. In fact is has to be an Object mapping header-entries to values. This can be seen in Line 326 of `/spec/api-protocol-spec.js` [fe618631f1/spec/api-protocol-spec.js (L326)].
2019-04-29 15:26:55 -07:00
Samuel Attard
84212b8e8b
docs: add example on handling the webPrefs change (#17971)
* docs: add example on handling the webPrefs change

Fixes #17967

* Update breaking-changes.md
2019-04-26 13:30:45 -07:00
Shelley Vohr
e1acfffaf8
docs: remove outdated refs to protocol.registerStandardSchemes (#17959) 2019-04-25 15:56:59 -07:00
Shelley Vohr
075b818a8e
fixes (#17363) 2019-04-25 15:44:54 -07:00
Shelley Vohr
2108044bdb
docs: move organizational info docs to new directory (#17865)
* docs: move organizational info docs to new directory

* fix some markdown lint issues
2019-04-25 15:14:19 -07:00
nixxquality
4556433f3b docs: fully document MenuItem instance properties (#17479)
* document menuItem instance properties

* correct some types

* add correct click documentation
2019-04-24 09:53:15 -07:00
Milan Burda
253d049ac9 chore: remove deprecated app.enableMixedSandbox() (#17894) 2019-04-23 21:07:40 -07:00
Shelley Vohr
0749dc4cc1
refactor: make app logs dir creation opt-in (#17841)
Previously, we were creating the app logs folder at a predefined location during initial electron startup, which meant that it had to be manually removed and prevented clean app portability. This refactors that implementation such that it's now an opt-in feature and developers must call app.setAppLogsPath(path) with an optional custom path in order to set this directory.
2019-04-18 22:04:58 -07:00
Kilian Valkhof
ea6641afe5 docs: explanation on using protocols with partitions (#17759)
* docs: explanation on using protocols with partitions

* linting fixes

* Update docs/api/protocol.md

Co-Authored-By: Kilian <kilian@kilianvalkhof.com>

* Update docs/api/protocol.md

Co-Authored-By: Kilian <kilian@kilianvalkhof.com>

* Update docs/api/protocol.md

Co-Authored-By: Kilian <kilian@kilianvalkhof.com>

* be more explicit about there being a default session.
2019-04-18 12:40:04 -07:00
Shelley Vohr
f1ee35e281
doc: document occasional mismatch between NSImageName and string (#17826) 2019-04-17 15:06:51 -07:00
Samuel Attard
f901170a4f
docs: fix doc linter warnings (#17818) 2019-04-16 19:03:17 -04:00
Shelley Vohr
b3d8db6996
docs: note desktop audio limitation on macOS (#17738)
Closes #10515. Notes fundamental limitation in `navigator.mediaDevices.getUserMedia` for audio capture on some platforms so that users are aware of the ongoing issue and provides a potential workaround.
2019-04-16 10:49:31 -07:00
Shelley Vohr
9c3cb55ef2
refactor: make accessibilitySupportEnabled a property on app (#17362)
* refactor: make accessibilitySupport a prop on app

* fix docs

* update spec
2019-04-04 19:49:04 -07:00
Tyler Dennis
5b696491db docs: remove webaudio doc from browserwindow options (#17633) 2019-04-02 13:46:45 -07:00
Shelley Vohr
0431997c8d
refactor: make applicationMenu a property on app (#17361) 2019-04-02 13:36:57 -07:00
Shelley Vohr
d412582f72
docs: clarify cookie domain normalization (#17590) 2019-04-02 13:04:20 -07:00
Shelley Vohr
8ea33d69ac
fix: match net module headers & http.IncomingMessage headers (#17517)
* fix: match net module headers & http.IncomingMessage headers

* update net doc for cleanliness

* address feedback from review

* Update spec/api-net-spec.js

Co-Authored-By: codebytere <codebytere@github.com>

* add special cookie case
2019-04-02 07:41:19 -07:00
Milan Burda
8cf15cc931 feat: only allow bundled preload scripts (#17308) 2019-03-28 11:38:51 +01:00
Shelley Vohr
4e57a732a8
feat: allow windows to be excluded from the windows menu (#17404)
* feat: allow windows to be excluded from the windows menu

* excludedfromWindowsMenu => excludedFromShownWindowsMenu

* implement no-op for win & linux
2019-03-27 08:10:23 -04:00
Milan Burda
546466b209 feat: add <webview>.getWebContentsId() (#17407) 2019-03-26 10:57:27 +09:00
Samuel Attard
784f9742bc
build: auto-fix whitespace in docs in pre-commit hook (#17490) 2019-03-21 12:15:55 -07:00
Milan Burda
07b02653ba docs: update sandbox-option.md (#17468)
* docs: update sandbox-option.md

* Update docs/api/sandbox-option.md

Co-Authored-By: miniak <milan.burda@gmail.com>
2019-03-21 14:41:53 +01:00
Shelley Vohr
b25279df89
docs: clarify documentation for getLastCrashReport (#17458)
* docs: clarify documentation for getLastCrashReport

* address feedback
2019-03-20 15:34:21 -07:00
Milan Burda
a82bbd010e build: strip trailing whitespace in docs (#17488) 2019-03-20 13:12:47 -07:00
Milan Burda
de1bacddd9 docs: process.getProcessMemoryInfo() returns a Promise (#16593)
* docs: process.getProcessMemoryInfo() returns a Promise
* chore: bump electron-typescript-definitions to get Promise<T> fix
2019-03-20 17:26:57 +01:00
Shelley Vohr
1d93bc76cd feat: expose colorSpace to display object (#17405)
* feat: expose colorSpace to display object

* update doc

* add a spec
2019-03-19 15:12:03 -07:00
Milan Burda
4c51fa93f5 feat: add systemPreferences.getAnimationSettings() (#17382) 2019-03-19 12:15:40 -07:00
Zachary
9b359c6a75 docs: correction to ipc-main-event.md 'frane' to 'frame' (#17424) 2019-03-19 12:07:30 -07:00
Benny Neugebauer
f4c3151815 docs: fix typo in webview.md (#17454) 2019-03-19 11:43:19 -07:00
Shelley Vohr
879462af4b
docs: document modernization initiative more clearly (#17376)
* docs: document modernization initiative more clearly
2019-03-19 10:31:45 -07:00
Shelley Vohr
2fb9085e5b
feat: add tray.getTitle() (#17385)
* feat: add tray.getTitle

* fix spec
2019-03-18 12:40:34 -07:00
Milan Burda
3a091cdea4 refactor: implement clipboard APIs without the remote module (#17200) 2019-03-15 17:32:04 -07:00
Heilig Benedek
43ef561d48 feat: enable NodeIntegrationInSubFrames for webview (#17226)
* feat: enable nodeIntegrationInSubFrames for webview

* test: add tests

* docs: document webview's nodeintegrationinsubframes

* lint: fix indent

* fix: resolve some merge bloopers
2019-03-15 10:39:20 -07:00
Shelley Vohr
961c9a88a8 feat: promisify dialog.showCertificateTrustDialog() (#17181)
* feat: promisify dialog.showCertificateTrustDialog()

* update promisification doc
2019-03-15 09:02:50 +09:00
Shelley Vohr
12b6a0f5b2
feat: add native emoji picker (#17359) 2019-03-14 13:39:52 -07:00
Milan Burda
2e89348541 feat: promisify executeJavaScript (#17312) 2019-03-14 12:08:54 -07:00
Milan Burda
878538f2e8 feat: add safer nativeImage.createFromBitmap(), which does not decode PNG/JPEG (#17337) 2019-03-14 11:00:38 -07:00
Shelley Vohr
aa8b66aae1
feat: promisify session.getBlobData() (#17303) 2019-03-14 08:11:01 -07:00
d1g1t4ld1n4
c082b3964c docs: clarification of requestSingleInstanceLock() docs (#17304)
* docs: upstream doc links added to default window

Added the link to the Node docs and Chromium docs to the default window (not sure if I linked the chromium docs correctly, please let me know/feel free to suggest changes if you know the correct way to do so)

* docs: clarify what requestSingleInstanceLock() does

* Revert "docs: upstream doc links added to default window"

This reverts commit 829417cf29c6ef0222da55e7a0789d18b94a9253.

* docs: clarify what requestSingleInstanceLock() does
2019-03-13 19:42:16 -07:00
Shelley Vohr
3e5a98b5f4
feat: promisify In-App Purchase (#17355)
* feat: promisify In-App Purchase

* use mate::Arguments in GetProducts
2019-03-13 13:56:01 -07:00
Shelley Vohr
8991c0056e
feat: promisify dialog.showMessageBox() (#17298)
* feat: promisify dialog.showMessageBox()

* address feedback from review
2019-03-12 11:06:59 -07:00
Milan Burda
48a95f9677 fix: remove non-existent gpu-crashed event on <webview> (#17317) 2019-03-11 17:25:46 -07:00
Samuel Maddock
f943db7ad5 feat: Add content script world isolation (#17032)
* Execute content script in isolated world

* Inject script into newly created extension worlds

* Create new content_script_bundle for extension scripts

* Initialize chrome API in content script bundle

* Define Chrome extension isolated world ID range

1 << 20 was chosen as it provides a sufficiently large range of IDs for extensions, but also provides a large enough buffer for any user worlds in [1000, 1 << 20).

Ultimately this range can be changed if any user application raises it as an issue.

* Insert content script CSS into document

This now avoids a script wrapper to inject the style sheet. This closely matches the code used by chromium in `ScriptInjection::InjectCss`.

* Pass extension ID to isolated world via v8 private
2019-03-11 16:27:57 -07:00
Milan Burda
6072da239d feat: add global renderer-process-crashed event (#17315) 2019-03-11 16:17:24 -07:00
Shelley Vohr
9ea6c01e02
feat: promisify session.clearAuthCache() (#17259)
* feat: promisify session.clearAuthCache()

* remove unused callback runner helpers
2019-03-08 18:41:42 -08:00
Shelley Vohr
fc10620082
feat: promisify session cache methods (#17185) 2019-03-08 14:42:03 -08:00
Shelley Vohr
2769e75b49
feat: promisify session proxy methods (#17222) 2019-03-08 12:51:12 -08:00
Shelley Vohr
e5e6aa207c
feat: promisify ses.clearHostResolverCache() (#17229) 2019-03-08 10:26:17 -08:00
Shelley Vohr
bbfa63fd9d
feat: promisify session.clearStorageData() (#17249) 2019-03-08 09:02:30 -08:00
Samuel Maddock
ac88b3ead5 feat: add 'disableHtmlFullscreenWindowResize' option to webPreferences (#17203)
This option allows users to prevent the window from resizing when the HTML5 FullScreen API is used.
2019-03-07 15:29:37 -08:00
Shelley Vohr
6cb7b8d3a4
feat: promisify dialog.showSaveDialog() (#17054)
* feat: promisify dialog.showSaveDialog()

* address some feedback from review

* filename => filePath

* fix last filename => filePath
2019-03-05 13:48:20 -08:00
Koen [XII]
aa863f3246 Fix typo in registerSchemesAsPrivileged reference (#17214) 2019-03-05 09:20:52 -08:00
Shelley Vohr
e05985145b
feat: promisify dialog.showOpenDialog() (#16973)
* feat: promisify dialog.showOpenDialog()

* address feedback from review

* address feedback from review
2019-03-05 05:54:48 -08:00
Shelley Vohr
544d8a423c
feat: allow MenuItems to work optionally when hidden (#16853)
* feat: allow MenuItems to work optionally when hidden

* fix: actually include forward_declaration
2019-02-28 17:00:54 +00:00
Linda_pp
6d55498cc7 docs: Fix types and missing property in WebRequest APIs (#17046)
* docs: Fixed hook methods of WebRequest accepts null as listener

* docs: Added missing `referrer` property in OnBeforeRequestDetails

* docs: Add `referrer` to each webRequest responses
2019-02-28 09:30:38 +00:00
Nitish Sakhawalkar
bfa07ec4be feat: Add new powerMonitor synchronous API (#17144)
`powerMonitor.querySystemIdleState` and `powerMonitor.querySystemIdleTime` had async backing APIs in chromium (https://chromium-review.googlesource.com/c/chromium/src/+/1379183). However, that has changed in ch73. So, this PR deprecates the old async APIs and adds new sync APIs.
2019-02-27 15:54:01 -05:00
Samuel Attard
e01c3615c4
chore: replace usage of deprecated beginSheetModalForWindow API (#16994) 2019-02-27 10:23:17 -08:00
Shelley Vohr
5ecda17c7a
refactor: make shell.ShowItemInFolder asynchronous (#17121)
* fix: add scoped_blocking_calls to platform_win

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

* feat: make ShowItemInFolder async

* address feedback from review

* fix build
2019-02-27 12:58:23 +00:00
Vlad Hashimoto
30213089ae docs: allow webRequest listener to passing null (#17006) 2019-02-25 18:13:00 -08:00
Gavin Wang
391f6dd663 docs: add sample code for contents.insertCSS() (#16959)
it not work before Event: 'did-finish-load', so add this sample code to show it.
2019-02-25 18:10:56 -08:00
Sindre Sorhus
df5305d6a7 docs: fix MenuItem windowMenu role description (#17065)
It was changed in https://github.com/electron/electron/pull/15930
2019-02-25 13:34:32 +00:00
Shelley Vohr
3edc497d3d
feat: show user gesture type in click event (#16954) 2019-02-20 12:20:24 +00:00
Milan Burda
7e7abc28f5 feat: promisify netLog.stopLogging (#16862) 2019-02-19 10:48:27 +00:00
Samuel Attard
3b74837020 refactor: Split 'Event' docs/types into more specific Event types (#17038)
* Event = Base event type (with preventDefault)
* IpcMainEvent = Event that ipcMain emits (with sender, reply, etc.)
* IpcRendererEvent = Event that ipcRenderer emits (with sender,
senderId, etc.)
* KeyboardEvent = Event that we emit with keyboard flags (ctrlKey,
altKey, etc.)

This will dramatically improve peoples TS experience with IPC events
2019-02-19 09:24:19 +00:00
Milan Burda
a04d9ef35b feat: add process.getSystemVersion() (#16599) 2019-02-18 12:59:48 +00:00
Shelley Vohr
1e8ac79e6f
docs: document the Event interface (#16966)
* docs: document the Event interface

* update docs deps

* pull new VoidFunction update
2019-02-15 12:08:45 -08:00
Aayush Chhabra
6d005ff137 docs: Remove redundant 'Instance Events' Headline (#16865) 2019-02-15 08:29:33 -10:00
Samuel Attard
5790869a3f
chore: refactor browser IPC into TS and app API into TS (#16921)
* chore: refactor browser IPC into typescript

* chore: refactor app.ts into Typescript

* Refactors app.dock into cpp
* Removes app.launcher which has not existed for 3 years
* Removes 2 deprecated APIs (that have been deprecated for more than one
major)
* Refactors deprecate.ts as well
2019-02-14 14:29:20 -08:00
Samuel Attard
28638b0a6b docs: update dialog documentation for "undefined" ret vals (#16970) 2019-02-14 14:28:17 -08:00
deepak1556
1b982e200a Autoplay: remove cross-origin autoplay policy from //chrome and //content.
https://chromium-review.googlesource.com/c/chromium/src/+/1362225
2019-02-14 23:59:24 +05:30
Shelley Vohr
de27911661
feat: promisify webContents.savePage() (#16742)
* feat: promisify webContents.savePage()

* no need to make compatible w callbacks, we're breaking it

* fix promise resolve type

* address feedback from review

* fix promise return text

* update smoke test
2019-02-14 09:03:28 -08:00
Shelley Vohr
46a24c82ff
feat: add Touch ID authentication support for macOS (#16707)
This PR adds Touch ID authentication support for macOS with two new `SystemPreferences` methods.

1. `systemPreferences.promptForTouchID()` returns a Promise that resolves with `true` if successful and rejects with an error message if authentication could not be completed.
2. `systemPreferences.isTouchIDAvailable()` returns a Boolean that's `true` if this device is a Mac running a supported OS that has the necessary hardware for Touch ID and `false` otherwise.
2019-02-13 18:36:28 -08:00
Shelley Vohr
319c2853df chore: move ts-smoke tests to core (#16930)
* chore: move ts smoke tests to core

* fix: fix paths for tsconfig / ts-smoke runner

* update ts-defs version

* do not lintr
2019-02-13 15:24:28 -08:00
Shelley Vohr
fed5b99a9f
feat: promisify contentTracing.getTraceBufferUsage() (#16600)
* feat: promsify contentTracing.getTraceBufferUsage()

* deprecate getTraceBufferUsage

* address feedback from review

* properly deprecate
2019-02-13 13:24:57 -08:00
Julien Isorce
9b29befdc8 feat: disable fetching thumbnails if thumbnailSize is 0 (#14906)
Capturing window thmubnails is expensive as it actually uses the
window capturer and it records one full frame per window and then
downscale to the default size 150x150. When only interested in the
window names or the app icons we do not need all of this.

Underlying change is merged in chromium72 so this patch only modifies
the doc, see:
  https://chromium.googlesource.com/chromium/src.git/+log/72.0.3626.52/chrome/browser/media/webrtc/native_desktop_media_list.cc

Example: desktopCapturer.getSources({thumbnailSize: {width: 0, height: 0}}, ...)

Also added a unit test in spec/api-desktop-capturer-spec.js that verifies
that the returned thumbails are of type NativeImage and empty,
when the user disable fetching thumbnails.

notes: Can disable fetching the thumbnails for the DesktopCapturer.

https://github.com/electron/electron/issues/14872
2019-02-13 10:27:42 -08:00
Nitish Sakhawalkar
3dfef4a376 chore: Add new webFrame IsolatedWorldInfo API and deprecate (#16801)
* chore: Add new webFrame IsolatedWorldInfo API and deprecate

* Flag deprecated methods in documentation

* address comments

* Address review comments

* remove unused variable

* Update based on review
2019-02-13 08:05:28 -10:00
Milan Burda
1f458eb177 feat: promisify debugger.sendCommand() (#16861)
* remove duplicate entry for desktopCapturer.getSources

* feat: promisify debugger.sendCommand
2019-02-13 07:23:53 -10:00
Shelley Vohr
ca83d36426
feat: promisify app.dock.show() (#16904)
* feat: promisify app.dock.show

* add a spec
2019-02-12 21:06:33 -08:00
Robo
5478cc7e8e
chore: fix lint errors (#16906) 2019-02-13 00:19:47 +05:30
Shelley Vohr
bf276ecc69 feat: add new components to Display structure (#16870)
* feat: add new components to Display structure

* add internal property

* expose colorDepth

* add specs
2019-02-12 05:34:42 -10:00
Jeremy Apthorp
5a44cc50cf docs: migration guide for register{StandardSchemes => SchemesAsPrivileged} (#16762)
* docs: migration guide for register{StandardSchemes => SchemesAsPrivileged}

cc @nitsakh

* Update docs/api/protocol.md

Co-Authored-By: nornagon <nornagon@nornagon.net>

* Update docs/api/protocol.md

Co-Authored-By: nornagon <nornagon@nornagon.net>

* Update protocol.md

* Update docs/api/protocol.md

Co-Authored-By: nornagon <nornagon@nornagon.net>
2019-02-12 04:31:53 -10:00
Samuel Attard
01c442de64 refactor: convert more files to typescript (#16820) 2019-02-12 04:22:33 -10:00
Samuel Attard
7baa218ca9
docs: remove removed autosize attribute (#16884)
Closes #16199

Notes: no-notes
2019-02-11 14:15:15 -08:00
Samuel Attard
5301808926 docs: reference the webviewTag option in the webview docs (#16879)
Closes #16773

Notes: Add a reference to the "webviewTag" option in the webview docs
2019-02-11 10:38:36 -10:00
Milan Burda
36ce3e9546 feat: promisify webContents.printToPDF() (#16795) 2019-02-11 09:20:04 -10:00
Shelley Vohr
3effa6f20c feat: add support for scroll lock accelerator (#16873) 2019-02-11 09:13:13 -10:00
Samuel Attard
90ebd8eb12
docs: document how setAsDefaultProtocolClient works in Windows Store (#16874)
Closes #16852
2019-02-11 10:51:46 -08:00
Jeremy Apthorp
72f3a22ecc docs: reorder crashReporter notes to make more sense (#16825)
the note about reports from child processes on Windows should be next to the code snippet.

Side note: is that code even still necessary?
2019-02-08 13:26:59 -08:00
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
Gilbert Emerson
76d919fff5 docs: added webContents.getType() method (#16767)
* docs: added webContents.getType() method

* docs: add enumeration of return value for webContents.getType()

* docs: getType() in WebContents should be class method not module method
2019-02-06 10:42:34 -08:00
Shelley Vohr
858781ba83
feat: allow Menu.buildFromTemplate() to accept MenuItems (#16697)
* feat: allow Menu.buildFromTemplate to accept MenuItems

* add another spec

* fix linter error

* add submenu spec
2019-02-06 10:04:40 -08:00
Jeremy Apthorp
b7afec0743
docs: improve app.commandLine documentation (#16757) 2019-02-05 16:22:25 -08:00
Shelley Vohr
e098d08728
docs: we shouldn't promisify net apis (#16736) 2019-02-04 22:25:59 -08:00
Shelley Vohr
f303caa87c
refactor: remove ServiceWorker APIs from WebContents (#16717) 2019-02-04 22:22:46 -08:00
Shelley Vohr
698d348168
feat: support capslock and numlock as accelerators (#16719)
* feat: support capslock as accelerator

* also add numlock
2019-02-04 15:54:59 -08:00
Birunthan Mohanathas
24f1eac84f docs: Recommend use of callback with dialog.showSaveDialog (#16649)
See #14606.

Notes: no-notes
2019-02-03 23:56:51 -08:00
michtsu
392458b252 Add devtools API to inspect shared worker. (#16615) 2019-02-01 10:44:24 -08:00
Xinayu
52952f7d51 Update menu.md (#16670) 2019-02-01 08:28:28 -08:00
Shelley Vohr
bae09643c1
docs: fix referrer typedef in OnCompletedDetails (#16661) 2019-02-01 07:54:31 -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
Shelley Vohr
ba57e1d991
feat: promisify contentTracing recording APIs (#16584)
* feat: promisify contentTracing.startRecording()

* feat: promisify contentTracing.stopRecording()

* test: convert specs for new promisified apis

* chore: deprecate and ensure legacy tests work
2019-01-30 18:53:55 -08:00
Vladimir
49ec7e1582 feat: flexible autoresize for BrowserViews (#16184)
* feat: flexible autoresize for BrowserViews

* fix: change to static_cast

* Slight format code
2019-01-31 11:07:19 +09:00
Nitish Sakhawalkar
bd4e14dcee fix: update docs for protocol API (#16601)
* fix: update docs for protocol API

* upddate source for new attribute name

* update electron-typescript-definitions package
2019-01-30 12:54:18 -08:00
Shelley Vohr
641b47f384
feat: promisify contentTracing.getCategories() (#16583)
* feat: promisify contentTracing.getCategories()

* deprecate contentTracing/getCategories
2019-01-30 12:39:55 -08:00
Shelley Vohr
6e131f2121
docs: remove nonexistent contentTracing methods (#16597) 2019-01-30 08:33:56 -08:00
Michael Hamilton
8da91523d0 Fixed a little typo (#16550) 2019-01-29 15:58:01 -08:00
Nitish Sakhawalkar
940c4c0787 feat: move webFrame scheme privilege methods to main process (#16416)
* chore: deprecate webFrame.registerURLSchemeAsPrivileged

* Add register schemes protocol api

* update branch to enable browser process API

* Revert deprecation changes

* Fetch API support

* Updated api to take an array, still working on tests

* Update tests

* Remove web frame API

* Minor changes

* update scheme registrations on browser and renderer process

* fix: enable ses.getBlobData spec

* Update breaking changes doc
2019-01-29 16:11:01 +09:00
Shelley Vohr
d105dcc0d3
feat: promisify webContents.hasServiceWorker() (#16535)
* feat: promisify contents.hasServiceWorker()

* spec: add initial test for hasServiceWorker()
2019-01-26 10:23:16 -08:00
Charles Kerr
8396a2d504
feat: promisify cookies api (#16464)
* feat: promisify the Cookie API

* chore: update specs to test promisified cookies

* chore: add deprecate wrapper for cookie callback API

* docs: update docs to cookie promise changes

* chore: remove redundant namespace use

* docs: improve cookie example

* docs: restore docs for cookie callback API

* chore: restore cookie callback tests

* fix: syntax of cookie promise return types
2019-01-25 12:11:35 -06:00
Milan Burda
e2516dc808 docs: cancel is optional in OnHeadersReceivedResponse (#16506) 2019-01-25 09:41:21 -05:00
Milan Burda
713df08e3e chore: remove deprecated modules internally using remote.require in sandboxed renderer context (#15957) 2019-01-24 10:53:52 -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
92b9525cfd
feat: enable mixed-sandbox mode by default (#15894) 2019-01-22 10:44:28 -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
6cba2c50a2 feat: make ipc-message and ipc-message-sync events public (#16468) 2019-01-22 08:47:58 -08:00
Milan Burda
dbc5f67dca docs: fix web-request.md listener signatures in electron.d.ts (#16485) 2019-01-22 08:46:40 -08:00
Matthew Leffler
a9ac75c1f9 docs: Fix TouchBar API example (#16482) 2019-01-21 17:07:47 -08:00
Shelley Vohr
3ca87d205f
feat: make zoomLevel/zoomFactor sync (#16410)
* feat: make zoomLevel/zoomFactor sync

* update ts defs dep
2019-01-20 23:40:27 -08:00
Shelley Vohr
441c9ce376
feat: promisify desktopCapturer.getSources (#16427)
* feat: promisify desktopCapturer.getSources

* fix doc

* fix docs lint error
2019-01-18 15:29:32 -08:00
Milan Burda
7d4a1223fd feat: add preload-error event to webContents (#16411) 2019-01-18 12:03:43 +01:00
Milan Burda
4d0b2ac9be docs: fix promisification.md formatting (#16434) 2019-01-17 09:30:32 -08:00
Shelley Vohr
1f2b02c18f
feat: promisify protocol.isProtocolHandled() (#16423)
* feat: promisify protocol

* fix base::Bind and specs

* update documentation

* make callback-compatible

* async awaitify tests
2019-01-17 09:05:10 -08:00
Milan Burda
23d44e322d feat: use default-app behavior in packaged apps (#16310)
Unify the behavior between default app and packaged apps:
- create default application menu unless the app has one
- default window-all-closed handling unless the app handles the event
2019-01-15 21:35:53 +01:00
Shelley Vohr
0881fd6397
feat: split openExternal into sync and async (#16176)
* feat: split openExternal into sync and async

* v8::Locker => mate::Locker

* fix: enter js env when resolving promise
2019-01-14 20:35:21 -08:00
Milan Burda
eb02a422de feat: add fileMenu / viewMenu / appMenu roles (#16328) 2019-01-10 14:32:03 +01:00
Milan Burda
349a3c20ae feat: add additional remote APIs filtering (#16293) 2019-01-08 14:27:56 -08:00
Milan Burda
fade3eb679 chore: make "nodeIntegration" and "webviewTag" default to false (#16235) 2019-01-07 22:19:27 +03:00
Milan Burda
6f117b8e0c feat: add app.commandLine.hasSwitch() / app.commandLine.getSwitchValue() (#16282)
* feat: add app.commandLine.hasSwitch() / app.commandLine.getSwitchValue()

* add more tests

* refactor: move appendSwitch / appendArgument to command_line module

* replace AppendSwitchASCII with AppendSwitchNative

* remove castArgs
2019-01-07 07:48:27 -08: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
Shelley Vohr
de0e4735de fix: error if a11y support changed before ready (#16261) 2019-01-04 10:20:06 -05:00
Tyler Saballus
2117524102 Fix typos in app.md (#16260)
Mostly added commas to prepositions that occur in the predicate. There was a misspelling and a few run-on sentences as well though.
2019-01-04 10:18:15 -05:00
Shelley Vohr
876064036d
fix: don't register some shortcuts without accessibility (#16125)
Fixed crash on macOS when using globalShortcut for media keys when accessibility access is not granted.
2019-01-03 20:40:17 -08:00
Shelley Vohr
b57046e67d
feat: add mac support to systemPrefs.getColor() (#16249) 2019-01-03 16:17:07 -08:00
Shelley Vohr
03892153de
feat: expose systemPreferences.getSystemColor() (#16248) 2019-01-03 14:30:38 -08:00
Shelley Vohr
439ba5116f
feat: add mac support to systemPrefs.getAccentColor() (#16251)
* feat: add mac support to systemPrefs.getAccentColor()

* note 10.14 retriction
2019-01-03 13:24:55 -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
Zac Walker
51cfb5cff1 fix: extend tracing startRecording API to take a full tracing config (#13914)
This allows memory-infra to be traced correctly.
Fixes #12506.
2018-12-20 15:11:17 +03:00
Milan Burda
547097b036 security: allow to block desktopCapturer.getSources() calls (#15964)
* security: allow to block desktopCapturer.getSources() calls

* return empty instead of error

* fix: release resources of DesktopCapturer on exit
2018-12-20 11:44:30 +09:00
Mosh Feu
ddc38eda26 docs: specify "role" types for "menu-item" (#16129) 2018-12-19 09:39:35 -05:00
David Baker
cc85946f55 feat: Support response headers in File protocol handler (#16098)
* feat: Support response headers in File protocol handler

* bugfix: Null check headers value & fix tests

* refactor: Use non-deprecated FindKeyOfType
2018-12-18 23:17:02 -07:00
Jeremy Apthorp
03f876470e docs: note that visual zoom is disabled by default (#16130) 2018-12-18 20:40:42 -07:00
Shelley Vohr
a58d989b60 feat: expose app accessibility status api (#16119)
* feat: expose app accessibility status api

* fix prompt
2018-12-18 11:15:22 -05:00
Milan Burda
1c7a47239b chore: remove chrome_process_finder.patch (#16113) 2018-12-18 10:00:34 +09:00
Milan Burda
41a3f123f1 docs: move require related breaking changes to Electron 6.0 (#16109) 2018-12-17 14:01:00 -08: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
Shelley Vohr
280f9bf49c
feat: allow immediate MacOS notifications (#16060)
* feat: allow immediate MacOS notifications

* fix args->GetNext

* update docs/api/system-preferences.md

Co-Authored-By: codebytere <codebytere@github.com>

* address feedback from @ckerr's review
2018-12-14 13:46:46 -08: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
3f15f51615
feat: promisify app.getFileIcon() (#15742) 2018-12-05 08:50:12 -08:00
Moisés Neto
cfbea4a0e3 docs: es6ify 'Breaking Changes' and 'File' API pages (#15507)
* docs: apply arrow functions to app.makeSingleInstance example

* docs: apply arrow functions to session docs

* docs: change normal to arrow functions in File object docs
2018-12-05 23:14:52 +11:00
Milan Burda
d561c5531b feat: deprecate modules internally using remote.require in sandboxed renderer context (#15145) 2018-12-05 10:34:09 +01:00
Milan Burda
cfb2812cea docs: remove methods invoking the callback repeatedly from promisification.md (#15951) 2018-12-04 13:45:55 -08:00
Shelley Vohr
c31629ad98
feat: add media access APIs for macOS Mojave (#15624) 2018-12-04 07:54:13 -08:00
Julien Isorce
1f55f1635f feat: add support for DesktopCapturerSource.appIcon
Useful to get the icon of the application owning the source.
Only available for sources of type window, i.e. not for screen.

https://github.com/electron/electron/issues/14845
2018-12-04 15:42:49 +09:00
Ho Wing Yip
cd8099d336 Fixed typo in dialog.md (#15861)
Changed "masOS" to "macOS"
2018-11-28 20:41:27 -08:00
Milan Burda
07f8f5f95a refactor: eliminate duplicate code exposing process APIs (#15824) 2018-11-28 11:08:17 -05:00
Nitish Sakhawalkar
9890d1e251 feat: Implement process.getProcessMemoryInfo to get the process memory usage (#14847)
* feat: Implement process.getMemoryFootprint to get the process memory usage

* Add spec

* fix: must enter node env in callback

* Update function call

* Update spec

* Update API data

* update spec

* Update include

* update test for shared bytes

* Update atom/common/api/atom_bindings.cc

Co-Authored-By: nitsakh <nitsakh@icloud.com>

* Update atom/common/api/atom_bindings.cc

Co-Authored-By: nitsakh <nitsakh@icloud.com>

* Update API

* Update the callback isolate

* Update to work after app ready

* Update docs

* Update docs/api/process.md

Co-Authored-By: nitsakh <nitsakh@icloud.com>

* Update docs/api/process.md

Co-Authored-By: nitsakh <nitsakh@icloud.com>

* Fix crash
2018-11-28 17:57:53 +09: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
Milan Burda
d63a848011 feat: add activate option to webContents.openDevTools (#13852) 2018-11-27 18:34:44 +09:00
Shelley Vohr
0a5f8611e8
chore: add promise api runtime flag (#15841)
* chore: add promise api runtime flag

* add promisification plan document

* fix process.md typo
2018-11-26 16:00:46 -05:00
Heilig Benedek
0242818f39 feat: add registerAccelerator flag to allow menu items to optionally skip accelerator registration (#15723)
* feat: add registerAccelerator flag to allow menu items to skip registration

* docs: add docs for registerAccelerator

* docs: re-add accidentally removed line
2018-11-26 10:43:55 -08:00
Ondřej Záruba
de05ff894b feat: Add app.getLocaleCountryCode() method for region detection (#15035)
* Add method to get system´s user region

* Fix linter

* Remove auto types

* Improved detection for POSIX

* Change name, add specs, minor fixes

* Remove left overs

* Fix locale test

* Fix Linux test

* Coding style fixes

* Fix docs

* Add test excaption for Linux

* fix spelling

* Polishing
2018-11-20 15:33:23 -05:00
Daniel Turcich
a59b53c7e6 Update webview-tag.md (#15741)
Added Mouse and Scroll to list of events that webview can't have event listeners for
2018-11-20 01:01:57 -05:00
Jeremy Apthorp
08b56b7675
docs: add note about win_delay_load_hook (#15766) 2018-11-19 16:13:50 -08:00
Jeremy Apthorp
0642be296d
fix: crash in sandbox on linux when getting execPath (#15701) 2018-11-15 12:59:01 -08:00
Shelley Vohr
511dc9a80b
feat: add numpad accelerator strings (#15689) 2018-11-14 14:02:18 -05:00
Shelley Vohr
787dbbe610
feat: add about panel customization on linux (#15658) 2018-11-13 17:12:24 -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
Shelley Vohr
a54dd1085a
feat: expose showAboutPanel for MacOS (#15674) 2018-11-11 22:52:27 -05:00
Shelley Vohr
9fd98bb27b
refactor: no longer require submenu for services menuitem (#15656) 2018-11-10 12:47:55 -05:00
Heilig Benedek
ca2d74e118 feat: add methods to allow customization of save dialog during will-download event (#15497)
* feat: add method to DownloadItem that allows customization of dialog options

* docs: add docs for get/setSaveDialogOptions

* add missing copy constructor for DialogSettings on mac and linux

* fix: don't filter dialog options for mas build, don't return properties

* test: add test for get/setSaveDialogOptions

* fix: remove openDevtools added for debugging

* test: fix failing test because of new event parameter

* docs: use SaveDialogOptions instead of Object
2018-11-08 10:51:06 -04:00
Michelle Tilley
2a8e8a0603 fix: make certain values on process read-only (#15628)
* docs: Add 'worker' as a possible value for `process.type`

* fix: make certain properties on `process` read only:

* `mas`
* `windowsStore`
* `versions.electron`
* `versions.chrome`
* `type`
* `pid`
* `sandboxed`
2018-11-08 10:28:06 -04:00
Shelley Vohr
e9ba26f50e
feat: allow registering multiple shortcuts (#15542)
This PR allows for multiple global shortcuts to be registered such that triggering any of them calls the same callback.
2018-11-07 09:40:38 -08:00
Jeremy Apthorp
87565ec667
docs: add more links to the devtools protocol docs (#15581)
I missed the link at the top when I was skimming this documentation
2018-11-05 16:53:18 -08:00
trop[bot]
c422011d58 docs: fix the "second-instance" event handler signature in the docs (#15551) 2018-11-03 11:37:59 +11:00
nixxquality
6e6ab9b907 Fix callback info for showSaveDialog and showOpenDialog (#15549) 2018-11-02 10:47:19 -04:00
Samuel Attard
bdef033459 docs: add Size as an option for pageSize in docs for printToPDF (#15519) 2018-11-01 09:00:33 -04:00
Shelley Vohr
b2e1a93177
refactor: remove hardcoded google api key (#15478)
* refactor: remove hardcoded Google API key

* address changes from review
2018-10-31 07:49:44 -07:00
Samuel Attard
86064a7bd8 docs: add return type for subscribeNotification (#15490) 2018-10-31 10:24:50 -04:00
Heilig Benedek
6d2a088be9 feat: detect high contrast color mode (#15493)
* feat: add event and method to detect high contrast color mode

* docs: add docs for isHighContrastColorScheme and high-contrast-color-scheme-changed

* refactor: correct type of contrast
2018-10-31 10:22:18 -04:00
David Sanders
bae652f46d docs: http protocol handlers can access headers (#15431)
* test: check http protocol handlers can access headers

* docs: http protocol handlers can access headers
2018-10-30 11:37:49 -07:00
Shelley Vohr
2bd94293e0 doc: clarify menu item properties not available top-level (#15458) 2018-10-29 15:04:25 -05:00
David Sanders
c93973ab7a docs: fix protocol.isProtocolHandled documentation (#15430) 2018-10-29 15:23:23 -04:00
Heilig Benedek
894ae1b3f5 refactor: Improve accessibility of menus (#15302)
* refactor: improve menubar keyboard accessibility

* fix: create a temporary widget for tray icon context menu

* fix: focus menu bar with Alt when autohide is off

* fix: make menu bar focus work more like the native menus

* fix: only focus menu bar if it's not already focused

* fix: track accelerator registration to avoid duplicates

* docs: add docs for & notation in app menu item names

* fix: only try to activate accelerator if it's registered

* fix: add friend to monitor window focus change

* style: add <memory> include
2018-10-29 13:08:46 -05:00
Shelley Vohr
bea4de9262
fix: use gio as default linux trash impl (#15399)
* fix: use gio as default linux trash impl

* doc: add ELECTRON_TRASH env var
2018-10-26 08:36:56 -07:00
Shelley Vohr
7a03e5f0b2 doc: correct ipcRenderer sendTo windowId param (#15403) 2018-10-26 10:18:47 -05:00
Milan Burda
1f3a89197c chore: bump minimum supported macOS version to 10.10 (#15357) 2018-10-25 10:59:42 +02: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
Samuel Attard
9262731f2c docs: we don't emit an event object for session-created (#15236) 2018-10-20 19:46:21 -07:00
Andy Dill
37f2113032 feat: expose setBackgroundThrottling api (#15104) 2018-10-19 11:32:22 +11:00
Shelley Vohr
a0b9d47d5e fix: enable NODE_OPTIONS env var (#15158) 2018-10-19 10:57:28 +11:00
Nitish Sakhawalkar
a9ca152069 feat: Spellchecker Async Implementation (#14032)
* feat:Spellchecker Async Implementation

* Adhere to chromium style

* Updating dependency to use gh branch

* Update docs and electron-typescript-definitions module

* Fix lint

* Update electron typescript definitions version

* Update spec

* Address review
2018-10-18 11:11:53 -05:00
Milan Burda
db37ab1039 feat: add remote.require() / remote.getGlobal() filtering (#15014) 2018-10-18 14:36:45 +11:00
AbhilashJN
de1d24b616 docs: change examples in docs to use for..of and async/await (#15196) 2018-10-16 10:41:42 -07:00
Milan Burda
d3efc52745 feat: add webPreferences.enableRemoteModule option (#13028) 2018-10-13 20:50:07 +03:00
Samuel Attard
c806c465fa
chore: mark browserview api as not-experimental (#15117)
I think it's safe to say this API has been around long enough to be considered past the experimental phase 👍
2018-10-13 12:31:58 +11:00
Sitong Peng
9e7bbcd8f6 docs: app.getLoginItemStatus -> app.getLoginItemSettings (#15093) 2018-10-12 09:23:37 -04:00
Milan Burda
a9475f3590 feat: add workingDirectory option to shell.openExternal() (#15065)
Allows passing `workingDirectory` to the underlying `ShellExecuteW` API on Windows.

the motivation is that by default `ShellExecute` would use the current working directory, which would get locked on Windows and can prevent autoUpdater from working correctly. We need to be able specify a different `workingDirectory` to prevent this situation.
2018-10-10 22:46:54 +02:00
Samuel Attard
33abd736e9
chore: add deprecation notice for webPrefences defaults (#15045) 2018-10-10 16:36:18 +11:00
Milan Burda
5bd6de52e0 feat: add app.enableSandbox() (#14999) 2018-10-10 15:32:09 +11: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
Cheng Zhao
a6256c672a feat: getGPUInfo not longer supports 'complete' on macOS
See https://chromium-review.googlesource.com/c/chromium/src/+/1208362
2018-10-09 14:38:00 -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
Robo
434a6e3561 refactor: create request context from network context (#14656)
* [ci skip] refactor: create request context from network context

* [ci skip] refactor: subscribe to mojo cookiemanager for cookie changes

* [ci skip] refactor: manage the lifetime of custom URLRequestJobFactory

* refactor: use OOP mojo proxy resolver

* revert: add support for kIgnoreCertificateErrorsSPKIList

* build: provide service manifest overlays for content services

* chore: gn format

* fix: log-net-log switch not working as expected

* spec: verify proxy settings are respected from pac script with session.setProxy

* chore: use chrome constants where possible

* fix: initialize request context for global cert fetcher

* refactor: fix destruction of request context getters

* spec: use custom session for proxy tests

* fix: queue up additional stop callbacks while net log is being stopped

* fix: Add CHECK for cookie manager retrieval

* chore: add helper to retrieve logging state for net log module

* fix: ui::ResourceBundle::GetRawDataResourceForScale => GetRawDataResource

* style: comment unused parameters

* build: move //components/certificate_transparency deps from //brightray

* chore: update gritsettings_resource_ids patch

* chore: update api for chromium 68

* fix: net log instance is now a property of session
2018-10-04 13:08:56 -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
Samuel Attard
d628aad3bf
feat: remove needless mojave dark mode APIs and add instructions on how to use the macOS replacement (#14895) 2018-10-02 14:44:50 +10:00
Milan Burda
ce38be74df refactor: simplify process object initialization for sandboxed renderers (#14878)
Also fix `process.windowsStore`.
2018-09-30 23:24:00 +02:00
Samuel Attard
0d2a0c7583 feat: add APIs to support mojave dark modes (#14755)
* feat: add APIs to support mojave dark mode

Closes #13387

* docs: fix system-prefs typo
2018-09-27 10:33:31 -05:00
Nitish Sakhawalkar
5c108728d6 feat: Implementation of getGPUInfo API. (#13486)
* Implementation of getGPUInfo API.

* Clear promise set

* Changes to promise usage

* Minor fixes

* Fix linux build

* Update spec

* Fix lint (linter didn't run on windows locally)

* Test running single test for CI

* Update spec
2018-09-28 00:59:23 +10:00
Shelley Vohr
be2c27d5b8
correct key code reqs for accel doc (#14823) 2018-09-26 15:03:55 -07: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
Sylvester Keil
a24307b8e8 Fix second-instance handler signature (#14731) 2018-09-20 20:02:28 -07:00
Samuel Attard
5541cab1ba
docs: type the promises in our docs (#14715) 2018-09-20 22:37:56 +10:00
John Kleinschmidt
e059f303d7
Merge pull request #14526 from jakubzitny/window-open-clarifications
docs: specify BrowserWindow features passable to window.open
2018-09-19 15:05:10 -04:00
Milan Burda
e22142ef9c feat: add process.takeHeapSnapshot() / webContents.takeHeapSnapshot() (#14456) 2018-09-18 11:00:31 -07:00
Samuel Attard
7065093869
feat: add will-redirect (#13866)
* feat: add will-redirect to allow people to prevent 30X redirects

* spec: add tests for the will-redirect event

* refactor: implement will-redirect using NavigationThrottle instead of PostTask

This avoids a potential race condition and immediately cancels the
navigation

* docs: add docs for did-redirect-navigation

* refactor: move AtomNavigationThrottle out of net folder

* refactor: update header guard for atom_navigation_throttle.h

* refactor: fix chromium style errors in the GN build

* refactor: update throttle impl to NOTREACHED and std::make_unqique
2018-09-16 01:42:43 +10:00
Samuel Attard
558fff69e7
chore: update to standard 12 2018-09-14 14:57:01 +10:00
John Kleinschmidt
429b18d7a0
Merge pull request #14600 from electron/media-permission
feat: add mediaTypes to media permission requests
2018-09-13 10:39:08 -04:00
Samuel Attard
73a1a8b3f0 feat: automatically round numbers that are converted to points (#14604)
Fixes #14490
2018-09-13 08:28:56 -05:00
Samuel Attard
7025cbd0c9 feat: add mediaTypes to media permission requests
This is done to be consistent with setPermissionCheckHandler and to be
backwards compatible

Fixes #14168
2018-09-13 16:58:57 +10:00
Samuel Attard
dde194d853 Remove the memory property from getAppMetrics
See 03d0bfd593 for more information
2018-09-11 20:24:03 +02:00
Samuel Attard
14df89f214 Remove the 'getProcessMemoryInfo' API
* Underlying APIs have been removed in Chromium
  * https://chromium-review.googlesource.com/c/chromium/src/+/969089
  * https://chromium-review.googlesource.com/c/chromium/src/+/953723
  * https://bugs.chromium.org/p/chromium/issues/detail?id=819289
* https://github.com/electron/electron/projects/11#card-11509601
2018-09-11 20:21:32 +02:00
Milan Burda
58577bd431 feat: add options to webContents.loadFile (#14515) 2018-09-11 17:56:49 +10:00
Jakub Žitný
3ab22c6164
docs: specify BrowserWindow features passable to window.open 2018-09-10 17:49:54 +02:00
Felix Rieseberg
f012ed8357 docs: Update menu-item with new position props (#14465)
* docs: Update menu-item with new position props

* 📦 Update electron-typescript-definitions
2018-09-09 20:03:58 -07:00
Jeremy Apthorp
72526927d9 build: remove gyp build files (#14097)
* build: remove gyp build files

* docs: update build instructions

* build: temporary restore electron.gyp

* build: do not update Electron version in the electron.gyp

* chore: remove unused submodules

* ci: remove obsolete CI scripts and configs

* chore: remove obsolete scripts

* chore: remove obsolete functions from lib/util.py

* ci: send Slack notification for nightly build results
2018-09-09 10:15:32 +09:00
Milan Burda
e828348904 docs: add missing documentation for <webview> methods (#14413) 2018-09-03 13:27:51 +10:00
Milan Burda
c17a1b37ea feat: add event.senderId property to IPCs sent via ipcRenderer.sendTo (#14395) 2018-08-31 20:13:51 -05: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
Cheng Zhao
0ecea96048 fix: use flexbox to style webview (#14400)
* fix: use flexbox to style webview

* docs: remove notes on browserplugin based webview
2018-09-01 08:53:13 +12:00
Cheng Zhao
586a6f2e6d docs: add notes on OOPIF webview's behaviors (#14401) 2018-09-01 08:52:09 +12:00
Samuel Attard
1b7418fb7b
Revert "sec: deprecate some webPreference defaults to be secure-by-default (#14284)" (#14380)
This reverts commit 66d6ba8689.
2018-08-30 09:57:49 +12:00
Samuel Attard
66d6ba8689 sec: deprecate some webPreference defaults to be secure-by-default (#14284)
* feat: deprecate default value of nodeIntegration

* Use DeprecationStatus::Stable as the default instead of shadowing

* change wording of deprecations

* chore: also deprecate kWebviewTag and kContextIsolation

* chore: do as we preach, lets be secure-by-default in the default app
2018-08-29 13:14:04 -05:00
Cheng Zhao
2f759151d2
docs: keyboard listeners no longer work on webview (#14369) 2018-08-29 15:59:23 +09:00
Samuel Attard
68da311ed1 feat: add session.setPermissionCheckHandler (#13925)
* feat: add session.setPermissionCheckHandler to handle syncornous permission checks vs requests

* spec: add tests for session.setPermissionCheckHandler

* docs: add docs for session.setPermissionCheckHandler

* feat: add mediaType to media permission checks

* chore: cleanup check impl
2018-08-28 09:05:08 -05: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
Milan Burda
a08ca9defb fix: don't crash on tray.setContextMenu(null) (#14322) 2018-08-27 11:58:47 -05:00
Samuel Attard
90545bda95
docs: explain "worldId" in the web frame docs (#14309)
Fixes #14288
2018-08-25 12:48:57 -07: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
Cheng Zhao
cd8bb1d3b4
chore: print error when removed webview attribute is used (#14230)
* chore: print error when removed webview attribute is used

* docs: document removed webview features
2018-08-23 10:45:43 +09:00
Milan Burda
fc85d02786 feat: expose missing process APIs in sandboxed renderers (#13505) 2018-08-21 11:05:45 -07:00
Beni von Cheni
aef64c6f48 docs: chrome-command-line-switches.md: update proxy-server support (#14198)
* docs: chrome-command-line-switches.md: update proxy-server support

Per issue #12443, the proxy URL in proxy-server switch would not
support username and password authentication.

* docs: security.md: correct checklist #14 markdown

When running "npm run lint:docs" script, linting warning suggests
"Broken links: #13-disable-or-limit-creation-of-new-windows". Update
accordingly to #14.
2018-08-19 12:34:14 -07:00