This repository has been archived by the owner on Jan 6, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 183
/
.patches.yaml
472 lines (461 loc) · 16.9 KB
/
.patches.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
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: Aleksei Kuzmin <alkuzmin@microsoft.com>
file: allow_chromiumcontent_to_depend_on_device_service.patch
description: By default we cannot depend on it, but we want to use it.
-
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.