electron/spec
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
..
configs ci: run more Chromium unit tests (#15363) 2018-10-25 14:28:50 -04:00
fixtures feat: Add option to conditionally disable site instance patches (#18396) 2019-05-31 15:47:18 -07:00
static test: move download-related session specs to main runner (#18508) 2019-05-30 15:05:02 -07:00
ts-smoke feat: allow setting working directory in app.setUserTasks() / app.setJumpList() (#18148) 2019-05-13 19:17:12 +03:00
.eslintrc chore: replace standard with eslint-config-standard and add custom rules (#14636) 2018-09-16 03:51:23 +10:00
api-auto-updater-spec.js chore: update to standard 12 2018-09-14 14:57:01 +10:00
api-browser-view-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
api-browser-window-affinity-spec.js test: promisify a bunch of tests (#16051) 2018-12-18 23:44:03 -07:00
api-browser-window-spec.js feat: add process.getBlinkMemoryInfo() (#17762) 2019-05-30 11:50:35 +02:00
api-callbacks-registry-spec.js chore: update to standard 12 2018-09-14 14:57:01 +10:00
api-clipboard-spec.js chore: update to standard 12 2018-09-14 14:57:01 +10:00
api-content-tracing-spec.js feat: [contentTracing] allow calling stopTracing() with no arguments (#18411) 2019-05-28 14:15:42 -07:00
api-crash-reporter-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
api-debugger-spec.js chore: remove promisification deprecation callbacks (#17907) 2019-04-30 07:08:32 -07:00
api-deprecate-spec.js chore: remove duplicate internal deprecations module (just use deprecate) (#18352) 2019-05-21 00:40:49 +02:00
api-desktop-capturer-spec.js chore: remove promisification deprecation callbacks (#17907) 2019-04-30 07:08:32 -07:00
api-dialog-spec.js fix: set window to null when no window is passed (#18240) 2019-05-21 09:08:22 -05:00
api-global-shortcut-spec.js feat: allow registering multiple shortcuts (#15542) 2018-11-07 09:40:38 -08:00
api-in-app-purchase-spec.js chore: remove promisification deprecation callbacks (#17907) 2019-04-30 07:08:32 -07:00
api-ipc-main-spec.js chore: remove special handling for dialog methods in remote module (#17412) 2019-03-19 11:59:33 -07:00
api-ipc-renderer-spec.js fix: emit IPC event in correct context if isolation and sandbox enabled (#16352) 2019-01-12 14:19:20 +01:00
api-menu-item-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
api-menu-spec.js chore: bump chromium to 964c4bca8de5c320534d95606c861 (master) (#18440) 2019-05-28 13:18:10 -07:00
api-native-image-spec.js refactor: make templateImage a property on nativeImage (#18124) 2019-05-07 06:52:07 -07:00
api-net-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
api-notification-dbus-spec.js chore: bump chromium to 964c4bca8de5c320534d95606c861 (master) (#18440) 2019-05-28 13:18:10 -07:00
api-notification-spec.js chore: update to standard 12 2018-09-14 14:57:01 +10:00
api-power-monitor-spec.js chore: bump chromium to 964c4bca8de5c320534d95606c861 (master) (#18440) 2019-05-28 13:18:10 -07:00
api-power-save-blocker-spec.js chore: update to standard 12 2018-09-14 14:57:01 +10:00
api-process-spec.js feat: add process.getBlinkMemoryInfo() (#17762) 2019-05-30 11:50:35 +02:00
api-protocol-spec.js feat: migrate protocol module to NetworkService (Part 9) (#18374) 2019-05-24 11:28:00 +09:00
api-remote-spec.js test: narrow scope of afterEach in remote to tests that need it (#18447) 2019-05-28 14:07:48 -07:00
api-screen-spec.js feat: expose colorSpace to display object (#17405) 2019-03-19 15:12:03 -07:00
api-shell-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
api-subframe-spec.js chore: remove promisification deprecation callbacks (#17907) 2019-04-30 07:08:32 -07:00
api-system-preferences-spec.js refactor: set appLevelAppearance prop on systemPreferences (#18477) 2019-05-30 17:12:46 -07:00
api-touch-bar-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
api-tray-spec.js fix: destroy tray on current tick (#18196) 2019-05-08 15:40:30 -07:00
api-view-spec.js chore: update to standard 12 2018-09-14 14:57:01 +10:00
api-web-contents-spec.js test: move beforeunload tests to main runner and fix flake (#18432) 2019-05-29 13:38:14 -07:00
api-web-contents-view-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
api-web-frame-spec.js fix: contractions handling in spellchecker (#18506) 2019-05-30 21:19:10 -07:00
api-web-request-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
asar-spec.js refactor: bundle the browser and renderer process electron code (#18553) 2019-06-02 13:03:03 -07:00
BUILD.gn ci: run unittests on clean Chromium (#15125) 2018-10-22 16:12:19 -04:00
chrome-api-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
chromium-spec.js test: move download-related session specs to main runner (#18508) 2019-05-30 15:05:02 -07:00
content-script-spec.js chore: remove promisification deprecation callbacks (#17907) 2019-04-30 07:08:32 -07:00
events-helpers.js fix: we can not use ts-node apaprently 2019-03-14 13:39:53 -07:00
expect-helpers.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
internal-spec.js refactor: bundle the browser and renderer process electron code (#18553) 2019-06-02 13:03:03 -07:00
modules-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
node-spec.js refactor: allow embedder overriding of internal FS calls (#17906) (#18183) 2019-05-07 06:44:32 -07:00
package.json build: ensure consistent lock files across multiple machines (#17955) 2019-04-30 13:59:47 -07:00
security-warnings-spec.js chore: finish replacing assert with expect in tests (#18215) 2019-05-20 12:04:18 -05:00
version-bump-spec.js ci: make macOS CI faster (#16766) 2019-02-06 13:16:11 -08:00
webview-spec.js fix: set nativeWindowOpen when sandboxed (#18273) 2019-05-27 02:44:54 +02:00
window-helpers.js test: move beforeunload tests to main runner and fix flake (#18432) 2019-05-29 13:38:14 -07:00
yarn.lock build: ensure consistent lock files across multiple machines (#17955) 2019-04-30 13:59:47 -07:00