* build: fix native_mksnapshot build
When we changed our electron_mksnapshot_zip target to include the v8_context_snapshot_generator, this dependency made the `run_mksnapshot` target run which was trying to run an arm/arm64 binary on x64 hardware.
Don't use custom build args for native_mksnapshot as they are not needed
* Added comment on why snapshot_blob.bin is skipped on arm/arm64
* ci: run unittests on clean Chromium
* test: add '--run-only-disabled-tests' flag to "script/native-tests.py"
* ci: add a job to run only disabled unittests
* test: use a different GN config for the native tests
* test: enable blink_common_unittests
* test: disable WeakPtrDeathTest*
* 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
* Update to Chromium 68.0.3440.128 and Node 10.10.0
* update v8, ffmpeg, chromium, crashpad, boringssl, and webrtc patches
* fix SSL_get_tlsext_status_type patch
* pass encryption_modes_supported to CdmInfo
* kNoSandbox moved into service_manager
* bump CHROME_VERSION_STRING
TODO: automatically pull in the real chrome version
* PathService -> base::PathService
* net::X509Certificate::Equals -> net::X509Certificate::EqualsExcludingChain
* use content::ChildProcessTerminationInfo
* GetHandle() -> GetProcess().Handle()
* ScopedNestableTaskAllower doesn't take an argument
* net::HttpAuthCache::ClearEntriesAddedWithin -> ClearAllEntries
* std::unique_ptr<WebContents>
* blink::WebFullscreenOptions
* OnAudioStateChanged doesn't take a WebContents
* content::RESULT_CODE_NORMAL_EXIT -> service_manager::RESULT_CODE_NORMAL_EXIT
* MessageLoopCurrent
* WasResized -> SynchronizeVisualProperties
* SetTimeStamp takes a base::TimeTicks
* ExecuteScriptInIsolatedWorld is single-script only
* DispatchNonPersistentCloseEvent takes a callback now
* expose URLRequestContextGetter::{Add,Remove}Observer
* test: remove no longer existing Chromium test deps
cc_blink_unittests has been removed in
https://chromium-review.googlesource.com/1053765
mojo_common_unittests has been removed in
https://chromium-review.googlesource.com/1028000
* SetFdLimit -> IncreaseFdLimitTo
NOTE: the behaviour of this API has changed slightly, and we should
mention that in the notes.
* MessageLoop::QuitWhenIdleClosure -> RunLoop::QuitCurrentWhenIdleClosureDeprecated
* certificate_transparency moved out of net/
pending a clearer decision about what to do with CT
in the mean time, copy CreateLogVerifiersForKnownLogs from deleted chromium source
* add secure_origin_whitelist to chrome source list
NOTE: is this something we actually want? cc @deepak1556
* DrainBackgroundTasks -> DrainTasks
* use new node options parser
* fix disable_scroll_begin_dcheck.patch
* ViewsDelegate::CreateWebContents went away
see https://chromium-review.googlesource.com/c/chromium/src/+/1031314
* kZygoteProcess moved into service_manager
* test: minor improvements to the Node spec
- reformat some parts
- better failures reporting with `expect`
- skip some tests instead of marking them as passed
* chromium removed *_posix.cc from the source filters
* test: fix :electron_tests compilation
* better crash diagnostics in ffmpeg test
* fix: enable back a DCHECK in viz::ServerSharedBitmapManager
Fixes#14327.
Backports https://chromium-review.googlesource.com/802574.
* chore: update linux sysroots
* chore: remove obsolete "install-sysroot.py" script
* test: fix frame-subscriber test on Mac
* disable OSR for now
* test: make before-input-event test more robust
* test: make run-as-node --inspect test more robust on windows
* roll node to v10.11.0
* avoid duplicate files when building a zip
* disable failing assert in beginFrameSubscription dirty-rectangle test
* experiment with is_cfi = false
* fix: build torque with x64 toolchain
Co-Authored-By: Alexey Kuzmin <github@alexeykuzmin.com>
* test: disable the "app.relaunch" test on Linux
* chore: bump node to get header tar file
* chore: bump node to fix tar.py line endings
* chore: add GN linter
* chore: fix GN lint errors
* try some crazy bash to get a gn exe
* base64 on linux is different
* cloning build_tools doesn't download GN
* download_from_google_storage needs depot_tools in the path
* fixup! chore: add GN linter
* chore: remove duplicate and un-needed files from dist zips
* Strip chromedriver binaries
Also, fix path for files to skip
* Don't strip mksnapshot for now
Mksnapshot needs special handling for arm/arm64 because there is both an x86 and arm/arm64 binary in those cases.
* chore: stop using electron.gyp for version info
* chore: remove branding info from electron.gyp
* Use get_electron_branding instead of gn read
* Flip project_name/product_name
* ci: migrate libcc's Dockerfile to electron and update it
* Added nano and sudo
* Use new docker image in CircleCi
* installing nodejs needs curl
* Add needed dependencies
nacl contains dependencies needed for arm and ia32 builds
Make sure certain paths/files don't make it into the dist zip
Don't build the content shell test_runner
Make sure libffmpeg.dylib gets put in the right place
Run verify-ffmpeg on Mac builds
Add ffmpeg build to VSTS
* build: remove common/icu/no_inline_default_constructor.patch
It was added in https://github.com/electron/libchromiumcontent/pull/207,
the issue is no longer valid in the GN build.
* build: remove common/icu/build_gn.patch
In GN release build all code including node are linked
statically in a single binary, the workaround is no longer valid.
* build: remove ununsed patches
* build: remove is_electron_gn_build arg
* build: remove component mode crt config patch
* build: remove executable config patch for character_data_generator
* build: remove latency_info.patch
* build: remove exec_script_whitelist patch
* build: update patches/common/v8/build_gn.patch
* build: remove common/chromium/fix-arm64-linking-error.patch
It was added in a1df18ca36
to workaround a linker issue.
* build: remove common/chromium/protobuf_build_gn.patch
It was added to workaround a VS linker bug, it has been fixed
in Update 1
* build: remove common/chromium/disable-recursive-surface-sync.patch
It was added in 6bc6626e2c
to fix dcheck on macOS, it no longer appears to be an issue.
In the GN build, libchromiumcontent is no longer a distinct library, but
merely a container for a set of scripts and patches. Maintaining those
patches in a separate repository is tedious and error-prone, so merge
them into the main repo.
Once this is merged and GN is the default way to build Electron, the
libchromiumcontent repository can be archived.
* build: [gn] explicitly override rtc_use_h264
* build: [gn] don't override ffmpeg config from release config
* build: [gn] remove is_cfi override from release config
The original concern about node is fixed and we have been
building testing builds without the override for sometime now.
* build: [gn] add distributable zip target
* build: update the CircleCI config
- enable debug and testing builds on Mac
- run Mac release builds nightly
- run test for Mac release builds
- use shared build machines configs
* Add resources dir to zip on non mac platforms.
* build: add config to build Electron for tests
* build: run nightly linux builds for the 3-0-x branch
* build: gn: update CI config for linux builds
- run GN debug and testing builds for PRs (as FYI)
- do not run tests for GN debug builds
- run GN release builds nightly
* build: gn: run testing builds on CI instead of release on Windows
Should save some time since release builds set 'official_build=true'
which make the builds take much more time.
* build: gn: use testing config to run CI jobs on Mac
Tests should run faster for testing builds.