Commit graph

325 commits

Author SHA1 Message Date
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