76c5f5cc8a
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.
468 lines
17 KiB
YAML
468 lines
17 KiB
YAML
repo: src
|
|
patches:
|
|
-
|
|
author: Shelley Vohr <shelley.vohr@gmail.com>
|
|
file: add_realloc.patch
|
|
description: |
|
|
Blink overrides ArrayBuffer's allocator with its own one, while Node simply
|
|
uses malloc and free, so we need to use v8's allocator in Node. As part of the
|
|
10.6.0 upgrade, we needed to make SerializerDelegate accept an allocator
|
|
argument in its constructor, and override ReallocateBufferMemory and
|
|
FreeBufferMemory to use the allocator. We cannot simply allocate and then memcpy
|
|
when we override ReallocateBufferMemory, so we therefore need to implement
|
|
Realloc on the v8 side and correspondingly in gin.
|
|
-
|
|
author: Ales Pergl <alpergl@microsoft.com>
|
|
file: build_gn.patch
|
|
description: null
|
|
-
|
|
author: deepak1556 <hop2deep@gmail.com>
|
|
file: dcheck.patch
|
|
description: |
|
|
This disables some debug checks which currently fail when running the Electron
|
|
test suite. In general there should be sustained effort to have all debug checks
|
|
enabled. If you want to help, choose one of the diffs below and remove it. Then
|
|
build Electron (debug configuration) and make sure all tests pass on the CI
|
|
systems. Unfortunately the tests don't always cover the check failures, so it's
|
|
good to also run some non-trivial Electron app to verify.
|
|
|
|
Apart from getting rid of a whole diff, you may also be able to replace one diff
|
|
with another which enables at least some of the previously disabled checks. For
|
|
example, the checks might be disabled for a whole build target, but actually
|
|
only one or two specific checks fail. Then it's better to simply comment out the
|
|
failing checks and allow the rest of the target to have them enabled.
|
|
|
|
Please keep the following lists updated.
|
|
|
|
The ELECTRON_NO_DCHECK build flag disables debug checks universally.
|
|
This patch applies the flag to the following GN targets:
|
|
|
|
third_party/blink/renderer/core/loader:loader
|
|
url:url
|
|
|
|
These files have debug checks explicitly commented out:
|
|
|
|
base/memory/weak_ptr.cc
|
|
base/process/kill_win.cc
|
|
components/viz/service/display/program_binding.h
|
|
components/viz/service/display_embedder/server_shared_bitmap_manager.cc
|
|
content/browser/frame_host/navigation_controller_impl.cc
|
|
content/browser/frame_host/render_frame_host_impl.cc
|
|
content/browser/renderer_host/render_widget_host_view_mac.mm
|
|
ppapi/host/ppapi_host.cc
|
|
third_party/blink/renderer/core/dom/node.cc
|
|
third_party/blink/renderer/platform/wtf/text/string_impl.cc
|
|
ui/base/clipboard/clipboard_win.cc
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: accelerator.patch
|
|
description: null
|
|
-
|
|
author: Ales Pergl <alpergl@microsoft.com>
|
|
file: allow_new_privs.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: app_indicator_icon_menu.patch
|
|
description: null
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: blink_file_path.patch
|
|
description: null
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: blink_local_frame.patch
|
|
description: |
|
|
According to electron/electron#3699, it is unreliable to use |unload|
|
|
event for process.exit('exit'), so we have to do that in
|
|
willReleaseScriptContext.
|
|
|
|
However Chromium then disallowed scripting in willReleaseScriptContext
|
|
in https://codereview.chromium.org/1657583002, and crash will happen
|
|
when there is code doing that.
|
|
|
|
This patch reverts the change to fix the crash in Electron.
|
|
-
|
|
author: null
|
|
file: blink_world_context.patch
|
|
description: null
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: browser_compositor_mac.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: browser_plugin_wheel.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: build_toolchain_win_patch.patch
|
|
description: |
|
|
Patch the Windows build toolchain to generate unique PDB names
|
|
|
|
When the PDB files generated by the `static_library` build are
|
|
packaged for distribution they are all copied to a single folder,
|
|
some of the PDB files have identical names so they end up
|
|
overwriting each other. The missing PDB files cause linker warnings
|
|
when building Electron in Release mode, and make it more difficult
|
|
to debug release builds.
|
|
|
|
This patch modifies the PDB naming convention for the
|
|
`static_library` build configuration to ensure PDB names are unique.
|
|
For example, instead of generating `obj/ui/base/base_cc.pdb` the
|
|
build will now generate `obj/ui/base/obj_ui_base_base_cc.pdb`.
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: can_create_window.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: compositor_delegate.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: desktop_screen_win.patch
|
|
description: null
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: disable_hidden.patch
|
|
description: null
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: dom_storage_map.patch
|
|
description: null
|
|
-
|
|
author: deepak1556 <hop2deep@gmail.com>
|
|
file: frame_host_manager.patch
|
|
description: null
|
|
-
|
|
author: Tony Ganch <tonyganch@gmail.com>
|
|
file: latency_info.patch
|
|
description: null
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: net_url_request_job.patch
|
|
description: null
|
|
-
|
|
author: Aleksei Kuzmin <alkuzmin@microsoft.com>
|
|
file: no_stack_dumping.patch
|
|
description: null
|
|
-
|
|
author: deepak1556 <hop2deep@gmail.com>
|
|
file: out_of_process_instance.patch
|
|
description: null
|
|
-
|
|
author: Aleksei Kuzmin <alkuzmin@microsoft.com>
|
|
file: protobuf_build_gn.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: render_widget_host_view_base.patch
|
|
description: null
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: render_widget_host_view_mac.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: scoped_clipboard_writer.patch
|
|
description: null
|
|
-
|
|
author: deepak1556 <hop2deep@gmail.com>
|
|
file: stream_resource_handler.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: thread_capabilities.patch
|
|
description: |
|
|
Chromium automatically drops all capabilities of renderer threads in
|
|
Linux, which may cause issues in a context like Electron, where the main
|
|
and renderer threads are supposed to keep inherited permissions over the
|
|
system.
|
|
|
|
See https://github.com/atom/electron/issues/3666
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: use_transparent_window.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: web_contents.patch
|
|
description: null
|
|
-
|
|
author: Milan Burda <milan.burda@gmail.com>
|
|
file: webgl_context_attributes.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: webview_cross_drag.patch
|
|
description: null
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: worker_context_will_destroy.patch
|
|
description: null
|
|
-
|
|
author: null
|
|
file: webui_in_subframes.patch
|
|
description: null
|
|
-
|
|
author: Aleksei Kuzmin <alkuzmin@microsoft.com>
|
|
file: export_blink_webdisplayitemlist.patch
|
|
description: null
|
|
-
|
|
author: Aleksei Kuzmin <alkuzmin@microsoft.com>
|
|
file: statically_build_power_save_blocker.patch
|
|
description: null
|
|
-
|
|
author: Tomas Rycl <torycl@microsoft.com>
|
|
file: browser_plugin_guest.patch
|
|
description: null
|
|
-
|
|
author: Aleksei Kuzmin <alkuzmin@microsoft.com>
|
|
file: disable_user_gesture_requirement_for_beforeunload_dialogs.patch
|
|
description: See https://github.com/electron/electron/issues/10754
|
|
-
|
|
author: Aleksei Kuzmin <alkuzmin@microsoft.com>
|
|
file: add_atomic_lib_to_dependencies_even_for_sysroot_builds.patch
|
|
description: null
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: gin_enable_disable_v8_platform.patch
|
|
description: null
|
|
-
|
|
author: deepak1556 <hop2deep@gmail.com>
|
|
file: disable-recursive-surface-sync.patch
|
|
description: null
|
|
-
|
|
author: deepak1556 <hop2deep@gmail.com>
|
|
file: blink-worker-enable-csp-in-file-scheme.patch
|
|
description: null
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: fix-arm64-linking-error.patch
|
|
description: Do not use system freetype for arm64
|
|
-
|
|
author: Heilig Benedek <benecene@gmail.com>
|
|
file: disable-redraw-lock.patch
|
|
description: |
|
|
Chromium uses a custom window titlebar implementation on Windows when DWM
|
|
is disabled (Windows 7 and earlier, non Aero theme). The native titlebar
|
|
sometimes painted over this custom titlebar, so a workaround was put in
|
|
place to lock redraws in reaction to certain events if DWM is disabled,
|
|
since the code assumes that in that case, the custom titlebar is painted.
|
|
Electron forces the use of the native titlebar, which the workaround doesn't
|
|
take into account, and still locks redraws, causing weird repainting issues
|
|
in electron (and other applications). This patch provides a way to disable
|
|
the redraw locking mechanism, which fixes these issues. The electron issue
|
|
can be found at https://github.com/electron/electron/issues/1821
|
|
-
|
|
author: Nitish Sakhawalkar <nitsakh@icloud.com>
|
|
file: v8_context_snapshot_generator.patch
|
|
description: |
|
|
v8_context_snapshot_generator is a build time executable.
|
|
The patch adds the config.
|
|
# -
|
|
# author: Tomas Rycl <torycl@microsoft.com>
|
|
# file: crashpad-disabled-windows.patch
|
|
# description: |
|
|
# On Windows Electron does not link Crashpad. This causes linking
|
|
# errors with Chromium where it is enabled by default.
|
|
# This patch will disable Crashpad in Chromium using fallback
|
|
# mechanism which uses Breakpad.
|
|
-
|
|
author: Jeremy Apthorp <nornagon@nornagon.net>
|
|
file: boringssl_build_gn.patch
|
|
description: |
|
|
Build BoringSSL with some extra functions that nodejs needs. Only affects
|
|
the GN build; with the GYP build, nodejs is still built with OpenSSL.
|
|
-
|
|
author: deepak1556 <hop2deep@gmail.com>
|
|
file: pepper_flash.patch
|
|
description: |
|
|
Allows building chrome pepper flash integration for Electron.
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: no_cache_storage_check.patch
|
|
description: |
|
|
Do not check for unique origin in CacheStorage, in Electron we may have
|
|
scripts running without an origin.
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: blink_fix_prototype_assert.patch
|
|
description: |
|
|
A recent Chromium change has accidentally added assertion for the case when
|
|
a new window object may not have a prototype attached. In Electron it may
|
|
happen when preventDefault for a native new-window event.
|
|
https://chromium.googlesource.com/chromium/src/+/f47b361887a31cccf42a6e21a82bccf28372bdaa%5E%21
|
|
In the long term we should investigate why it happened, and take a more
|
|
formal fix. But for now I'm just make this assertion silently pass away.
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: disable_scroll_begin_dcheck.patch
|
|
description: |
|
|
When testing https://github.com/electron/electron/issues/13137 I have met
|
|
these assertions. I grouped them together since they are all related to the
|
|
ScrollBegin event.
|
|
-
|
|
author: Jeremy Apthorp <nornagon@nornagon.net>
|
|
file: libgtkui_export.patch
|
|
description: |
|
|
Export libgtkui symbols for the GN component build.
|
|
-
|
|
author: Jeremy Apthorp <nornagon@nornagon.net>
|
|
file: gtk_visibility.patch
|
|
description: |
|
|
Allow electron and brightray to depend on GTK in the GN build.
|
|
-
|
|
author: Jeremy Apthorp <nornagon@nornagon.net>
|
|
file: sysroot.patch
|
|
description: |
|
|
Make chrome's install-sysroot scripts point to our custom sysroot builds,
|
|
which include extra deps that Electron needs (e.g. libnotify)
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: mas_blink_no_private_api.patch
|
|
description: |
|
|
Guard usages in chromium code of private Mac APIs by MAS_BUILD, so they can
|
|
be excluded for people who want to submit their apps to the Mac App store.
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: mas_no_private_api.patch
|
|
description: |
|
|
Guard usages in blink of private Mac APIs by MAS_BUILD, so they can be
|
|
excluded for people who want to submit their apps to the Mac App store.
|
|
-
|
|
author: Jeremy Apthorp <nornagon@nornagon.net>
|
|
file: resource_file_conflict.patch
|
|
description: |
|
|
Resolve conflict between //chrome's .pak files and //electron's. The paths
|
|
that chrome code hardcodes require that we generate resources at these
|
|
paths, but GN throws errors if there are multiple targets that generate the
|
|
same files.
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: scroll_bounce_flag.patch
|
|
description: |
|
|
Patch to make scrollBounce option work.
|
|
-
|
|
author: Birunthan Mohanathas <birunthan@mohanathas.com>
|
|
file: backport_d65792a.patch
|
|
description: |
|
|
https://chromium-review.googlesource.com/c/chromium/src/+/1105698
|
|
Fixes https://github.com/electron/electron/issues/13256
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: webview_reattach.patch
|
|
description: |
|
|
Backports https://chromium-review.googlesource.com/c/chromium/src/+/1161391
|
|
Fixes webview not working after renderer process restarted.
|
|
-
|
|
author: Jeremy Apthorp <nornagon@nornagon.net>
|
|
file: mas-cfisobjc.patch
|
|
description: |
|
|
Removes usage of the _CFIsObjC private API.
|
|
-
|
|
author: Jeremy Apthorp <nornagon@nornagon.net>
|
|
file: mas-cgdisplayusesforcetogray.patch
|
|
description: |
|
|
Removes usage of the CGDisplayUsesForceToGray private API.
|
|
-
|
|
author: Jeremy Apthorp <nornagon@nornagon.net>
|
|
file: mas-audiodeviceduck.patch
|
|
description: |
|
|
Removes usage of the AudioDeviceDuck private API.
|
|
-
|
|
author: Jeremy Apthorp <nornagon@nornagon.net>
|
|
file: mas-lssetapplicationlaunchservicesserverconnectionstatus.patch
|
|
description: |
|
|
Removes usage of the _LSSetApplicationLaunchServicesServerConnectionStatus
|
|
private API.
|
|
-
|
|
author: Cheng Zhao <zcbenz@gmail.com>
|
|
file: allow_webview_file_url.patch
|
|
description: |
|
|
Allow webview to load non-web URLs.
|
|
-
|
|
author: John Kleinschmidt <jkleinsc@github.com>
|
|
file: windows_cc_wrapper.patch
|
|
description: |
|
|
Allow use of cc_wrapper (eg sccache).
|
|
-
|
|
author: Shelley Vohr <shelley.vohr@gmail.com>
|
|
file: enable_osr_components.patch
|
|
description: |
|
|
Add MouseWheelPhaseHandler for OSR.
|
|
-
|
|
author: Zac Walker <zac.walker@microsoft.com>
|
|
file: ignore_rc_check.patch
|
|
description: |
|
|
Dont compare RC.exe and RC.py output.
|
|
FIXME: It has to be reverted once the script is fixed.
|
|
-
|
|
author: Aleksei Kuzmin <alkuzmin@microsoft.com>
|
|
file: enable_widevine.patch
|
|
description: |
|
|
Turns `enable_widevine` flag on by default on Mac and Windows.
|
|
Electron needs that flag to be enabled on those paltforms,
|
|
but there's no way to conditionally set it during a `gn gen` call.
|
|
-
|
|
author: deepak1556 <hop2deep@gmail.com>
|
|
file: content_browser_manifest.patch
|
|
description: |
|
|
Allow content_browser service to access GeolocationControl
|
|
interface from device service.
|
|
-
|
|
author: deepak1556 <hop2deep@gmail.com>
|
|
file: chrome_key_systems.patch
|
|
description: |
|
|
Disable persiste licence support check for widevine cdm,
|
|
as its not supported in the current version of chrome.
|
|
-
|
|
author: Charles Kerr <charles@charleskerr.com>
|
|
file: allow_nested_error_trackers.patch
|
|
description: |
|
|
Only one X11ErrorTracker should exist at a time, but upstream has a bug
|
|
where two can exist if running in headless mode --
|
|
ui::(anonymous namespace)::SupportsEWMH() [inner tracker is created]
|
|
ui::WmSupportsHint()
|
|
ui::IsX11WindowFullScreen()
|
|
ui::ScreensaverWindowFinder::IsScreensaverWindow()
|
|
ui::ScreensaverWindowFinder::ShouldStopIterating()
|
|
ui::EnumerateTopLevelWindows()
|
|
ui::ScreensaverWindowFinder::ScreensaverWindowExists() [outer tracker created]
|
|
ui::CheckIdleStateIsLocked()
|
|
ui::CalculateIdleState()
|
|
Removal of either tracker could have side-effects in some code paths,
|
|
so this is probably better handled upstream. This patch tries to do the
|
|
least harm in the interim by removing the check that prevents more than
|
|
one tracker from existing at a time.
|
|
-
|
|
author: Samuel Attard <samuel.r.attard@gmail.com>
|
|
file: blink_initialization_order.patch
|
|
description: |
|
|
Backport of https://chromium-review.googlesource.com/c/chromium/src/+/1030530
|
|
to fix the order of V8 and Blink initialization. Also fixes order
|
|
of DidCreateScriptContext notification with initialization of window globals
|
|
to fix electron/electron#13787. The backport landed in Chromium 67 but the
|
|
DidCreateScriptContext re-ordering needs to be upstreamed or kept indefinitely
|
|
-
|
|
author: zcbenz <zcbenz@gmail.com>
|
|
file: disable_detach_webview_frame.patch
|
|
description: |
|
|
Don't detach the frame for webview, we will manage the WebContents
|
|
manually.
|
|
This is part of the fixes for https://github.com/electron/electron/issues/14211.
|
|
We should revisit this bug after upgrading to newer versions of Chrome,
|
|
this patch was introduced in Chrome 66.
|
|
-
|
|
author: deepak1556 <hop2deep@gmail.com>
|
|
file: ssl_security_state_tab_helper.patch
|
|
description: |
|
|
Allows populating security tab info for devtools in Electron.
|
|
-
|
|
author: Jeremy Apthorp <jeremya@chromium.org>
|
|
file: leveldb_ssize_t.patch
|
|
description: |
|
|
Fix conflict between leveldb & node's definition of ssize_t on
|
|
Windows by preventing leveldb from re-defining the type if it's
|
|
already defined.
|