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
aa2b2f7c8f
fix: security: don't allow arbitrary methods to be invoked on webContents via IPC ( #15919 )
2018-12-04 16:12:21 +01:00
Samuel Attard
b1e69e1357
chore: update asar injection for new node internal module loader
2018-12-03 20:07:41 +05:30
Shelley Vohr
41c2685204
feat: promisify win.capturePage() ( #15743 )
...
* feat: promisify win.capturePage
* mark optional arg correctly
* Add to breaking changes doc
* properly deprecate win.capturePage
* remove change from api-contract
* document both callback and promise versions
* address docs feedback
* update promisification progress doc
2018-11-27 23:50:53 -05:00
Shelley Vohr
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
Jeremy Apthorp
90d1c0b2b6
chore: don't explicitly destroy asar archives ( #15734 )
2018-11-19 13:12:41 -08:00
Shelley Vohr
a45d5960d7
chore: allow for callback => promise deprecation ( #15758 )
...
* chore: allow for callback => promise deprecation
* cb type check is sufficient
* migrate warn to always trigger
2018-11-19 12:56:26 -05:00
Jeremy Apthorp
10969b8c3c
fix: make feature strings more robust to whitespace ( #15602 )
...
Fixes #15594
2018-11-06 15:52:06 -08:00
Shelley Vohr
40874ddec6
fix: update fs methods for options param ( #15323 )
...
* fix: update fs methods for options param
* fix: update rest of fs methods with changes
2018-10-23 15:14:05 -07:00
Milan Burda
508551b81b
fix: small refactoring regressions ( #15206 )
...
* fix: require('@electron/internal/browser/guest-view-manager')
* fix: add missing crashServicePid used by tests
2018-10-17 12:18:18 -07:00
Milan Burda
d3efc52745
feat: add webPreferences.enableRemoteModule option ( #13028 )
2018-10-13 20:50:07 +03:00
Felix Rieseberg
d1b2d1a10e
fix: Remove statSyncNoException
for good ( #15092 )
...
* fix: Small JS assignment error
* fix: Call the right og method
* fix: Goodbye, statSyncNoException
2018-10-12 19:43:19 +11:00
Milan Burda
b50f86ef43
refactor: use separate ipc-renderer-internal / ipc-main-internal APIs for Electron internals ( #13940 )
2018-10-07 00:48:00 +13:00
Cheng Zhao
4c4d8c5bfa
fix: support ASAR in fs.copyFile ( #14942 )
2018-10-03 09:36:20 -07:00
Milan Burda
3ad3ade828
refactor: add prefer-const to .eslintrc + fix errors ( #14880 )
2018-10-02 11:56:31 +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
Milan Burda
c61db523c7
refactor: replace var with const / let ( #14866 )
2018-09-29 09:17:00 +10:00
Milan Burda
b499d57cfd
refactor: use error-utils for remote exception serialization / deserialization ( #14788 )
...
* refactor: use error-utils for remote exception serialization / deserialization
* fix internal process.type in sandboxed renderer
2018-09-26 15:44:55 +10:00
Milan Burda
3df739fa89
refactor: implement crashReporter.start() without the remote module ( #14434 )
2018-09-26 15:43:34 +10:00
Samuel Attard
176a76217c
chore: have 'use strict' consistently across our lib files ( #14721 )
2018-09-23 00:28:50 +12:00
Samuel Attard
54ef906832
[RFC] perf: use an internal module resolver to improve require performance ( #14633 )
...
* perf: use an internal module resolver instead of relative requires
* perf: memoize the results of getting exported Electron properties
* perf: make internal module changes consistent across sandboxed / bundled files
2018-09-20 13:43:26 +10:00
Samuel Attard
6d01952e66
chore: replace standard with eslint-config-standard and add custom rules ( #14636 )
...
* chore: replace standard with eslint-config-standard
This adds support for --cache so linting JS only takes ~1 second and only lints things that changed
It also allows us to add custom linting rules
* chore: add eslint-plugin-mocha and enable the no-exclusive-tests rule
This will block anyone from pushing / merging a `.only` test or describe
2018-09-16 03:51:23 +10:00
Samuel Attard
558fff69e7
chore: update to standard 12
2018-09-14 14:57:01 +10:00
Charles Kerr
a3f7e298cf
refactor: remove unused, duplicated code in deprecate module ( #14579 )
...
* remove obsolete tests
* remove unused deprecate API
* make a warnOnce helper for the deprecate methods
* misc. copyediting, e.g. variable names, whitespace
* test that any deprecation warns once at most
* use strict
2018-09-12 17:13:22 -05:00
Shelley Vohr
a8a610cb34
chore: remove only on deprecations api spec ( #14564 )
...
* chore: remove only
* add option to ignore missing properties
2018-09-11 23:00:41 -07:00
Shelley Vohr
2157d09956
chore: refactor deprecation apis ( #14495 )
2018-09-11 11:16:49 -07:00
Milan Burda
0821edc843
refactor: cleanup web-frame-init.js ( #14516 )
...
* refactor: add error-utils.js
* fix exception handling for asyncWebFrameMethods
* remove dead code
* handle exceptions
* rename rehydratedError to deserializedError
* Revert "handle exceptions"
This reverts commit 396b179948b137f9e525e9ebba4f7c6e9bf19429.
2018-09-11 19:56:00 +10:00
Alexey Kuzmin
382afc03ae
chore: clean up asar stuff ( #14505 )
...
* chore: reformat code
* refactor: getOrCreateArchive() for ASARs
- store cached archive in a Map
- return `null` instead of `false` on failures
* refactor: splitPath() for ASARs
- store custom extension in a constant
- remove magic numbers
- add comments
* refactor: explicitly use assert() for a developer error
* chore: remove console.log() calls
* refactor: replace "p" arguments with "pathArgument"
"path" would be a better name, but it is already taken
but the "path" Node module.
* refactor: createError() for ASARs
- return an `Error` instance
- use enum for error types
- minor improvements
* refactor: use more meaningful name for an arg than just "arg"
2018-09-10 08:29:19 -07:00
Shelley Vohr
2963e377ae
refactor: clean up asar functionality ( #14046 )
2018-09-07 19:23:47 -07:00
Shelley Vohr
9bf1fb323b
chore: add removeFunction to deprecate module ( #14468 )
...
* chore: add removeFunction function to deprecate api
* re-comment deprecate.member
2018-09-05 21:55:28 -07:00
Milan Burda
3a79eacb6f
refactor: don't expose CallbacksRegistry as an internal module ( #14389 )
2018-08-31 11:29:00 -07: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
Shelley Vohr
b785f45852
fix: override fs.realpathSync.native and fs.realpath.native ( #14031 )
...
* fix: override fs.realpathSync.native and fs.realpath.native
* spec: test new native functions
2018-08-12 00:10:55 -07:00
Shelley Vohr
8dae1c8447
fix: make asarStatsToFsStats nherit from fs.stats ( #14030 )
2018-08-11 23:20:33 -07:00
Milan Burda
c52b3d921e
fix: some APIs modified for ASAR support cannot be util.promisify'ed ( #13845 )
2018-08-01 13:06:48 +10:00
Milan Burda
39c5c200ba
fix: util.promisify(setTimeout) ( #13840 )
2018-07-30 11:14:04 +10:00
Shelley Vohr
f9e2ec43d0
fix: deprecate properties in app.getAppMetrics() ( #13446 )
...
* fix: deprecate properties in app.getAppMetrics()
* address feedback from review
* fix deprecated property location
* simplify test
2018-06-26 23:47:01 -07:00
Jack Teng
10df019075
fix: can't load module error when app is packaged
...
due to change in node.js(https://github.com/nodejs/node/issues/17076 )
internalModuleReadFile has been renamed to internalModuleReadJSON, and
in vendor/node/lib/internal/modules/cjs/loader.js it will call
internalModuleReadJSON and result in can't read the package.json file.
2018-06-19 10:42:21 -07:00
Thiago de Arruda
6ff111a141
perf: don't use JSON to send the result of ipcRenderer.sendSync
. ( #8953 )
...
* Don't use JSON to send the result of `ipcRenderer.sendSync`.
- Change the return type of AtomViewHostMsg_Message_Sync from `base::string16`
to `base::ListValue`
- Adjust lib/browser/api/web-contents.js and /lib/renderer/api/ipc-renderer.js
to wrap/unwrap return values to/from array, instead of
serializing/deserializing JSON.
This change can greatly improve `ipcRenderer.sendSync` calls where the return
value contains Buffer instances, because those are converted to Array before
being serialized to JSON(which has no efficient way of representing byte
arrays).
A simple benchmark where remote.require('fs') was used to read a 16mb file got
at least 5x faster, not to mention it used a lot less memory. This difference
tends increases with larger buffers.
* Don't base64 encode Buffers
* Don't allocate V8ValueConverter on the heap
* Replace hidden global.sandbox with NodeBindings::IsInitialized()
* Refactoring: check NodeBindings::IsInitialized() in V8ValueConverter
* Refactor problematic test to make it more reliable
* Add tests for NaN and Infinity
2018-06-13 17:38:31 +10:00
Charles Kerr
b89fe86fa1
Merge pull request #13050 from electron/3.0.0-deprecations
...
chore: removal of 3.0.0 deprecations
2018-05-30 09:25:36 +02:00
Charles Kerr
2275625e1a
feat: warn if deprecated property is already set
2018-05-29 15:58:02 +02:00
Charles Kerr
0a614217ce
feat: re-add deprecate.property()
2018-05-29 15:40:19 +02:00
Milan Burda
4cfe5ecaa4
add proper support for typed arrays in remote ( #13055 )
2018-05-24 21:05:46 +09:00
Shelley Vohr
cc30f4c4fd
remove crashReporter deprecation
2018-05-23 09:07:14 -07:00
Shelley Vohr
438ac61ff7
remove clipboard deprecations
2018-05-23 09:04:39 -07:00
Nitish Sakhawalkar
2579071b98
Deprecate did-get-response-details and did-get-redirect-request ( #12615 )
...
* Deprecate webContents events did-get-response-details and did-get-redirect-request.
* Update guest view files
* Update webview tag docs and update specs
* Update deprecate.event function
* Update comment
* Update more
* Update documentation for other deprecated event
2018-04-23 14:46:12 -05:00
Robo
89f2eb1023
asar: remove patch to support graceful-fs ( #12562 )
2018-04-07 10:13:32 -05:00
Felix Rieseberg
582ef30b4a
👷 Tests, how do they work
2018-03-13 17:35:55 -07:00
Felix Rieseberg
72579f9bab
🔧 Sort crashes
2018-03-13 13:57:12 -07:00
shelley vohr
0ef8f1bdad
Add deprecation warnings fot html/rtf methods ( #11995 )
2018-02-21 06:53:48 -06:00
shelley vohr
772a69e24a
deprecate autoSubmit in favor of uploadToServer ( #11992 )
2018-02-20 22:31:48 -06:00
shelley vohr
e1b81b8a62
remove support for crashReporter autoSubmit ( #11976 )
2018-02-20 10:10:35 -06:00
Shelley Vohr
1a3661206e
remove unused deprecate module from crashreporter
2018-02-20 08:31:38 -05:00
Shelley Vohr
fc025064f7
remove setExtraParameter for 2.0
2018-02-20 08:26:10 -05:00
Shelley Vohr
24f60dcd1b
re-add warning removed in https://github.com/electron/electron/pull/11013
2017-12-07 11:42:18 -05:00
Cheng Zhao
1c0ea0286e
Merge pull request #11235 from electron/standard-10
...
infra: Upgrade to StandardJS 10
2017-11-27 15:42:52 +09:00
Aleksei Kuzmin
465f9009ff
Update stack string parsing in the CallbacksRegistry
...
Fixes the "ipc module > remote listeners
> detaches listeners subscribed to destroyed renderers, and shows a warning"
test.
2017-11-24 10:58:53 +09:00
Felix Rieseberg
f7d6e3fa7b
🔧 Disable standard/no-callback-literal where necessary
2017-11-23 13:53:03 -08:00
Felix Rieseberg
451a44c4b5
🔧 Don’t use deprecated new Buffer()
2017-11-23 13:41:47 -08:00
Felix Rieseberg
05bae0b4c4
🔧 Util is no longer used here
2017-11-20 09:52:13 -08:00
Felix Rieseberg
71b8eaf085
🔧 Don’t use deprecated util.is* methods
2017-11-20 09:40:47 -08:00
Felix Rieseberg
c9f2080e4b
🔧 fs.readFile: options are optional
2017-11-20 08:20:20 -08:00
Charles Kerr
4c04f1c7ed
Merge pull request #11117 from electron/add_deprecations_spec
...
Add to deprecations spec
2017-11-20 09:07:06 -06:00
Shelley Vohr
7904be8763
comment out unused methods
2017-11-20 15:12:34 +01:00
Shelley Vohr
933c7330a5
changes from review
2017-11-16 13:39:07 -05:00
Shelley Vohr
75a117e4e2
edit empty function for platform consistency
2017-11-16 13:27:08 -05:00
Shelley Vohr
f5c04c7037
fix includes
2017-11-16 13:27:08 -05:00
Shelley Vohr
e5983eacd6
add callbacks registry spec
2017-11-16 13:27:07 -05:00
Shelley Vohr
dc410efa36
rename and fix assoc. test
2017-11-14 14:56:16 -05:00
Shelley Vohr
99d35f7786
a few more updates to tests
2017-11-14 13:33:38 -05:00
Shelley Vohr
d05a1f8053
first pass at deprecation spec updates
2017-11-13 20:21:57 -05:00
Aleksei Kuzmin
bd766067ac
Remove unused deprecate
var to make linter happy
2017-11-04 07:52:47 +03:00
Aleksei Kuzmin
b3a1fc65e5
Disable deprecation warning of crashReported.setExtraParameter()
...
It caused a couple of Crash Reported tests to timeout on Mac.
Task to enable it back:
https://github.com/electron/electron/issues/11012
2017-11-04 07:48:39 +03:00
Shelley Vohr
65f125a245
wrap deprecation warning
2017-11-01 23:27:20 -04:00
Shelley Vohr
24acd74d15
update deprecation warning
2017-11-01 22:23:33 -04:00
Shelley Vohr
3af83f1c97
add new method and mark setExtraParameter for deprecation
2017-11-01 21:57:43 -04:00
Shelley Vohr
93df164485
add const and other small edits
2017-10-31 23:42:25 -04:00
Shelley Vohr
3136f833a5
fixes and updates to GetParameters
2017-10-31 13:51:44 -04:00
Shelley Vohr
a9c13359dc
first attempt to add new GetParameters method to CrashReporter
2017-10-31 13:06:54 -04:00
Shelley Vohr
cb78e4875b
fix two failing tests
2017-10-30 23:15:57 -04:00
Shelley Vohr
603060f051
add new tests
2017-10-30 22:51:22 -04:00
Siyuan Liu
f56abac7a8
fix linting error
2017-08-01 17:52:48 +08:00
Siyuan Liu
5a48c1feed
fixes 10128
2017-07-31 09:32:45 +08:00
Kevin Sawicki
de62f1ea6c
Restart crash service in each spec
2017-04-19 16:37:24 -07:00
Thiago de Arruda
d78f3cae7b
Expose builtin v8 modules to AtomSandboxedRendererClient
...
- Adapt node.cc code that implements `process.binding` to create a similar
object in AtomSandboxedRendererClient.
- Replace the ipc binding object passed to `lib/sandboxed_renderer/init.js` by
the new binding object.
- Refactor the initialization script to use this new object to fetch the ipc
binding and store as a hidden value using the `v8_util` module.
This change also required applying a patch to node.js, so the submodule commit
was updated.
2017-03-09 20:39:14 -03:00
Thiago de Arruda
44bd93589a
Refactor electron exports to keep module list in separate files
2017-03-09 19:08:01 -03:00
Felix Rieseberg
4aaa936803
Fix init check for process.windowsStore
...
Windows now allows users to move their `WindowsApps` folder, meaning that it can end up on a different drive (and outside of `Program Files`).
2017-03-01 11:48:51 -08:00
Kevin Sawicki
b51adf8ae5
Add spec for updated extra parameters
2017-02-14 09:37:09 -08:00
Kevin Sawicki
ba975d552a
Add setExtraParameter support on macOS
2017-02-14 09:37:09 -08:00
Kevin Sawicki
3e18d8baf5
Remove _ prefix on binding methods
2017-02-14 09:37:09 -08:00
Kevin Sawicki
d6d85ade8e
🎨 Assign binding as const
2016-12-02 13:40:31 -08:00
Kevin Sawicki
3b99827540
Coerce features to string
2016-12-02 13:40:31 -08:00
Kevin Sawicki
f56b00718b
Remove unused method
2016-12-01 14:56:00 -08:00
Kevin Sawicki
c8ff67ab75
Use spread syntax instead of function apply
2016-12-01 14:56:00 -08:00
Kevin Sawicki
bb9876bd6e
Remove deprecation warning for autoSubmit
2016-11-28 15:08:28 -08:00
Samuel Attard
2bf6f28152
shouldUpload --> uploadToServer
2016-11-28 15:08:28 -08:00
Samuel Attard
4b61a4d3de
Fix linting
2016-11-28 15:08:28 -08:00
Samuel Attard
285a36f9de
Use GetUploadsEnabled to return GetShouldUpload
2016-11-28 15:08:28 -08:00
Samuel Attard
5a1a2616aa
Fix build issues
2016-11-28 15:08:12 -08:00
Samuel Attard
0d1804b2a0
Fix issues and deprecate the old prop
2016-11-28 15:08:12 -08:00
Samuel Attard
7b8eb3e09c
Rename autoUpload to shouldUpload
2016-11-28 15:08:12 -08:00
Kevin Sawicki
0593696344
Remove unnecessary escape characters
2016-11-23 14:27:54 -08:00
Kevin Sawicki
bea1a0643c
Memoize ELECTRON_NO_ASAR env var check
2016-11-16 07:37:53 -08:00
Kevin Sawicki
1718697ef0
Read/write find pasteboard text via IPC in renderer process
2016-10-25 14:15:54 +09:00
Kevin Sawicki
68c2c9825f
Remove lint warnings
2016-10-25 10:36:43 +09:00
Kevin Sawicki
3aad6a0c99
Use forEach and destructuring for parsing features
2016-10-25 10:31:50 +09:00
Paul Frazee
f35536bdc5
factor out parse-features-string.js
2016-10-24 20:21:42 -05:00
Kevin Sawicki
f553d16539
Only support ELECTRON_NO_ASAR in non browser/renderer processes
2016-10-12 11:11:27 -07:00
Benjamin Pasero
656ee0d9c3
introduce ELECTRON_NO_ASAR
2016-10-12 11:11:27 -07:00
Kevin Sawicki
d39182b41a
Pass crashes directory instead of product name and temp dir
2016-10-06 10:55:11 -07:00
Kevin Sawicki
16e3991ffa
Guard against app.getPath throwing with OS fallback
2016-10-06 10:07:40 -07:00
Kevin Sawicki
883c4b63d0
temp_path -> temp_dir
2016-10-06 09:02:02 -07:00
Kevin Sawicki
0380d3ae50
Pass crashes directory to crash service process
2016-10-06 09:02:02 -07:00
Kevin Sawicki
43702e0f8e
Support calling getUploadedReports on unstarted crash reporter
2016-10-06 09:02:02 -07:00
Kevin Sawicki
a0db484510
Use app.getPath directly for temp path
2016-10-06 09:02:02 -07:00
Kevin Sawicki
f282b51c98
🎨 Use ES6 class, destructuring, and let/const
2016-10-06 09:02:01 -07:00
Kevin Sawicki
ac0658bbf1
Use PathService for temp dir path for crashes
2016-10-06 09:02:01 -07:00
Kevin Sawicki
e77d7e7f62
🎨
2016-09-16 11:41:53 -07:00
Kevin Sawicki
5d0f3534eb
Rethrow binding errors
2016-09-16 11:34:52 -07:00
Kevin Sawicki
902bd0564e
Require Buffer explicitly instead of relying on global
2016-09-08 10:17:06 -07:00
Kevin Sawicki
28b33074cf
Setup stdin in both processes on Windows
2016-09-07 14:45:56 -07:00
Kevin Sawicki
46fbb6ed61
Reset process.noAsar in finally block
2016-09-06 13:40:25 -07:00
Kevin Sawicki
8eca019157
Support paths as Buffers
2016-07-25 11:10:36 -07:00
Kevin Sawicki
30fbe92970
Add asar-supported fs.accessSync implementation
2016-07-25 11:05:18 -07:00
Kevin Sawicki
3ad5504194
Add asar-supported fs.access implementation
2016-07-25 10:50:30 -07:00
Kevin Sawicki
a518c47f4c
Use let/const instead of var
2016-07-25 10:43:38 -07:00
Cheng Zhao
1c9421bc89
Use ArrayBuffer.isView to detect Buffer and ArrayBuffer
2016-07-25 16:39:09 +09:00
haad
fac330fb50
Fix TypedArray check, add check when instanceof doesn't work for TypedArrays.
2016-07-23 12:43:49 +01:00
haad
2757046e71
Add isTypedArray to Electron exports
2016-07-23 11:30:14 +01:00
haad
e6c8900a18
Fix linting
2016-07-22 20:20:24 +01:00
haad
c717cd9192
🐛 Add support for TypedArrays in IPC.
...
Fixes https://github.com/electron/electron/issues/2104 .
2016-07-22 19:44:19 +01:00
Cheng Zhao
f792b6c752
Remove callbackId when callback is removed from registry
2016-06-24 11:22:48 +09:00
Kevin Sawicki
bac4d51169
Reuse root path variable
2016-06-23 15:56:29 -07:00
Kevin Sawicki
905e9e9645
Include trailing separator in comparisons
2016-06-23 15:45:08 -07:00
Kevin Sawicki
b273b70eee
Filter existing search paths instead reimplementing
2016-06-23 15:27:45 -07:00
Cheng Zhao
93b8237e1f
Merge pull request #5700 from felixrieseberg/standard-7
...
Implement JavaScript Standard Style 7
2016-05-26 04:57:36 +00:00
Cheng Zhao
8a4b7eb062
Merge pull request #5689 from cdaringe/master
...
Support non-native promises
2016-05-26 04:49:40 +00:00
Felix Rieseberg
bef6748c06
🎨 Implement JS Standard Code Style 7
...
Updates Standard Code Style to 7 (latest major) and ensures that code
is conform.
* camelCase is now enforced
* No assignments in return statements
2016-05-25 16:20:49 -07:00
cdaringe
32073fa079
🎨 Support non-native promises
2016-05-25 10:11:18 -06:00
Kevin Sawicki
7e209dd982
ATOM_SHELL_INTERNAL_CRASH_SERVICE -> ELECTRON_INTERNAL_CRASH_SERVICE
2016-05-25 09:08:09 -07:00
Kevin Sawicki
a4f94b89b4
Add comment about Module path
2016-05-23 15:15:39 -07:00
Kevin Sawicki
6ac0151e65
Remove lint warnings
2016-05-23 15:14:55 -07:00
Kevin Sawicki
19fd841c30
🎨
2016-05-23 15:14:55 -07:00
Kevin Sawicki
566b0676bc
Pre-resolve electron require path
2016-05-23 15:14:55 -07:00
Kevin Sawicki
daea448b61
.coffee -> .js
2016-05-23 15:14:55 -07:00
Cheng Zhao
4193fb1742
Merge pull request #5617 from electron/dont-return-from-on-functions
...
Remove returns from event listeners
2016-05-20 00:26:29 +00:00
Kevin Sawicki
cc7395eea8
Remove returns from event listeners
2016-05-19 15:28:08 -07:00
Juan Cruz Viotti
1a27ecdad4
Override child_process.execFile
asar patch for child_process.exec
...
NodeJS implements `child_process.exec` by simply passing the whole
command to `child_process.execFile`. See:
- https://github.com/nodejs/node/blob/master/lib/child_process.js#L90
- https://github.com/nodejs/node/blob/master/lib/child_process.js#L99
Electron patches `child_process.execFile` to add support for `asar`
archives by injecting logic that extracts the required files from the
`asar` to a temporary location before delegating the work to the
original `child_process.execFile`.
In order to decide whether to inject the custom `asar` extracting logic,
Electron makes use of a helper function called `splitPath()`. See:
- https://github.com/electron/electron/blob/master/lib/common/asar.js#L37
If the first argument of the returned array equals `true`, means that
the path is considered to be an `asar` archive, and thus the extraction
logic takes place. The problem is that if the command passed to
`child_process.execFile` *contains* a path to an asar archive, padded
with other commands/arguments, `splitPath()` will consider it to be an
`asar` archive, and will try to extract it, throwing a rightfully
`Invalid package` error.
Fixes: https://github.com/electron/electron/issues/5571
Signed-off-by: Juan Cruz Viotti <jviottidc@gmail.com>
2016-05-19 17:19:36 -04:00
Kevin Sawicki
d627ead273
Remove linter errors
2016-05-06 10:12:55 -07:00
Kevin Sawicki
16d4c436cb
Keep exporting deprecate/deprecations
2016-05-06 10:12:55 -07:00
Kevin Sawicki
2ce4237083
Remove hideInternalModules API
2016-05-06 10:12:54 -07:00
Kevin Sawicki
dafa14fe42
Don't export deprecate API
2016-05-06 10:12:54 -07:00
Kevin Sawicki
a6cf7a1095
Remove deprecated crashReporter.start options
2016-05-06 10:12:53 -07:00
Kevin Sawicki
dae68be2ce
Remove deprecated APIs
2016-05-06 10:12:53 -07:00
Felix Rieseberg
c0f63eed4e
🎨 Windows Store Camels
2016-04-21 19:11:25 -07:00
Felix Rieseberg
2a2a8d3263
Add Windows Store Detection
...
If we're running as a Windows Store appx package,
`process.windowsstore` will be `true`, otherwise
`undefined`.
2016-04-21 00:02:03 -07:00
Kevin Sawicki
732697a8a2
Rename ATOM_SHELL_ASAR to ELECTRON_ASAR
2016-04-08 08:53:58 -07:00
Kevin Sawicki
ce95747a25
atom.asar -> electron.asar
2016-04-01 16:12:12 -07:00
Zeke Sikelianos
6f845373a7
do not return and assign
2016-03-30 17:00:33 -07:00
Zeke Sikelianos
42e7ee2b4a
finish standardizing!
2016-03-30 17:00:33 -07:00
Zeke Sikelianos
e6698102c9
standardize by hand
2016-03-30 17:00:33 -07:00
Zeke Sikelianos
c4b6cf4a8e
do more manual cleanup and specify globals
2016-03-30 17:00:32 -07:00
Zeke Sikelianos
3855a774ab
autoformat more easy files
2016-03-30 17:00:31 -07:00
Zeke Sikelianos
67fa250020
standardize asar.js by hand
2016-03-30 17:00:31 -07:00
Zeke Sikelianos
c845ea8372
autoformat more easy files
2016-03-30 17:00:31 -07:00
Zeke Sikelianos
80f7c82f93
finish standardizing crash reporter
2016-03-30 17:00:31 -07:00
Zeke Sikelianos
ca7b492b97
tiptoeing along, keeping the suite passing
2016-03-30 17:00:31 -07:00
Cheng Zhao
e5886dda9b
Avoid re-evaluating internal modules
2016-03-27 19:16:26 +09:00
Kevin Sawicki
4f4dc2f4d8
Use destructuring assigment
2016-03-22 13:11:42 -07:00
Kevin Sawicki
8889c29866
Use rest parameters
2016-03-18 11:51:02 -07:00
Kevin Sawicki
a3f08c9b51
Use arrow functions to replace old CoffeeScript => this wrappers
2016-03-11 11:25:56 -08:00
Kevin Sawicki
3a1e837f8b
Don't collect results in exit event callback
2016-03-11 08:55:47 -08:00
Kevin Sawicki
2e9fd7ce77
Update common api path
2016-03-08 11:22:13 -08:00
Kevin Sawicki
70aa9b06ee
Move JavaScript to root lib/ folder
2016-03-08 11:14:21 -08:00