From fa8402946a8ab82361b813735d9ded9267ed7b86 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Fri, 20 Jun 2025 19:56:17 -0400 Subject: chromium 139.0.7246.0 and cleanup --- www-client/chromium/Manifest | 55 - www-client/chromium/chromium-138.0.7180.2.ebuild | 1292 ------------------- www-client/chromium/chromium-139.0.7246.0.ebuild | 1294 ++++++++++++++++++++ ...mium-105-protobuf-RepeatedPtrField-export.patch | 13 - .../chromium/files/chromium-109-minizip.patch | 147 --- .../chromium-122-VirtualCursor-std-layout.patch | 219 ---- .../files/chromium-123-EnumTable-crash.patch | 76 -- .../chromium/files/chromium-123-compiler.patch | 317 ----- ...hromium-124-metrics-histograms-nodepotbin.patch | 12 - .../chromium/files/chromium-125-compiler.patch | 317 ----- .../files/chromium-125-revert-8a3bec6.patch | 450 ------- .../files/chromium-126-EnumTable-crash.patch | 76 -- .../chromium/files/chromium-126-compiler-r1.patch | 317 ----- .../chromium/files/chromium-126-compiler.patch | 317 ----- .../files/chromium-126-freetype-blink.patch | 12 - ...-use-oauth2-client-switches-as-default-r1.patch | 18 - ...126-use-oauth2-client-switches-as-default.patch | 18 - .../chromium-127-bindgen-include-temporary.patch | 13 - .../chromium/files/chromium-128-compiler-r1.patch | 324 ----- .../chromium/files/chromium-128-compiler.patch | 317 ----- .../files/chromium-131-EnumTable-crash.patch | 79 -- .../chromium/files/chromium-131-compiler.patch | 324 ----- .../chromium-131-text_codec_icu-system-icu.patch | 22 - .../chromium/files/chromium-132-compiler.patch | 357 ------ .../chromium-134-gn-exec_script_allowlist.patch | 64 - .../files/chromium-135-mv2-ungoogled.patch | 183 --- ...mium-135-protobuf-RepeatedPtrField-export.patch | 13 - .../chromium/files/chromium-136-glic-comma.patch | 13 - .../files/chromium-136-mv2-ungoogled.patch | 183 --- .../chromium/files/chromium-137-compiler-r1.patch | 384 ------ .../chromium/files/chromium-137-compiler.patch | 384 ------ .../chromium-137-gn-exec_script_allowlist.patch | 64 - .../files/chromium-137-mv2-ungoogled-r1.patch | 183 --- .../files/chromium-137-mv2-ungoogled.patch | 183 --- ...chromium-137-pdfium-png-decoder-fieldname.patch | 15 - .../chromium/files/chromium-138-compiler-r1.patch | 448 ------- .../chromium/files/chromium-138-compiler.patch | 444 ------- .../files/chromium-138-mv2-ungoogled.patch | 163 --- .../chromium/files/chromium-139-compiler-r1.patch | 452 +++++++ .../files/chromium-139-mv2-ungoogled-r1.patch | 163 +++ 40 files changed, 1909 insertions(+), 7816 deletions(-) delete mode 100644 www-client/chromium/Manifest delete mode 100644 www-client/chromium/chromium-138.0.7180.2.ebuild create mode 100644 www-client/chromium/chromium-139.0.7246.0.ebuild delete mode 100644 www-client/chromium/files/chromium-105-protobuf-RepeatedPtrField-export.patch delete mode 100644 www-client/chromium/files/chromium-109-minizip.patch delete mode 100644 www-client/chromium/files/chromium-122-VirtualCursor-std-layout.patch delete mode 100644 www-client/chromium/files/chromium-123-EnumTable-crash.patch delete mode 100644 www-client/chromium/files/chromium-123-compiler.patch delete mode 100644 www-client/chromium/files/chromium-124-metrics-histograms-nodepotbin.patch delete mode 100644 www-client/chromium/files/chromium-125-compiler.patch delete mode 100644 www-client/chromium/files/chromium-125-revert-8a3bec6.patch delete mode 100644 www-client/chromium/files/chromium-126-EnumTable-crash.patch delete mode 100644 www-client/chromium/files/chromium-126-compiler-r1.patch delete mode 100644 www-client/chromium/files/chromium-126-compiler.patch delete mode 100644 www-client/chromium/files/chromium-126-freetype-blink.patch delete mode 100644 www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default-r1.patch delete mode 100644 www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default.patch delete mode 100644 www-client/chromium/files/chromium-127-bindgen-include-temporary.patch delete mode 100644 www-client/chromium/files/chromium-128-compiler-r1.patch delete mode 100644 www-client/chromium/files/chromium-128-compiler.patch delete mode 100644 www-client/chromium/files/chromium-131-EnumTable-crash.patch delete mode 100644 www-client/chromium/files/chromium-131-compiler.patch delete mode 100644 www-client/chromium/files/chromium-131-text_codec_icu-system-icu.patch delete mode 100644 www-client/chromium/files/chromium-132-compiler.patch delete mode 100644 www-client/chromium/files/chromium-134-gn-exec_script_allowlist.patch delete mode 100644 www-client/chromium/files/chromium-135-mv2-ungoogled.patch delete mode 100644 www-client/chromium/files/chromium-135-protobuf-RepeatedPtrField-export.patch delete mode 100644 www-client/chromium/files/chromium-136-glic-comma.patch delete mode 100644 www-client/chromium/files/chromium-136-mv2-ungoogled.patch delete mode 100644 www-client/chromium/files/chromium-137-compiler-r1.patch delete mode 100644 www-client/chromium/files/chromium-137-compiler.patch delete mode 100644 www-client/chromium/files/chromium-137-gn-exec_script_allowlist.patch delete mode 100644 www-client/chromium/files/chromium-137-mv2-ungoogled-r1.patch delete mode 100644 www-client/chromium/files/chromium-137-mv2-ungoogled.patch delete mode 100644 www-client/chromium/files/chromium-137-pdfium-png-decoder-fieldname.patch delete mode 100644 www-client/chromium/files/chromium-138-compiler-r1.patch delete mode 100644 www-client/chromium/files/chromium-138-compiler.patch delete mode 100644 www-client/chromium/files/chromium-138-mv2-ungoogled.patch create mode 100644 www-client/chromium/files/chromium-139-compiler-r1.patch create mode 100644 www-client/chromium/files/chromium-139-mv2-ungoogled-r1.patch diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest deleted file mode 100644 index ec901cc..0000000 --- a/www-client/chromium/Manifest +++ /dev/null @@ -1,55 +0,0 @@ -AUX chromium-105-protobuf-RepeatedPtrField-export.patch 682 BLAKE2B e67ff20391876c24fd5a268fda448190dd7dcf54e13deab21313775efd030c6072afa558d4cd446c3cdf476ee1e2bee50308ca5ef1d7dfd31759e445ae6f005a SHA512 31f1e0263916f460ca72d719c6d79bdad1840d36be13214cf0a3c16283b42f0e5791cb0f0fa07b97a6979025791aa8cb0dd71671de953d6b13106bee6f458af6 -AUX chromium-109-minizip.patch 6865 BLAKE2B e7b73fa960b695b352d81f1e3cda8ad11d8a9d55633747ac5f2e848c94d66b7b504dd9967c51feee62c1c4bd2316c4e4aa6028ebdba446b57bfd81abd3989214 SHA512 bf8f7df347d94c7782ab2f7764010ad0f134e184cfaa21488ee11b2392697c3a83a0fbd801454dc773232c5ddb263e7564c149b66f110580ebd66305ff02dbe7 -AUX chromium-111-InkDropHost-crash.patch 1114 BLAKE2B 2481e068e77f28c2ec0cfbb55641462e7a3f81e8ae719fe797a44a9385898afbbedb129a5138f54fc46b4b0f533a1c6cc43ac76461f6aebeb670ff8e195c38d1 SHA512 13ca2958c15c2e9a571cff588cabb6756e14180136f670112f6e406a3cb7f8661e78fa053e821f4a3f48944f024d580ddcb14e4be84a129b873e637650cb360f -AUX chromium-118-material-color-utils.patch 2088 BLAKE2B 9776e46268b427d5ac651a9e509c392e79fe420b569146b4839d22f1b9c524a5626a023dab12b3ff8ec8db2ceb7047a2da1933af168294ce6aaeb437eeafa8dc SHA512 a7934f42f9b2eb3eefe35c2363d28a4d653730f9068f40fb9ee54ee25051be23fbfcda3407743da20b7a2bf36aa6c97ade371ecc6df59c2e739616f4622129c7 -AUX chromium-119-minizip.patch 6867 BLAKE2B 50dcf02d6095fc75c2033afba39bae6386e4bf9d34e3a284e6eb1ba949cbe983c4ef546abc4e475f2433d608676d94855103b49bd78916085170e0cb5475ec6e SHA512 6a701b8b34e9b56d1ff03f6cc1c8542568c543299f9b60648cf1aa7d56e5958e293057d3f251634479841724e179733bd3ed2320ee5fbb56e1cb66b8fc7f70fb -AUX chromium-122-VirtualCursor-std-layout.patch 8472 BLAKE2B 872bd935eb702967dbbaf6045722f6f34b768ff607c6a53c42b92fd38dad6a8dc9d286f0e1f05ff30f03d402a04ee196f02d5fc977ea97b8ea1245c0aae1c428 SHA512 bdcaa80e36e0f9938b7e2f782baf1de8714cd1f5a032cdabbd885678ff2c77a98c69d4436cb01726e160bdb3ef4b10155f3a3b92b8b54a0726a25cc8c65b1393 -AUX chromium-123-EnumTable-crash.patch 2978 BLAKE2B 44b18e702b82f4839a8a4cc639d1f91b6a4ed96fe266a4ee690c766361c36e7bce49e32455388eacd76ad408b72e6d458d9653a841b8483afa739df163621730 SHA512 5b56cb55aa1aef874963ce656ed610eddd0e09d6ab320f55ecac609c5ee26406c67295a96adcbcc6c2f4e1d86df46da0610c555a61c65215a486f448541fe136 -AUX chromium-123-compiler.patch 11238 BLAKE2B 2cd6a2dc550f952685db63062d7d90f688d29fb391b52646880c50d1884913a29e88f7e706a16b8a2954373f020d8488995dd9ced5c3a4aff044774a6b5a2320 SHA512 709ad3c413308a7e50ae95b433f52868c93a96682dacdeb82310e166af0b56afa7b98a1c0dfd147a34be0d9ba78c174ff547d95b429b4734aa3a11b736b3cf9f -AUX chromium-124-metrics-histograms-nodepotbin.patch 533 BLAKE2B 2dee74b4c10b4d8280ba0b0dcdea0c8f7896422c190bbf31b7ee147a6ac81b34033a156c9fd66cf8e875aaa02a8ebeb4e04d7164f7e6701836539300297f25f3 SHA512 a1ecd84d7433542779da17e79fe73a63f4bff94c49b13c51947ade9ed27f82e8fca94b08d628e7cd8853c2e9ffc11078b02fab81fba98635390805b0230035f4 -AUX chromium-125-compiler.patch 11174 BLAKE2B 72d9ba637c1d726edcb4a9ff695b34f6a70e39c775ac34bc6b3bd9151ac390c9840429bef82bac1ff32502dd5dee49754bbc868eed1c28562b07ca33cf136189 SHA512 7e17a17947025ae992882828ccea0dd85d0a749c7dd27b1423ea436f0da379fe846b4808df6186f74df161f69c6b8802881ab3569511580e121aea359c4f90e3 -AUX chromium-125-revert-8a3bec6.patch 17037 BLAKE2B d2fa1845fb0a634428ff676c4cbec59d37bd1b668e1d80d17bc0a040a049160186132ac91d2202719e4936f241c3362e664d877401742b0755c49f388c2afe90 SHA512 04c2e0b6ebdc88d079f0caa6a101f306073c65c294ab8ec2bb6ab4eba216eb9fbaf5698e5db4f6c489472c5e1b9621f05bd3448f6ae7c68a23e82371342e62ab -AUX chromium-126-EnumTable-crash.patch 2981 BLAKE2B 76b2ca1dbe45c10a7c37479d1b854b6f71dc50e3a1fa6a7d477af2a7311c2f5b6330e9a58e12d471f610490d9c9f40e4d756a4c067f896b19e72f86f35163a80 SHA512 87b392dcaf372b9ee266831c4af2876fdeee3030649ba982d0e8006964af77bf3fb8f9f8b86e2e60f29ebf054c00269410f593413d96cd257c1da8640a1c9a77 -AUX chromium-126-compiler-r1.patch 11307 BLAKE2B 84de23b6497871370dde01ea476b22eb9039f780713143efccc0a5d6a607f3f9180ba10d0da10e95d9289a72751a40a62a3ec5aca847ba72c6bd88fc5d1a8432 SHA512 d44488f1ae747a4d2449624702c0265d618037b3a71f078a9ea13ff45528e1bf00348d2d12a38cac7bffc5cb8898b14f9a5f3a0681f59b11b70b38e47e84daf0 -AUX chromium-126-compiler.patch 11310 BLAKE2B 037b37d78669acc23c32cd6f643cba7f2e4d4cc2990d13bdea1fd9e3328876941fb557924026730fe0d75fa96a873d6cec03539aca277dc22849063b4c5be432 SHA512 26ac52b4563f200f10680a0161516fd4d2365aea2807db28028f40aa74860ddb8578367f15566845783c22ccb5fe6ff5f03012a3ee31f1771b02607c2758bc9d -AUX chromium-126-freetype-blink.patch 532 BLAKE2B 68cebd58a1e00b2603c3aec90339d5b02b2aa504ddad61833016cc65386b992fbc8e91538b13f9b6fc24d4c4ac1da6c0c31061e8fc7638a70b3716971d90a0d5 SHA512 e2bda2f8338bcd8bf7d45d7b8fb680793efce88698ff84b659b60494fce0ae31375a014e0b0815cabab9ddafc55224769f568f64f8d220392c53b07051d66be7 -AUX chromium-126-use-oauth2-client-switches-as-default-r1.patch 1089 BLAKE2B 42f9b433b05c979bc6b689392e78f2207b8a2fa0131cb9b5d12198fb289f0e16d39bd4b1fc53bf0f3b5e5b9094e21c1838920c41d975aac34749f6c4c8c9ac65 SHA512 29113c2454f02b9c93553430de256df410c6cf103dbb10162693c64b045356c762c655e39f771236b8a34afd9b0b1a1f1d3405290a663e1dc2f221d895fdafdc -AUX chromium-126-use-oauth2-client-switches-as-default.patch 976 BLAKE2B 87ab9134e56e99ca8c52edfdf7afcc77f827532a24b96b44b75fa702d22296d60b850332982bab29499163050d89b8c37194db83f4c00b3a42b2441327e4366f SHA512 7dbe772471c2c0eddb5babca2f291cf7ac45ae0ab4931e3e3afed5586e8efdd23536161d2e74bb59bfd67685892966fd65e553acbf82f03df417939c3021e938 -AUX chromium-127-bindgen-include-temporary.patch 580 BLAKE2B 01d74e85d5932d6809b196bf26db43b5fa79dc2bd891170b37620b759316cf04c069e4ccf3c0a290a22d717032860aec2835326df60449b0f91d9205b8e01156 SHA512 48597676a9bf76157e582e5f1ebcba7223e742f346aa6a3b52dbd93f499127e289a11f83a99040b6764bd28776505610f9ab2d0612f29e8389f0e559bdfd348a -AUX chromium-128-compiler-r1.patch 11600 BLAKE2B f4ce3e65a5cd31b80dff1de3899dd2b5513e5adb7405ea47896d0ef62f1a9d1220cca7e9c3a493444d65d6da884f7a82045cb7fce5944ccdffe7fb4d25a2591a SHA512 a60bfeeb705ae448af6be2df41e58354a9b5c84ff155d1c57ed454a4eae540c56914259fa4cd745320511dc559992617f6d2dfe13d123496e93285589d14ac96 -AUX chromium-128-compiler.patch 11361 BLAKE2B 786fdfecae585caf661bddd5ba7d27f2061bfa74a996b0f36d89604246a23d95b2a70c9b8bc19b5413af33f52a831ca3145aa932cda18763fe732cd70d4051cd SHA512 b222f685e7365d0763ee67e970043fa83dabfe3e1bddecf7dd473b7f33d8d5b89c96fadda715bd45705e9ba9fedbebd0897de4a093482812ff49a7be601b00d4 -AUX chromium-131-EnumTable-crash.patch 3028 BLAKE2B 0fb49828493eb6a9e7647b643d160a858a2247f3c8860c3bb3e0c5ac3e3ea60fde0e5352e884fa23ae80e9f23b93c39554f38d933a80f5bdb9d20f9ba1682e3e SHA512 a421a525f1e49a707229d9022acc43ce0724c89b1b81a47ccbfbc4fa232cd0e122e093830a5c6a050f88b4d8799d653810f64f52ba94f96817a9d1a3d485b4b1 -AUX chromium-131-compiler.patch 11595 BLAKE2B 8a4e264140dfc64324d8007586a1c1d961bedc9937a8be73d7834703c37f55e1005ef732ffc994fe8bda7090a1ae41769dd400864db37aafb4415bbb05ba05c7 SHA512 dd2bbdee91e70eaeae4e4485833345edf606c1a12eab15ca3860d97d773f127c0674fb1edab970236d69d44ab81c7a0b058b6c21abc92ea08cd1caceb5572442 -AUX chromium-131-text_codec_icu-system-icu.patch 1204 BLAKE2B 97bfcc1ef1e72da9fc3c9a473c32e0077a3eae9a19e7cac65b457ac8196075ea86c66d7ec13638abf617b18b53ab93fe6df4d6423acdedfb086497cadc2a3dff SHA512 f742b9f7b1c7d26e0b3795ad59d00c726e48e872233186cf880021609b27026882ab27e1cbcacfba882ed3381b08fe29912e5ea2553dbdbbe16730b4b63c1f96 -AUX chromium-131-use-oauth2-client-switches-as-default.patch 1194 BLAKE2B 040f8161c659d015bfda3f8f2f9c3f904b0b1318233569550c80b4c1a6cfeca8e3d39998e8ebec87880948ec2444214fd0551f0a65111363c3c40fe3c0d717c8 SHA512 20621cc7ee69bb0e53d1806f6e78381357fb31c99d339ed9b385a669dcdc92b800f2b3c2d6833bb36e94348793afe790a6f3f3d5d2f330c57407305fa8095a5a -AUX chromium-132-compiler.patch 12901 BLAKE2B 37be5fc8b2c546cffc0976d5c9f7f0849e4b9475c06891adf67ab6b7921b3dc92c105f21d30c38bf5106bbb4471161579533413cd46969df1f775b6dd24f4ad9 SHA512 089053f70731cc9b0eaabefb14fee0f8571c515ab37f7be1dbd6a0b368e727cf985eae7be60c205ee19e0b3925286abdcdd87ae2bd48159f8fad9b24a9da6dae -AUX chromium-134-EnumTable-crash.patch 3068 BLAKE2B 8b3bad8e20d6c3477495792279b1c58aa599e5934380d6efb26285a4348be8b98fe5869dc9ce9c83049e35f20f73ab9de7eb819002e6753aecd16ef7de734194 SHA512 5cd2da1407d150218595b3da7e76a2df7e12675e91c9bc2dce793f3801ed53705dada351865ead578ad6516ee5d19423f25021ab213bd9305eea8860f92f42b0 -AUX chromium-134-gn-exec_script_allowlist.patch 2328 BLAKE2B d5e4ebeff797fa02b4e41da1cbc8f90bdfdf3250e627e387c8b482b5f163703e835da0e06e2d543d7d81fc990fa5093c6495fa5f7858b5c692a9d0b10fe21914 SHA512 c47330b69dd6fa1d0ca91ebf2927fe8f5c75c9e6a9ebb5959ed7590665b05d297c494222c786cba5c3530dcb8ad0fa08e87f0cb2942daeb403b812e5879b684f -AUX chromium-135-mv2-ungoogled.patch 8653 BLAKE2B 21947e2a25bb5306c63c93de772c41a06e2199a318e90888197d8d7c04bc55ad445a0a5984e84ec6238b80043851b427e4ef1e627dfd41da100b3d1948f6be0c SHA512 d77df69c86b4d91ffb7dbeb8b5640bafab03845c69c50bb0dd9c8b23b4d5d1658f1b9866eb7d0f80a757625e5882f5c65297c6dafe8ed8337de7c2fe5fced032 -AUX chromium-135-protobuf-RepeatedPtrField-export.patch 812 BLAKE2B ba7d6eca5967bfe7324b384bea5b80feb2fdf9013bc32a618ab3fa18b6c143c889e1691c7a9fff501fe8d6c9794e28a2b3541e9aac97614bd1f4a4891e78ca89 SHA512 8d9ba3b598ce70d20635372427d7134d6ebf7951e9015124d8cf928e745b1f234c199929adcdfa738583fabb87800e154ef2219f15a9489f5b64a1e477b3930e -AUX chromium-136-glic-comma.patch 656 BLAKE2B 7f28fb8872100b6ae945e320cdde71252bc0b97c84196eae0fe20fa413bda58b9116b31888c69f383296627b80afe9cb5b42d698831243c9be2dc228e9678eaa SHA512 2d98c41a30883ccd3b59a38ec1b7972ea402035e0b1914d4244bc59ba6c63dc4628e218ab07013f30237b1af840c6c87f5d9979a1ab5ca0e12b661fe9719c1e0 -AUX chromium-136-mv2-ungoogled.patch 8658 BLAKE2B a16b2f4b7d4bf94f342cd797b9ee1198840b6c270dc55266650232476513765758fa462ae76c0dfd61e9251842fc6c956a0175ee975129004b14a82ae91074d1 SHA512 a33324c4e20d97d8e6f9750050bacf0de32335a26d334a1374e2c246cbb2581dff74dbb1ff856550f49b1264f6ab01ffeb2edf4530c8f77f52594a57b5e9079f -AUX chromium-137-compiler-r1.patch 14072 BLAKE2B 82ff895744552c623ba45053933b82858cd4f278f2b89bc6f2f0098ba2fe9cbe7278a8d164b211917550fe0750e5273ec7a6c62816fef6293dbdee1a1954a628 SHA512 77a02509c5b620052944219a47e5d10601313bda69e71fd3102c09e10736d2b77767354f9004a11ba305558b610aa826a310b4f88b98910cde8a7ec7b5bbea7e -AUX chromium-137-compiler.patch 14061 BLAKE2B 867840bd18ddec81b22c5e497468ef1076d3801ce09c26a4f3cef431991504df755e50e8ab3728fd206e77538f148258e6e81d28566d51a858741038592f0045 SHA512 e8dca91544f0ef81270721aaf2038bc736ea18d16a47444f9caa74b336aff70b3d59c7fa68ccbe495c260e7a68b57f9679df9f5a3ac7348a0713ca2678b44d1a -AUX chromium-137-gn-exec_script_allowlist.patch 2328 BLAKE2B 6b575d1886f839c27eb6e1d331edf3e15f9b875050e27f2e34b94cf0293a60c994ed8144c1a5d73486794519fb0db3c469a7af79a7277d1567390474f61680a1 SHA512 2467d539a7ec22154314643d7396736644fe967d0126c671cf14dd5c063162a1fe499306910cd640499e541cf1ffa473eb4ed0a14f92a63c4da3a7bc0629edcd -AUX chromium-137-mv2-ungoogled-r1.patch 8715 BLAKE2B eabfeccb1b3536d1500d2ea0f5628727be85a4a4a9452a2f18ef52d34668e3f4b3b6c2964b8b60f2e06f6c0560fc1873eb326ecb86146796a9a05bc40bdc3f46 SHA512 4bce5dd230d25c76530f71b0440341cf7edf3802ffac90f1ffd7380718c261da805853a6f930e91fc11ad64c07d1f407ab55c6cbbe6bb3b7422d7a9c46a545c4 -AUX chromium-137-mv2-ungoogled.patch 8708 BLAKE2B a7c664c5b5789aa87a02b135a54365c28b4e23fa3299a8375e4d7d94b4414d6a5e4884d86df4f425efbbfe70f7ecdfbdd8937b12e9bc85e52b425b6e0a1d2ceb SHA512 427f9af6ffba70aab476389159672a0b19e328b1b67f38237ac4f13514b493741e07a3db830cdc90ea46ce355fcd9e1117bf45edc5c6214adc8d4b0b503056d1 -AUX chromium-137-pdfium-png-decoder-fieldname.patch 862 BLAKE2B a1cb42d7fc6e39bde7e6685533f3074731ba28439faaf9e6457b72b3ffa387274f0f4351bf006081ebfbf574353c2036b9a6467f509707d1a122fea9a540529c SHA512 e9419b1f5caf539c5bf54ec55c3a07edc3eaed0d71140b4f23a168602695902c8b8a6405de8052721ad11a2def4dca74252e9265da531eb9e5b71465c3cd8d79 -AUX chromium-138-compiler-r1.patch 17460 BLAKE2B f8de0c95a9ac6d30d68ce4ef4959f59e4ea2c60de4ba661ca543f2170529ea733026d9a82f54fb0e8214463a92a6c967c2793a8f683d1fae5565f62b9451ef98 SHA512 032d9b7a2e097e69e5e48638c61adb2029981e90181f9b922a615fbf062f4d036f10527acb4ce7e70dff7c893524313420eb189a046fd87c21c0b07a47bfa258 -AUX chromium-138-compiler.patch 17184 BLAKE2B 0b0202513d87aa2883611993afcb23cdc57715cf023328c7b2a89cffb394932fe6973984729efc0d74d08ab74c90cd0e6fa0a432ef0f9cf802aeda7a375a9cb9 SHA512 ae0783097a9658180c8ae70fec2fdf8ac9f497e98014b35a473a8b2ceb6e702a2794916539f13033cb544b34b07bf2307d66f08d6a6bbac90c3024a118eb18fc -AUX chromium-138-gn-exec_script_allowlist.patch 1828 BLAKE2B 9717369b1e89321d06c94757bab5e281b06d8f711f418c33cf68d1d6c2027b2743bd92d1aee97747546030902359766352fa06793b45485b5a1ba30fb7898436 SHA512 dc117e296daa8a02252450078c5aa25cb8dd447a61fe06b2f430708c69f8e429be99ba808f36464e57f8be0b5855be4c83d9e576a9e2d4282fc8bce213787b2d -AUX chromium-138-mv2-ungoogled.patch 7303 BLAKE2B 089429a5749d8a3cb071fbe48a35f6a709cf75465a6a3dbd2e72203af71bca8bfc4d3d81b441640089e50d7a0208de579fff32ea937b9cab7e0d6aafc92d57b1 SHA512 1721744dab5827ce9482faceed4eec40a198253e34250d3f3fc994bd287d096450585dd9712f1e4347e591c4873de10d6e6c53c225a2ca21c9c2c47f92820f3f -AUX chromium-139-compiler.patch 17165 BLAKE2B b9ffbe4bb34d21819ea0ff3f2447e9e9ea56b93745d6e85e1e924d5fd05b7675bc9ef97be7f37c87049a892a6a82a5ae8daf51aa99332fe3e88fb1265b5f288e SHA512 0ef18d5a6856a96966b44085cf983c5e657533e21940ed830c5bf338908f2d495fab10d0c633c8f1a5017293e0bb5ca1ffcaaa3e6f16a5b5c4eaf849ab9af786 -AUX chromium-139-mv2-ungoogled.patch 7365 BLAKE2B bec1adf79214352df32e2e7dc2ba27b773e840f8d8ef70d79096b3bf5822f5116591dae436bcb8caaf0ea3669004a9638719ec4947a704d536df3b83af05da21 SHA512 857f2ad5b4f0b9ede6018142fbced266fb09065f35f1609e66f6da0e128d40917f242923516c048d9341debdb02ef4acee33181eefcb51e797aa0754f1c94821 -AUX chromium-139-protobuf-RepeatedPtrField-export.patch 776 BLAKE2B aa491b162f812832eb03785fa14e969f87fffbaa0d61d04c3a16132f84e407aee49fdcd1e83d8ca944923f6631abdf22c13a5a52353e33f381bf208ee3401934 SHA512 a3e1e70876176ee239f548cf92da9f5bf678d568a50b3cb1e64bce7d1c61be2d3ee6edd0e6189e6cc2a21f59f3b0393280b280fdde5e4c3c0337a2327f6a515a -AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c25eb76e4a02f6d11659489c6e40397a0b2f7bc1fda336fd2c6dd8c863fccc3340719210b41c7fef51927f4 SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca -AUX chromium-cross-compile.patch 323 BLAKE2B 8d5091ce5287422c9688ede2563360a96b8bd34b9750dc1c8f0b6ca9aeff2c066fac2da169396baa131d971c087c78f9af53999df0e102d1f57176f5e8d3dd57 SHA512 06d3afc1aa19e57daac0e4bad37e1f365a68408240430e5e818e5a4f12e3b7519214eafa463633e447e7029f4ae13ea864ca347ad1fac117702a0be88718a954 -AUX chromium-launcher-r7.sh 1631 BLAKE2B ae28d758264446511fd2b64ba69fe920144b351e8833e0e98f43d00633e850094c288b5d97d1a84801ea13aceb294623692c86c1b9be5811b7b97fa8a07a1ecd SHA512 1e97f8394bd8bb4b29570b1b85176efe6258314a596f079bee1c4018113e0023aa54a93690ba8de2a00d127af10dbe2cc3fb3127b72b841c6f28f9e7bed820e0 -AUX chromium-shim_headers.patch 1510 BLAKE2B 9716cd250b249c6255aca01a385ef8a2a6f1df9ea3cf7499715543c14f8be62fd323b6048b890aa2be45891e7a765d92de3f41c3b3a88c08dae4b806c048e20f SHA512 c74bcf690a41b4f9b364477d23408d493aa674e3bd014940098a594471297c2a425241f908510061b5f11c9cfe009c4a803370edd757d3c0ab8d9c0cc128135c -AUX chromium-use-oauth2-client-switches-as-default.patch 1085 BLAKE2B baf3c463305934c126af4f7c5be305863edc7eec3add5b5ada30565b49b5944021eb40f1a9643e7eec3f973c502d9b02426f00b760570fcea5f1509219e41c6f SHA512 fe2878ee45778bac894ea17a668511d27ad2ca40988d5f11439790b700bfefd6560f3931415b4e6c543fcbbfc7cfef55cc757ed4ace1d111039ae78c46b81945 -AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739 -DIST chromium-138.0.7180.2.tar.xz 7260009848 BLAKE2B 5f3349980aeb8a188f02c27bcc904d79ab378baf0bdca3de3d93be3d3f0d11b56e0b0376b80c526a6c768f7bc966147d00a76dbe2576d2f3036f9472c75f39b2 SHA512 fef69173583b49ab63e43af51f3065e702a6e3da24c424321470f73aa4df6afdaa0a9bb90ca38e556cf4dbe9ca13f37d60918b26bb60446104aeda4e5bb2b42b -DIST chromium-139.0.7219.3.tar.xz 7125684092 BLAKE2B 1e119018525f27be748dbf4f4b44cd123cc8051bbfeac00aa43173ec9c3598f6ec1ce98ecbeaab44fe4612e600695c23b7ea64fed717c73b5dd8dd75da07ab2e SHA512 ed4a33c3092f0d8c7b17a69ed00106b94aab47f4253fb3d10ea47adfff32e752714ab5d606b5d0584feec48e2ae04b3e6527d73fe92b8fc82949a742a3bc12b9 -DIST chromium-profiler-0.2.tar 259952640 BLAKE2B 5e82389fce00b267280d633b26551231c558b80f0c92cd7d60271095a3503365ab673e7a46dc5f74f8a82db1f21262cb24dcc0531d954bab5fb3b175dab3394d SHA512 9fa89a5ab728419683e7495ae676567480987d68a2d589f2aa97bfcbcf123f3c8f97f8bca5f65e5e3f6e41475535add473ded83b9c7a33bb4746a9d05b298a6c -EBUILD chromium-138.0.7180.2.ebuild 40576 BLAKE2B a3d87d30c53bcda1ac7f27a8807a0902ef36810d9dd816ac8467f802230f474fc034263b5f04dff9d31318441d5a2f6341ba0f221e6d82957c8ab237654ca3c4 SHA512 6cf938c28f225dff92d12db908329447a5f9ae97fc3bc067a0e795448f2580279b12d998e8d2bd5b425c15e065ff830d67aff56edd0a29c67901ee13a393aea2 -EBUILD chromium-139.0.7219.3.ebuild 40446 BLAKE2B 9f6e4c830d208c143b9cea060f3cd5c6b8bf7eb23edc428fab1f05c7e5abdc17bb134568476584dc3175e8d7605019ad0606bd12fa5f49c64ad9b95b4648cb24 SHA512 99bd2ced6ff4d65df6cce467940f7e54bf83049fe2985f346daa3e85d96d42d312d6152e83ecafdfb6e76ff8b04c8cbe4da8f483a3253d02924f43e239f96d9e diff --git a/www-client/chromium/chromium-138.0.7180.2.ebuild b/www-client/chromium/chromium-138.0.7180.2.ebuild deleted file mode 100644 index 6ddb26a..0000000 --- a/www-client/chromium/chromium-138.0.7180.2.ebuild +++ /dev/null @@ -1,1292 +0,0 @@ -# Copyright 2009-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{9..12} ) -PYTHON_REQ_USE="xml(+)" -LLVM_COMPAT=( 19 ) -RUST_MIN_VER=1.78.0 -RUST_NEEDS_LLVM="yes please" - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr - sv sw ta te th tr uk ur vi zh-CN zh-TW" - -VIRTUALX_REQUIRED="pgo" - -inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 ninja-utils pax-utils -inherit python-any-r1 qmake-utils readme.gentoo-r1 rust toolchain-funcs virtualx xdg-utils - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://chromium.org/" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/dev" -KEYWORDS="~amd64 ~arm64" -IUSE="+X component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless kerberos libcxx lto +official pgo pic +proprietary-codecs pulseaudio qt5 screencast selinux +suid +system-av1 +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" -REQUIRED_USE=" - component-build? ( !suid !libcxx ) - screencast? ( wayland ) - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) -" - -COMMON_X_DEPEND=" - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-71.1:= ) - >=dev-libs/libxml2-2.9.4-r3:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng(-)] ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - system-av1? ( - >=media-libs/dav1d-1.0.0:= - >=media-libs/libaom-3.4.0:= - ) - sys-libs/zlib:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-sound/pulseaudio:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-libs/libX11:= - x11-libs/libXext:= - x11-libs/libxcb:= - ) - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/libffi:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - system-ffmpeg? ( - >=media-video/ffmpeg-4.3:= - || ( - media-video/ffmpeg[-samba] - >=net-fs/samba-4.5.10-r1[-debug(-)] - ) - >=media-libs/opus-1.3.1:= - ) - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - X? ( ${COMMON_X_DEPEND} ) - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - cups? ( >=net-print/cups-1.3.11:= ) - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtwidgets:5 - ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt5? ( dev-qt/qtgui:5[X?,wayland?] ) - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X?,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) - ) -" - -depend_clang_llvm_version() { - echo "llvm-core/clang:$1" - echo "llvm-core/llvm:$1" - echo "=llvm-core/lld-$1*" -} - -depend_clang_llvm_versions() { - local _v - if [[ $# -gt 1 ]]; then - echo "|| (" - for _v in "$@"; do - echo "(" - depend_clang_llvm_version "${_v}" - echo ")" - done - echo ")" - elif [[ $# -eq 1 ]]; then - depend_clang_llvm_version "$1" - fi -} - -BDEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - !headless? ( - qt5? ( dev-qt/qtcore:5 ) - ) - libcxx? ( >=llvm-core/clang-13 ) - lto? ( $(depend_clang_llvm_versions 19) ) - pgo? ( - >=dev-python/selenium-3.141.0 - >=dev-util/web_page_replay_go-20220314 - $(depend_clang_llvm_versions 19) - ) - dev-util/bindgen - dev-lang/perl - >=dev-build/gn-0.2122 - >=dev-util/gperf-3.0.3 - >=dev-build/ninja-1.7.2 - dev-vcs/git - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig -" - -# These are intended for ebuild maintainer use to force clang if GCC is broken. -: ${CHROMIUM_FORCE_CLANG=yes} - -if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then - BDEPEND+=" >=llvm-core/clang-13" -fi - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -needs_clang() { - [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo -} - -llvm_check_deps() { - if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then - einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if ( use lto || use pgo ) && ! has_version -b "=llvm-core/lld-${LLVM_SLOT}*" ; then - einfo "=llvm-core/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -pre_build_checks() { - if [[ ${MERGE_TYPE} != binary ]]; then - [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && ( use lto || use pgo ) && llvm-r1_pkg_setup - - local -x CPP="$(tc-getCXX) -E" - if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 10.4; then - die "At least gcc 10.4 is required" - fi - if use pgo && tc-is-cross-compiler; then - die "The pgo USE flag cannot be used when cross-compiling" - fi - if needs_clang || tc-is-clang; then - tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++ - CPP+=" -E" - fi - fi - - # Check build requirements, bug #541816 and bug #471810 . - CHECKREQS_MEMORY="4G" - CHECKREQS_DISK_BUILD="12G" - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="14G" - if use lto || use pgo; then - CHECKREQS_MEMORY="9G" - CHECKREQS_DISK_BUILD="13G" - tc-is-cross-compiler && CHECKREQS_DISK_BUILD="16G" - use pgo && CHECKREQS_DISK_BUILD="20G" - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags || use component-build; then - CHECKREQS_DISK_BUILD="25G" - fi - if ! use component-build; then - CHECKREQS_MEMORY="16G" - fi - fi - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - pre_build_checks - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." - done - fi -} - -pkg_setup() { - pre_build_checks - - chromium_suid_sandbox_check_kernel_config - - # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams - if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then - ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" - ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." - fi - - llvm-r1_pkg_setup - rust_pkg_setup -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local PATCHES=( - "${FILESDIR}/chromium-135-protobuf-RepeatedPtrField-export.patch" - "${FILESDIR}/chromium-138-compiler-r1.patch" - "${FILESDIR}/chromium-119-minizip.patch" - "${FILESDIR}/chromium-118-material-color-utils.patch" - "${FILESDIR}/chromium-126-freetype-blink.patch" - "${FILESDIR}/chromium-124-metrics-histograms-nodepotbin.patch" - "${FILESDIR}/chromium-138-gn-exec_script_allowlist.patch" - "${FILESDIR}/chromium-137-pdfium-png-decoder-fieldname.patch" - "${FILESDIR}/chromium-138-mv2-ungoogled.patch" - - "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - "${FILESDIR}/chromium-134-EnumTable-crash.patch" - "${FILESDIR}/chromium-cross-compile.patch" - ) - - sed -i -e \ - "/if (is_clang && toolchain_has_rust) {/,+2d" \ - build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" - sed -i -e \ - "/\`--sysroot\` flag/i\ \ \ \ args += [ \"-I\" + rebase_path(sysroot + \"/usr/lib/clang/${LLVM_SLOT}/include/\", root_build_dir) ]" \ - -e \ - "/clang_resource_dir =/,+2d" \ - -e \ - "s/clang_resource_dir,/rebase_path(sysroot + \"\/usr\/lib\/clang\/${LLVM_SLOT}\/\", root_build_dir)/" \ - build/rust/rust_bindgen.gni || die "Failed to append include dir for bindgen" - - default - - #mkdir -p third_party/node/linux/node-linux-x64/bin || die - #ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # I don't know how to do this properly - rm -r third_party/rust-toolchain || die - mkdir -p third_party/rust-toolchain/bin || die - ln -s "${EPREFIX}"/usr/bin/bindgen third_party/rust-toolchain/bin/bindgen || die - ln -s "${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/lib64" third_party/rust-toolchain/lib || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - sed -i -e "s|vpython3|${EPYTHON}|g" testing/xvfb.py || die - - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic - net/third_party/uri_template - third_party/abseil-cpp - third_party/angle - third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/ceval - third_party/angle/src/third_party/libXNVCtrl - third_party/angle/src/third_party/volk - third_party/anonymous_tokens - third_party/apple_apsl - third_party/axe-core - third_party/bidimapper - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4-4.9.3 - third_party/catapult/third_party/html5lib-1.1 - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako - third_party/ced - third_party/compiler-rt - third_party/content_analysis_sdk - third_party/cld_3 - third_party/closure_compiler - third_party/cpuinfo - third_party/crabbyavif - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - third_party/crc32c - third_party/cros_system_api - third_party/d3 - third_party/dawn - third_party/dawn/third_party/gn/webgpu-cts - third_party/dawn/third_party/khronos - third_party/depot_tools - third_party/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/devtools-frontend/src/front_end/third_party/axe-core - third_party/devtools-frontend/src/front_end/third_party/chromium - third_party/devtools-frontend/src/front_end/third_party/codemirror - third_party/devtools-frontend/src/front_end/third_party/csp_evaluator - third_party/devtools-frontend/src/front_end/third_party/diff - third_party/devtools-frontend/src/front_end/third_party/i18n - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat - third_party/devtools-frontend/src/front_end/third_party/json5 - third_party/devtools-frontend/src/front_end/third_party/legacy-javascript - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/front_end/third_party/lit - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/puppeteer - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs - third_party/devtools-frontend/src/front_end/third_party/third-party-web - third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/web-vitals - third_party/devtools-frontend/src/third_party - third_party/dom_distiller_js - third_party/dragonbox - third_party/eigen3 - third_party/emoji-segmenter - third_party/fast_float - third_party/farmhash - third_party/fdlibm - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - third_party/highway - third_party/liburlpattern - third_party/libzip - third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/harfbuzz-ng - third_party/hunspell - third_party/ink - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - third_party/jsoncpp - third_party/khronos - third_party/leveldatabase - third_party/lens_server_proto - third_party/libaddressinput - third_party/libdrm - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/libtess2 - third_party/libva_protected_content - third_party/libvpx - third_party/libvpx/source/libvpx/third_party/x86inc - third_party/libwebm - third_party/libwebp - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - third_party/lit - third_party/llvm - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - third_party/markupsafe - third_party/material_color_utilities - third_party/mesa - third_party/metrics_proto - third_party/minigbm - third_party/modp_b64 - third_party/nasm - third_party/nearby - third_party/neon_2_sse - third_party/node - third_party/omnibox_proto - third_party/one_euro_filter - third_party/openh264 - third_party/openscreen - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - third_party/pdfium/third_party/bigint - third_party/pdfium/third_party/freetype - third_party/pdfium/third_party/lcms - third_party/pdfium/third_party/libopenjpeg - third_party/pdfium/third_party/libtiff - third_party/perfetto - third_party/perfetto/protos/third_party/chromium - third_party/perfetto/protos/third_party/simpleperf - third_party/pffft - third_party/ply - third_party/polymer - third_party/private-join-and-compute - third_party/private_membership - third_party/protobuf - third_party/protobuf/third_party/utf8_range - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/rapidhash - third_party/rnnoise - third_party/rust - third_party/s2cellid - third_party/search_engines_data - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simdutf - third_party/simplejson - third_party/six - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/spirv-tools - third_party/spirv-headers - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/subzero - third_party/swiftshader/third_party/SPIRV-Headers - third_party/swiftshader/third_party/SPIRV-Tools - third_party/tensorflow-text - third_party/tensorflow_models - third_party/tflite - third_party/tflite/src/third_party/xla - third_party/tflite/src/third_party/xla/third_party/tsl - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/ruy - third_party/six - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - third_party/wasm_tts_engine - third_party/wayland - third_party/webdriver - third_party/webgpu-cts - third_party/webrtc - third_party/webrtc/common_audio/third_party/ooura - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/modules/third_party/fft - third_party/webrtc/modules/third_party/g711 - third_party/webrtc/modules/third_party/g722 - third_party/webrtc/rtc_base/third_party/sigslot - third_party/widevine - third_party/woff2 - third_party/wuffs - third_party/x11proto - third_party/xcbproto - third_party/xnnpack - third_party/zxcvbn-cpp - third_party/zlib/contrib/minizip - third_party/zlib/google - third_party/zstd - url/third_party/mozilla - v8/third_party/siphash - v8/third_party/utf8-decoder - v8/third_party/valgrind - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/rapidhash-v8 - v8/third_party/v8 - - # gyp -> gn leftovers - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - if ! use system-ffmpeg; then - keeplibs+=( third_party/ffmpeg third_party/opus ) - fi - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - if ! use system-av1; then - keeplibs+=( - third_party/dav1d - third_party/libaom - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libaom/source/libaom/third_party/SVT-AV1 - third_party/libaom/source/libaom/third_party/vector - third_party/libaom/source/libaom/third_party/x86inc - ) - fi - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng ) - fi - if true || use libcxx; then - keeplibs+=( third_party/re2 ) - keeplibs+=( third_party/libc++ ) - fi - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - - pushd third_party/ffmpeg >/dev/null || die - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die - popd >/dev/null || die - fi - - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -chromium_rust_version_check() { - [[ ${MERGE_TYPE} == binary ]] && return - local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) - rustc_version=${rustc_version[0]#rust-bin-} - rustc_version=${rustc_version#rust-} - - [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" - - echo $rustc_version -} - -chromium_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - if needs_clang && ! tc-is-clang; then - # Force clang since gcc is either broken or build is using libcxx. - if tc-is-cross-compiler; then - CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_CC=${CBUILD}-clang - BUILD_CXX=${CBUILD}-clang++ - else - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - fi - strip-unsupported-flags - fi - - if tc-is-clang; then - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - else - myconf_gn+=" is_clang=false" - fi - - # Force lld for lto or pgo builds only, otherwise disable, bug 641556 - if use lto || use pgo; then - myconf_gn+=" use_lld=true" - else - myconf_gn+=" use_lld=false" - fi - - if use lto || use pgo; then - AR=llvm-ar - NM=llvm-nm - if tc-is-cross-compiler; then - BUILD_AR=llvm-ar - BUILD_NM=llvm-nm - fi - fi - - # Define a custom toolchain for GN - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - local rustc_ver - rustc_ver=$(chromium_rust_version_check) - if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then - eerror "Rust >=${RUST_MIN_VER} is required" - eerror "Please run 'eselect rust' and select the correct rust version" - die "Selected rust version is too old" - else - einfo "Using rust ${rustc_ver} to build" - fi - myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" - myconf_gn+=" rustc_version=\"${rustc_ver}\"" - - # Create dummy pkg-config file for libsystemd, only dependency of installer - mkdir "${T}/libsystemd" || die - cat <<- EOF > "${T}/libsystemd/libsystemd.pc" - Name: - Description: - Version: - EOF - local -x PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+"${PKG_CONFIG_PATH}:"}${T}/libsystemd" - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" - myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=$(usex component-build true false)" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - #132: system libdrm is not supported??? - #libdrm - libjpeg - # libwebp - libxml - libxslt - #133: libva shit depends on vendored openh264 now - #openh264 - zlib - ) - if use system-ffmpeg; then - gn_system_libraries+=( ffmpeg opus ) - fi - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if use system-av1; then - gn_system_libraries+=( dav1d libaom ) - fi - # re2 library interface relies on std::string and std::vector - if false && ! use libcxx; then - gn_system_libraries+=( re2 ) - fi - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Disable deprecated libgnome-keyring dependency, bug #713012 - myconf_gn+=" use_gnome_keyring=false" - - # Optional dependencies. - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # TODO: link_pulseaudio=true for GN. - - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # Never use bundled gold binary. Disable gold linker flags for now. - # Do not use bundled clang. - # Trying to use gold results in linker crash. - myconf_gn+=" use_gold=false use_sysroot=false" - myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - if ! use component-build || use x86; then - filter-flags "-g*" - fi - - # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. - if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = x86 ]] ; then - myconf_gn+=" target_cpu=\"x86\"" - ffmpeg_target_arch=ia32 - - # This is normally defined by compiler_cpu_abi in - # build/config/compiler/BUILD.gn, but we patch that part out. - append-flags -msse2 -mfpmath=sse -mmmx - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = arm ]] ; then - myconf_gn+=" target_cpu=\"arm\"" - ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - # Make sure that -Werror doesn't get added to CFLAGS by the build system. - # Depending on GCC version the warnings are different and we don't want - # the build to fail because of that. - myconf_gn+=" treat_warnings_as_errors=false" - - # Disable fatal linker warnings, bug 506268. - myconf_gn+=" fatal_linker_warnings=false" - - # Disable external code space for V8 for ppc64. It is disabled for ppc64 - # by default, but cross-compiling on amd64 enables it again. - if tc-is-cross-compiler; then - if ! use amd64 && ! use arm64; then - myconf_gn+=" v8_enable_external_code_space=false" - fi - fi - - # Only enabled for clang, but gcc has endian macros too - myconf_gn+=" v8_use_libm_trig_functions=true" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - #if ! use system-ffmpeg; then - if false; then - local build_ffmpeg_args="" - if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then - build_ffmpeg_args+=" --disable-asm" - fi - - # Re-configure bundled ffmpeg. See bug #491378 for example reasons. - einfo "Configuring bundled ffmpeg..." - pushd third_party/ffmpeg > /dev/null || die - chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ - --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die - chromium/scripts/copy_config.sh || die - chromium/scripts/generate_gn.py || die - popd > /dev/null || die - fi - - # Disable unknown warning message from clang. - if tc-is-clang; then - append-flags -Wno-unknown-warning-option - if tc-is-cross-compiler; then - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" - export BUILD_CFLAGS+=" -Wno-unknown-warning-option" - fi - fi - - # Explicitly disable ICU data file support for system-icu/headless builds. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - myconf_gn+=" enable_remoting=false" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - else - # myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - if use qt5; then - local moc_dir="$(qt5_get_bindir)" - if tc-is-cross-compiler; then - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) - cbuild_libdir=${cbuild_libdir:2} - moc_dir="${EPREFIX}"/${cbuild_libdir/% }/qt5/bin - fi - export PATH="${PATH}:${moc_dir}" - fi - myconf_gn+=" use_qt=$(usex qt5 true false)" - myconf_gn+=" ozone_platform_x11=$(usex X true false)" - myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" - myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" - use wayland && myconf_gn+=" use_system_libffi=true" - fi - - # Results in undefined references in chrome linking, may require CFI to work - if use arm64; then - myconf_gn+=" arm_control_flow_integrity=\"none\"" - fi - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - myconf_gn+=" use_thin_lto=$(usex lto true false)" - myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)" - if use official; then - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py || die - # Disable CFI: unsupported for GCC, requires clang+lto+lld - myconf_gn+=" is_cfi=false" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - if use pgo; then - myconf_gn+=" chrome_pgo_phase=${1}" - if [[ "$1" == "2" ]]; then - myconf_gn+=" pgo_data_path=\"${2}\"" - fi - else - # Disable PGO, because profile data is only compatible with >=clang-11 - myconf_gn+=" chrome_pgo_phase=0" - fi - - # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639 - if use arm64 && tc-is-gcc; then - sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \ - third_party/crc32c/src/src/crc32c_arm64.cc || die - fi - - # skipping typecheck is only supported on amd64, bug #876157 - if ! use amd64; then - myconf_gn+=" devtools_skip_typecheck=false" - fi - - # broken in 119 - myconf_gn+=" enable_nocompile_tests=false" - - einfo "Configuring Chromium..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_configure() { - chromium_configure $(usex pgo 1 0) -} - -chromium_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - # Build mksnapshot and pax-mark it. - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver - use suid && eninja -C out/Release chrome_sandbox - - pax-mark m out/Release/chrome -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - if use suid; then - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - fi - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use X && use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" - doins out/Release/xdg-{settings,mime} - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - fi -} diff --git a/www-client/chromium/chromium-139.0.7246.0.ebuild b/www-client/chromium/chromium-139.0.7246.0.ebuild new file mode 100644 index 0000000..a4559ab --- /dev/null +++ b/www-client/chromium/chromium-139.0.7246.0.ebuild @@ -0,0 +1,1294 @@ +# Copyright 2009-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{12..13} ) +PYTHON_REQ_USE="xml(+)" +LLVM_COMPAT=( 20 ) +RUST_MIN_VER=1.87.0 +RUST_NEEDS_LLVM="yes please" +GN_MIN_VER=0.2235 + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr + sv sw ta te th tr uk ur vi zh-CN zh-TW" + +VIRTUALX_REQUIRED="pgo" + +inherit check-reqs chromium-2 desktop flag-o-matic llvm-r1 ninja-utils pax-utils +inherit python-any-r1 qmake-utils readme.gentoo-r1 rust toolchain-funcs virtualx xdg-utils + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="https://chromium.org/" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/dev" +KEYWORDS="~amd64 ~arm64" +IUSE="+X component-build cups cpu_flags_arm_neon debug gtk4 +hangouts headless kerberos libcxx lto +official pgo pic +proprietary-codecs pulseaudio qt6 screencast selinux +suid +system-av1 +system-ffmpeg +system-harfbuzz +system-icu +system-png vaapi wayland widevine" +REQUIRED_USE=" + component-build? ( !suid !libcxx ) + screencast? ( wayland ) + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-71.1:= ) + >=dev-libs/libxml2-2.9.4-r3:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + !libcxx? ( >=dev-libs/re2-0.2019.08.01:= ) + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + system-png? ( media-libs/libpng:=[-apng(-)] ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + system-av1? ( + >=media-libs/dav1d-1.0.0:= + >=media-libs/libaom-3.4.0:= + ) + sys-libs/zlib:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-sound/pulseaudio:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-libs/libX11:= + x11-libs/libXext:= + x11-libs/libxcb:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/libffi:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + system-ffmpeg? ( + >=media-video/ffmpeg-4.3:= + || ( + media-video/ffmpeg[-samba] + >=net-fs/samba-4.5.10-r1[-debug(-)] + ) + >=media-libs/opus-1.3.1:= + ) + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + X? ( ${COMMON_X_DEPEND} ) + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + cups? ( >=net-print/cups-1.3.11:= ) + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) +" +DEPEND="${COMMON_DEPEND} + !headless? ( + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + +depend_clang_llvm_version() { + echo "llvm-core/clang:$1" + echo "llvm-core/llvm:$1" + echo "=llvm-core/lld-$1*" +} + +depend_clang_llvm_versions() { + local _v + if [[ $# -gt 1 ]]; then + echo "|| (" + for _v in "$@"; do + echo "(" + depend_clang_llvm_version "${_v}" + echo ")" + done + echo ")" + elif [[ $# -eq 1 ]]; then + depend_clang_llvm_version "$1" + fi +} + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt6? ( dev-qt/qtbase:6 ) + ) + libcxx? ( >=llvm-core/clang-13 ) + lto? ( $(depend_clang_llvm_versions 19) ) + pgo? ( + >=dev-python/selenium-3.141.0 + >=dev-util/web_page_replay_go-20220314 + $(depend_clang_llvm_versions 19) + ) + dev-util/bindgen + dev-lang/perl + >=dev-build/gn-${GN_MIN_VER} + >=dev-util/gperf-3.0.3 + >=dev-build/ninja-1.7.2 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig +" + +# These are intended for ebuild maintainer use to force clang if GCC is broken. +: ${CHROMIUM_FORCE_CLANG=yes} + +if [[ ${CHROMIUM_FORCE_CLANG} == yes ]]; then + BDEPEND+=" >=llvm-core/clang-13" +fi + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +needs_clang() { + [[ ${CHROMIUM_FORCE_CLANG} == yes ]] || use libcxx || use lto || use pgo +} + +llvm_check_deps() { + if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then + einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if ( use lto || use pgo ) && ! has_version -b "=llvm-core/lld-${LLVM_SLOT}*" ; then + einfo "=llvm-core/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +pre_build_checks() { + if [[ ${MERGE_TYPE} != binary ]]; then + [[ ${EBUILD_PHASE_FUNC} == pkg_setup ]] && ( use lto || use pgo ) && llvm-r1_pkg_setup + + local -x CPP="$(tc-getCXX) -E" + if tc-is-gcc && ! ver_test "$(gcc-version)" -ge 10.4; then + die "At least gcc 10.4 is required" + fi + if use pgo && tc-is-cross-compiler; then + die "The pgo USE flag cannot be used when cross-compiling" + fi + if needs_clang || tc-is-clang; then + tc-is-cross-compiler && CPP=${CBUILD}-clang++ || CPP=${CHOST}-clang++ + CPP+=" -E" + fi + fi + + # Check build requirements, bug #541816 and bug #471810 . + CHECKREQS_MEMORY="4G" + CHECKREQS_DISK_BUILD="12G" + tc-is-cross-compiler && CHECKREQS_DISK_BUILD="14G" + if use lto || use pgo; then + CHECKREQS_MEMORY="9G" + CHECKREQS_DISK_BUILD="13G" + tc-is-cross-compiler && CHECKREQS_DISK_BUILD="16G" + use pgo && CHECKREQS_DISK_BUILD="20G" + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags || use component-build; then + CHECKREQS_DISK_BUILD="25G" + fi + if ! use component-build; then + CHECKREQS_MEMORY="16G" + fi + fi + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + pre_build_checks + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt6" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse} since USE=headless is set." + done + fi +} + +pkg_setup() { + pre_build_checks + + chromium_suid_sandbox_check_kernel_config + + # nvidia-drivers does not work correctly with Wayland due to unsupported EGLStreams + if use wayland && ! use headless && has_version "x11-drivers/nvidia-drivers"; then + ewarn "Proprietary nVidia driver does not work with Wayland. You can disable" + ewarn "Wayland by setting DISABLE_OZONE_PLATFORM=true in /etc/chromium/default." + fi + + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local PATCHES=( + "${FILESDIR}/chromium-139-protobuf-RepeatedPtrField-export.patch" + "${FILESDIR}/chromium-139-compiler-r1.patch" + "${FILESDIR}/chromium-119-minizip.patch" + "${FILESDIR}/chromium-118-material-color-utils.patch" + "${FILESDIR}/chromium-126-freetype-blink.patch" + "${FILESDIR}/chromium-124-metrics-histograms-nodepotbin.patch" + "${FILESDIR}/chromium-138-gn-exec_script_allowlist.patch" + "${FILESDIR}/chromium-139-mv2-ungoogled-r1.patch" + + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + "${FILESDIR}/chromium-134-EnumTable-crash.patch" + "${FILESDIR}/chromium-cross-compile.patch" + ) + + sed -i -e \ + "/if (is_clang && toolchain_has_rust) {/,+2d" \ + build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" + sed -i -e \ + "/\`--sysroot\` flag/i\ \ \ \ args += [ \"-I\" + rebase_path(sysroot + \"/usr/lib/clang/${LLVM_SLOT}/include/\", root_build_dir) ]" \ + -e \ + "/clang_resource_dir =/,+2d" \ + -e \ + "s/clang_resource_dir,/rebase_path(sysroot + \"\/usr\/lib\/clang\/${LLVM_SLOT}\/\", root_build_dir)/" \ + build/rust/rust_bindgen.gni || die "Failed to append include dir for bindgen" + + default + + #mkdir -p third_party/node/linux/node-linux-x64/bin || die + #ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # I don't know how to do this properly + rm -r third_party/rust-toolchain || die + mkdir -p third_party/rust-toolchain/bin || die + ln -s "${EPREFIX}"/usr/bin/bindgen third_party/rust-toolchain/bin/bindgen || die + ln -s "${EPREFIX}/usr/lib/llvm/${LLVM_SLOT}/lib64" third_party/rust-toolchain/lib || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + sed -i -e "s|vpython3|${EPYTHON}|g" testing/xvfb.py || die + + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/bidimapper + third_party/blink + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/compiler-rt + third_party/content_analysis_sdk + third_party/cld_3 + third_party/closure_compiler + third_party/cpuinfo + third_party/crabbyavif + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/d3 + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/khronos + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/csp_evaluator + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/json5 + third_party/devtools-frontend/src/front_end/third_party/legacy-javascript + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/third-party-web + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/front_end/third_party/web-vitals + third_party/devtools-frontend/src/third_party + third_party/dom_distiller_js + third_party/dragonbox + third_party/eigen3 + third_party/emoji-segmenter + third_party/fast_float + third_party/farmhash + third_party/fdlibm + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/highway + third_party/liburlpattern + third_party/libzip + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/harfbuzz-ng + third_party/hunspell + third_party/ink + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/khronos + third_party/leveldatabase + third_party/lens_server_proto + third_party/libaddressinput + third_party/libdrm + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/libtess2 + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libwebp + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/lit + third_party/llvm + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/ml_dtypes + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openh264 + third_party/openscreen + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + third_party/pdfium/third_party/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/perfetto/protos/third_party/simpleperf + third_party/pffft + third_party/ply + third_party/polymer + third_party/private-join-and-compute + third_party/private_membership + third_party/protobuf + third_party/protobuf/third_party/utf8_range + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/rapidhash + third_party/rnnoise + third_party/rust + third_party/s2cellid + third_party/search_engines_data + third_party/securemessage + third_party/selenium-atoms + third_party/sentencepiece + third_party/sentencepiece/src/third_party/darts_clone + third_party/shell-encryption + third_party/simdutf + third_party/simplejson + third_party/six + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/spirv-tools + third_party/spirv-headers + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/subzero + third_party/swiftshader/third_party/SPIRV-Headers + third_party/swiftshader/third_party/SPIRV-Tools + third_party/tensorflow-text + third_party/tensorflow_models + third_party/tflite + third_party/tflite/src/third_party/xla + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/tflite/src/third_party/fft2d + third_party/ruy + third_party/six + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wasm_tts_engine + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zxcvbn-cpp + third_party/zlib/contrib/minizip + third_party/zlib/google + third_party/zstd + url/third_party/mozilla + v8/third_party/siphash + v8/third_party/utf8-decoder + v8/third_party/valgrind + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/rapidhash-v8 + v8/third_party/v8 + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + if ! use system-ffmpeg; then + keeplibs+=( third_party/ffmpeg third_party/opus ) + fi + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + if ! use system-png; then + keeplibs+=( third_party/libpng ) + fi + if ! use system-av1; then + keeplibs+=( + third_party/dav1d + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + ) + fi + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + if true || use libcxx; then + keeplibs+=( third_party/re2 ) + keeplibs+=( third_party/libc++ ) + fi + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + # requires git and clang, bug #832803 + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries + mkdir -p buildtools/third_party/eu-strip/bin || die + ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die +} + +chromium_rust_version_check() { + [[ ${MERGE_TYPE} == binary ]] && return + local rustc_version=( $(eselect --brief rust show 2>/dev/null) ) + rustc_version=${rustc_version[0]#rust-bin-} + rustc_version=${rustc_version#rust-} + + [[ -z "${rustc_version}" ]] && die "Failed to determine rust version, check 'eselect rust' output" + + echo $rustc_version +} + +chromium_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + if needs_clang && ! tc-is-clang; then + # Force clang since gcc is either broken or build is using libcxx. + if tc-is-cross-compiler; then + CC="${CBUILD}-clang -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CBUILD}-clang++ -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_CC=${CBUILD}-clang + BUILD_CXX=${CBUILD}-clang++ + else + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + fi + strip-unsupported-flags + fi + + if tc-is-clang; then + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + else + myconf_gn+=" is_clang=false" + fi + + # Force lld for lto or pgo builds only, otherwise disable, bug 641556 + if use lto || use pgo; then + myconf_gn+=" use_lld=true" + else + myconf_gn+=" use_lld=false" + fi + + if use lto || use pgo; then + AR=llvm-ar + NM=llvm-nm + if tc-is-cross-compiler; then + BUILD_AR=llvm-ar + BUILD_NM=llvm-nm + fi + fi + + # Define a custom toolchain for GN + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" + myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + local rustc_ver + rustc_ver=$(chromium_rust_version_check) + if ver_test "${rustc_ver}" -lt "${RUST_MIN_VER}"; then + eerror "Rust >=${RUST_MIN_VER} is required" + eerror "Please run 'eselect rust' and select the correct rust version" + die "Selected rust version is too old" + else + einfo "Using rust ${rustc_ver} to build" + fi + myconf_gn+=" rust_sysroot_absolute=\"${EPREFIX}/usr/lib/rust/${rustc_ver}/\"" + myconf_gn+=" rustc_version=\"${rustc_ver}\"" + + # Create dummy pkg-config file for libsystemd, only dependency of installer + mkdir "${T}/libsystemd" || die + cat <<- EOF > "${T}/libsystemd/libsystemd.pc" + Name: + Description: + Version: + EOF + local -x PKG_CONFIG_PATH="${PKG_CONFIG_PATH:+"${PKG_CONFIG_PATH}:"}${T}/libsystemd" + + # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. + myconf_gn+=" is_debug=false" + + myconf_gn+=" rust_sysroot_absolute=\"$(get_rust_prefix)\"" + myconf_gn+=" rustc_version=\"${RUST_SLOT}\"" + + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + myconf_gn+=" dcheck_always_on=$(usex debug true false)" + myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=$(usex component-build true false)" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + #132: system libdrm is not supported??? + #libdrm + libjpeg + # libwebp + libxml + libxslt + #133: libva shit depends on vendored openh264 now + #openh264 + zlib + ) + if use system-ffmpeg; then + gn_system_libraries+=( ffmpeg opus ) + fi + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-png; then + gn_system_libraries+=( libpng ) + fi + if use system-av1; then + gn_system_libraries+=( dav1d libaom ) + fi + # re2 library interface relies on std::string and std::vector + if false && ! use libcxx; then + gn_system_libraries+=( re2 ) + fi + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" + + # Disable deprecated libgnome-keyring dependency, bug #713012 + myconf_gn+=" use_gnome_keyring=false" + + # Optional dependencies. + myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" + myconf_gn+=" enable_widevine=$(usex widevine true false)" + + if use headless; then + myconf_gn+=" use_cups=false" + myconf_gn+=" use_kerberos=false" + myconf_gn+=" use_pulseaudio=false" + myconf_gn+=" use_vaapi=false" + myconf_gn+=" rtc_use_pipewire=false" + else + myconf_gn+=" use_cups=$(usex cups true false)" + myconf_gn+=" use_kerberos=$(usex kerberos true false)" + myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" + myconf_gn+=" use_vaapi=$(usex vaapi true false)" + myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" + myconf_gn+=" gtk_version=$(usex gtk4 4 3)" + fi + + # TODO: link_pulseaudio=true for GN. + + myconf_gn+=" disable_fieldtrial_testing_config=true" + + # Never use bundled gold binary. Disable gold linker flags for now. + # Do not use bundled clang. + # Trying to use gold results in linker crash. + myconf_gn+=" use_gold=false use_sysroot=false" + myconf_gn+=" use_custom_libcxx=$(usex libcxx true false)" + + # Disable pseudolocales, only used for testing + myconf_gn+=" enable_pseudolocales=false" + + # Disable code formating of generated files + myconf_gn+=" blink_enable_generated_code_formatting=false" + + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. The OAuth2 credentials, however, have been left out. + # Those OAuth2 credentials have been broken for quite some time anyway. + # Instead we apply a patch to use the --oauth2-client-id= and + # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and + # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into + # Chromium without baked-in values. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + if ! use component-build || use x86; then + filter-flags "-g*" + fi + + # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + fi + fi + + if [[ $myarch = amd64 ]] ; then + myconf_gn+=" target_cpu=\"x64\"" + ffmpeg_target_arch=x64 + elif [[ $myarch = x86 ]] ; then + myconf_gn+=" target_cpu=\"x86\"" + ffmpeg_target_arch=ia32 + + # This is normally defined by compiler_cpu_abi in + # build/config/compiler/BUILD.gn, but we patch that part out. + append-flags -msse2 -mfpmath=sse -mmmx + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = arm ]] ; then + myconf_gn+=" target_cpu=\"arm\"" + ffmpeg_target_arch=$(usex cpu_flags_arm_neon arm-neon arm) + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + # Make sure that -Werror doesn't get added to CFLAGS by the build system. + # Depending on GCC version the warnings are different and we don't want + # the build to fail because of that. + myconf_gn+=" treat_warnings_as_errors=false" + + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Only enabled for clang, but gcc has endian macros too + myconf_gn+=" v8_use_libm_trig_functions=true" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + #if ! use system-ffmpeg; then + if false; then + local build_ffmpeg_args="" + if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then + build_ffmpeg_args+=" --disable-asm" + fi + + # Re-configure bundled ffmpeg. See bug #491378 for example reasons. + einfo "Configuring bundled ffmpeg..." + pushd third_party/ffmpeg > /dev/null || die + chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \ + --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die + chromium/scripts/copy_config.sh || die + chromium/scripts/generate_gn.py || die + popd > /dev/null || die + fi + + # Disable unknown warning message from clang. + if tc-is-clang; then + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Enable ozone wayland and/or headless support + myconf_gn+=" use_ozone=true ozone_auto_platforms=false" + myconf_gn+=" ozone_platform_headless=true" + myconf_gn+=" enable_remoting=false" + myconf_gn+="use_qt5=false" + if use headless; then + myconf_gn+=" ozone_platform=\"headless\"" + myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" + myconf_gn+=" use_glib=false use_gio=false" + myconf_gn+=" use_pangocairo=false use_alsa=false" + myconf_gn+=" use_libpci=false use_udev=false" + myconf_gn+=" enable_print_preview=false" + else + # myconf_gn+=" use_system_libdrm=true" + myconf_gn+=" use_system_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + if use qt6; then + local cbuild_libdir + cbuild_libdir="$(get_libdir)" + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + cbuild_libdir="$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt)" + cbuild_libdir="${cbuild_libdir:2}" + cbuild_libdir="${cbuild_libdir/% }" + fi + myconf_gn+=( + "use_qt6=true" + "moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + ) + else + myconf_gn+=( "use_qt6=false" ) + fi + myconf_gn+=" ozone_platform_x11=$(usex X true false)" + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" + myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" + use wayland && myconf_gn+=" use_system_libffi=true" + fi + + # Results in undefined references in chrome linking, may require CFI to work + if use arm64; then + myconf_gn+=" arm_control_flow_integrity=\"none\"" + fi + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + myconf_gn+=" use_thin_lto=$(usex lto true false)" + myconf_gn+=" thin_lto_enable_optimizations=$(usex lto true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + # Disable CFI: unsupported for GCC, requires clang+lto+lld + myconf_gn+=" is_cfi=false" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO, because profile data is only compatible with >=clang-11 + myconf_gn+=" chrome_pgo_phase=0" + fi + + # user CXXFLAGS might overwrite -march=armv8-a+crc+crypto, bug #851639 + if use arm64 && tc-is-gcc; then + sed -i '/^#if HAVE_ARM64_CRC32C/a #pragma GCC target ("+crc+crypto")' \ + third_party/crc32c/src/src/crc32c_arm64.cc || die + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + # broken in 119 + myconf_gn+=" enable_nocompile_tests=false" + + einfo "Configuring Chromium..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver + use suid && eninja -C out/Release chrome_sandbox + + pax-mark m out/Release/chrome +} + +# This function is called from virtx, and must always return so that Xvfb +# session isn't left running. If we return 1, virtx will call die(). +chromium_profile() { + einfo "Profiling for PGO" + + pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 + + # Remove old profdata in case profiling was interrupted. + rm -rf "${1}" || return 1 + + if ! "${EPYTHON}" ./chromium_profiler.py \ + --chrome-executable "${S}/out/Release/chrome" \ + --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ + --add-arg no-sandbox --add-arg disable-dev-shm-usage \ + --profile-output "${1}"; then + eerror "Profiling failed" + return 1 + fi + + popd >/dev/null || return 1 +} + +src_compile() { + if use pgo; then + local profdata + + profdata="${WORKDIR}/chromium.profdata" + + if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then + chromium_compile + virtx chromium_profile "$profdata" + + touch "${WORKDIR}/.pgo-profiled" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then + # Remove phase 1 output + rm -r out/Release || die + + chromium_configure 2 "$profdata" + + touch "${WORKDIR}/.pgo-phase-2-configured" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then + chromium_compile + touch "${WORKDIR}/.pgo-phase-2-compiled" || die + fi + else + chromium_compile + fi + + mv out/Release/chromedriver{.unstripped,} || die + + rm -f out/Release/locales/*.pak.info || die + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die + + # Build vk_swiftshader_icd.json; bug #827861 + sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ + third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ + out/Release/vk_swiftshader_icd.json || die +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + if use suid; then + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + fi + + doexe out/Release/chromedriver + doexe out/Release/chrome_crashpad_handler + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + local sedargs=( -e + "s:/usr/lib/:/usr/$(get_libdir)/:g; + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" + ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" + doins out/Release/xdg-{settings,mime} + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog + + if ! use headless; then + if use vaapi; then + elog "VA-API is disabled by default at runtime. You have to enable it" + elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" + elog "in /etc/chromium/default." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behavior you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + fi +} diff --git a/www-client/chromium/files/chromium-105-protobuf-RepeatedPtrField-export.patch b/www-client/chromium/files/chromium-105-protobuf-RepeatedPtrField-export.patch deleted file mode 100644 index e20bc22..0000000 --- a/www-client/chromium/files/chromium-105-protobuf-RepeatedPtrField-export.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h b/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h -index e81b2c7e4..df3811563 100644 ---- a/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h -+++ b/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h -@@ -847,7 +847,7 @@ class StringTypeHandler { - // RepeatedPtrField is like RepeatedField, but used for repeated strings or - // Messages. - template --class RepeatedPtrField final : private internal::RepeatedPtrFieldBase { -+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase { - - public: - constexpr RepeatedPtrField(); diff --git a/www-client/chromium/files/chromium-109-minizip.patch b/www-client/chromium/files/chromium-109-minizip.patch deleted file mode 100644 index f24595c..0000000 --- a/www-client/chromium/files/chromium-109-minizip.patch +++ /dev/null @@ -1,147 +0,0 @@ -diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc -index 1b01755e1..65550e8fd 100644 ---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc -+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc -@@ -27,8 +27,8 @@ limitations under the License. - #include "tensorflow_lite_support/cc/port/status_macros.h" - #include "tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h" - #include "tensorflow_lite_support/metadata/metadata_schema_generated.h" --#include "third_party/zlib/contrib/minizip/ioapi.h" --#include "third_party/zlib/contrib/minizip/unzip.h" -+#include "minizip/ioapi.h" -+#include "minizip/unzip.h" - - namespace tflite { - namespace metadata { -diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc -index 01c68515a..7a53974f2 100644 ---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc -+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc -@@ -26,8 +26,8 @@ limitations under the License. - #include "tensorflow_lite_support/cc/port/statusor.h" - #include "tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h" - #include "tensorflow_lite_support/metadata/metadata_schema_generated.h" --#include "third_party/zlib/contrib/minizip/ioapi.h" --#include "third_party/zlib/contrib/minizip/unzip.h" -+#include "minizip/ioapi.h" -+#include "minizip/unzip.h" - - namespace tflite { - namespace metadata { -diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc -index 525ae4a2b..80ad84900 100644 ---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc -+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "third_party/zlib/contrib/minizip/ioapi.h" -+#include "minizip/ioapi.h" - - namespace tflite { - namespace metadata { -diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h -index 72413a0a5..38c9278da 100644 ---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h -+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "third_party/zlib/contrib/minizip/ioapi.h" -+#include "minizip/ioapi.h" - - namespace tflite { - namespace metadata { -diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc -index 3ba91b5e2..646822093 100644 ---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc -+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "third_party/zlib/contrib/minizip/ioapi.h" -+#include "minizip/ioapi.h" - - namespace tflite { - namespace metadata { -diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h -index 3d329925d..da6ff5ad8 100644 ---- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h -+++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h -@@ -19,7 +19,7 @@ limitations under the License. - #include - - #include "absl/strings/string_view.h" // from @com_google_absl --#include "third_party/zlib/contrib/minizip/ioapi.h" -+#include "minizip/ioapi.h" - - namespace tflite { - namespace metadata { -diff --git a/third_party/zlib/google/zip_internal.cc b/third_party/zlib/google/zip_internal.cc -index e65d7ce6b..1f89d931a 100644 ---- a/third_party/zlib/google/zip_internal.cc -+++ b/third_party/zlib/google/zip_internal.cc -@@ -17,7 +17,7 @@ - #include "base/strings/string_util.h" - #include "base/strings/utf_string_conversions.h" - --#if defined(USE_SYSTEM_MINIZIP) -+#if 1//defined(USE_SYSTEM_MINIZIP) - #include - #include - #include -diff --git a/third_party/zlib/google/zip_internal.h b/third_party/zlib/google/zip_internal.h -index f107d7fe8..28ef2f636 100644 ---- a/third_party/zlib/google/zip_internal.h -+++ b/third_party/zlib/google/zip_internal.h -@@ -14,7 +14,7 @@ - #include - #endif - --#if defined(USE_SYSTEM_MINIZIP) -+#if 1//defined(USE_SYSTEM_MINIZIP) - #include - #include - #else -diff --git a/third_party/zlib/google/zip_reader.cc b/third_party/zlib/google/zip_reader.cc -index e97027a0b..d6f02b1e0 100644 ---- a/third_party/zlib/google/zip_reader.cc -+++ b/third_party/zlib/google/zip_reader.cc -@@ -23,7 +23,7 @@ - #include "third_party/zlib/google/redact.h" - #include "third_party/zlib/google/zip_internal.h" - --#if defined(USE_SYSTEM_MINIZIP) -+#if 1//defined(USE_SYSTEM_MINIZIP) - #include - #else - #include "third_party/zlib/contrib/minizip/unzip.h" -diff --git a/third_party/zlib/google/zip_reader.h b/third_party/zlib/google/zip_reader.h -index 48244c823..a5c0234fe 100644 ---- a/third_party/zlib/google/zip_reader.h -+++ b/third_party/zlib/google/zip_reader.h -@@ -18,7 +18,7 @@ - #include "base/numerics/safe_conversions.h" - #include "base/time/time.h" - --#if defined(USE_SYSTEM_MINIZIP) -+#if 1//defined(USE_SYSTEM_MINIZIP) - #include - #else - #include "third_party/zlib/contrib/minizip/unzip.h" -diff --git a/third_party/zlib/google/zip_writer.h b/third_party/zlib/google/zip_writer.h -index dd109293d..edb1542b7 100644 ---- a/third_party/zlib/google/zip_writer.h -+++ b/third_party/zlib/google/zip_writer.h -@@ -13,7 +13,7 @@ - #include "build/build_config.h" - #include "third_party/zlib/google/zip.h" - --#if defined(USE_SYSTEM_MINIZIP) -+#if 1//defined(USE_SYSTEM_MINIZIP) - #include - #include - #else diff --git a/www-client/chromium/files/chromium-122-VirtualCursor-std-layout.patch b/www-client/chromium/files/chromium-122-VirtualCursor-std-layout.patch deleted file mode 100644 index 5b06407..0000000 --- a/www-client/chromium/files/chromium-122-VirtualCursor-std-layout.patch +++ /dev/null @@ -1,219 +0,0 @@ -diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc -index ad985a3d7c..a013c4df17 100644 ---- a/sql/recover_module/btree.cc -+++ b/sql/recover_module/btree.cc -@@ -136,16 +136,22 @@ static_assert(std::is_trivially_destructible::value, - "Move the destructor to the .cc file if it's non-trival"); - #endif // !DCHECK_IS_ON() - --LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept -- : page_id_(db_reader->page_id()), -- db_reader_(db_reader), -- cell_count_(ComputeCellCount(db_reader)), -- next_read_index_(0), -- last_record_size_(0) { -+LeafPageDecoder::LeafPageDecoder() noexcept = default; -+ -+void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) { -+ page_id_ = db_reader->page_id(); -+ db_reader_ = db_reader; -+ cell_count_ = ComputeCellCount(db_reader); -+ next_read_index_ = 0; -+ last_record_size_ = 0; - DCHECK(IsOnValidPage(db_reader)); - DCHECK(DatabasePageReader::IsValidPageId(page_id_)); - } - -+void LeafPageDecoder::Reset() { -+ db_reader_ = nullptr; -+} -+ - bool LeafPageDecoder::TryAdvance() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(CanAdvance()); -diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h -index 155be1ef17..ed27107804 100644 ---- a/sql/recover_module/btree.h -+++ b/sql/recover_module/btree.h -@@ -104,9 +104,7 @@ class LeafPageDecoder { - public: - // Creates a decoder for a DatabasePageReader's last read page. - // -- // |db_reader| must have been used to read an inner page of a table B-tree. -- // |db_reader| must outlive this instance. -- explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept; -+ LeafPageDecoder() noexcept; - ~LeafPageDecoder() noexcept = default; - - LeafPageDecoder(const LeafPageDecoder&) = delete; -@@ -154,6 +152,17 @@ class LeafPageDecoder { - // read as long as CanAdvance() returns true. - bool TryAdvance(); - -+ // Initialize with DatabasePageReader -+ // |db_reader| must have been used to read an inner page of a table B-tree. -+ // |db_reader| must outlive this instance. -+ void Initialize(DatabasePageReader* db_reader); -+ -+ // Reset internal DatabasePageReader -+ void Reset(); -+ -+ // True if DatabasePageReader is valid -+ bool IsValid() { return (db_reader_ != nullptr); } -+ - // True if the given reader may point to an inner page in a table B-tree. - // - // The last ReadPage() call on |db_reader| must have succeeded. -@@ -167,16 +176,16 @@ class LeafPageDecoder { - static int ComputeCellCount(DatabasePageReader* db_reader); - - // The number of the B-tree page this reader is reading. -- const int64_t page_id_; -+ int64_t page_id_; - // Used to read the tree page. - // - // Raw pointer usage is acceptable because this instance's owner is expected - // to ensure that the DatabasePageReader outlives this. - // This field is not a raw_ptr<> because it caused a - // std::is_trivially_destructible static_assert failure. -- RAW_PTR_EXCLUSION DatabasePageReader* const db_reader_; -+ RAW_PTR_EXCLUSION DatabasePageReader* db_reader_; - // Caches the ComputeCellCount() value for this reader's page. -- const int cell_count_ = ComputeCellCount(db_reader_); -+ int cell_count_; - - // The reader's cursor state. - // -diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc -index 8983af57e5..de5157c5a8 100644 ---- a/sql/recover_module/cursor.cc -+++ b/sql/recover_module/cursor.cc -@@ -28,7 +28,7 @@ VirtualCursor::~VirtualCursor() { - int VirtualCursor::First() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - inner_decoders_.clear(); -- leaf_decoder_ = nullptr; -+ leaf_decoder_.Reset(); - - AppendPageDecoder(table_->root_page_id()); - return Next(); -@@ -38,18 +38,18 @@ int VirtualCursor::Next() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - record_reader_.Reset(); - -- while (!inner_decoders_.empty() || leaf_decoder_.get()) { -- if (leaf_decoder_.get()) { -- if (!leaf_decoder_->CanAdvance()) { -+ while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) { -+ if (leaf_decoder_.IsValid()) { -+ if (!leaf_decoder_.CanAdvance()) { - // The leaf has been exhausted. Remove it from the DFS stack. -- leaf_decoder_ = nullptr; -+ leaf_decoder_.Reset(); - continue; - } -- if (!leaf_decoder_->TryAdvance()) -+ if (!leaf_decoder_.TryAdvance()) - continue; - -- if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(), -- leaf_decoder_->last_record_offset())) { -+ if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(), -+ leaf_decoder_.last_record_offset())) { - continue; - } - if (!record_reader_.Initialize()) -@@ -102,13 +102,13 @@ int VirtualCursor::ReadColumn(int column_index, - int64_t VirtualCursor::RowId() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(record_reader_.IsInitialized()); -- DCHECK(leaf_decoder_.get()); -- return leaf_decoder_->last_record_rowid(); -+ DCHECK(leaf_decoder_.IsValid()); -+ return leaf_decoder_.last_record_rowid(); - } - - void VirtualCursor::AppendPageDecoder(int page_id) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -- DCHECK(leaf_decoder_.get() == nullptr) -+ DCHECK(!leaf_decoder_.IsValid()) - << __func__ - << " must only be called when the current path has no leaf decoder"; - -@@ -116,7 +116,7 @@ void VirtualCursor::AppendPageDecoder(int page_id) { - return; - - if (LeafPageDecoder::IsOnValidPage(&db_reader_)) { -- leaf_decoder_ = std::make_unique(&db_reader_); -+ leaf_decoder_.Initialize(&db_reader_); - return; - } - -diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h -index 4cb0655700..4be15393e3 100644 ---- a/sql/recover_module/cursor.h -+++ b/sql/recover_module/cursor.h -@@ -128,7 +128,7 @@ class VirtualCursor { - std::vector> inner_decoders_; - - // Decodes the leaf page containing records. -- std::unique_ptr leaf_decoder_; -+ LeafPageDecoder leaf_decoder_; - - SEQUENCE_CHECKER(sequence_checker_); - }; -diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc -index 7f5b368e51..cb7e2fda21 100644 ---- a/sql/recover_module/pager.cc -+++ b/sql/recover_module/pager.cc -@@ -24,8 +24,7 @@ static_assert(DatabasePageReader::kMaxPageId <= std::numeric_limits::max(), - "ints are not appropriate for representing page IDs"); - - DatabasePageReader::DatabasePageReader(VirtualTable* table) -- : page_data_(std::make_unique(table->page_size())), -- table_(table) { -+ : page_data_(table->page_size()), table_(table) { - CHECK(table != nullptr); - CHECK(IsValidPageSize(table->page_size())); - } -@@ -59,7 +58,7 @@ int DatabasePageReader::ReadPage(int page_id) { - "The |read_offset| computation above may overflow"); - - int sqlite_status = -- RawRead(sqlite_file, read_size, read_offset, page_data_.get()); -+ RawRead(sqlite_file, read_size, read_offset, page_data_.data()); - - // |page_id_| needs to be set to kHighestInvalidPageId if the read failed. - // Otherwise, future ReadPage() calls with the previous |page_id_| value -diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h -index d60c5a4f07..f39ce84d74 100644 ---- a/sql/recover_module/pager.h -+++ b/sql/recover_module/pager.h -@@ -6,8 +6,8 @@ - #define SQL_RECOVER_MODULE_PAGER_H_ - - #include --#include - #include -+#include - - #include "base/check_op.h" - #include "base/memory/raw_ptr.h" -@@ -73,7 +73,7 @@ class DatabasePageReader { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - CHECK(IsValidPageId(page_id_)) - << "Successful ReadPage() required before accessing pager state"; -- return page_data_.get(); -+ return page_data_.data(); - } - - // The number of bytes in the page read by the last ReadPage() call. -@@ -140,7 +140,7 @@ class DatabasePageReader { - int page_id_ = kHighestInvalidPageId; - // Stores the bytes of the last page successfully read by ReadPage(). - // The content is undefined if the last call to ReadPage() did not succeed. -- const std::unique_ptr page_data_; -+ std::vector page_data_; - // Raw pointer usage is acceptable because this instance's owner is expected - // to ensure that the VirtualTable outlives this. - const raw_ptr table_; diff --git a/www-client/chromium/files/chromium-123-EnumTable-crash.patch b/www-client/chromium/files/chromium-123-EnumTable-crash.patch deleted file mode 100644 index 3c64789..0000000 --- a/www-client/chromium/files/chromium-123-EnumTable-crash.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h -index dd58e6cfea..a0fa270bf2 100644 ---- a/components/media_router/common/providers/cast/channel/enum_table.h -+++ b/components/media_router/common/providers/cast/channel/enum_table.h -@@ -9,6 +9,7 @@ - #include - #include - #include -+#include - - #include "base/check_op.h" - #include "base/notreached.h" -@@ -187,7 +188,6 @@ class - inline constexpr GenericEnumTableEntry(int32_t value); - inline constexpr GenericEnumTableEntry(int32_t value, base::StringPiece str); - -- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete; - GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete; - - private: -@@ -253,7 +253,6 @@ class EnumTable { - constexpr Entry(E value, base::StringPiece str) - : GenericEnumTableEntry(static_cast(value), str) {} - -- Entry(const Entry&) = delete; - Entry& operator=(const Entry&) = delete; - }; - -@@ -312,15 +311,14 @@ class EnumTable { - if (is_sorted_) { - const std::size_t index = static_cast(value); - if (ANALYZER_ASSUME_TRUE(index < data_.size())) { -- const auto& entry = data_.begin()[index]; -+ const auto& entry = data_[index]; - if (ANALYZER_ASSUME_TRUE(entry.has_str())) - return entry.str(); - } - return std::nullopt; - } - return GenericEnumTableEntry::FindByValue( -- reinterpret_cast(data_.begin()), -- data_.size(), static_cast(value)); -+ &data_[0], data_.size(), static_cast(value)); - } - - // This overload of GetString is designed for cases where the argument is a -@@ -348,8 +346,7 @@ class EnumTable { - // enum value directly. - std::optional GetEnum(base::StringPiece str) const { - auto* entry = GenericEnumTableEntry::FindByString( -- reinterpret_cast(data_.begin()), -- data_.size(), str); -+ &data_[0], data_.size(), str); - return entry ? static_cast(entry->value) : std::optional(); - } - -@@ -364,7 +361,7 @@ class EnumTable { - // Align the data on a cache line boundary. - alignas(64) - #endif -- std::initializer_list data_; -+ const std::vector data_; - bool is_sorted_; - - constexpr EnumTable(std::initializer_list data, bool is_sorted) -@@ -376,8 +373,8 @@ class EnumTable { - - for (std::size_t i = 0; i < data.size(); i++) { - for (std::size_t j = i + 1; j < data.size(); j++) { -- const Entry& ei = data.begin()[i]; -- const Entry& ej = data.begin()[j]; -+ const Entry& ei = data[i]; -+ const Entry& ej = data[j]; - DCHECK(ei.value != ej.value) - << "Found duplicate enum values at indices " << i << " and " << j; - DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str())) diff --git a/www-client/chromium/files/chromium-123-compiler.patch b/www-client/chromium/files/chromium-123-compiler.patch deleted file mode 100644 index 6faf9b7..0000000 --- a/www-client/chromium/files/chromium-123-compiler.patch +++ /dev/null @@ -1,317 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index a91928eeac..afc87ad613 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -322,9 +322,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -507,6 +504,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -598,55 +598,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/1488374): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/1235145): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1013,17 +964,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1520,46 +1460,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- swiftflags += [ "-file-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the goma cache entries. -@@ -1578,39 +1478,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path) { -- update_args = [ -- "--print-revision", -- "--verify-version=$clang_version", -- ] -- if (llvm_force_head_revision) { -- update_args += [ "--llvm-force-head-revision" ] -- } -- clang_revision = exec_script("//tools/clang/scripts/update.py", -- update_args, -- "trim string") -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -1964,11 +1831,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1977,24 +1840,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2373,7 +2218,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2432,7 +2278,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2472,7 +2319,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2505,7 +2353,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2531,7 +2380,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2664,7 +2514,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - if (is_win) { - if (is_clang) { -@@ -2813,7 +2664,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -2898,7 +2750,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/rust.gni b/build/config/rust.gni -index 9b0ee754ba..a438ed231c 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -75,7 +75,8 @@ declare_args() { - # - # TODO(https://crbug.com/1482525): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-124-metrics-histograms-nodepotbin.patch b/www-client/chromium/files/chromium-124-metrics-histograms-nodepotbin.patch deleted file mode 100644 index a0d33bf..0000000 --- a/www-client/chromium/files/chromium-124-metrics-histograms-nodepotbin.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/tools/metrics/histograms/expand_owners.py b/tools/metrics/histograms/expand_owners.py -index cd176513b8..dfbf9ac93f 100644 ---- a/tools/metrics/histograms/expand_owners.py -+++ b/tools/metrics/histograms/expand_owners.py -@@ -306,6 +306,7 @@ def ExtractComponentViaDirmd(path): - """ - # Verify that the paths are absolute and the root is a parent of the - # passed in path. -+ return "" - root_path = os.path.abspath(os.path.join(*DIR_ABOVE_TOOLS)) - path = os.path.abspath(path) - if not path.startswith(root_path): diff --git a/www-client/chromium/files/chromium-125-compiler.patch b/www-client/chromium/files/chromium-125-compiler.patch deleted file mode 100644 index f656fcf..0000000 --- a/www-client/chromium/files/chromium-125-compiler.patch +++ /dev/null @@ -1,317 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 2ac26091c0..75abd9a935 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -319,9 +319,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -496,6 +493,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -587,55 +587,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/1488374): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/1235145): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1000,17 +951,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1518,46 +1458,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- swiftflags += [ "-file-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1576,39 +1476,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path) { -- update_args = [ -- "--print-revision", -- "--verify-version=$clang_version", -- ] -- if (llvm_force_head_revision) { -- update_args += [ "--llvm-force-head-revision" ] -- } -- clang_revision = exec_script("//tools/clang/scripts/update.py", -- update_args, -- "trim string") -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -1981,11 +1848,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1994,24 +1857,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2387,7 +2232,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - cflags = [ "/O2" ] + common_optimize_on_cflags - -@@ -2428,7 +2274,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2468,7 +2315,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2501,7 +2349,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2530,7 +2379,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2663,7 +2513,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - if (is_win) { - if (is_clang) { -@@ -2812,7 +2663,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -2897,7 +2749,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/rust.gni b/build/config/rust.gni -index 59fa14463b..ca780602b4 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -75,7 +75,8 @@ declare_args() { - # - # TODO(https://crbug.com/1482525): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-125-revert-8a3bec6.patch b/www-client/chromium/files/chromium-125-revert-8a3bec6.patch deleted file mode 100644 index 0f19d49..0000000 --- a/www-client/chromium/files/chromium-125-revert-8a3bec6.patch +++ /dev/null @@ -1,450 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn -index 2c079c06c5..34a844659b 100644 ---- a/third_party/blink/renderer/platform/BUILD.gn -+++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -118,10 +118,7 @@ blink_python_runner("color_data") { - - compiled_action("character_data") { - tool = ":character_data_generator" -- outputs = [ -- "$blink_platform_output_dir/character_property_data.cc", -- "$blink_platform_output_dir/text/break_iterator_data_inline_header.h", -- ] -+ outputs = [ "$blink_platform_output_dir/character_property_data.cc" ] - args = rebase_path(outputs, root_build_dir) - } - -diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -index 28d34020f7..45942f4e89 100644 ---- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 -+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -509,11 +509,6 @@ - public: true, - status: "experimental", - }, -- { -- // crbug.com/41485013 -- name: "BreakIteratorDataGenerator", -- status: "stable", -- }, - { - name: "BrowserVerifiedUserActivationKeyboard", - base_feature: "none", -diff --git a/third_party/blink/renderer/platform/text/character_property_data_generator.cc b/third_party/blink/renderer/platform/text/character_property_data_generator.cc -index 70101dbf76..27e6852647 100644 ---- a/third_party/blink/renderer/platform/text/character_property_data_generator.cc -+++ b/third_party/blink/renderer/platform/text/character_property_data_generator.cc -@@ -5,19 +5,13 @@ - #include "third_party/blink/renderer/platform/text/character_property_data.h" - - #include --#include --#include - #include --#include --#include - #include - #include - #include - - #include - #include --#include --#include - #include - #include - -@@ -31,36 +25,6 @@ - namespace blink { - namespace { - --#define CHECK_U_ERROR(error, name) \ -- CHECK(U_SUCCESS(error)) << name << ": (" << error << ")" << u_errorName(error) -- --// --// Load the ICU data file and set it to the ICU. --// --void InitializeIcu(const char* exec_path) { -- // ICU can't load the data file by itself because ICU tries to load the -- // versioned data file (e.g., "icudt73l.dat"), while the Chromium build system -- // creates the unversioned data file (e.g., "icudtl.dat"). -- std::filesystem::path path{exec_path}; -- path = path.parent_path() / "icudt" U_ICUDATA_TYPE_LETTER ".dat"; -- -- std::ifstream data_ifstream(path, std::ios_base::binary); -- CHECK(data_ifstream.is_open()); -- static std::vector icu_data; -- CHECK(icu_data.empty()); -- std::copy(std::istreambuf_iterator(data_ifstream), -- std::istreambuf_iterator(), std::back_inserter(icu_data)); -- UErrorCode error = U_ZERO_ERROR; -- udata_setCommonData(icu_data.data(), &error); -- CHECK_U_ERROR(error, "udata_setCommonData"); -- -- // Check ICU functions that need the data resources are working. -- // https://unicode-org.github.io/icu/userguide/icu/design.html#icu4c-initialization-and-termination -- UVersionInfo version; -- ulocdata_getCLDRVersion(version, &error); -- CHECK_U_ERROR(error, "ulocdata_getCLDRVersion"); --} -- - class CharacterPropertyValues { - public: - constexpr static UChar32 kMaxCodepoint = 0x10FFFF; -@@ -255,201 +219,18 @@ static void GenerateCharacterPropertyData(FILE* fp) { - GenerateUTrieSerialized(fp, serialized_size, serialized); - } - --// --// Generate a line break pair table in `break_iterator_data_inline_header.h`. --// --// See [UAX14](https://unicode.org/reports/tr14/). --// --class LineBreakData { -- public: -- LineBreakData() = default; -- -- static void Generate(FILE* fp) { -- LineBreakData data; -- data.FillFromIcu(); -- data.FillAscii(); -- data.Print(fp); -- } -- -- private: -- // Fill the pair table from the ICU BreakIterator. -- void FillFromIcu() { -- UErrorCode status = U_ZERO_ERROR; -- const icu::Locale locale("en"); -- icu::BreakIterator* break_iterator = -- icu::BreakIterator::createLineInstance(locale, status); -- CHECK_U_ERROR(status, "createLineInstance"); -- -- for (UChar ch = kMinChar; ch <= kMaxChar; ++ch) { -- const icu::UnicodeString ch_str(ch); -- for (UChar ch_next = kMinChar; ch_next <= kMaxChar; ++ch_next) { -- const icu::UnicodeString ch_next_str(ch_next); -- const icu::UnicodeString str = ch_str + ch_next_str; -- break_iterator->setText(str); -- SetPairValue(ch, ch_next, break_iterator->isBoundary(1)); -- } -- } -- } -- -- // Line breaking table for printable ASCII characters. Line breaking -- // opportunities in this table are as below: -- // - before opening punctuations such as '(', '<', '[', '{' after certain -- // characters (compatible with Firefox 3.6); -- // - after '-' and '?' (backward-compatible, and compatible with Internet -- // Explorer). -- // Please refer to for line -- // breaking matrixes of different browsers and the ICU standard. -- void FillAscii() { --#define ALL_CHAR '!', 0x7F -- SetPairValue(ALL_CHAR, ALL_CHAR, false); -- SetPairValue(ALL_CHAR, '(', '(', true); -- SetPairValue(ALL_CHAR, '<', '<', true); -- SetPairValue(ALL_CHAR, '[', '[', true); -- SetPairValue(ALL_CHAR, '{', '{', true); -- SetPairValue('-', '-', ALL_CHAR, true); -- SetPairValue('?', '?', ALL_CHAR, true); -- SetPairValue('-', '-', '$', '$', false); -- SetPairValue(ALL_CHAR, '!', '!', false); -- SetPairValue('?', '?', '"', '"', false); -- SetPairValue('?', '?', '\'', '\'', false); -- SetPairValue(ALL_CHAR, ')', ')', false); -- SetPairValue(ALL_CHAR, ',', ',', false); -- SetPairValue(ALL_CHAR, '.', '.', false); -- SetPairValue(ALL_CHAR, '/', '/', false); -- // Note: Between '-' and '[0-9]' is hard-coded in `ShouldBreakFast()`. -- SetPairValue('-', '-', '0', '9', false); -- SetPairValue(ALL_CHAR, ':', ':', false); -- SetPairValue(ALL_CHAR, ';', ';', false); -- SetPairValue(ALL_CHAR, '?', '?', false); -- SetPairValue(ALL_CHAR, ']', ']', false); -- SetPairValue(ALL_CHAR, '}', '}', false); -- SetPairValue('$', '$', ALL_CHAR, false); -- SetPairValue('\'', '\'', ALL_CHAR, false); -- SetPairValue('(', '(', ALL_CHAR, false); -- SetPairValue('/', '/', ALL_CHAR, false); -- SetPairValue('0', '9', ALL_CHAR, false); -- SetPairValue('<', '<', ALL_CHAR, false); -- SetPairValue('@', '@', ALL_CHAR, false); -- SetPairValue('A', 'Z', ALL_CHAR, false); -- SetPairValue('[', '[', ALL_CHAR, false); -- SetPairValue('^', '`', ALL_CHAR, false); -- SetPairValue('a', 'z', ALL_CHAR, false); -- SetPairValue('{', '{', ALL_CHAR, false); -- SetPairValue(0x7F, 0x7F, ALL_CHAR, false); --#undef ALL_CHAR -- } -- -- // Print the C++ source code. -- void Print(FILE* fp) { -- // Print file headers. -- fprintf(fp, -- "#include \n" -- "#include " -- "\"third_party/blink/renderer/platform/wtf/text/wtf_uchar.h\"\n" -- "\nnamespace {\n\n"); -- -- fprintf(fp, "constexpr UChar kFastLineBreakMinChar = 0x%02X;\n", kMinChar); -- fprintf(fp, "constexpr UChar kFastLineBreakMaxChar = 0x%02X;\n", kMaxChar); -- -- // Define macros. -- fprintf(fp, -- "\n#define B(a, b, c, d, e, f, g, h)" -- " ((a) | ((b) << 1) | ((c) << 2) | ((d) << 3) |" -- " ((e) << 4) | ((f) << 5) | ((g) << 6) | ((h) << 7))\n\n"); -- -- fprintf(fp, "const uint8_t kFastLineBreakTable[%d][%d] = {\n", kNumChars, -- kNumCharsRoundUp8 / 8); -- -- // Print the column comment. -- fprintf(fp, " /*"); -- for (UChar ch = kMinChar; ch <= kMaxChar; ++ch) { -- if (ch != kMinChar && (ch - kMinChar) % 8 == 0) { -- fprintf(fp, " "); -- } -- fprintf(fp, ch < 0x7F ? " %c" : "%02X", ch); -- } -- fprintf(fp, " */\n"); -- -- // Print the data array. -- for (int y = 0; y < kNumChars; ++y) { -- const UChar ch = y + kMinChar; -- fprintf(fp, "/* %02X %c */ {B(", ch, ch < 0x7F ? ch : ' '); -- const char* prefix = ""; -- for (int x = 0; x < kNumCharsRoundUp8; ++x) { -- fprintf(fp, "%s%d", prefix, pair_[y][x]); -- prefix = (x % 8 == 7) ? "),B(" : ","; -- } -- fprintf(fp, ")},\n"); -- } -- fprintf(fp, -- "};\n\n" -- "#undef B\n\n" -- "template \n" -- "inline uint8_t GetFastLineBreak(T ch1, T ch2) {\n" -- " const T i2 = ch2 - kFastLineBreakMinChar;\n" -- " return kFastLineBreakTable[ch1 - kFastLineBreakMinChar]" -- "[i2 / 8] & (1 << (i2 %% 8));\n" -- "}\n\n" -- "} // namespace\n"); -- } -- -- void SetPairValue(UChar ch1_min, -- UChar ch1_max, -- UChar ch2_min, -- UChar ch2_max, -- bool value) { -- for (UChar ch1 = ch1_min; ch1 <= ch1_max; ++ch1) { -- for (UChar ch2 = ch2_min; ch2 <= ch2_max; ++ch2) { -- SetPairValue(ch1, ch2, value); -- } -- } -- } -- -- // Set the breakability between `ch1` and `ch2`. -- void SetPairValue(UChar ch1, UChar ch2, bool value) { -- CHECK_GE(ch1, kMinChar); -- CHECK_LE(ch1, kMaxChar); -- CHECK_GE(ch2, kMinChar); -- CHECK_LE(ch2, kMaxChar); -- pair_[ch1 - kMinChar][ch2 - kMinChar] = value; -- } -- -- constexpr static UChar kMinChar = '!'; -- constexpr static UChar kMaxChar = 0xFF; -- constexpr static int kNumChars = kMaxChar - kMinChar + 1; -- constexpr static int kNumCharsRoundUp8 = (kNumChars + 7) / 8 * 8; -- bool pair_[kNumChars][kNumCharsRoundUp8]{}; --}; -- --void InvokeGenerator(int index, -- int argc, -- char** argv, -- void (*generator)(FILE*)) { -- if (index >= argc) { -- return; -- } -- const char* path = argv[index]; -- if (!*path) { -- return; -- } -- -- if (strcmp(path, "-") == 0) { -- (*generator)(stdout); -- return; -- } -- -- FILE* fp = fopen(path, "wb"); -- (*generator)(fp); -- fclose(fp); --} -- - } // namespace - } // namespace blink - - int main(int argc, char** argv) { -- blink::InitializeIcu(argv[0]); -- blink::InvokeGenerator(1, argc, argv, blink::GenerateCharacterPropertyData); -- blink::InvokeGenerator(2, argc, argv, blink::LineBreakData::Generate); -+ // Write the serialized array to the source file. -+ if (argc <= 1) { -+ blink::GenerateCharacterPropertyData(stdout); -+ } else { -+ FILE* fp = fopen(argv[1], "wb"); -+ blink::GenerateCharacterPropertyData(fp); -+ fclose(fp); -+ } - - return 0; - } -diff --git a/third_party/blink/renderer/platform/text/text_break_iterator.cc b/third_party/blink/renderer/platform/text/text_break_iterator.cc -index 650eb760b2..14de47d9fe 100644 ---- a/third_party/blink/renderer/platform/text/text_break_iterator.cc -+++ b/third_party/blink/renderer/platform/text/text_break_iterator.cc -@@ -26,8 +26,6 @@ - #include - #include - --#include "third_party/blink/renderer/platform/runtime_enabled_features.h" --#include "third_party/blink/renderer/platform/text/break_iterator_data_inline_header.h" - #include "third_party/blink/renderer/platform/wtf/std_lib_extras.h" - #include "third_party/blink/renderer/platform/wtf/text/ascii_ctype.h" - #include "third_party/blink/renderer/platform/wtf/text/character_names.h" -@@ -113,9 +111,6 @@ static const UChar kAsciiLineBreakTableLastChar = 127; - - #define F 0xFF - --// Check if the generated table match the `kAsciiLineBreakTable` table. --#define CHECK_ASCII_LINE_BRAEK_TABLE 0 -- - // Line breaking table for printable ASCII characters. Line breaking - // opportunities in this table are as below: - // - before opening punctuations such as '(', '<', '[', '{' after certain -@@ -166,24 +161,6 @@ static const unsigned char kAsciiLineBreakTable[][(kAsciiLineBreakTableLastChar - }; - // clang-format on - --#if CHECK_ASCII_LINE_BRAEK_TABLE --void CheckAsciiLineBreakTable() { -- for (UChar ch2 = kAsciiLineBreakTableFirstChar; -- ch2 <= kAsciiLineBreakTableLastChar; ++ch2) { -- for (UChar ch1 = kAsciiLineBreakTableFirstChar; -- ch1 <= kAsciiLineBreakTableLastChar; ++ch1) { -- const UChar i2 = ch2 - kAsciiLineBreakTableFirstChar; -- const bool ascii = -- kAsciiLineBreakTable[ch1 - kAsciiLineBreakTableFirstChar][i2 / 8] & -- (1 << (i2 % 8)); -- const bool fast = GetFastLineBreak(ch1, ch2); -- CHECK_EQ(ascii, fast) -- << String::Format("%02X/%02X (%c/%c)", ch1, ch2, ch1, ch2); -- } -- } --} --#endif // CHECK_ASCII_LINE_BRAEK_TABLE -- - #define BA_LB_COUNT U_LB_COUNT - // Line breaking table for CSS word-break: break-all. This table differs from - // asciiLineBreakTable in: -@@ -298,13 +275,7 @@ static inline bool ShouldKeepAfterKeepAll(UChar last_ch, - } - - inline bool NeedsLineBreakIterator(UChar ch) { -- if (UNLIKELY(!RuntimeEnabledFeatures::BreakIteratorDataGeneratorEnabled())) { -- return ch > kAsciiLineBreakTableLastChar && ch != kNoBreakSpaceCharacter; -- } -- static_assert(kFastLineBreakMaxChar >= kAsciiLineBreakTableLastChar); -- static_assert(kNoBreakSpaceCharacter <= kFastLineBreakMaxChar, -- "Include NBSP for the performance."); -- return ch > kFastLineBreakMaxChar; -+ return ch > kAsciiLineBreakTableLastChar && ch != kNoBreakSpaceCharacter; - } - - template -@@ -349,61 +320,31 @@ struct LazyLineBreakIterator::Context { - last = current; - } - -- bool ShouldBreakFast(bool disable_soft_hyphen) const { --#if CHECK_ASCII_LINE_BRAEK_TABLE -- DEFINE_STATIC_LOCAL(bool, is_check_done, (false)); -- if (!is_check_done) { -- is_check_done = true; -- CheckAsciiLineBreakTable(); -- LOG(INFO) << "CheckAsciiLineBreakTable() completed."; -- } --#endif // CHECK_ASCII_LINE_BRAEK_TABLE -- -+ bool ShouldBreakFast() const { - const UChar last_ch = last.ch; - const UChar ch = current.ch; -- static_assert(kFastLineBreakMinChar == kAsciiLineBreakTableFirstChar); -- if (UNLIKELY(last_ch < kFastLineBreakMinChar || -- ch < kFastLineBreakMinChar)) { -+ if (UNLIKELY(last_ch < kAsciiLineBreakTableFirstChar || -+ ch < kAsciiLineBreakTableFirstChar)) { - return false; - } - - // Don't allow line breaking between '-' and a digit if the '-' may mean a - // minus sign in the context, while allow breaking in 'ABCD-1234' and - // '1234-5678' which may be in long URLs. -- static_assert('-' >= kFastLineBreakMinChar); -+ static_assert('-' >= kAsciiLineBreakTableFirstChar); - if (last_ch == '-' && IsASCIIDigit(ch)) { - return IsASCIIAlphanumeric(last_last_ch); - } - -- if (UNLIKELY( -- !RuntimeEnabledFeatures::BreakIteratorDataGeneratorEnabled())) { -- // If both `last_ch` and `ch` are ASCII characters, use a lookup table for -- // enhanced speed and for compatibility with other browsers (see comments -- // for asciiLineBreakTable for details). -- if (last_ch <= kAsciiLineBreakTableLastChar && -- ch <= kAsciiLineBreakTableLastChar) { -- const unsigned char* table_row = -- kAsciiLineBreakTable[last_ch - kAsciiLineBreakTableFirstChar]; -- int ch_index = ch - kAsciiLineBreakTableFirstChar; -- return table_row[ch_index / 8] & (1 << (ch_index % 8)); -- } -- -- // Otherwise defer to the Unicode algorithm by returning false. -- return false; -- } -- -- // If both characters are in the fast line break table, use it for enhanced -- // speed. For ASCII characters, it is also for compatibility. The table is -- // generated at the build time, see the `LineBreakData` class. -- if (last_ch <= kFastLineBreakMaxChar && ch <= kFastLineBreakMaxChar) { -- if (!GetFastLineBreak(last_ch, ch)) { -- return false; -- } -- static_assert(kSoftHyphenCharacter <= kFastLineBreakMaxChar); -- if (UNLIKELY(disable_soft_hyphen && last_ch == kSoftHyphenCharacter)) { -- return false; -- } -- return true; -+ // If both `last_ch` and `ch` are ASCII characters, use a lookup table for -+ // enhanced speed and for compatibility with other browsers (see comments -+ // for asciiLineBreakTable for details). -+ if (last_ch <= kAsciiLineBreakTableLastChar && -+ ch <= kAsciiLineBreakTableLastChar) { -+ const unsigned char* table_row = -+ kAsciiLineBreakTable[last_ch - kAsciiLineBreakTableFirstChar]; -+ int ch_index = ch - kAsciiLineBreakTableFirstChar; -+ return table_row[ch_index / 8] & (1 << (ch_index % 8)); - } - - // Otherwise defer to the Unicode algorithm by returning false. -@@ -452,7 +393,7 @@ inline int LazyLineBreakIterator::NextBreakablePosition( - break; - } - -- if (context.ShouldBreakFast(disable_soft_hyphen_)) { -+ if (context.ShouldBreakFast()) { - return i; - } - diff --git a/www-client/chromium/files/chromium-126-EnumTable-crash.patch b/www-client/chromium/files/chromium-126-EnumTable-crash.patch deleted file mode 100644 index 468cbf0..0000000 --- a/www-client/chromium/files/chromium-126-EnumTable-crash.patch +++ /dev/null @@ -1,76 +0,0 @@ -diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h -index 3f2ec76729..4e9c562113 100644 ---- a/components/media_router/common/providers/cast/channel/enum_table.h -+++ b/components/media_router/common/providers/cast/channel/enum_table.h -@@ -10,6 +10,7 @@ - #include - #include - #include -+#include - - #include "base/check_op.h" - #include "base/notreached.h" -@@ -187,7 +188,6 @@ class - inline constexpr GenericEnumTableEntry(int32_t value); - inline constexpr GenericEnumTableEntry(int32_t value, std::string_view str); - -- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete; - GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete; - - private: -@@ -253,7 +253,6 @@ class EnumTable { - constexpr Entry(E value, std::string_view str) - : GenericEnumTableEntry(static_cast(value), str) {} - -- Entry(const Entry&) = delete; - Entry& operator=(const Entry&) = delete; - }; - -@@ -312,15 +311,14 @@ class EnumTable { - if (is_sorted_) { - const std::size_t index = static_cast(value); - if (ANALYZER_ASSUME_TRUE(index < data_.size())) { -- const auto& entry = data_.begin()[index]; -+ const auto& entry = data_[index]; - if (ANALYZER_ASSUME_TRUE(entry.has_str())) - return entry.str(); - } - return std::nullopt; - } - return GenericEnumTableEntry::FindByValue( -- reinterpret_cast(data_.begin()), -- data_.size(), static_cast(value)); -+ &data_[0], data_.size(), static_cast(value)); - } - - // This overload of GetString is designed for cases where the argument is a -@@ -348,8 +346,7 @@ class EnumTable { - // enum value directly. - std::optional GetEnum(std::string_view str) const { - auto* entry = GenericEnumTableEntry::FindByString( -- reinterpret_cast(data_.begin()), -- data_.size(), str); -+ &data_[0], data_.size(), str); - return entry ? static_cast(entry->value) : std::optional(); - } - -@@ -364,7 +361,7 @@ class EnumTable { - // Align the data on a cache line boundary. - alignas(64) - #endif -- std::initializer_list data_; -+ const std::vector data_; - bool is_sorted_; - - constexpr EnumTable(std::initializer_list data, bool is_sorted) -@@ -376,8 +373,8 @@ class EnumTable { - - for (std::size_t i = 0; i < data.size(); i++) { - for (std::size_t j = i + 1; j < data.size(); j++) { -- const Entry& ei = data.begin()[i]; -- const Entry& ej = data.begin()[j]; -+ const Entry& ei = data[i]; -+ const Entry& ej = data[j]; - DCHECK(ei.value != ej.value) - << "Found duplicate enum values at indices " << i << " and " << j; - DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str())) diff --git a/www-client/chromium/files/chromium-126-compiler-r1.patch b/www-client/chromium/files/chromium-126-compiler-r1.patch deleted file mode 100644 index 6140453..0000000 --- a/www-client/chromium/files/chromium-126-compiler-r1.patch +++ /dev/null @@ -1,317 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index d39de9bc56..4b37db6c59 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -305,9 +305,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -483,6 +480,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -545,55 +545,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/40283598): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/40192287): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -998,17 +949,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1516,46 +1456,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- swiftflags += [ "-file-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1574,39 +1474,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path) { -- update_args = [ -- "--print-revision", -- "--verify-version=$clang_version", -- ] -- if (llvm_force_head_revision) { -- update_args += [ "--llvm-force-head-revision" ] -- } -- clang_revision = exec_script("//tools/clang/scripts/update.py", -- update_args, -- "trim string") -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -1982,11 +1849,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1995,24 +1858,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2402,7 +2247,8 @@ config("default_stack_frames") { - # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 - # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 - # [2]: https://crrev.com/c/5447532 --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - cflags = [ "/O2" ] + common_optimize_on_cflags - -@@ -2443,7 +2289,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2483,7 +2330,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2516,7 +2364,8 @@ config("optimize_max") { - # - # TODO(crbug.com/41259697) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2545,7 +2394,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2678,7 +2528,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - if (is_win) { - if (is_clang) { -@@ -2828,7 +2679,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -2913,7 +2765,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/rust.gni b/build/config/rust.gni -index e99d7d08e1..898b3e6630 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -75,7 +75,8 @@ declare_args() { - # - # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-126-compiler.patch b/www-client/chromium/files/chromium-126-compiler.patch deleted file mode 100644 index d93c82a..0000000 --- a/www-client/chromium/files/chromium-126-compiler.patch +++ /dev/null @@ -1,317 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 973d8bcbd2..9be41363ff 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -319,9 +319,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -496,6 +493,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -587,55 +587,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/1488374): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/1491036): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/1235145): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1023,17 +974,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1541,46 +1481,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- swiftflags += [ "-file-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1599,39 +1499,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path) { -- update_args = [ -- "--print-revision", -- "--verify-version=$clang_version", -- ] -- if (llvm_force_head_revision) { -- update_args += [ "--llvm-force-head-revision" ] -- } -- clang_revision = exec_script("//tools/clang/scripts/update.py", -- update_args, -- "trim string") -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -2007,11 +1874,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -2020,24 +1883,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2427,7 +2272,8 @@ config("default_stack_frames") { - # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 - # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 - # [2]: https://crrev.com/c/5447532 --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - cflags = [ "/O2" ] + common_optimize_on_cflags - -@@ -2468,7 +2314,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2508,7 +2355,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2541,7 +2389,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2570,7 +2419,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2703,7 +2553,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - if (is_win) { - if (is_clang) { -@@ -2852,7 +2703,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -2937,7 +2789,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/rust.gni b/build/config/rust.gni -index 59fa14463b..ca780602b4 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -75,7 +75,8 @@ declare_args() { - # - # TODO(https://crbug.com/1482525): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-126-freetype-blink.patch b/www-client/chromium/files/chromium-126-freetype-blink.patch deleted file mode 100644 index 5b94040..0000000 --- a/www-client/chromium/files/chromium-126-freetype-blink.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn -index e43f998e77..42109dd41a 100644 ---- a/third_party/blink/renderer/platform/BUILD.gn -+++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -1883,6 +1883,7 @@ component("platform") { - ] - } - -+ include_dirs += [ "//third_party/freetype/src/include/" ] - if (!is_debug && !optimize_for_size) { - configs -= [ "//build/config/compiler:default_optimization" ] - configs += [ "//build/config/compiler:optimize_max" ] diff --git a/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default-r1.patch b/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default-r1.patch deleted file mode 100644 index cd39907..0000000 --- a/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default-r1.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/google_apis/google_api_keys-inc.cc b/google_apis/google_api_keys-inc.cc -index 4d13e697a5..61aac7b486 100644 ---- a/google_apis/google_api_keys-inc.cc -+++ b/google_apis/google_api_keys-inc.cc -@@ -193,11 +193,11 @@ class APIKeyCache { - std::string default_client_id = CalculateKeyValue( - GOOGLE_DEFAULT_CLIENT_ID, - STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), -- nullptr, std::string(), environment.get(), command_line, gaia_config); -+ ::switches::kOAuth2ClientID, std::string(), environment.get(), command_line, gaia_config); - std::string default_client_secret = CalculateKeyValue( - GOOGLE_DEFAULT_CLIENT_SECRET, - STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(), -- nullptr, std::string(), environment.get(), command_line, gaia_config); -+ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config); - - // We currently only allow overriding the baked-in values for the - // default OAuth2 client ID and secret using a command-line diff --git a/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default.patch b/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default.patch deleted file mode 100644 index dd7a643..0000000 --- a/www-client/chromium/files/chromium-126-use-oauth2-client-switches-as-default.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/google_apis/google_api_keys-inc.cc b/google_apis/google_api_keys-inc.cc -index 49c396d69d..9493e7e5aa 100644 ---- a/google_apis/google_api_keys-inc.cc -+++ b/google_apis/google_api_keys-inc.cc -@@ -182,11 +182,11 @@ class APIKeyCache { - - std::string default_client_id = CalculateKeyValue( - GOOGLE_DEFAULT_CLIENT_ID, -- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), nullptr, -+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), ::switches::kOAuth2ClientID, - std::string(), environment.get(), command_line, gaia_config); - std::string default_client_secret = CalculateKeyValue( - GOOGLE_DEFAULT_CLIENT_SECRET, -- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), nullptr, -+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), ::switches::kOAuth2ClientSecret, - std::string(), environment.get(), command_line, gaia_config); - - // We currently only allow overriding the baked-in values for the diff --git a/www-client/chromium/files/chromium-127-bindgen-include-temporary.patch b/www-client/chromium/files/chromium-127-bindgen-include-temporary.patch deleted file mode 100644 index 570cce8..0000000 --- a/www-client/chromium/files/chromium-127-bindgen-include-temporary.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/build/rust/rust_bindgen.gni b/build/rust/rust_bindgen.gni -index bf110ca93c..654ddf5f0b 100644 ---- a/build/rust/rust_bindgen.gni -+++ b/build/rust/rust_bindgen.gni -@@ -152,6 +152,8 @@ template("rust_bindgen") { - clang_resource_dir, - ] - -+ args += [ "-I" + rebase_path(sysroot + "/usr/lib/clang/17/include/", root_build_dir) ] -+ - # The `--sysroot` flag is not working as expected and gets ignored (we don't - # fully understand why, see b/328510249). But we add `-isystem` to point at - # the headers in the sysroot which are otherwise not found. diff --git a/www-client/chromium/files/chromium-128-compiler-r1.patch b/www-client/chromium/files/chromium-128-compiler-r1.patch deleted file mode 100644 index fa0fc5c..0000000 --- a/www-client/chromium/files/chromium-128-compiler-r1.patch +++ /dev/null @@ -1,324 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index eb329bc88f..145343f6ec 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -305,9 +305,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -487,6 +484,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -556,55 +556,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/40283598): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/40192287): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1012,17 +963,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1540,52 +1480,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- -- # Convert absolute paths to relative paths. Expands to, for example: -- # -file-prefix-map /path/to/chromium/src=../.. -- swiftflags += [ -- "-file-prefix-map", -- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir), -- ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1604,40 +1498,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path && -- current_os != "zos") { -- update_args = [ -- "--print-revision", -- "--verify-version=$clang_version", -- ] -- if (llvm_force_head_revision) { -- update_args += [ "--llvm-force-head-revision" ] -- } -- clang_revision = exec_script("//tools/clang/scripts/update.py", -- update_args, -- "trim string") -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -2034,11 +1894,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -2047,24 +1903,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2457,7 +2295,8 @@ config("default_stack_frames") { - # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 - # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 - # [2]: https://crrev.com/c/5447532 --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for - # consistency with the other platforms. -@@ -2503,7 +2342,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2543,7 +2383,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2576,7 +2417,8 @@ config("optimize_max") { - # - # TODO(crbug.com/41259697) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2605,7 +2447,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2736,7 +2579,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - if (is_win) { - if (is_clang) { -@@ -2886,7 +2730,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -2971,7 +2816,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/rust.gni b/build/config/rust.gni -index fd4c683442..20c9e4c901 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -79,7 +79,8 @@ declare_args() { - # - # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-128-compiler.patch b/www-client/chromium/files/chromium-128-compiler.patch deleted file mode 100644 index 688f928..0000000 --- a/www-client/chromium/files/chromium-128-compiler.patch +++ /dev/null @@ -1,317 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 1d2c6e0..9d7e9c0 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -305,9 +305,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -487,6 +484,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -556,55 +556,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/40283598): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/40192287): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1014,17 +965,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1542,46 +1482,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- swiftflags += [ "-file-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1600,39 +1500,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path) { -- update_args = [ -- "--print-revision", -- "--verify-version=$clang_version", -- ] -- if (llvm_force_head_revision) { -- update_args += [ "--llvm-force-head-revision" ] -- } -- clang_revision = exec_script("//tools/clang/scripts/update.py", -- update_args, -- "trim string") -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -2008,11 +1875,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -2021,24 +1884,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2431,7 +2276,8 @@ config("default_stack_frames") { - # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 - # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 - # [2]: https://crrev.com/c/5447532 --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for - # consistency with the other platforms. -@@ -2477,7 +2323,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2517,7 +2364,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2550,7 +2398,8 @@ config("optimize_max") { - # - # TODO(crbug.com/41259697) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2579,7 +2428,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2710,7 +2560,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - if (is_win) { - if (is_clang) { -@@ -2859,7 +2710,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -2944,7 +2796,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/rust.gni b/build/config/rust.gni -index 97e788a..e9bbcc0 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -79,7 +79,8 @@ declare_args() { - # - # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-131-EnumTable-crash.patch b/www-client/chromium/files/chromium-131-EnumTable-crash.patch deleted file mode 100644 index f4a6969..0000000 --- a/www-client/chromium/files/chromium-131-EnumTable-crash.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/components/media_router/common/providers/cast/channel/enum_table.h b/components/media_router/common/providers/cast/channel/enum_table.h -index 18fd272c6a..db9d2fb18a 100644 ---- a/components/media_router/common/providers/cast/channel/enum_table.h -+++ b/components/media_router/common/providers/cast/channel/enum_table.h -@@ -16,6 +16,7 @@ - #include - #include - #include -+#include - - #include "base/check_op.h" - #include "base/notreached.h" -@@ -193,7 +194,6 @@ class - inline constexpr GenericEnumTableEntry(int32_t value); - inline constexpr GenericEnumTableEntry(int32_t value, std::string_view str); - -- GenericEnumTableEntry(const GenericEnumTableEntry&) = delete; - GenericEnumTableEntry& operator=(const GenericEnumTableEntry&) = delete; - - private: -@@ -259,7 +259,6 @@ class EnumTable { - constexpr Entry(E value, std::string_view str) - : GenericEnumTableEntry(static_cast(value), str) {} - -- Entry(const Entry&) = delete; - Entry& operator=(const Entry&) = delete; - }; - -@@ -318,15 +317,14 @@ class EnumTable { - if (is_sorted_) { - const std::size_t index = static_cast(value); - if (ANALYZER_ASSUME_TRUE(index < data_.size())) { -- const auto& entry = data_.begin()[index]; -+ const auto& entry = data_[index]; - if (ANALYZER_ASSUME_TRUE(entry.has_str())) - return entry.str(); - } - return std::nullopt; - } - return GenericEnumTableEntry::FindByValue( -- reinterpret_cast(data_.begin()), -- data_.size(), static_cast(value)); -+ &data_[0], data_.size(), static_cast(value)); - } - - // This overload of GetString is designed for cases where the argument is a -@@ -355,8 +353,7 @@ class EnumTable { - // enum value directly. - std::optional GetEnum(std::string_view str) const { - auto* entry = GenericEnumTableEntry::FindByString( -- reinterpret_cast(data_.begin()), -- data_.size(), str); -+ &data_[0], data_.size(), str); - return entry ? static_cast(entry->value) : std::optional(); - } - -@@ -368,9 +365,9 @@ class EnumTable { - - private: - #ifdef ARCH_CPU_64_BITS -- alignas(std::hardware_destructive_interference_size) -+ alignas(64) - #endif -- std::initializer_list data_; -+ const std::vector data_; - bool is_sorted_; - - constexpr EnumTable(std::initializer_list data, bool is_sorted) -@@ -382,8 +379,8 @@ class EnumTable { - - for (std::size_t i = 0; i < data.size(); i++) { - for (std::size_t j = i + 1; j < data.size(); j++) { -- const Entry& ei = data.begin()[i]; -- const Entry& ej = data.begin()[j]; -+ const Entry& ei = data[i]; -+ const Entry& ej = data[j]; - DCHECK(ei.value != ej.value) - << "Found duplicate enum values at indices " << i << " and " << j; - DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str())) diff --git a/www-client/chromium/files/chromium-131-compiler.patch b/www-client/chromium/files/chromium-131-compiler.patch deleted file mode 100644 index 1790cfd..0000000 --- a/www-client/chromium/files/chromium-131-compiler.patch +++ /dev/null @@ -1,324 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 98ae25c768..fca2469519 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -311,9 +311,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -493,6 +490,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -562,55 +562,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/40283598): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/40192287): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1031,17 +982,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1561,52 +1501,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- -- # Convert absolute paths to relative paths. Expands to, for example: -- # -file-prefix-map /path/to/chromium/src=../.. -- swiftflags += [ -- "-file-prefix-map", -- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir), -- ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1625,40 +1519,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path && -- current_os != "zos") { -- update_args = [ -- "--print-revision", -- "--verify-version=$clang_version", -- ] -- if (llvm_force_head_revision) { -- update_args += [ "--llvm-force-head-revision" ] -- } -- clang_revision = exec_script("//tools/clang/scripts/update.py", -- update_args, -- "trim string") -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -2059,11 +1919,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -2072,24 +1928,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2487,7 +2325,8 @@ config("default_stack_frames") { - # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 - # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 - # [2]: https://crrev.com/c/5447532 --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for - # consistency with the other platforms. -@@ -2536,7 +2375,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2576,7 +2416,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2609,7 +2450,8 @@ config("optimize_max") { - # - # TODO(crbug.com/41259697) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2638,7 +2480,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2769,7 +2612,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - configs = [] - if (is_win) { -@@ -2931,7 +2775,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -3016,7 +2861,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/rust.gni b/build/config/rust.gni -index b7e3c8881b..a2cd059ccd 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -79,7 +79,8 @@ declare_args() { - # - # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-131-text_codec_icu-system-icu.patch b/www-client/chromium/files/chromium-131-text_codec_icu-system-icu.patch deleted file mode 100644 index 50ada83..0000000 --- a/www-client/chromium/files/chromium-131-text_codec_icu-system-icu.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -index dfa1cb1369..ecffa654a2 100644 ---- a/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -+++ b/third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc -@@ -323,7 +323,7 @@ void TextCodecICU::CreateICUConverter() const { - DCHECK(!converter_icu_); - - #if defined(USING_SYSTEM_ICU) -- const char* name = encoding_.GetName(); -+ const char* name = encoding_.GetName().Utf8().c_str(); - needs_gbk_fallbacks_ = - name[0] == 'G' && name[1] == 'B' && name[2] == 'K' && !name[3]; - #endif -@@ -448,7 +448,7 @@ String TextCodecICU::Decode(base::span data, - // - // Simplified Chinese pages use the code A3A0 to mean "full-width space", but - // ICU decodes it as U+E5E5. -- if (!strcmp(encoding_.GetName(), "GBK")) { -+ if (!strcmp(encoding_.GetName().Utf8().c_str(), "GBK")) { - if (EqualIgnoringASCIICase(encoding_.GetName(), "gb18030")) - resultString.Replace(0xE5E5, kIdeographicSpaceCharacter); - // Make GBK compliant to the encoding spec and align with GB18030 diff --git a/www-client/chromium/files/chromium-132-compiler.patch b/www-client/chromium/files/chromium-132-compiler.patch deleted file mode 100644 index f9cd8e3..0000000 --- a/www-client/chromium/files/chromium-132-compiler.patch +++ /dev/null @@ -1,357 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index cb9bf8772d..9e36a487ba 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -309,9 +309,6 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -493,6 +490,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -568,63 +568,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/40283598): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/40192287): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- -- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF -- # (excluding toolchains that use an older version of LLVM). -- # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds. -- if (is_linux && !llvm_android_mainline && current_cpu != "arm" && -- default_toolchain != "//build/toolchain/cros:target") { -- cflags += [ "-Wa,--crel,--allow-experimental-crel" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1045,20 +988,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", -- -- # We use clang-rt sanitizer runtimes. -- "-Zexternal-clangrt", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1107,7 +1036,7 @@ config("compiler") { - # Don't allow unstable features to be enabled by `#![feature()]` without - # additional command line flags. - config("disallow_unstable_features") { -- rustflags = [ "-Zallow-features=" ] -+ #rustflags = [ "-Zallow-features=" ] - } - - config("libcxx_hardening") { -@@ -1583,52 +1512,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- -- # Convert absolute paths to relative paths. Expands to, for example: -- # -file-prefix-map /path/to/chromium/src=../.. -- swiftflags += [ -- "-file-prefix-map", -- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir), -- ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1647,40 +1530,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path && -- current_os != "zos") { -- update_args = [ -- "--print-revision", -- "--verify-version=$clang_version", -- ] -- if (llvm_force_head_revision) { -- update_args += [ "--llvm-force-head-revision" ] -- } -- clang_revision = exec_script("//tools/clang/scripts/update.py", -- update_args, -- "trim string") -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -2086,11 +1935,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -2099,24 +1944,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2544,7 +2371,8 @@ config("default_stack_frames") { - # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 - # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 - # [2]: https://crrev.com/c/5447532 --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for - # consistency with the other platforms. -@@ -2593,7 +2421,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2633,7 +2462,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2666,7 +2496,8 @@ config("optimize_max") { - # - # TODO(crbug.com/41259697) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2695,7 +2526,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2826,7 +2658,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - configs = [] - if (is_win) { -@@ -2988,7 +2821,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -3073,7 +2907,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn -index a659210b19..bde0e1b273 100644 ---- a/build/config/gcc/BUILD.gn -+++ b/build/config/gcc/BUILD.gn -@@ -32,7 +32,7 @@ declare_args() { - # See http://gcc.gnu.org/wiki/Visibility - config("symbol_visibility_hidden") { - cflags = [ "-fvisibility=hidden" ] -- rustflags = [ "-Zdefault-visibility=hidden" ] -+ # rustflags = [ "-Zdefault-visibility=hidden" ] - - # Visibility attribute is not supported on AIX. - if (current_os != "aix") { -diff --git a/build/config/rust.gni b/build/config/rust.gni -index 5b7807a1b8..4b3acd300e 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -79,7 +79,8 @@ declare_args() { - # - # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-134-gn-exec_script_allowlist.patch b/www-client/chromium/files/chromium-134-gn-exec_script_allowlist.patch deleted file mode 100644 index 008e149..0000000 --- a/www-client/chromium/files/chromium-134-gn-exec_script_allowlist.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/.gn b/.gn -index 3f65718281..0170ef8d0f 100644 ---- a/.gn -+++ b/.gn -@@ -145,31 +145,31 @@ no_check_targets = [ - # this situation much easier to create. if the build always lists the - # files and passes them to a script, it will always be correct. - --exec_script_allowlist = -- build_dotfile_settings.exec_script_allowlist + -- angle_dotfile_settings.exec_script_whitelist + -- [ -- # Allowlist entries for //build should go into -- # //build/dotfile_settings.gni instead, so that they can be shared -- # with other repos. The entries in this list should be only for files -- # in the Chromium repo outside of //build. -- "//build_overrides/build.gni", -- -- "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn", -- "//chrome/version.gni", -- -- # TODO(dgn): Layer violation but breaks the build otherwise, see -- # https://crbug.com/474506. -- "//clank/java/BUILD.gn", -- "//clank/native/BUILD.gn", -- -- "//google_apis/BUILD.gn", -- "//printing/BUILD.gn", -- -- "//remoting/host/installer/linux/BUILD.gn", -- "//remoting/remoting_version.gni", -- "//remoting/host/installer/win/generate_clsids.gni", -- -- "//tools/grit/grit_rule.gni", -- "//tools/gritsettings/BUILD.gn", -- ] -+#exec_script_allowlist = -+# build_dotfile_settings.exec_script_allowlist + -+# angle_dotfile_settings.exec_script_whitelist + -+# [ -+# # Allowlist entries for //build should go into -+# # //build/dotfile_settings.gni instead, so that they can be shared -+# # with other repos. The entries in this list should be only for files -+# # in the Chromium repo outside of //build. -+# "//build_overrides/build.gni", -+# -+# "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn", -+# "//chrome/version.gni", -+# -+# # TODO(dgn): Layer violation but breaks the build otherwise, see -+# # https://crbug.com/474506. -+# "//clank/java/BUILD.gn", -+# "//clank/native/BUILD.gn", -+# -+# "//google_apis/BUILD.gn", -+# "//printing/BUILD.gn", -+# -+# "//remoting/host/installer/linux/BUILD.gn", -+# "//remoting/remoting_version.gni", -+# "//remoting/host/installer/win/generate_clsids.gni", -+# -+# "//tools/grit/grit_rule.gni", -+# "//tools/gritsettings/BUILD.gn", -+# ] diff --git a/www-client/chromium/files/chromium-135-mv2-ungoogled.patch b/www-client/chromium/files/chromium-135-mv2-ungoogled.patch deleted file mode 100644 index db276b3..0000000 --- a/www-client/chromium/files/chromium-135-mv2-ungoogled.patch +++ /dev/null @@ -1,183 +0,0 @@ -diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc -index e330cb7163..08da10083a 100644 ---- a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc -+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc -@@ -618,17 +618,6 @@ void ExtensionInfoGenerator::CreateExtensionInfoHelper( - info->controlled_info.emplace(); - info->controlled_info->text = - l10n_util::GetStringUTF8(IDS_EXTENSIONS_INSTALL_LOCATION_ENTERPRISE); -- } else { -- // Create Safety Hub information for any non-enterprise extension. -- developer::SafetyCheckWarningReason warning_reason = -- ExtensionSafetyCheckUtils::GetSafetyCheckWarningReason(extension, -- profile); -- if (warning_reason != developer::SafetyCheckWarningReason::kNone) { -- info->safety_check_warning_reason = warning_reason; -- info->safety_check_text = -- ExtensionSafetyCheckUtils::GetSafetyCheckWarningStrings( -- warning_reason, state); -- } - } - - bool is_enabled = state == developer::ExtensionState::kEnabled; -diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc -index eb2350fca9..f13816a016 100644 ---- a/chrome/browser/extensions/extension_management.cc -+++ b/chrome/browser/extensions/extension_management.cc -@@ -318,31 +318,7 @@ bool ExtensionManagement::IsAllowedManifestVersion( - int manifest_version, - const std::string& extension_id, - Manifest::Type manifest_type) { -- bool enabled_by_default = -- !base::FeatureList::IsEnabled( -- extensions_features::kExtensionsManifestV3Only) || -- manifest_version >= 3; -- -- // Manifest version policy only supports normal extensions and Chrome OS login -- // screen extension. -- if (manifest_type != Manifest::Type::TYPE_EXTENSION && -- manifest_type != Manifest::Type::TYPE_LOGIN_SCREEN_EXTENSION) { -- return enabled_by_default; -- } -- switch (global_settings_->manifest_v2_setting) { -- case internal::GlobalSettings::ManifestV2Setting::kDefault: -- return enabled_by_default; -- case internal::GlobalSettings::ManifestV2Setting::kDisabled: -- return manifest_version >= 3; -- case internal::GlobalSettings::ManifestV2Setting::kEnabled: - return true; -- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: -- auto installation_mode = -- GetInstallationMode(extension_id, /*update_url=*/std::string()); -- return manifest_version >= 3 || -- installation_mode == INSTALLATION_FORCED || -- installation_mode == INSTALLATION_RECOMMENDED; -- } - } - - bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) { -@@ -363,26 +339,8 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( - return false; - } - -- switch (global_settings_->manifest_v2_setting) { -- case internal::GlobalSettings::ManifestV2Setting::kDefault: -- // Default browser behavior. Not exempt. -- return false; -- case internal::GlobalSettings::ManifestV2Setting::kDisabled: -- // All MV2 extensions are disallowed. Not exempt. -- return false; -- case internal::GlobalSettings::ManifestV2Setting::kEnabled: - // All MV2 extensions are allowed. Exempt. - return true; -- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: -- // Force-installed MV2 extensions are allowed. Exempt if it's a force- -- // installed extension only. -- auto installation_mode = -- GetInstallationMode(extension_id, /*update_url=*/std::string()); -- return installation_mode == INSTALLATION_FORCED || -- installation_mode == INSTALLATION_RECOMMENDED; -- } -- -- return false; - } - - bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy( -diff --git a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -index 555fd894e8..3f042548bd 100644 ---- a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -+++ b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -@@ -23,7 +23,6 @@ - #include "chrome/browser/extensions/extension_web_ui_override_registrar.h" - #include "chrome/browser/extensions/install_tracker_factory.h" - #include "chrome/browser/extensions/install_verifier_factory.h" --#include "chrome/browser/extensions/manifest_v2_experiment_manager.h" - #include "chrome/browser/extensions/menu_manager_factory.h" - #include "chrome/browser/extensions/permissions/permissions_updater.h" - #include "chrome/browser/extensions/plugin_manager.h" -@@ -55,7 +54,6 @@ void EnsureChromeBrowserContextKeyedServiceFactoriesBuilt() { - extensions::ChromeExtensionSystemFactory::GetInstance(); - extensions::InstallTrackerFactory::GetInstance(); - extensions::InstallVerifierFactory::GetInstance(); -- extensions::ManifestV2ExperimentManager::GetFactory(); - extensions::MenuManagerFactory::GetInstance(); - extensions::PermissionsUpdater::EnsureAssociatedFactoryBuilt(); - #if BUILDFLAG(ENABLE_PLUGINS) -diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrome/browser/extensions/manifest_v2_experiment_manager.cc -index 2e47e928e3..81ad199a24 100644 ---- a/chrome/browser/extensions/manifest_v2_experiment_manager.cc -+++ b/chrome/browser/extensions/manifest_v2_experiment_manager.cc -@@ -145,22 +145,6 @@ bool ManifestV2ExperimentManagerFactory::ServiceIsCreatedWithBrowserContext() - - // Determines the current stage of the MV2 deprecation experiments. - MV2ExperimentStage CalculateCurrentExperimentStage() { -- // Return the "highest" stage that is currently active for the user. -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2Unsupported)) { -- return MV2ExperimentStage::kUnsupported; -- } -- -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2Disabled)) { -- return MV2ExperimentStage::kDisableWithReEnable; -- } -- -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2DeprecationWarning)) { -- return MV2ExperimentStage::kWarning; -- } -- - return MV2ExperimentStage::kNone; - } - -@@ -200,19 +184,7 @@ PrefMap GetGlobalNoticeAcknowledgedPrefFor( - // Returns true if legacy extensions should be disabled, looking at both - // experiment stage and global state. - bool ShouldDisableLegacyExtensions(MV2ExperimentStage stage) { -- if (g_allow_mv2_for_testing) { -- // We allow legacy MV2 extensions for testing purposes. -- return false; -- } -- -- switch (stage) { -- case MV2ExperimentStage::kNone: -- case MV2ExperimentStage::kWarning: - return false; -- case MV2ExperimentStage::kDisableWithReEnable: -- case MV2ExperimentStage::kUnsupported: -- return true; -- } - } - - // Returns true if the given `stage` is one in which extension enablement should -diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc -index 057dc619e9..52d0e388c9 100644 ---- a/chrome/browser/ui/webui/extensions/extensions_ui.cc -+++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc -@@ -477,7 +477,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, - extensions_features::kExtensionsMenuAccessControlWithPermittedSites)); - source->AddBoolean( - "safetyHubThreeDotDetails", -- base::FeatureList::IsEnabled(features::kSafetyHubThreeDotDetails)); -+ false); - - // TODO(crbug.com/392777363): Clean these up with non-placeholder values. - #if BUILDFLAG(IS_ANDROID) -diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc -index 833ea42681..dfd41632bd 100644 ---- a/extensions/common/extension.cc -+++ b/extensions/common/extension.cc -@@ -96,13 +96,6 @@ bool IsManifestSupported(int manifest_version, - // Supported versions are always safe. - if (manifest_version >= kMinimumSupportedManifestVersion && - manifest_version <= kMaximumSupportedManifestVersion) { -- // Emit a warning for unpacked extensions on Manifest V2 warning that -- // MV2 is deprecated. -- if (type == Manifest::TYPE_EXTENSION && manifest_version == 2 && -- Manifest::IsUnpackedLocation(location) && -- !g_silence_deprecated_manifest_version_warnings) { -- *warning = errors::kManifestV2IsDeprecatedWarning; -- } - return true; - } - diff --git a/www-client/chromium/files/chromium-135-protobuf-RepeatedPtrField-export.patch b/www-client/chromium/files/chromium-135-protobuf-RepeatedPtrField-export.patch deleted file mode 100644 index 5d336bd..0000000 --- a/www-client/chromium/files/chromium-135-protobuf-RepeatedPtrField-export.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h b/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h -index 36ca1c65c9..30baf169ef 100644 ---- a/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h -+++ b/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h -@@ -926,7 +926,7 @@ class GenericTypeHandler { - // RepeatedPtrField is like RepeatedField, but used for repeated strings or - // Messages. - template --class RepeatedPtrField final : private internal::RepeatedPtrFieldBase { -+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase { - static_assert(!std::is_const::value, - "We do not support const value types."); - static_assert(!std::is_volatile::value, diff --git a/www-client/chromium/files/chromium-136-glic-comma.patch b/www-client/chromium/files/chromium-136-glic-comma.patch deleted file mode 100644 index 9df4e74..0000000 --- a/www-client/chromium/files/chromium-136-glic-comma.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/chrome/browser/glic/glic_window_controller.cc b/chrome/browser/glic/glic_window_controller.cc -index 9e047b534f..a70f8e9ba2 100644 ---- a/chrome/browser/glic/glic_window_controller.cc -+++ b/chrome/browser/glic/glic_window_controller.cc -@@ -497,7 +497,7 @@ void GlicWindowController::AddAccelerators() { - - glic_view->AddAccelerator(ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_NONE)); - glic_view->AddAccelerator( -- ui::Accelerator(ui::VKEY_A, ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN, )); -+ ui::Accelerator(ui::VKEY_A, ui::EF_ALT_DOWN | ui::EF_SHIFT_DOWN)); - } - - void GlicWindowController::Show(Browser* browser, InvocationSource source) { diff --git a/www-client/chromium/files/chromium-136-mv2-ungoogled.patch b/www-client/chromium/files/chromium-136-mv2-ungoogled.patch deleted file mode 100644 index 125c06d..0000000 --- a/www-client/chromium/files/chromium-136-mv2-ungoogled.patch +++ /dev/null @@ -1,183 +0,0 @@ -diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -index 57a51435e6..822e23a349 100644 ---- a/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -@@ -131,17 +131,6 @@ void ExtensionInfoGenerator::FillExtensionInfo( - info.controlled_info.emplace(); - info.controlled_info->text = - l10n_util::GetStringUTF8(IDS_EXTENSIONS_INSTALL_LOCATION_ENTERPRISE); -- } else { -- // Create Safety Hub information for any non-enterprise extension. -- developer::SafetyCheckWarningReason warning_reason = -- ExtensionSafetyCheckUtils::GetSafetyCheckWarningReason(extension, -- profile); -- if (warning_reason != developer::SafetyCheckWarningReason::kNone) { -- info.safety_check_warning_reason = warning_reason; -- info.safety_check_text = -- ExtensionSafetyCheckUtils::GetSafetyCheckWarningStrings( -- warning_reason, state); -- } - } - - bool is_enabled = state == developer::ExtensionState::kEnabled; -diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc -index eb2350fca9..f13816a016 100644 ---- a/chrome/browser/extensions/extension_management.cc -+++ b/chrome/browser/extensions/extension_management.cc -@@ -318,31 +318,7 @@ bool ExtensionManagement::IsAllowedManifestVersion( - int manifest_version, - const std::string& extension_id, - Manifest::Type manifest_type) { -- bool enabled_by_default = -- !base::FeatureList::IsEnabled( -- extensions_features::kExtensionsManifestV3Only) || -- manifest_version >= 3; -- -- // Manifest version policy only supports normal extensions and Chrome OS login -- // screen extension. -- if (manifest_type != Manifest::Type::TYPE_EXTENSION && -- manifest_type != Manifest::Type::TYPE_LOGIN_SCREEN_EXTENSION) { -- return enabled_by_default; -- } -- switch (global_settings_->manifest_v2_setting) { -- case internal::GlobalSettings::ManifestV2Setting::kDefault: -- return enabled_by_default; -- case internal::GlobalSettings::ManifestV2Setting::kDisabled: -- return manifest_version >= 3; -- case internal::GlobalSettings::ManifestV2Setting::kEnabled: - return true; -- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: -- auto installation_mode = -- GetInstallationMode(extension_id, /*update_url=*/std::string()); -- return manifest_version >= 3 || -- installation_mode == INSTALLATION_FORCED || -- installation_mode == INSTALLATION_RECOMMENDED; -- } - } - - bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) { -@@ -363,26 +339,8 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( - return false; - } - -- switch (global_settings_->manifest_v2_setting) { -- case internal::GlobalSettings::ManifestV2Setting::kDefault: -- // Default browser behavior. Not exempt. -- return false; -- case internal::GlobalSettings::ManifestV2Setting::kDisabled: -- // All MV2 extensions are disallowed. Not exempt. -- return false; -- case internal::GlobalSettings::ManifestV2Setting::kEnabled: - // All MV2 extensions are allowed. Exempt. - return true; -- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: -- // Force-installed MV2 extensions are allowed. Exempt if it's a force- -- // installed extension only. -- auto installation_mode = -- GetInstallationMode(extension_id, /*update_url=*/std::string()); -- return installation_mode == INSTALLATION_FORCED || -- installation_mode == INSTALLATION_RECOMMENDED; -- } -- -- return false; - } - - bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy( -diff --git a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -index 1083619abb..c7cae14860 100644 ---- a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -+++ b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -@@ -26,7 +26,6 @@ - #include "chrome/browser/extensions/extension_web_ui_override_registrar.h" - #include "chrome/browser/extensions/install_tracker_factory.h" - #include "chrome/browser/extensions/install_verifier_factory.h" --#include "chrome/browser/extensions/manifest_v2_experiment_manager.h" - #include "chrome/browser/extensions/menu_manager_factory.h" - #include "chrome/browser/extensions/permissions/permissions_updater.h" - #include "chrome/browser/extensions/plugin_manager.h" -@@ -61,7 +60,6 @@ void EnsureChromeBrowserContextKeyedServiceFactoriesBuilt() { - extensions::ChromeExtensionSystemFactory::GetInstance(); - extensions::InstallTrackerFactory::GetInstance(); - extensions::InstallVerifierFactory::GetInstance(); -- extensions::ManifestV2ExperimentManager::GetFactory(); - extensions::MenuManagerFactory::GetInstance(); - #if BUILDFLAG(ENABLE_PLUGINS) - extensions::PluginManager::GetFactoryInstance(); -diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrome/browser/extensions/manifest_v2_experiment_manager.cc -index 2e47e928e3..81ad199a24 100644 ---- a/chrome/browser/extensions/manifest_v2_experiment_manager.cc -+++ b/chrome/browser/extensions/manifest_v2_experiment_manager.cc -@@ -145,22 +145,6 @@ bool ManifestV2ExperimentManagerFactory::ServiceIsCreatedWithBrowserContext() - - // Determines the current stage of the MV2 deprecation experiments. - MV2ExperimentStage CalculateCurrentExperimentStage() { -- // Return the "highest" stage that is currently active for the user. -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2Unsupported)) { -- return MV2ExperimentStage::kUnsupported; -- } -- -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2Disabled)) { -- return MV2ExperimentStage::kDisableWithReEnable; -- } -- -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2DeprecationWarning)) { -- return MV2ExperimentStage::kWarning; -- } -- - return MV2ExperimentStage::kNone; - } - -@@ -200,19 +184,7 @@ PrefMap GetGlobalNoticeAcknowledgedPrefFor( - // Returns true if legacy extensions should be disabled, looking at both - // experiment stage and global state. - bool ShouldDisableLegacyExtensions(MV2ExperimentStage stage) { -- if (g_allow_mv2_for_testing) { -- // We allow legacy MV2 extensions for testing purposes. -- return false; -- } -- -- switch (stage) { -- case MV2ExperimentStage::kNone: -- case MV2ExperimentStage::kWarning: - return false; -- case MV2ExperimentStage::kDisableWithReEnable: -- case MV2ExperimentStage::kUnsupported: -- return true; -- } - } - - // Returns true if the given `stage` is one in which extension enablement should -diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc -index 0d702ceea5..bb5ccfa014 100644 ---- a/chrome/browser/ui/webui/extensions/extensions_ui.cc -+++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc -@@ -477,7 +477,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, - extensions_features::kExtensionsMenuAccessControlWithPermittedSites)); - source->AddBoolean( - "safetyHubThreeDotDetails", -- base::FeatureList::IsEnabled(features::kSafetyHubThreeDotDetails)); -+ false); - - // TODO(crbug.com/392777363): Clean these up with non-placeholder values. - #if BUILDFLAG(IS_ANDROID) -diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc -index 833ea42681..dfd41632bd 100644 ---- a/extensions/common/extension.cc -+++ b/extensions/common/extension.cc -@@ -96,13 +96,6 @@ bool IsManifestSupported(int manifest_version, - // Supported versions are always safe. - if (manifest_version >= kMinimumSupportedManifestVersion && - manifest_version <= kMaximumSupportedManifestVersion) { -- // Emit a warning for unpacked extensions on Manifest V2 warning that -- // MV2 is deprecated. -- if (type == Manifest::TYPE_EXTENSION && manifest_version == 2 && -- Manifest::IsUnpackedLocation(location) && -- !g_silence_deprecated_manifest_version_warnings) { -- *warning = errors::kManifestV2IsDeprecatedWarning; -- } - return true; - } - diff --git a/www-client/chromium/files/chromium-137-compiler-r1.patch b/www-client/chromium/files/chromium-137-compiler-r1.patch deleted file mode 100644 index 07680c9..0000000 --- a/www-client/chromium/files/chromium-137-compiler-r1.patch +++ /dev/null @@ -1,384 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index edaa614330..89297c27ab 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -307,12 +307,8 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", -- ":clang_warning_suppression", - ] - - # Here we enable -fno-delete-null-pointer-checks, which makes various nullptr -@@ -492,6 +488,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -568,62 +567,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/40283598): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/40192287): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- -- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF -- # (excluding toolchains that use an older version of LLVM). -- if (is_linux && use_lld && !llvm_android_mainline && -- default_toolchain != "//build/toolchain/cros:target") { -- cflags += [ "-Wa,--crel,--allow-experimental-crel" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1034,20 +977,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", -- -- # We use clang-rt sanitizer runtimes. -- "-Zexternal-clangrt", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1096,7 +1025,7 @@ config("compiler") { - # Don't allow unstable features to be enabled by `#![feature()]` without - # additional command line flags. - config("disallow_unstable_features") { -- rustflags = [ "-Zallow-features=" ] -+ #rustflags = [ "-Zallow-features=" ] - } - - config("libcxx_hardening") { -@@ -1555,52 +1484,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- -- # Convert absolute paths to relative paths. Expands to, for example: -- # -file-prefix-map /path/to/chromium/src=../.. -- swiftflags += [ -- "-file-prefix-map", -- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir), -- ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1619,65 +1502,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path && -- current_os != "zos") { -- update_args = [ -- "--print-revision", -- "--verify-version=$clang_version", -- ] -- if (llvm_force_head_revision) { -- update_args += [ "--llvm-force-head-revision" ] -- } -- clang_revision = exec_script("//tools/clang/scripts/update.py", -- update_args, -- "trim string") -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] -- } --} -- --# Controls the usage of a warning suppression mapping (WSM) file to suppress --# warnings based on the path of the file they come from. It's controlled by the --# `clang_warning_suppression_file` gn argument , which points to a text file --# defining which warnings should be suppressed where. --# See //build/config/warning_suppression.txt for an example file; this is the --# file used by Chromium. --# --# To use a different file, or to use this functionality outside of chromium, --# set the `clang_warning_suppression_file` argument to point to the new file, --# e.g. by setting in the the project's .gn file. --config("clang_warning_suppression") { -- # Some build configs use older versions of clang that don't support WSMs -- if (!is_nacl && default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline && is_clang && -- clang_warning_suppression_file != "") { -- from_build_root = -- rebase_path(clang_warning_suppression_file, root_build_dir) -- inputs = [ clang_warning_suppression_file ] -- cflags = [ -- "-Xclang", -- "--warning-suppression-mappings=" + from_build_root, -- ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -2113,11 +1937,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -2126,24 +1946,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2559,7 +2361,8 @@ config("default_stack_frames") { - # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 - # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 - # [2]: https://crrev.com/c/5447532 --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for - # consistency with the other platforms. -@@ -2608,7 +2411,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2643,7 +2447,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2676,7 +2481,8 @@ config("optimize_max") { - # - # TODO(crbug.com/41259697) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2705,7 +2511,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2836,7 +2643,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - configs = [] - if (is_win) { -@@ -2998,7 +2806,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -3083,7 +2892,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn -index a659210b19..bde0e1b273 100644 ---- a/build/config/gcc/BUILD.gn -+++ b/build/config/gcc/BUILD.gn -@@ -32,7 +32,7 @@ declare_args() { - # See http://gcc.gnu.org/wiki/Visibility - config("symbol_visibility_hidden") { - cflags = [ "-fvisibility=hidden" ] -- rustflags = [ "-Zdefault-visibility=hidden" ] -+ # rustflags = [ "-Zdefault-visibility=hidden" ] - - # Visibility attribute is not supported on AIX. - if (current_os != "aix") { -diff --git a/build/config/rust.gni b/build/config/rust.gni -index 4b66d4e809..9cd3dd2124 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -84,7 +84,8 @@ declare_args() { - # - # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-137-compiler.patch b/www-client/chromium/files/chromium-137-compiler.patch deleted file mode 100644 index b60d49f..0000000 --- a/www-client/chromium/files/chromium-137-compiler.patch +++ /dev/null @@ -1,384 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 0aa2d1e5c8..88a7a2eb96 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -307,12 +307,8 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", -- ":clang_warning_suppression", - ] - - # Here we enable -fno-delete-null-pointer-checks, which makes various nullptr -@@ -492,6 +488,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -567,62 +566,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/40283598): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/40192287): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- -- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF -- # (excluding toolchains that use an older version of LLVM). -- if (is_linux && !llvm_android_mainline && -- default_toolchain != "//build/toolchain/cros:target") { -- cflags += [ "-Wa,--crel,--allow-experimental-crel" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1033,20 +976,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", -- -- # We use clang-rt sanitizer runtimes. -- "-Zexternal-clangrt", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1095,7 +1024,7 @@ config("compiler") { - # Don't allow unstable features to be enabled by `#![feature()]` without - # additional command line flags. - config("disallow_unstable_features") { -- rustflags = [ "-Zallow-features=" ] -+ #rustflags = [ "-Zallow-features=" ] - } - - config("libcxx_hardening") { -@@ -1554,52 +1483,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- -- # Convert absolute paths to relative paths. Expands to, for example: -- # -file-prefix-map /path/to/chromium/src=../.. -- swiftflags += [ -- "-file-prefix-map", -- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir), -- ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1618,65 +1501,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path && -- current_os != "zos") { -- update_args = [ -- "--print-revision", -- "--verify-version=$clang_version", -- ] -- if (llvm_force_head_revision) { -- update_args += [ "--llvm-force-head-revision" ] -- } -- clang_revision = exec_script("//tools/clang/scripts/update.py", -- update_args, -- "trim string") -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$clang_revision\"" ] -- } --} -- --# Controls the usage of a warning suppression mapping (WSM) file to suppress --# warnings based on the path of the file they come from. It's controlled by the --# `clang_warning_suppression_file` gn argument , which points to a text file --# defining which warnings should be suppressed where. --# See //build/config/warning_suppression.txt for an example file; this is the --# file used by Chromium. --# --# To use a different file, or to use this functionality outside of chromium, --# set the `clang_warning_suppression_file` argument to point to the new file, --# e.g. by setting in the the project's .gn file. --config("clang_warning_suppression") { -- # Some build configs use older versions of clang that don't support WSMs -- if (!is_nacl && default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline && is_clang && -- clang_warning_suppression_file != "") { -- from_build_root = -- rebase_path(clang_warning_suppression_file, root_build_dir) -- inputs = [ clang_warning_suppression_file ] -- cflags = [ -- "-Xclang", -- "--warning-suppression-mappings=" + from_build_root, -- ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -2116,11 +1940,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -2129,24 +1949,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2566,7 +2368,8 @@ config("default_stack_frames") { - # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 - # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 - # [2]: https://crrev.com/c/5447532 --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for - # consistency with the other platforms. -@@ -2615,7 +2418,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2650,7 +2454,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2683,7 +2488,8 @@ config("optimize_max") { - # - # TODO(crbug.com/41259697) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2712,7 +2518,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2843,7 +2650,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - configs = [] - if (is_win) { -@@ -3005,7 +2813,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -3090,7 +2899,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn -index a659210b19..bde0e1b273 100644 ---- a/build/config/gcc/BUILD.gn -+++ b/build/config/gcc/BUILD.gn -@@ -32,7 +32,7 @@ declare_args() { - # See http://gcc.gnu.org/wiki/Visibility - config("symbol_visibility_hidden") { - cflags = [ "-fvisibility=hidden" ] -- rustflags = [ "-Zdefault-visibility=hidden" ] -+ # rustflags = [ "-Zdefault-visibility=hidden" ] - - # Visibility attribute is not supported on AIX. - if (current_os != "aix") { -diff --git a/build/config/rust.gni b/build/config/rust.gni -index 74b3b9ced5..36f72b292e 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -84,7 +84,8 @@ declare_args() { - # - # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-137-gn-exec_script_allowlist.patch b/www-client/chromium/files/chromium-137-gn-exec_script_allowlist.patch deleted file mode 100644 index fb4fe68..0000000 --- a/www-client/chromium/files/chromium-137-gn-exec_script_allowlist.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/.gn b/.gn -index b8756e5390..823ccac2ab 100644 ---- a/.gn -+++ b/.gn -@@ -146,31 +146,31 @@ no_check_targets = [ - # this situation much easier to create. if the build always lists the - # files and passes them to a script, it will always be correct. - --exec_script_allowlist = -- build_dotfile_settings.exec_script_allowlist + -- angle_dotfile_settings.exec_script_allowlist + -- [ -- # Allowlist entries for //build should go into -- # //build/dotfile_settings.gni instead, so that they can be shared -- # with other repos. The entries in this list should be only for files -- # in the Chromium repo outside of //build. -- "//build_overrides/build.gni", -- -- "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn", -- "//chrome/version.gni", -- -- # TODO(dgn): Layer violation but breaks the build otherwise, see -- # https://crbug.com/474506. -- "//clank/java/BUILD.gn", -- "//clank/native/BUILD.gn", -- -- "//google_apis/BUILD.gn", -- "//printing/BUILD.gn", -- -- "//remoting/host/installer/linux/BUILD.gn", -- "//remoting/remoting_version.gni", -- "//remoting/host/installer/win/generate_clsids.gni", -- -- "//tools/grit/grit_rule.gni", -- "//tools/gritsettings/BUILD.gn", -- ] -+#exec_script_allowlist = -+# build_dotfile_settings.exec_script_allowlist + -+# angle_dotfile_settings.exec_script_allowlist + -+# [ -+# # Allowlist entries for //build should go into -+# # //build/dotfile_settings.gni instead, so that they can be shared -+# # with other repos. The entries in this list should be only for files -+# # in the Chromium repo outside of //build. -+# "//build_overrides/build.gni", -+# -+# "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn", -+# "//chrome/version.gni", -+# -+# # TODO(dgn): Layer violation but breaks the build otherwise, see -+# # https://crbug.com/474506. -+# "//clank/java/BUILD.gn", -+# "//clank/native/BUILD.gn", -+# -+# "//google_apis/BUILD.gn", -+# "//printing/BUILD.gn", -+# -+# "//remoting/host/installer/linux/BUILD.gn", -+# "//remoting/remoting_version.gni", -+# "//remoting/host/installer/win/generate_clsids.gni", -+# -+# "//tools/grit/grit_rule.gni", -+# "//tools/gritsettings/BUILD.gn", -+# ] diff --git a/www-client/chromium/files/chromium-137-mv2-ungoogled-r1.patch b/www-client/chromium/files/chromium-137-mv2-ungoogled-r1.patch deleted file mode 100644 index b813cce..0000000 --- a/www-client/chromium/files/chromium-137-mv2-ungoogled-r1.patch +++ /dev/null @@ -1,183 +0,0 @@ -diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -index f1fa171180..73069f1456 100644 ---- a/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -@@ -131,17 +131,6 @@ void ExtensionInfoGenerator::FillExtensionInfo( - info.controlled_info.emplace(); - info.controlled_info->text = - l10n_util::GetStringUTF8(IDS_EXTENSIONS_INSTALL_LOCATION_ENTERPRISE); -- } else { -- // Create Safety Hub information for any non-enterprise extension. -- developer::SafetyCheckWarningReason warning_reason = -- ExtensionSafetyCheckUtils::GetSafetyCheckWarningReason(extension, -- profile); -- if (warning_reason != developer::SafetyCheckWarningReason::kNone) { -- info.safety_check_warning_reason = warning_reason; -- info.safety_check_text = -- ExtensionSafetyCheckUtils::GetSafetyCheckWarningStrings( -- warning_reason, state); -- } - } - - bool is_enabled = state == developer::ExtensionState::kEnabled; -diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc -index ae782891ad..b0b82002e2 100644 ---- a/chrome/browser/extensions/extension_management.cc -+++ b/chrome/browser/extensions/extension_management.cc -@@ -322,31 +322,7 @@ bool ExtensionManagement::IsAllowedManifestVersion( - int manifest_version, - const std::string& extension_id, - Manifest::Type manifest_type) { -- bool enabled_by_default = -- !base::FeatureList::IsEnabled( -- extensions_features::kExtensionsManifestV3Only) || -- manifest_version >= 3; -- -- // Manifest version policy only supports normal extensions and Chrome OS login -- // screen extension. -- if (manifest_type != Manifest::Type::TYPE_EXTENSION && -- manifest_type != Manifest::Type::TYPE_LOGIN_SCREEN_EXTENSION) { -- return enabled_by_default; -- } -- switch (global_settings_->manifest_v2_setting) { -- case internal::GlobalSettings::ManifestV2Setting::kDefault: -- return enabled_by_default; -- case internal::GlobalSettings::ManifestV2Setting::kDisabled: -- return manifest_version >= 3; -- case internal::GlobalSettings::ManifestV2Setting::kEnabled: - return true; -- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: -- auto installation_mode = -- GetInstallationMode(extension_id, /*update_url=*/std::string()); -- return manifest_version >= 3 || -- installation_mode == ManagedInstallationMode::kForced || -- installation_mode == ManagedInstallationMode::kRecommended; -- } - } - - bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) { -@@ -367,26 +343,8 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( - return false; - } - -- switch (global_settings_->manifest_v2_setting) { -- case internal::GlobalSettings::ManifestV2Setting::kDefault: -- // Default browser behavior. Not exempt. -- return false; -- case internal::GlobalSettings::ManifestV2Setting::kDisabled: -- // All MV2 extensions are disallowed. Not exempt. -- return false; -- case internal::GlobalSettings::ManifestV2Setting::kEnabled: - // All MV2 extensions are allowed. Exempt. - return true; -- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: -- // Force-installed MV2 extensions are allowed. Exempt if it's a force- -- // installed extension only. -- auto installation_mode = -- GetInstallationMode(extension_id, /*update_url=*/std::string()); -- return installation_mode == ManagedInstallationMode::kForced || -- installation_mode == ManagedInstallationMode::kRecommended; -- } -- -- return false; - } - - bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy( -diff --git a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -index 7e3da1ed93..070ee94638 100644 ---- a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -+++ b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -@@ -38,7 +38,6 @@ - #include "chrome/browser/extensions/extension_gcm_app_handler.h" - #include "chrome/browser/extensions/extension_sync_service_factory.h" - #include "chrome/browser/extensions/extension_web_ui_override_registrar.h" --#include "chrome/browser/extensions/manifest_v2_experiment_manager.h" - #include "chrome/browser/extensions/menu_manager_factory.h" - #include "chrome/browser/extensions/permissions/permissions_updater.h" - #include "chrome/browser/extensions/plugin_manager.h" -@@ -87,7 +86,6 @@ void EnsureChromeBrowserContextKeyedServiceFactoriesBuilt() { - extensions::ExtensionGarbageCollectorFactory::GetInstance(); - extensions::ExtensionGCMAppHandler::GetFactoryInstance(); - extensions::ChromeExtensionSystemFactory::GetInstance(); -- extensions::ManifestV2ExperimentManager::GetFactory(); - extensions::MenuManagerFactory::GetInstance(); - #if BUILDFLAG(ENABLE_PLUGINS) - extensions::PluginManager::GetFactoryInstance(); -diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrome/browser/extensions/manifest_v2_experiment_manager.cc -index 13f7aab619..1426198b8d 100644 ---- a/chrome/browser/extensions/manifest_v2_experiment_manager.cc -+++ b/chrome/browser/extensions/manifest_v2_experiment_manager.cc -@@ -146,22 +146,6 @@ bool ManifestV2ExperimentManagerFactory::ServiceIsCreatedWithBrowserContext() - - // Determines the current stage of the MV2 deprecation experiments. - MV2ExperimentStage CalculateCurrentExperimentStage() { -- // Return the "highest" stage that is currently active for the user. -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2Unsupported)) { -- return MV2ExperimentStage::kUnsupported; -- } -- -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2Disabled)) { -- return MV2ExperimentStage::kDisableWithReEnable; -- } -- -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2DeprecationWarning)) { -- return MV2ExperimentStage::kWarning; -- } -- - return MV2ExperimentStage::kNone; - } - -@@ -201,19 +185,7 @@ PrefMap GetGlobalNoticeAcknowledgedPrefFor( - // Returns true if legacy extensions should be disabled, looking at both - // experiment stage and global state. - bool ShouldDisableLegacyExtensions(MV2ExperimentStage stage) { -- if (g_allow_mv2_for_testing) { -- // We allow legacy MV2 extensions for testing purposes. -- return false; -- } -- -- switch (stage) { -- case MV2ExperimentStage::kNone: -- case MV2ExperimentStage::kWarning: - return false; -- case MV2ExperimentStage::kDisableWithReEnable: -- case MV2ExperimentStage::kUnsupported: -- return true; -- } - } - - // Returns true if the given `stage` is one in which extension enablement should -diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc -index f769bdb059..f01ffd22ec 100644 ---- a/chrome/browser/ui/webui/extensions/extensions_ui.cc -+++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc -@@ -490,7 +490,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, - extensions_features::kExtensionsMenuAccessControlWithPermittedSites)); - source->AddBoolean( - "safetyHubThreeDotDetails", -- base::FeatureList::IsEnabled(features::kSafetyHubThreeDotDetails)); -+ false); - - #if BUILDFLAG(IS_ANDROID) - source->AddResourcePath("images/product_logo.png", -diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc -index 2f6bcd7771..cd7becfed0 100644 ---- a/extensions/common/extension.cc -+++ b/extensions/common/extension.cc -@@ -97,13 +97,6 @@ bool IsManifestSupported(int manifest_version, - // Supported versions are always safe. - if (manifest_version >= kMinimumSupportedManifestVersion && - manifest_version <= kMaximumSupportedManifestVersion) { -- // Emit a warning for unpacked extensions on Manifest V2 warning that -- // MV2 is deprecated. -- if (type == Manifest::TYPE_EXTENSION && manifest_version == 2 && -- Manifest::IsUnpackedLocation(location) && -- !g_silence_deprecated_manifest_version_warnings) { -- *warning = errors::kManifestV2IsDeprecatedWarning; -- } - return true; - } - diff --git a/www-client/chromium/files/chromium-137-mv2-ungoogled.patch b/www-client/chromium/files/chromium-137-mv2-ungoogled.patch deleted file mode 100644 index e21f71f..0000000 --- a/www-client/chromium/files/chromium-137-mv2-ungoogled.patch +++ /dev/null @@ -1,183 +0,0 @@ -diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -index 6c811a0180..8b47ff8a4b 100644 ---- a/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -@@ -132,17 +132,6 @@ void ExtensionInfoGenerator::FillExtensionInfo( - info.controlled_info.emplace(); - info.controlled_info->text = - l10n_util::GetStringUTF8(IDS_EXTENSIONS_INSTALL_LOCATION_ENTERPRISE); -- } else { -- // Create Safety Hub information for any non-enterprise extension. -- developer::SafetyCheckWarningReason warning_reason = -- ExtensionSafetyCheckUtils::GetSafetyCheckWarningReason(extension, -- profile); -- if (warning_reason != developer::SafetyCheckWarningReason::kNone) { -- info.safety_check_warning_reason = warning_reason; -- info.safety_check_text = -- ExtensionSafetyCheckUtils::GetSafetyCheckWarningStrings( -- warning_reason, state); -- } - } - - bool is_enabled = state == developer::ExtensionState::kEnabled; -diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc -index 8fed715fd6..4e6fa46470 100644 ---- a/chrome/browser/extensions/extension_management.cc -+++ b/chrome/browser/extensions/extension_management.cc -@@ -329,31 +329,7 @@ bool ExtensionManagement::IsAllowedManifestVersion( - int manifest_version, - const std::string& extension_id, - Manifest::Type manifest_type) { -- bool enabled_by_default = -- !base::FeatureList::IsEnabled( -- extensions_features::kExtensionsManifestV3Only) || -- manifest_version >= 3; -- -- // Manifest version policy only supports normal extensions and Chrome OS login -- // screen extension. -- if (manifest_type != Manifest::Type::TYPE_EXTENSION && -- manifest_type != Manifest::Type::TYPE_LOGIN_SCREEN_EXTENSION) { -- return enabled_by_default; -- } -- switch (global_settings_->manifest_v2_setting) { -- case internal::GlobalSettings::ManifestV2Setting::kDefault: -- return enabled_by_default; -- case internal::GlobalSettings::ManifestV2Setting::kDisabled: -- return manifest_version >= 3; -- case internal::GlobalSettings::ManifestV2Setting::kEnabled: - return true; -- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: -- auto installation_mode = -- GetInstallationMode(extension_id, /*update_url=*/std::string()); -- return manifest_version >= 3 || -- installation_mode == ManagedInstallationMode::kForced || -- installation_mode == ManagedInstallationMode::kRecommended; -- } - } - - bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) { -@@ -374,26 +350,8 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( - return false; - } - -- switch (global_settings_->manifest_v2_setting) { -- case internal::GlobalSettings::ManifestV2Setting::kDefault: -- // Default browser behavior. Not exempt. -- return false; -- case internal::GlobalSettings::ManifestV2Setting::kDisabled: -- // All MV2 extensions are disallowed. Not exempt. -- return false; -- case internal::GlobalSettings::ManifestV2Setting::kEnabled: - // All MV2 extensions are allowed. Exempt. - return true; -- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: -- // Force-installed MV2 extensions are allowed. Exempt if it's a force- -- // installed extension only. -- auto installation_mode = -- GetInstallationMode(extension_id, /*update_url=*/std::string()); -- return installation_mode == ManagedInstallationMode::kForced || -- installation_mode == ManagedInstallationMode::kRecommended; -- } -- -- return false; - } - - bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy( -diff --git a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -index 5ecf14acac..bd84bf68c0 100644 ---- a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -+++ b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc -@@ -34,7 +34,6 @@ - #include "chrome/browser/extensions/extension_web_ui_override_registrar.h" - #include "chrome/browser/extensions/external_provider_manager_factory.h" - #include "chrome/browser/extensions/install_verifier_factory.h" --#include "chrome/browser/extensions/manifest_v2_experiment_manager.h" - #include "chrome/browser/extensions/menu_manager_factory.h" - #include "chrome/browser/extensions/permissions/permissions_updater.h" - #include "chrome/browser/extensions/plugin_manager.h" -@@ -77,7 +76,6 @@ void EnsureChromeBrowserContextKeyedServiceFactoriesBuilt() { - extensions::ExternalProviderManagerFactory::GetInstance(); - extensions::ChromeExtensionSystemFactory::GetInstance(); - extensions::InstallVerifierFactory::GetInstance(); -- extensions::ManifestV2ExperimentManager::GetFactory(); - extensions::MenuManagerFactory::GetInstance(); - #if BUILDFLAG(ENABLE_PLUGINS) - extensions::PluginManager::GetFactoryInstance(); -diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrome/browser/extensions/manifest_v2_experiment_manager.cc -index 2e47e928e3..81ad199a24 100644 ---- a/chrome/browser/extensions/manifest_v2_experiment_manager.cc -+++ b/chrome/browser/extensions/manifest_v2_experiment_manager.cc -@@ -145,22 +145,6 @@ bool ManifestV2ExperimentManagerFactory::ServiceIsCreatedWithBrowserContext() - - // Determines the current stage of the MV2 deprecation experiments. - MV2ExperimentStage CalculateCurrentExperimentStage() { -- // Return the "highest" stage that is currently active for the user. -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2Unsupported)) { -- return MV2ExperimentStage::kUnsupported; -- } -- -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2Disabled)) { -- return MV2ExperimentStage::kDisableWithReEnable; -- } -- -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2DeprecationWarning)) { -- return MV2ExperimentStage::kWarning; -- } -- - return MV2ExperimentStage::kNone; - } - -@@ -200,19 +184,7 @@ PrefMap GetGlobalNoticeAcknowledgedPrefFor( - // Returns true if legacy extensions should be disabled, looking at both - // experiment stage and global state. - bool ShouldDisableLegacyExtensions(MV2ExperimentStage stage) { -- if (g_allow_mv2_for_testing) { -- // We allow legacy MV2 extensions for testing purposes. -- return false; -- } -- -- switch (stage) { -- case MV2ExperimentStage::kNone: -- case MV2ExperimentStage::kWarning: - return false; -- case MV2ExperimentStage::kDisableWithReEnable: -- case MV2ExperimentStage::kUnsupported: -- return true; -- } - } - - // Returns true if the given `stage` is one in which extension enablement should -diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc -index f769bdb059..f01ffd22ec 100644 ---- a/chrome/browser/ui/webui/extensions/extensions_ui.cc -+++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc -@@ -490,7 +490,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, - extensions_features::kExtensionsMenuAccessControlWithPermittedSites)); - source->AddBoolean( - "safetyHubThreeDotDetails", -- base::FeatureList::IsEnabled(features::kSafetyHubThreeDotDetails)); -+ false); - - #if BUILDFLAG(IS_ANDROID) - source->AddResourcePath("images/product_logo.png", -diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc -index cd6a7eb4b6..0a0cc4184c 100644 ---- a/extensions/common/extension.cc -+++ b/extensions/common/extension.cc -@@ -96,13 +96,6 @@ bool IsManifestSupported(int manifest_version, - // Supported versions are always safe. - if (manifest_version >= kMinimumSupportedManifestVersion && - manifest_version <= kMaximumSupportedManifestVersion) { -- // Emit a warning for unpacked extensions on Manifest V2 warning that -- // MV2 is deprecated. -- if (type == Manifest::TYPE_EXTENSION && manifest_version == 2 && -- Manifest::IsUnpackedLocation(location) && -- !g_silence_deprecated_manifest_version_warnings) { -- *warning = errors::kManifestV2IsDeprecatedWarning; -- } - return true; - } - diff --git a/www-client/chromium/files/chromium-137-pdfium-png-decoder-fieldname.patch b/www-client/chromium/files/chromium-137-pdfium-png-decoder-fieldname.patch deleted file mode 100644 index db41ea8..0000000 --- a/www-client/chromium/files/chromium-137-pdfium-png-decoder-fieldname.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/third_party/pdfium/core/fxcodec/png/png_decoder.cpp b/third_party/pdfium/core/fxcodec/png/png_decoder.cpp -index 278e381ead..7b6edcd042 100644 ---- a/third_party/pdfium/core/fxcodec/png/png_decoder.cpp -+++ b/third_party/pdfium/core/fxcodec/png/png_decoder.cpp -@@ -52,8 +52,8 @@ void _png_load_bmp_attribute(png_structp png_ptr, - CFX_DIBAttribute* pAttribute) { - if (pAttribute) { - #if defined(PNG_pHYs_SUPPORTED) -- pAttribute->xdpi_ = png_get_x_pixels_per_meter(png_ptr, info_ptr); -- pAttribute->ydpi_ = png_get_y_pixels_per_meter(png_ptr, info_ptr); -+ pAttribute->x_dpi_ = png_get_x_pixels_per_meter(png_ptr, info_ptr); -+ pAttribute->y_dpi_ = png_get_y_pixels_per_meter(png_ptr, info_ptr); - png_uint_32 res_x, res_y; - int unit_type; - png_get_pHYs(png_ptr, info_ptr, &res_x, &res_y, &unit_type); diff --git a/www-client/chromium/files/chromium-138-compiler-r1.patch b/www-client/chromium/files/chromium-138-compiler-r1.patch deleted file mode 100644 index d55407c..0000000 --- a/www-client/chromium/files/chromium-138-compiler-r1.patch +++ /dev/null @@ -1,448 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 94fc4b4c09..4d767bb404 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -310,12 +310,8 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", -- ":clang_warning_suppression", - ] - - # Here we enable -fno-delete-null-pointer-checks, which makes various nullptr -@@ -495,6 +491,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -571,70 +570,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/40283598): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/40192287): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- -- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF -- # (excluding toolchains that use an older version of LLVM). -- # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds. -- if (is_linux && use_lld && !llvm_android_mainline && current_cpu != "arm" && -- default_toolchain != "//build/toolchain/cros:target") { -- cflags += [ "-Wa,--crel,--allow-experimental-crel" ] -- } -- -- # TODO(crbug.com/413427035): Remove once -- # https://github.com/llvm/llvm-project/pull/136867/ is landed. -- if (!is_win && !llvm_android_mainline && -- default_toolchain != "//build/toolchain/cros:target") { -- cflags += [ "-fextend-variable-liveness=none" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1045,20 +980,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", -- -- # We use clang-rt sanitizer runtimes. -- "-Zexternal-clangrt", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1113,7 +1034,7 @@ config("compiler") { - # Don't allow unstable features to be enabled by `#![feature()]` without - # additional command line flags. - config("disallow_unstable_features") { -- rustflags = [ "-Zallow-features=" ] -+ #rustflags = [ "-Zallow-features=" ] - } - - config("libcxx_hardening") { -@@ -1593,52 +1514,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- -- # Convert absolute paths to relative paths. Expands to, for example: -- # -file-prefix-map /path/to/chromium/src=../.. -- swiftflags += [ -- "-file-prefix-map", -- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir), -- ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1657,121 +1532,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path && -- current_os != "zos") { -- _perform_consistency_checks = current_toolchain == default_toolchain -- if (llvm_force_head_revision) { -- _head_revision_stamp_path = "//third_party/llvm-build/force_head_revision" -- _head_revision = "" -- if (path_exists(_head_revision_stamp_path)) { -- _head_revision = read_file(_head_revision_stamp_path, "trim string") -- } -- assert( -- _head_revision != "", -- "llvm_force_head_revision=true, but no locally built version was detected.") -- _clang_revision = _head_revision -- } else { -- _clang_revision = read_file( -- "//third_party/llvm-build/Release+Asserts/cr_build_revision", -- "trim string") -- -- # Ensure that the synced clang version matches what's in git. -- if (_perform_consistency_checks) { -- # Parse the clang version from the Python script. -- _clang_version_lines = filter_include( -- read_file("//tools/clang/scripts/update.py", "list lines"), -- [ "CLANG_*REVISION = *" ]) -- _py_revision = -- string_replace(_clang_version_lines[0], "CLANG_REVISION = '", "") -- _py_revision = string_replace(_py_revision, "'", "") -- _py_subrevision = -- string_replace(_clang_version_lines[1], "CLANG_SUB_REVISION = ", "") -- _expected_clang_revision = "$_py_revision-$_py_subrevision" -- -- # TODO(agrieve): Change filter_include to _clang_revision == -- # _expected_clang_revision once angle & webrtc use a GCS DEPS entry -- # rather than a update.py runhook. -- assert( -- filter_include([ _clang_revision ], -- [ -- _expected_clang_revision, -- "$_expected_clang_revision,*", -- ]) != [], -- "clang_revision=\"$_clang_revision\" but update.py expected \"$_expected_clang_revision\". Did you forget to gclient sync?") -- } -- } -- -- if (_perform_consistency_checks) { -- # Ensure that the revision matches the version major expected by GN. -- _versions_match = filter_include([ _clang_revision ], -- [ "llvmorg-$clang_version-*" ]) != [] -- assert( -- _versions_match, -- "clang_revision=\"$_clang_revision\" but clang_version=\"$clang_version\". clang_version in build/toolchain/toolchain.gni is likely outdated.") -- } -- -- if (toolchain_has_rust && _perform_consistency_checks) { -- # Ensure that the synced rust version matches what's in git. -- _rust_revision_lines = -- filter_include(read_file("//tools/rust/update_rust.py", "list lines"), -- [ "RUST_*REVISION = *" ]) -- _py_revision = -- string_replace(_rust_revision_lines[0], "RUST_REVISION = '", "") -- _py_revision = string_replace(_py_revision, "'", "") -- _py_subrevision = -- string_replace(_rust_revision_lines[1], "RUST_SUB_REVISION = ", "") -- _expected_rust_revision = "$_py_revision-$_py_subrevision" -- -- # Ensure the rust version matches the clang version. -- assert( -- filter_include([ rustc_revision ], -- [ "*-$_expected_rust_revision-*" ]) != [], -- "rustc_revision=\"$rustc_revision\" but update_rust.py expected \"$_expected_rust_revision\". Run \"gclient sync\"?") -- } -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$_clang_revision\"" ] -- } --} -- --# Controls the usage of a warning suppression mapping (WSM) file to suppress --# warnings based on the path of the file they come from. It's controlled by the --# `clang_warning_suppression_file` gn argument , which points to a text file --# defining which warnings should be suppressed where. --# See //build/config/warning_suppression.txt for an example file; this is the --# file used by Chromium. --# --# To use a different file, or to use this functionality outside of chromium, --# set the `clang_warning_suppression_file` argument to point to the new file, --# e.g. by setting in the the project's .gn file. --config("clang_warning_suppression") { -- # Some build configs use older versions of clang that don't support WSMs -- if (!is_nacl && default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline && is_clang && -- clang_warning_suppression_file != "") { -- from_build_root = -- rebase_path(clang_warning_suppression_file, root_build_dir) -- inputs = [ clang_warning_suppression_file ] -- cflags = [ "--warning-suppression-mappings=" + from_build_root ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -2207,11 +1967,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -2220,24 +1976,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2653,7 +2391,8 @@ config("default_stack_frames") { - # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 - # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 - # [2]: https://crrev.com/c/5447532 --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for - # consistency with the other platforms. -@@ -2702,7 +2441,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2737,7 +2477,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2770,7 +2511,8 @@ config("optimize_max") { - # - # TODO(crbug.com/41259697) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2799,7 +2541,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2930,7 +2673,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - configs = [] - if (is_win) { -@@ -3092,7 +2836,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -3177,7 +2922,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn -index a659210b19..bde0e1b273 100644 ---- a/build/config/gcc/BUILD.gn -+++ b/build/config/gcc/BUILD.gn -@@ -32,7 +32,7 @@ declare_args() { - # See http://gcc.gnu.org/wiki/Visibility - config("symbol_visibility_hidden") { - cflags = [ "-fvisibility=hidden" ] -- rustflags = [ "-Zdefault-visibility=hidden" ] -+ # rustflags = [ "-Zdefault-visibility=hidden" ] - - # Visibility attribute is not supported on AIX. - if (current_os != "aix") { -diff --git a/build/config/rust.gni b/build/config/rust.gni -index bd18d13119..6687b7cb2f 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -77,7 +77,8 @@ declare_args() { - # - # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-138-compiler.patch b/www-client/chromium/files/chromium-138-compiler.patch deleted file mode 100644 index a46933c..0000000 --- a/www-client/chromium/files/chromium-138-compiler.patch +++ /dev/null @@ -1,444 +0,0 @@ -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 2fc8d82..4164b41 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -308,12 +308,8 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", -- ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", -- ":clang_warning_suppression", - ] - - # Here we enable -fno-delete-null-pointer-checks, which makes various nullptr -@@ -493,6 +489,9 @@ config("compiler") { - ldflags += [ "-fPIC" ] - rustflags += [ "-Crelocation-model=pic" ] - -+ extra_rustflags = getenv("RUSTFLAGS") -+ rustflags += [ extra_rustflags ] -+ - if (!is_clang) { - # Use pipes for communicating between sub-processes. Faster. - # (This flag doesn't do anything with Clang.) -@@ -569,63 +568,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl) { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- if (save_reproducers_on_lld_crash && use_lld) { -- ldflags += [ -- "-fcrash-diagnostics=all", -- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, -- ] -- } -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/40283598): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- cflags += [ -- "-mllvm", -- "-split-threshold-for-reg-with-hint=0", -- ] -- if (use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] -- } -- } -- } -- -- # TODO(crbug.com/40192287): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- -- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF -- # (excluding toolchains that use an older version of LLVM). -- # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds. -- if (is_linux && use_lld && !llvm_android_mainline && current_cpu != "arm" && -- default_toolchain != "//build/toolchain/cros:target") { -- cflags += [ "-Wa,--crel,--allow-experimental-crel" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1036,20 +978,6 @@ config("compiler") { - # `-nodefaultlibs` from the linker invocation from Rust, which would be used - # to compile dylibs on Android, such as for constructing unit test APKs. - "-Cdefault-linker-libraries", -- -- # To make Rust .d files compatible with ninja -- "-Zdep-info-omit-d-target", -- -- # If a macro panics during compilation, show which macro and where it is -- # defined. -- "-Zmacro-backtrace", -- -- # For deterministic builds, keep the local machine's current working -- # directory from appearing in build outputs. -- "-Zremap-cwd-prefix=.", -- -- # We use clang-rt sanitizer runtimes. -- "-Zexternal-clangrt", - ] - - if (!is_win || force_rustc_color_output) { -@@ -1104,7 +1032,7 @@ config("compiler") { - # Don't allow unstable features to be enabled by `#![feature()]` without - # additional command line flags. - config("disallow_unstable_features") { -- rustflags = [ "-Zallow-features=" ] -+ #rustflags = [ "-Zallow-features=" ] - } - - config("libcxx_hardening") { -@@ -1563,52 +1491,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- -- # Convert absolute paths to relative paths. Expands to, for example: -- # -file-prefix-map /path/to/chromium/src=../.. -- swiftflags += [ -- "-file-prefix-map", -- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir), -- ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the RBE cache entries. -@@ -1627,124 +1509,6 @@ config("compiler_deterministic") { - } - } - --config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path && -- current_os != "zos") { -- _perform_consistency_checks = current_toolchain == default_toolchain -- if (llvm_force_head_revision) { -- _head_revision_stamp_path = "//third_party/llvm-build/force_head_revision" -- _head_revision = "" -- if (path_exists(_head_revision_stamp_path)) { -- _head_revision = read_file(_head_revision_stamp_path, "trim string") -- } -- assert( -- _head_revision != "", -- "llvm_force_head_revision=true, but no locally built version was detected.") -- _clang_revision = _head_revision -- } else { -- _clang_revision = read_file( -- "//third_party/llvm-build/Release+Asserts/cr_build_revision", -- "trim string") -- -- # Ensure that the synced clang version matches what's in git. -- if (_perform_consistency_checks) { -- # Parse the clang version from the Python script. -- _clang_version_lines = filter_include( -- read_file("//tools/clang/scripts/update.py", "list lines"), -- [ "CLANG_*REVISION = *" ]) -- _py_revision = -- string_replace(_clang_version_lines[0], "CLANG_REVISION = '", "") -- _py_revision = string_replace(_py_revision, "'", "") -- _py_subrevision = -- string_replace(_clang_version_lines[1], "CLANG_SUB_REVISION = ", "") -- _expected_clang_revision = "$_py_revision-$_py_subrevision" -- -- # TODO(agrieve): Change filter_include to _clang_revision == -- # _expected_clang_revision once angle & webrtc use a GCS DEPS entry -- # rather than a update.py runhook. -- assert( -- filter_include([ _clang_revision ], -- [ -- _expected_clang_revision, -- "$_expected_clang_revision,*", -- ]) != [], -- "clang_revision=\"$_clang_revision\" but update.py expected \"$_expected_clang_revision\". Did you forget to gclient sync?") -- } -- } -- -- if (_perform_consistency_checks) { -- # Ensure that the revision matches the version major expected by GN. -- _versions_match = filter_include([ _clang_revision ], -- [ "llvmorg-$clang_version-*" ]) != [] -- assert( -- _versions_match, -- "clang_revision=\"$_clang_revision\" but clang_version=\"$clang_version\". clang_version in build/toolchain/toolchain.gni is likely outdated.") -- } -- -- if (toolchain_has_rust && _perform_consistency_checks) { -- # Ensure that the synced rust version matches what's in git. -- _rust_revision_lines = -- filter_include(read_file("//tools/rust/update_rust.py", "list lines"), -- [ "RUST_*REVISION = *" ]) -- _py_revision = -- string_replace(_rust_revision_lines[0], "RUST_REVISION = '", "") -- _py_revision = string_replace(_py_revision, "'", "") -- _py_subrevision = -- string_replace(_rust_revision_lines[1], "RUST_SUB_REVISION = ", "") -- _expected_rust_revision = "$_py_revision-$_py_subrevision" -- -- # Ensure the rust version matches the clang version. -- assert( -- filter_include([ rustc_revision ], -- [ "*-$_expected_rust_revision-*" ]) != [], -- "rustc_revision=\"$rustc_revision\" but update_rust.py expected \"$_expected_rust_revision\". Run \"gclient sync\"?") -- } -- -- # This is here so that all files get recompiled after a clang roll and -- # when turning clang on or off. (defines are passed via the command line, -- # and build system rebuild things when their commandline changes). Nothing -- # should ever read this define. -- defines = [ "CR_CLANG_REVISION=\"$_clang_revision\"" ] -- } --} -- --# Controls the usage of a warning suppression mapping (WSM) file to suppress --# warnings based on the path of the file they come from. It's controlled by the --# `clang_warning_suppression_file` gn argument , which points to a text file --# defining which warnings should be suppressed where. --# See //build/config/warning_suppression.txt for an example file; this is the --# file used by Chromium. --# --# To use a different file, or to use this functionality outside of chromium, --# set the `clang_warning_suppression_file` argument to point to the new file, --# e.g. by setting in the the project's .gn file. --config("clang_warning_suppression") { -- # Some build configs use older versions of clang that don't support WSMs -- if (!is_nacl && default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline && is_clang && -- clang_warning_suppression_file != "") { -- from_build_root = -- rebase_path(clang_warning_suppression_file, root_build_dir) -- inputs = [ clang_warning_suppression_file ] -- cflags = [ -- "-Xclang", -- "--warning-suppression-mappings=" + from_build_root, -- ] -- } --} -- --config("rustc_revision") { -- if (rustc_revision != "") { -- # Similar to the above config, this is here so that all files get recompiled -- # after a rustc roll. Nothing should ever read this cfg. This will not be -- # set if a custom toolchain is used. -- rustflags = [ -- "--cfg", -- "cr_rustc_revision=\"$rustc_revision\"", -- ] -- } --} -- - config("compiler_arm_fpu") { - if (current_cpu == "arm" && !is_ios && !is_nacl) { - cflags = [ "-mfpu=$arm_fpu" ] -@@ -2180,11 +1944,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } -+ cflags = [ ] - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -2193,24 +1953,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64" && -- current_cpu != "riscv64" && current_cpu != "loong64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- fortify_level = "2" -- -- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 -- # implementation with a few custom glibc patches. Use that if it's -- # available. -- if (is_chromeos_device && !lacros_use_chromium_toolchain) { -- fortify_level = "3" -- } -- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] -- } -- - if (is_apple) { - cflags_objc = [ "-Wimplicit-retain-self" ] - cflags_objcc = [ "-Wimplicit-retain-self" ] -@@ -2626,7 +2368,8 @@ config("default_stack_frames") { - # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 - # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 - # [2]: https://crrev.com/c/5447532 --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for - # consistency with the other platforms. -@@ -2675,7 +2418,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2710,7 +2454,8 @@ config("no_optimize") { - # Turns up the optimization level. Used to explicitly enable -O2 instead of - # -Os for select targets on platforms that use optimize_for_size. No-op - # elsewhere. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2743,7 +2488,8 @@ config("optimize_max") { - # - # TODO(crbug.com/41259697) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2772,7 +2518,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2903,7 +2650,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - rustflags = [] - configs = [] - if (is_win) { -@@ -3065,7 +2813,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - rustflags = [] - if (is_win) { - # Functions, files, and line tables only. -@@ -3150,7 +2899,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - -diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn -index a659210..bde0e1b 100644 ---- a/build/config/gcc/BUILD.gn -+++ b/build/config/gcc/BUILD.gn -@@ -32,7 +32,7 @@ declare_args() { - # See http://gcc.gnu.org/wiki/Visibility - config("symbol_visibility_hidden") { - cflags = [ "-fvisibility=hidden" ] -- rustflags = [ "-Zdefault-visibility=hidden" ] -+ # rustflags = [ "-Zdefault-visibility=hidden" ] - - # Visibility attribute is not supported on AIX. - if (current_os != "aix") { -diff --git a/build/config/rust.gni b/build/config/rust.gni -index 953935d..a8fec3f 100644 ---- a/build/config/rust.gni -+++ b/build/config/rust.gni -@@ -77,7 +77,8 @@ declare_args() { - # - # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS - # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome -- toolchain_supports_rust_thin_lto = !is_chromeos -+ # toolchain_supports_rust_thin_lto = !is_chromeos -+ toolchain_supports_rust_thin_lto = false - - # Any extra std rlibs in your Rust toolchain, relative to the standard - # Rust toolchain. Typically used with 'rust_sysroot_absolute' diff --git a/www-client/chromium/files/chromium-138-mv2-ungoogled.patch b/www-client/chromium/files/chromium-138-mv2-ungoogled.patch deleted file mode 100644 index 059b44d..0000000 --- a/www-client/chromium/files/chromium-138-mv2-ungoogled.patch +++ /dev/null @@ -1,163 +0,0 @@ -diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -index 72e902ffdc..f0559d2133 100644 ---- a/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc -@@ -61,17 +61,6 @@ void ExtensionInfoGenerator::FillExtensionInfo( - info.controlled_info.emplace(); - info.controlled_info->text = - l10n_util::GetStringUTF8(IDS_EXTENSIONS_INSTALL_LOCATION_ENTERPRISE); -- } else { -- // Create Safety Hub information for any non-enterprise extension. -- developer::SafetyCheckWarningReason warning_reason = -- ExtensionSafetyCheckUtils::GetSafetyCheckWarningReason(extension, -- profile); -- if (warning_reason != developer::SafetyCheckWarningReason::kNone) { -- info.safety_check_warning_reason = warning_reason; -- info.safety_check_text = -- ExtensionSafetyCheckUtils::GetSafetyCheckWarningStrings( -- warning_reason, state); -- } - } - - // Dependent extensions. -diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc -index ae782891ad..b0b82002e2 100644 ---- a/chrome/browser/extensions/extension_management.cc -+++ b/chrome/browser/extensions/extension_management.cc -@@ -322,31 +322,7 @@ bool ExtensionManagement::IsAllowedManifestVersion( - int manifest_version, - const std::string& extension_id, - Manifest::Type manifest_type) { -- bool enabled_by_default = -- !base::FeatureList::IsEnabled( -- extensions_features::kExtensionsManifestV3Only) || -- manifest_version >= 3; -- -- // Manifest version policy only supports normal extensions and Chrome OS login -- // screen extension. -- if (manifest_type != Manifest::Type::TYPE_EXTENSION && -- manifest_type != Manifest::Type::TYPE_LOGIN_SCREEN_EXTENSION) { -- return enabled_by_default; -- } -- switch (global_settings_->manifest_v2_setting) { -- case internal::GlobalSettings::ManifestV2Setting::kDefault: -- return enabled_by_default; -- case internal::GlobalSettings::ManifestV2Setting::kDisabled: -- return manifest_version >= 3; -- case internal::GlobalSettings::ManifestV2Setting::kEnabled: - return true; -- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: -- auto installation_mode = -- GetInstallationMode(extension_id, /*update_url=*/std::string()); -- return manifest_version >= 3 || -- installation_mode == ManagedInstallationMode::kForced || -- installation_mode == ManagedInstallationMode::kRecommended; -- } - } - - bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) { -@@ -367,26 +343,8 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( - return false; - } - -- switch (global_settings_->manifest_v2_setting) { -- case internal::GlobalSettings::ManifestV2Setting::kDefault: -- // Default browser behavior. Not exempt. -- return false; -- case internal::GlobalSettings::ManifestV2Setting::kDisabled: -- // All MV2 extensions are disallowed. Not exempt. -- return false; -- case internal::GlobalSettings::ManifestV2Setting::kEnabled: - // All MV2 extensions are allowed. Exempt. - return true; -- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: -- // Force-installed MV2 extensions are allowed. Exempt if it's a force- -- // installed extension only. -- auto installation_mode = -- GetInstallationMode(extension_id, /*update_url=*/std::string()); -- return installation_mode == ManagedInstallationMode::kForced || -- installation_mode == ManagedInstallationMode::kRecommended; -- } -- -- return false; - } - - bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy( -diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrome/browser/extensions/manifest_v2_experiment_manager.cc -index 08b7de6995..47ff0885ad 100644 ---- a/chrome/browser/extensions/manifest_v2_experiment_manager.cc -+++ b/chrome/browser/extensions/manifest_v2_experiment_manager.cc -@@ -145,22 +145,6 @@ bool ManifestV2ExperimentManagerFactory::ServiceIsCreatedWithBrowserContext() - - // Determines the current stage of the MV2 deprecation experiments. - MV2ExperimentStage CalculateCurrentExperimentStage() { -- // Return the "highest" stage that is currently active for the user. -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2Unsupported)) { -- return MV2ExperimentStage::kUnsupported; -- } -- -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2Disabled)) { -- return MV2ExperimentStage::kDisableWithReEnable; -- } -- -- if (base::FeatureList::IsEnabled( -- extensions_features::kExtensionManifestV2DeprecationWarning)) { -- return MV2ExperimentStage::kWarning; -- } -- - return MV2ExperimentStage::kNone; - } - -@@ -200,19 +184,7 @@ PrefMap GetGlobalNoticeAcknowledgedPrefFor( - // Returns true if legacy extensions should be disabled, looking at both - // experiment stage and global state. - bool ShouldDisableLegacyExtensions(MV2ExperimentStage stage) { -- if (g_allow_mv2_for_testing) { -- // We allow legacy MV2 extensions for testing purposes. -- return false; -- } -- -- switch (stage) { -- case MV2ExperimentStage::kNone: -- case MV2ExperimentStage::kWarning: - return false; -- case MV2ExperimentStage::kDisableWithReEnable: -- case MV2ExperimentStage::kUnsupported: -- return true; -- } - } - - // Returns true if the given `stage` is one in which extension enablement should -diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc -index f769bdb059..f01ffd22ec 100644 ---- a/chrome/browser/ui/webui/extensions/extensions_ui.cc -+++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc -@@ -490,7 +490,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, - extensions_features::kExtensionsMenuAccessControlWithPermittedSites)); - source->AddBoolean( - "safetyHubThreeDotDetails", -- base::FeatureList::IsEnabled(features::kSafetyHubThreeDotDetails)); -+ false); - - #if BUILDFLAG(IS_ANDROID) - source->AddResourcePath("images/product_logo.png", -diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc -index 6563b56738..60045de76c 100644 ---- a/extensions/common/extension.cc -+++ b/extensions/common/extension.cc -@@ -104,13 +104,6 @@ bool IsManifestSupported(int manifest_version, - // Supported versions are always safe. - if (manifest_version >= kMinimumSupportedManifestVersion && - manifest_version <= kMaximumSupportedManifestVersion) { -- // Emit a warning for unpacked extensions on Manifest V2 warning that -- // MV2 is deprecated. -- if (type == Manifest::TYPE_EXTENSION && manifest_version == 2 && -- Manifest::IsUnpackedLocation(location) && -- !g_silence_deprecated_manifest_version_warnings) { -- *warning = errors::kManifestV2IsDeprecatedWarning; -- } - return true; - } - diff --git a/www-client/chromium/files/chromium-139-compiler-r1.patch b/www-client/chromium/files/chromium-139-compiler-r1.patch new file mode 100644 index 0000000..ea5c77f --- /dev/null +++ b/www-client/chromium/files/chromium-139-compiler-r1.patch @@ -0,0 +1,452 @@ +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index 0c04c90368..37f3828f09 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -320,12 +320,8 @@ config("compiler") { + + configs += [ + # See the definitions below. +- ":clang_revision", +- ":rustc_revision", +- ":compiler_cpu_abi", + ":compiler_codegen", + ":compiler_deterministic", +- ":clang_warning_suppression", + ] + + # TODO(https://crbug.com/404297941): Disable clang_warning_suppression +@@ -515,6 +511,9 @@ config("compiler") { + ldflags += [ "-fPIC" ] + rustflags += [ "-Crelocation-model=pic" ] + ++ extra_rustflags = getenv("RUSTFLAGS") ++ rustflags += [ extra_rustflags ] ++ + if (!is_clang) { + # Use pipes for communicating between sub-processes. Faster. + # (This flag doesn't do anything with Clang.) +@@ -602,63 +601,6 @@ config("compiler") { + ldflags += [ "-Wl,-z,keep-text-section-prefix" ] + } + +- if (is_clang && !is_nacl) { +- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] +- if (save_reproducers_on_lld_crash && use_lld) { +- ldflags += [ +- "-fcrash-diagnostics=all", +- "-fcrash-diagnostics-dir=" + clang_diagnostic_dir, +- ] +- } +- +- # TODO(hans): Remove this once Clang generates better optimized debug info +- # by default. https://crbug.com/765793 +- cflags += [ +- "-mllvm", +- "-instcombine-lower-dbg-declare=0", +- ] +- if (!is_debug && use_thin_lto && is_a_target_toolchain) { +- if (is_win) { +- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] +- } else { +- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] +- } +- } +- +- # TODO(crbug.com/40283598): This causes binary size growth and potentially +- # other problems. +- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. +- if (default_toolchain != "//build/toolchain/cros:target" && +- !llvm_android_mainline) { +- cflags += [ +- "-mllvm", +- "-split-threshold-for-reg-with-hint=0", +- ] +- if (use_thin_lto && is_a_target_toolchain) { +- if (is_win) { +- ldflags += [ "-mllvm:-split-threshold-for-reg-with-hint=0" ] +- } else { +- ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ] +- } +- } +- } +- +- # TODO(crbug.com/40192287): Investigate why/if this should be needed. +- if (is_win) { +- cflags += [ "/clang:-ffp-contract=off" ] +- } else { +- cflags += [ "-ffp-contract=off" ] +- } +- +- # Enable ELF CREL (see crbug.com/357878242) for all platforms that use ELF +- # (excluding toolchains that use an older version of LLVM). +- # TODO(crbug.com/376278218): This causes segfault on Linux ARM builds. +- if (is_linux && use_lld && !llvm_android_mainline && current_cpu != "arm" && +- default_toolchain != "//build/toolchain/cros:target") { +- cflags += [ "-Wa,--crel,--allow-experimental-crel" ] +- } +- } +- + # C11/C++11 compiler flags setup. + # --------------------------- + if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || +@@ -1083,20 +1025,6 @@ config("compiler") { + # `-nodefaultlibs` from the linker invocation from Rust, which would be used + # to compile dylibs on Android, such as for constructing unit test APKs. + "-Cdefault-linker-libraries", +- +- # To make Rust .d files compatible with ninja +- "-Zdep-info-omit-d-target", +- +- # If a macro panics during compilation, show which macro and where it is +- # defined. +- "-Zmacro-backtrace", +- +- # For deterministic builds, keep the local machine's current working +- # directory from appearing in build outputs. +- "-Zremap-cwd-prefix=.", +- +- # We use clang-rt sanitizer runtimes. +- "-Zexternal-clangrt", + ] + + if (!is_win || force_rustc_color_output) { +@@ -1151,7 +1079,7 @@ config("compiler") { + # Don't allow unstable features to be enabled by `#![feature()]` without + # additional command line flags. + config("disallow_unstable_features") { +- rustflags = [ "-Zallow-features=" ] ++ #rustflags = [ "-Zallow-features=" ] + } + + config("libcxx_hardening") { +@@ -1631,52 +1559,6 @@ config("compiler_deterministic") { + } + } + +- # Makes builds independent of absolute file path. +- if (is_clang && strip_absolute_paths_from_debug_symbols) { +- # If debug option is given, clang includes $cwd in debug info by default. +- # For such build, this flag generates reproducible obj files even we use +- # different build directory like "out/feature_a" and "out/feature_b" if +- # we build same files with same compile flag. +- # Other paths are already given in relative, no need to normalize them. +- if (is_nacl) { +- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. +- cflags += [ +- "-Xclang", +- "-fdebug-compilation-dir", +- "-Xclang", +- ".", +- ] +- } else { +- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= +- # and -fcoverage-compilation-dir=. +- cflags += [ "-ffile-compilation-dir=." ] +- +- # Convert absolute paths to relative paths. Expands to, for example: +- # -file-prefix-map /path/to/chromium/src=../.. +- swiftflags += [ +- "-file-prefix-map", +- rebase_path("//.", "") + "=" + rebase_path("//.", root_build_dir), +- ] +- } +- if (!is_win) { +- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) +- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] +- } +- +- if (is_win && use_lld) { +- if (symbol_level == 2 || (is_clang && using_sanitizer)) { +- # Absolutize source file paths for PDB. Pass the real build directory +- # if the pdb contains source-level debug information and if linker +- # reproducibility is not critical. +- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] +- } else { +- # Use a fake fixed base directory for paths in the pdb to make the pdb +- # output fully deterministic and independent of the build directory. +- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] +- } +- } +- } +- + # Tells the compiler not to use absolute paths when passing the default + # paths to the tools it invokes. We don't want this because we don't + # really need it and it can mess up the RBE cache entries. +@@ -1703,119 +1585,6 @@ config("compiler_deterministic") { + } + } + +-config("clang_revision") { +- if (is_clang && clang_base_path == default_clang_base_path && +- current_os != "zos") { +- _perform_consistency_checks = current_toolchain == default_toolchain +- if (llvm_force_head_revision) { +- _head_revision_stamp_path = "//third_party/llvm-build/force_head_revision" +- _head_revision = "" +- if (path_exists(_head_revision_stamp_path)) { +- _head_revision = read_file(_head_revision_stamp_path, "trim string") +- } +- assert( +- _head_revision != "", +- "llvm_force_head_revision=true, but no locally built version was detected.") +- _clang_revision = _head_revision +- } else { +- _clang_revision = read_file( +- "//third_party/llvm-build/Release+Asserts/cr_build_revision", +- "trim string") +- +- # Ensure that the synced clang version matches what's in git. +- if (_perform_consistency_checks) { +- # Parse the clang version from the Python script. +- _clang_version_lines = filter_include( +- read_file("//tools/clang/scripts/update.py", "list lines"), +- [ "CLANG_*REVISION = *" ]) +- _py_revision = +- string_replace(_clang_version_lines[0], "CLANG_REVISION = '", "") +- _py_revision = string_replace(_py_revision, "'", "") +- _py_subrevision = +- string_replace(_clang_version_lines[1], "CLANG_SUB_REVISION = ", "") +- _expected_clang_revision = "$_py_revision-$_py_subrevision" +- +- # TODO(agrieve): Change filter_include to _clang_revision == +- # _expected_clang_revision once angle & webrtc use a GCS DEPS entry +- # rather than a update.py runhook. +- assert( +- filter_include([ _clang_revision ], +- [ +- _expected_clang_revision, +- "$_expected_clang_revision,*", +- ]) != [], +- "clang_revision=\"$_clang_revision\" but update.py expected \"$_expected_clang_revision\". Did you forget to gclient sync?") +- } +- } +- +- if (_perform_consistency_checks) { +- # Ensure that the revision matches the version major expected by GN. +- _versions_match = filter_include([ _clang_revision ], +- [ "llvmorg-$clang_version-*" ]) != [] +- assert( +- _versions_match, +- "clang_revision=\"$_clang_revision\" but clang_version=\"$clang_version\". clang_version in build/toolchain/toolchain.gni is likely outdated.") +- } +- +- if (toolchain_has_rust && _perform_consistency_checks) { +- # Ensure that the synced rust version matches what's in git. +- _rust_revision_lines = +- filter_include(read_file("//tools/rust/update_rust.py", "list lines"), +- [ "RUST_*REVISION = *" ]) +- _py_revision = +- string_replace(_rust_revision_lines[0], "RUST_REVISION = '", "") +- _py_revision = string_replace(_py_revision, "'", "") +- _py_subrevision = +- string_replace(_rust_revision_lines[1], "RUST_SUB_REVISION = ", "") +- _expected_rust_revision = "$_py_revision-$_py_subrevision" +- +- # Ensure the rust version matches the clang version. +- assert( +- filter_include([ rustc_revision ], +- [ "*-$_expected_rust_revision-*" ]) != [], +- "rustc_revision=\"$rustc_revision\" but update_rust.py expected \"$_expected_rust_revision\". Run \"gclient sync\"?") +- } +- +- # This is here so that all files get recompiled after a clang roll and +- # when turning clang on or off. (defines are passed via the command line, +- # and build system rebuild things when their commandline changes). Nothing +- # should ever read this define. +- defines = [ "CR_CLANG_REVISION=\"$_clang_revision\"" ] +- } +-} +- +-# Controls the usage of a warning suppression mapping (WSM) file to suppress +-# warnings based on the path of the file they come from. It's controlled by the +-# `clang_warning_suppression_file` gn argument , which points to a text file +-# defining which warnings should be suppressed where. +-# See //build/config/warning_suppression.txt for an example file; this is the +-# file used by Chromium. +-# +-# To use a different file, or to use this functionality outside of chromium, +-# set the `clang_warning_suppression_file` argument to point to the new file, +-# e.g. by setting in the the project's .gn file. +-config("clang_warning_suppression") { +- # Some build configs use older versions of clang that don't support WSMs +- if (use_clang_warning_suppression_file) { +- from_build_root = +- rebase_path(clang_warning_suppression_file, root_build_dir) +- inputs = [ clang_warning_suppression_file ] +- cflags = [ "--warning-suppression-mappings=" + from_build_root ] +- } +-} +- +-config("rustc_revision") { +- if (rustc_revision != "") { +- # Similar to the above config, this is here so that all files get recompiled +- # after a rustc roll. Nothing should ever read this cfg. This will not be +- # set if a custom toolchain is used. +- rustflags = [ +- "--cfg", +- "cr_rustc_revision=\"$rustc_revision\"", +- ] +- } +-} +- + config("compiler_arm_fpu") { + if (current_cpu == "arm" && !is_ios && !is_nacl) { + cflags = [ "-mfpu=$arm_fpu" ] +@@ -2279,11 +2048,7 @@ config("chromium_code") { + defines = [ "_HAS_NODISCARD" ] + } + } else { +- cflags = [ "-Wall" ] +- if (is_clang) { +- # Enable extra warnings for chromium_code when we control the compiler. +- cflags += [ "-Wextra" ] +- } ++ cflags = [ ] + + # In Chromium code, we define __STDC_foo_MACROS in order to get the + # C99 macros on Mac and Linux. +@@ -2292,24 +2057,6 @@ config("chromium_code") { + "__STDC_FORMAT_MACROS", + ] + +- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && +- current_cpu != "s390" && current_cpu != "ppc64" && +- current_cpu != "mips" && current_cpu != "mips64" && +- current_cpu != "riscv64" && current_cpu != "loong64") { +- # Non-chromium code is not guaranteed to compile cleanly with +- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are +- # disabled, so only do that for Release build. +- fortify_level = "2" +- +- # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 +- # implementation with a few custom glibc patches. Use that if it's +- # available. +- if (is_chromeos_device && !lacros_use_chromium_toolchain) { +- fortify_level = "3" +- } +- defines += [ "_FORTIFY_SOURCE=" + fortify_level ] +- } +- + if (is_apple) { + cflags_objc = [ "-Wimplicit-retain-self" ] + cflags_objcc = [ "-Wimplicit-retain-self" ] +@@ -2734,7 +2481,8 @@ config("default_stack_frames") { + # [0]: https://pinpoint-dot-chromeperf.appspot.com/job/147634a8be0000 + # [1]: https://pinpoint-dot-chromeperf.appspot.com/job/132bc772be0000 + # [2]: https://crrev.com/c/5447532 +-config("optimize") { ++config("optimize") { } ++config("xoptimize") { + if (is_win) { + # clang-cl's /O2 corresponds to clang's -O3, and really want -O2 for + # consistency with the other platforms. +@@ -2783,7 +2531,8 @@ config("optimize") { + } + + # Turn off optimizations. +-config("no_optimize") { ++config("no_optimize") { } ++config("xno_optimize") { + if (is_win) { + cflags = [ + "/Od", # Disable optimization. +@@ -2818,7 +2567,8 @@ config("no_optimize") { + # Turns up the optimization level. Used to explicitly enable -O2 instead of + # -Os for select targets on platforms that use optimize_for_size. No-op + # elsewhere. +-config("optimize_max") { ++config("optimize_max") { } ++config("xoptimize_max") { + if (is_nacl && is_nacl_irt) { + # The NaCl IRT is a special case and always wants its own config. + # Various components do: +@@ -2851,7 +2601,8 @@ config("optimize_max") { + # + # TODO(crbug.com/41259697) - rework how all of these configs are related + # so that we don't need this disclaimer. +-config("optimize_speed") { ++config("optimize_speed") { } ++config("xoptimize_speed") { + if (is_nacl && is_nacl_irt) { + # The NaCl IRT is a special case and always wants its own config. + # Various components do: +@@ -2880,7 +2631,8 @@ config("optimize_speed") { + } + } + +-config("optimize_fuzzing") { ++config("optimize_fuzzing") { } ++config("xoptimize_fuzzing") { + cflags = [ "-O1" ] + common_optimize_on_cflags + rustflags = [ "-Copt-level=1" ] + ldflags = common_optimize_on_ldflags +@@ -3011,7 +2763,8 @@ config("win_pdbaltpath") { + } + + # Full symbols. +-config("symbols") { ++config("symbols") { } ++config("xsymbols") { + rustflags = [] + configs = [] + if (is_win) { +@@ -3185,7 +2938,8 @@ config("symbols") { + # Minimal symbols. + # This config guarantees to hold symbol for stack trace which are shown to user + # when crash happens in unittests running on buildbot. +-config("minimal_symbols") { ++config("minimal_symbols") { } ++config("xminimal_symbols") { + rustflags = [] + if (is_win) { + # Functions, files, and line tables only. +@@ -3270,7 +3024,8 @@ config("minimal_symbols") { + # This configuration contains function names only. That is, the compiler is + # told to not generate debug information and the linker then just puts function + # names in the final debug information. +-config("no_symbols") { ++config("no_symbols") { } ++config("xno_symbols") { + if (is_win) { + ldflags = [ "/DEBUG" ] + +diff --git a/build/config/gcc/BUILD.gn b/build/config/gcc/BUILD.gn +index a659210b19..bde0e1b273 100644 +--- a/build/config/gcc/BUILD.gn ++++ b/build/config/gcc/BUILD.gn +@@ -32,7 +32,7 @@ declare_args() { + # See http://gcc.gnu.org/wiki/Visibility + config("symbol_visibility_hidden") { + cflags = [ "-fvisibility=hidden" ] +- rustflags = [ "-Zdefault-visibility=hidden" ] ++ # rustflags = [ "-Zdefault-visibility=hidden" ] + + # Visibility attribute is not supported on AIX. + if (current_os != "aix") { +diff --git a/build/config/rust.gni b/build/config/rust.gni +index bd18d13119..6687b7cb2f 100644 +--- a/build/config/rust.gni ++++ b/build/config/rust.gni +@@ -77,7 +77,8 @@ declare_args() { + # + # TODO(crbug.com/40281834): Re-enable ThinLTO for Rust on LaCrOS + # TODO(b/300937673): Re-enable ThinLTO for Rust on ash-chrome +- toolchain_supports_rust_thin_lto = !is_chromeos ++ # toolchain_supports_rust_thin_lto = !is_chromeos ++ toolchain_supports_rust_thin_lto = false + + # Any extra std rlibs in your Rust toolchain, relative to the standard + # Rust toolchain. Typically used with 'rust_sysroot_absolute' +diff --git a/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h b/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h +index e98f8df605..6035b0b84b 100644 +--- a/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h ++++ b/third_party/protobuf/src/google/protobuf/repeated_ptr_field.h +@@ -944,7 +944,7 @@ class GenericTypeHandler { + // RepeatedPtrField is like RepeatedField, but used for repeated strings or + // Messages. + template +-class ABSL_ATTRIBUTE_WARN_UNUSED RepeatedPtrField final ++class PROTOBUF_EXPORT ABSL_ATTRIBUTE_WARN_UNUSED RepeatedPtrField final + : private internal::RepeatedPtrFieldBase { + static_assert(!std::is_const::value, + "We do not support const value types."); diff --git a/www-client/chromium/files/chromium-139-mv2-ungoogled-r1.patch b/www-client/chromium/files/chromium-139-mv2-ungoogled-r1.patch new file mode 100644 index 0000000..36d3419 --- /dev/null +++ b/www-client/chromium/files/chromium-139-mv2-ungoogled-r1.patch @@ -0,0 +1,163 @@ +diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc +index 99e7a64fee..924592d366 100644 +--- a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc ++++ b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc +@@ -595,17 +595,6 @@ void ExtensionInfoGenerator::FillExtensionInfo(const Extension& extension, + info.controlled_info.emplace(); + info.controlled_info->text = + l10n_util::GetStringUTF8(IDS_EXTENSIONS_INSTALL_LOCATION_ENTERPRISE); +- } else { +- // Create Safety Hub information for any non-enterprise extension. +- developer::SafetyCheckWarningReason warning_reason = +- ExtensionSafetyCheckUtils::GetSafetyCheckWarningReason(extension, +- profile); +- if (warning_reason != developer::SafetyCheckWarningReason::kNone) { +- info.safety_check_warning_reason = warning_reason; +- info.safety_check_text = +- ExtensionSafetyCheckUtils::GetSafetyCheckWarningStrings( +- warning_reason, state); +- } + } + + bool is_enabled = state == developer::ExtensionState::kEnabled; +diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc +index 7d55128c57..1f0e2b931a 100644 +--- a/chrome/browser/extensions/extension_management.cc ++++ b/chrome/browser/extensions/extension_management.cc +@@ -355,31 +355,7 @@ bool ExtensionManagement::IsAllowedManifestVersion( + int manifest_version, + const std::string& extension_id, + Manifest::Type manifest_type) { +- bool enabled_by_default = +- !base::FeatureList::IsEnabled( +- extensions_features::kExtensionsManifestV3Only) || +- manifest_version >= 3; +- +- // Manifest version policy only supports normal extensions and Chrome OS login +- // screen extension. +- if (manifest_type != Manifest::Type::TYPE_EXTENSION && +- manifest_type != Manifest::Type::TYPE_LOGIN_SCREEN_EXTENSION) { +- return enabled_by_default; +- } +- switch (global_settings_->manifest_v2_setting) { +- case internal::GlobalSettings::ManifestV2Setting::kDefault: +- return enabled_by_default; +- case internal::GlobalSettings::ManifestV2Setting::kDisabled: +- return manifest_version >= 3; +- case internal::GlobalSettings::ManifestV2Setting::kEnabled: + return true; +- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: +- auto installation_mode = +- GetInstallationMode(extension_id, /*update_url=*/std::string()); +- return manifest_version >= 3 || +- installation_mode == ManagedInstallationMode::kForced || +- installation_mode == ManagedInstallationMode::kRecommended; +- } + } + + bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) { +@@ -400,26 +376,8 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy( + return false; + } + +- switch (global_settings_->manifest_v2_setting) { +- case internal::GlobalSettings::ManifestV2Setting::kDefault: +- // Default browser behavior. Not exempt. +- return false; +- case internal::GlobalSettings::ManifestV2Setting::kDisabled: +- // All MV2 extensions are disallowed. Not exempt. +- return false; +- case internal::GlobalSettings::ManifestV2Setting::kEnabled: + // All MV2 extensions are allowed. Exempt. + return true; +- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled: +- // Force-installed MV2 extensions are allowed. Exempt if it's a force- +- // installed extension only. +- auto installation_mode = +- GetInstallationMode(extension_id, /*update_url=*/std::string()); +- return installation_mode == ManagedInstallationMode::kForced || +- installation_mode == ManagedInstallationMode::kRecommended; +- } +- +- return false; + } + + bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy( +diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrome/browser/extensions/manifest_v2_experiment_manager.cc +index 08b7de6995..47ff0885ad 100644 +--- a/chrome/browser/extensions/manifest_v2_experiment_manager.cc ++++ b/chrome/browser/extensions/manifest_v2_experiment_manager.cc +@@ -145,22 +145,6 @@ bool ManifestV2ExperimentManagerFactory::ServiceIsCreatedWithBrowserContext() + + // Determines the current stage of the MV2 deprecation experiments. + MV2ExperimentStage CalculateCurrentExperimentStage() { +- // Return the "highest" stage that is currently active for the user. +- if (base::FeatureList::IsEnabled( +- extensions_features::kExtensionManifestV2Unsupported)) { +- return MV2ExperimentStage::kUnsupported; +- } +- +- if (base::FeatureList::IsEnabled( +- extensions_features::kExtensionManifestV2Disabled)) { +- return MV2ExperimentStage::kDisableWithReEnable; +- } +- +- if (base::FeatureList::IsEnabled( +- extensions_features::kExtensionManifestV2DeprecationWarning)) { +- return MV2ExperimentStage::kWarning; +- } +- + return MV2ExperimentStage::kNone; + } + +@@ -200,19 +184,7 @@ PrefMap GetGlobalNoticeAcknowledgedPrefFor( + // Returns true if legacy extensions should be disabled, looking at both + // experiment stage and global state. + bool ShouldDisableLegacyExtensions(MV2ExperimentStage stage) { +- if (g_allow_mv2_for_testing) { +- // We allow legacy MV2 extensions for testing purposes. +- return false; +- } +- +- switch (stage) { +- case MV2ExperimentStage::kNone: +- case MV2ExperimentStage::kWarning: + return false; +- case MV2ExperimentStage::kDisableWithReEnable: +- case MV2ExperimentStage::kUnsupported: +- return true; +- } + } + + // Returns true if the given `stage` is one in which extension enablement should +diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc +index 7f00cde25c..64bb58da80 100644 +--- a/chrome/browser/ui/webui/extensions/extensions_ui.cc ++++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc +@@ -482,7 +482,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile, + extensions_features::kExtensionsMenuAccessControlWithPermittedSites)); + source->AddBoolean( + "safetyHubThreeDotDetails", +- base::FeatureList::IsEnabled(features::kSafetyHubThreeDotDetails)); ++ false); + + // MV2 deprecation. + auto* mv2_experiment_manager = ManifestV2ExperimentManager::Get(profile); +diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc +index d92362bb78..626edc0b64 100644 +--- a/extensions/common/extension.cc ++++ b/extensions/common/extension.cc +@@ -104,13 +104,6 @@ bool IsManifestSupported(int manifest_version, + // Supported versions are always safe. + if (manifest_version >= kMinimumSupportedManifestVersion && + manifest_version <= kMaximumSupportedManifestVersion) { +- // Emit a warning for unpacked extensions on Manifest V2 warning that +- // MV2 is deprecated. +- if (type == Manifest::TYPE_EXTENSION && manifest_version == 2 && +- Manifest::IsUnpackedLocation(location) && +- !g_silence_deprecated_manifest_version_warnings) { +- *warning = errors::kManifestV2IsDeprecatedWarning; +- } + return true; + } + -- cgit v1.2.3