* chore: bump chromium in DEPS to 102.0.4999.0 * 3576640: Set OOM handler during V8 initialization https://chromium-review.googlesource.com/c/chromium/src/+/3576640 * 3574964: Remove deprecated base::Value usage in print_settings_conversion code. https://chromium-review.googlesource.com/c/chromium/src/+/3574964 * 3570062: Replicate Active state to render process for all RenderViews. https://chromium-review.googlesource.com/c/chromium/src/+/3570062 * chore: fixup patch indices * 3380402: Remove legacy SwiftShader https://chromium-review.googlesource.com/c/chromium/src/+/3380402 * 3570254: [Local Fonts] Rename permission name from FONT_ACCESS to LOCAL_FONTS. https://chromium-review.googlesource.com/c/chromium/src/+/3570254 * 3572172: Rename or remove several parameters involved in creation of MimeHandler streams https://chromium-review.googlesource.com/c/chromium/src/+/3572172 * fix: add missing base/bits include * chore: fix lint * chore: remove ia32 Linux support * chore: patch out swift-format cipd dep on macOS * build: apply patch better * build: reset all caches * build: update zip manifests to remove swiftshared libraries Refs: https://chromium-review.googlesource.com/c/chromium/src/+/3380402 * Revert "build: update zip manifests to remove swiftshared libraries" This reverts commit 6aeec01ef1a79425a7b7d8c1cfb131a26b91c494. * Revert "3380402: Remove legacy SwiftShader" This reverts commit 4c7eebbbf2d0a459cc192959e17ae20f970c2da2. * build: remove unused swiftshader egl libraries Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: Samuel Attard <sattard@salesforce.com>
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			2.9 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			2.9 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
 | 
						|
From: Jeremy Apthorp <nornagon@nornagon.net>
 | 
						|
Date: Thu, 20 Sep 2018 17:48:59 -0700
 | 
						|
Subject: resource_file_conflict.patch
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
This is due to the hardcoded names here:
 | 
						|
https://chromium.googlesource.com/chromium/src/+/69.0.3497.106/ui/base/resource/resource_bundle.cc#780
 | 
						|
and here:
 | 
						|
https://chromium.googlesource.com/chromium/src/+/69.0.3497.106/ui/base/resource/resource_bundle_mac.mm#50
 | 
						|
 | 
						|
This isn't needed on Mac because resource files are copied into the app bundle,
 | 
						|
and are built in `$root_out_dir/electron_repack` (while Chromium's resources
 | 
						|
target `$root_out_dir/repack`), but on Windows and Linux, the resource files go
 | 
						|
directly in `$root_out_dir`, and so they conflict.
 | 
						|
 | 
						|
We don't actually ever generate Chromium's resource paks, but without this
 | 
						|
patch, GN refuses to generate the ninja files:
 | 
						|
 | 
						|
   ERROR at //tools/grit/repack.gni:35:3: Duplicate output file.
 | 
						|
     action(_repack_target_name) {
 | 
						|
     ^----------------------------
 | 
						|
   Two or more targets generate the same output:
 | 
						|
     chrome_100_percent.pak
 | 
						|
 | 
						|
   This is can often be fixed by changing one of the target names, or by
 | 
						|
   setting an output_name on one of them.
 | 
						|
 | 
						|
   Collisions:
 | 
						|
     //chrome:packed_resources_100_percent
 | 
						|
     //electron:packed_resources_100_percent
 | 
						|
 | 
						|
   See //tools/grit/repack.gni:35:3: Collision.
 | 
						|
     action(_repack_target_name) {
 | 
						|
     ^----------------------------
 | 
						|
 | 
						|
Some alternatives to this patch:
 | 
						|
 | 
						|
1. Refactor upstream in such a way that the "chrome" pak names were
 | 
						|
   configurable, for instance by adding a method to ResourceBundle::Delegate that
 | 
						|
   LoadChromeResources would check.
 | 
						|
2. Pass a Delegate that overrides `GetPathForResourcePack`, check for the
 | 
						|
   `chrome_{100,200}_percent.pak` filenames, and rewrite them to
 | 
						|
   `electron_{100,200}_percent.pak`.
 | 
						|
3. Initialize the resource bundle with DO_NOT_LOAD_COMMON_RESOURCES and load
 | 
						|
   the paks ourselves.
 | 
						|
 | 
						|
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
 | 
						|
 | 
						|
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
 | 
						|
index 7203dde2f96d5e8ed44443e21a2257166b6e6f36..3c40d999a9545051e91a9f0ad3bf7ca2a95d80c4 100644
 | 
						|
--- a/chrome/BUILD.gn
 | 
						|
+++ b/chrome/BUILD.gn
 | 
						|
@@ -1529,7 +1529,7 @@ if (is_chrome_branded && !is_android) {
 | 
						|
   }
 | 
						|
 }
 | 
						|
 
 | 
						|
-if (!is_android) {
 | 
						|
+if (!is_android && !is_electron_build) {
 | 
						|
   chrome_paks("packed_resources") {
 | 
						|
     if (is_mac) {
 | 
						|
       output_dir = "$root_gen_dir/repack"
 | 
						|
@@ -1558,6 +1558,12 @@ if (!is_android) {
 | 
						|
   }
 | 
						|
 }
 | 
						|
 
 | 
						|
+if (is_electron_build) {
 | 
						|
+  group("packed_resources") {
 | 
						|
+    public_deps = [ "//electron:packed_resources" ]
 | 
						|
+  }
 | 
						|
+}
 | 
						|
+
 | 
						|
 repack("unit_tests_pak") {
 | 
						|
   sources = [ "$root_gen_dir/chrome/chrome_test_resources.pak" ]
 | 
						|
   output = "$root_out_dir/unit_tests.pak"
 |