* fix: allow stream protocols to return headers with multiple values
This allows stream protocols to return headers with multiple values as
an array of values.
Fixes https://github.com/electron/electron/issues/14778
* Prefer ConvertFromV8
* Cleanup header conversion
1. Deduplicate the code by using a lambda
2. Remove duplicate calls to headers->Get(key)
* Fix broken test
Headers with multiple values are now being converted correctly, this
test asserted the wrong behavior.
* remove printing related things from chromium_src
* chore: add printing build flag and patch
* fix: include PrintingService on other platforms too
* fix: printing_handler is only needed on Windows
* fix: format BUILD.gn properly
* fix: rename printing build flag to avoid conflict with chromium
* fix: place previously missed printing calls behind build flag
* fix: accidentally renamed flag in patch file
* fix: don't include all printing strings
* fix: allow ShowItemInFolder and OpenItem to block, fixing a DCHECK crash
* fix: make things compile, some changes got lost while rebasing
* fix: remove rogue line from BUILD.gn
* chore: update patch description
* style: lint fix
* chore: use chromium printing buildflag, move node related stuff out of patch
* revert: remove ScopedAllowBlockingForTesting call
* fix: fix my rebase blooper
* fix: re-add header lost during rebase, update patch
* fix: add <map> include, tweak the patch a bit
* revert: remove rogue diff from patch
* fix: clean up after rebase
* 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.
* [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
* Use weak pointer to avoid race condition
* Use DeleteSoon to delete pointer across threads
* Simplify EventSubscriber
* No need to manually mange V8 convertions
* Fix cpplint warning
We should update cpplint for this, but let's do it in other PR.
* Move UI thread operations to EventSubscriber
* Less and more assertions
Some methods are now private so no more need to assert threads.
* Fix cpplint warnings
* No longer needs the EventEmitted
* EventSubscriber => StreamSubscriber
* Reduce the copies when passing data
* Fix cpplint warnings
* 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)
* 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
* Disable nodeIntegration
* Enable contextIsolation
* Re-implement the CSP security check to handle running in
contextIsolation
* Disable bad DCHECKS for the promise helper
* Remove the unused "-d" flag for the electron binary
* Added a way to hide the default help output for electron devs who
don't want to see it every time
* 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