* 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`
* chore: add tts patch and buildflag, makes tts work again
* chore: add tts patch and buildflag, makes tts work again
* fix: make things compile
* build: add relevant tts files for linux
* fix: update patch and patch description, should now compile on mac
* build: move chrome specific sources under chromium_src:chrome target
* build: enable_extensions again
We are depending on them, check `//electron/chromium_src:chrome` target
for more info.
* fix: update tts.patch to receive notifications about browser context destruction
* fix: extend browser process from chrome layer
The global state g_browser_process is shared between //chrome
and //electron.
* spec: add basic speech synthesis test
* spec: skip speech tests on ci
* build: fix compilation on windows
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.
* build: define compile time features with buildflag header
* refactor: switch to BUILDFLAG(ENABLE_DESKTOP_CAPTURER)
* refactor: switch to BUILDFLAG(ENABLE_RUN_AS_NODE)
* refactor: switch to BUILDFLAG(ENABLE_OSR)
* refactor: switch to BUILDFLAG(ENABLE_VIEW_API)
* refactor: switch to BUILDFLAG(ENABLE_PEPPER_FLASH)
* refactor: switch to BUILDFLAG(OVERRIDE_LOCATION_PROVIDER)
* refactor: switch to BUILDFLAG(ENABLE_PDF_VIEWER)
* chore: fix cpplint 'include_what_you_use' warnings
Typically by including <memory>, <utility> etc.
* chore: fix 'static/global string constant' warning
Use C style strings instead of std::string.
Style guide forbids non-trivial static / global variables. https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables
/home/charles/electron/electron-gn/src/electron/script/cpplint.js
* refactor: remove global string variables.
Fix 'global string variables are not permitted' linter warnings
by using the base::NoDestructor<> wrapper to make it explicit that
these variables are never destroyed.
The style guide's take on globals with nontrivial destructors:
https://google.github.io/styleguide/cppguide.html#Static_and_Global_Variables
* fix: initializer error introduced in last commit
* fix: remove WIP file that was included by accident
* fix: include order
* fix: include order
* fix: include order
* fix: include order, again
* fix: opt into location services once device service has been started
* refactor: provide fake location provider to mock geolocation reponses
* chore: add spec for navigator.geolocation api using fake location provider
* Add process creation time
* Making docs clear for process creation time
* Address comments for process creation time
* Add process info cc file
* fixing comments around documentation
* Update doc for return val
* Capitalize number in docs
* chore: bump electron-typescript-definitions
After the page does navigations, garbage collection can still happen in
the old context. This commit changes to store references to remote objects
by _pages_, instead of by _WebContents_.
* Make it possible to disable a module for a renderer
* Put DesktopCapturer API under a build flag
The name is "enable_desktop_capturer".
Enabled by default.
* 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
* Add features.isOffscreenRenderingEnabled()
* Use .isOffscreenRenderingEnabled() to determine if OSR is available
* Add a helper closeTheWindow() function
* Skip OSR tests if they are disabled