Thorium Browser added
This commit is contained in:
parent
86c090a6c2
commit
217a1e20a2
66
www-client/thorium/Manifest
Normal file
66
www-client/thorium/Manifest
Normal file
@ -0,0 +1,66 @@
|
||||
AUX chromium-109-system-openh264.patch 577 BLAKE2B ec83d9a72a163683d791893e6b72fd5a6ffaa18d611bc6e6785819292370cc9f4fd37d8d3a33ecb5621beb33a3271df00d7a1b629300fdfa8db6e4e4eb196f1e SHA512 5ea73c8522619d83047fcd429988b24687e928e01c2915ef4145469fbb1238ef4a72beca73493794e2275b855f95412355700579a31649d64d74133ed815f1cb
|
||||
AUX chromium-109-system-zlib.patch 440 BLAKE2B 95bb1099055e3e0e122d4d8a77cddec0a3417b3d87ef252d7a475f6be23b16f587ec627c90bac41d743bd9dc07488edccb0946ed465f2244b61adc44cd19761d SHA512 b4e386613eb2a0dd61af40bb29621356085e183b97d830661e5157e4f22c2ada5606d80e56d5a65fb2985cdffb505a878c32bdafb081b1fa24cbe976c7b60b86
|
||||
AUX chromium-111-InkDropHost-crash.patch 1066 BLAKE2B ee0b42803a59ef4731e4f316849c2062870b92040ff4e339c3f3f2562999b54fa3176b27e432f31ada76559087631fd623d9f57f1961a42acd0684041c322a01 SHA512 dfa3ab6a84b57b6e66053be2597f0d6c7f4caf54b0e45a359774a56dfbe1e65bdea91120134e77b1e7c38c336a4fd8d05a7c26e9d3bf4bdc0fe40ad7cd832a54
|
||||
AUX chromium-118-ffmpeg.patch 1684 BLAKE2B 01fc5b3f3a4c6b68aa03327e49847462567ceed09ce42db93106f13558bc358116a85cc22812ab1b060e5d5b8e9913ffb74485e76af533382eeaa90a4e71a0e5 SHA512 cab524c7030e8d01921450eb9c00eaa678fd06073b60fc29a973bc7fa19a878666ad812b1e99863cc947fe1037cfce7216333eae52943e90f53f1277fc6642c5
|
||||
AUX chromium-123-qrcode.patch 2100 BLAKE2B d42df3fd72d1930aceef3f9e3633167573f7d0cde7907b27cdc3d7a100e37f822a557baf2d9f9687cc11e1a4160e09535226437bf2d724df039a58f796408ade SHA512 339499323bc55a755618035f1f2b56472127c8b467031400d63569e5f9300782d3a5e655cb7a191e9759e90d3d27475f22fde6f5f63ab348af7a9f2829e7b715
|
||||
AUX chromium-125-cloud_authenticator.patch 627 BLAKE2B 0517aba87901e0c318fee6a0ac7e4317eb4ea18807841bc89b761b1da8938cb4266ea5e6ea7aee629ae16ab622ff966cbe2a3f6dcd7871ff516fc1477db26226 SHA512 e6afae2766bcbffa5f259a0bd8fb3b1b6078b9f61102023229bb7b2d619a9b3911beabd39b1c88b04e3ec8c80a98843733881ed53039b6d98f764bbb4ec9d124
|
||||
AUX chromium-126-oauth2-client-switches.patch 2214 BLAKE2B 0dfc0dcd585bcd12793033292b1e10f448b84a65ee9354803237aca225a5de8b40a56f78cc806353d5240d41bed2efe82bc1b39ebea8ae4db2f79855f6ce1eaf SHA512 77e4e5609b9191160c73681020defd2d3e6fc3874837611e1febef538d3997fccea267ed87f6bbff6bd140f98d8e909d935ce3e3e0d53bf597882bb2282ab72c
|
||||
AUX chromium-127-cargo_crate.patch 299 BLAKE2B b9998c8681738ffa9b846c581df8084ae627163070498576b762da7aa6654b3e40a4c341280763cc7ab7c40f86190187aa18bf1f3246e0012cb1af42690283f5 SHA512 73b8708077ba106f1c44f29a52bc403e54df424587ca7ff1c662f24ae32b83bc90608a43dbb9beca4ccd1aea8200791e9f9f42287415d6e6f8c795ef0adeaa7c
|
||||
AUX chromium-127-crabby.patch 1894 BLAKE2B 9132792722b911867079caa808d923a9168f784f5e1c1ccb66efd0a8c15c4f0d388716469e78b9780b90083ff41895ae00e34b8c5b1ab2c1464d7732e2108ac4 SHA512 bae8e58c55b45d45cac192995109fd3554989e54676fd175cecb895f000336bdca51f80affe9d87f3951a587cb719485d44100e48131e07fb4e70563c29b0321
|
||||
AUX chromium-128-gtk-fix-prefers-color-scheme-query.patch 1986 BLAKE2B 8a7f4a99672e834b1b673476ca7428939f710adeebb0507ab65783d419e1d213be08cc17f188ccc7923a2b07da3a2791f2f122e11c5735726f6a72d7d6938b39 SHA512 d89ea59ddd1e0525994def0f6d1b8e5dec79c9e3fd920323231c2ebd946e74f8241f48efcb307c41339e01f4faa065e224e25ffc7780d1869203d6e58fc7ebc9
|
||||
AUX chromium-130-fix-building-without-tflite-lib.patch 2535 BLAKE2B 2495b705966180cf034504559e440a9157b99df654e98572ba68c6c5a856ecfb914e08e53bea8134531d28584ffe19609b3c9db254fb4bbec80c03d9e545d531 SHA512 73913c527083d682638c28dbec5477a1847e393d638b985e9e3962b5fbb2b0e6c72078851a7b32d6b8433a5ac685dc6ab431b48e092a2558d426d3a5c751e308
|
||||
AUX chromium-130-fix-includes.patch 3375 BLAKE2B df286cb1069414a5ba0207bd2815f42f0947d0f547c19308ce0f44ba8c5705931cac4d115ee33df66bad15ad97c87eb2743abfa749c8cd6c43b63dd6a3d271f9 SHA512 4951147efd4fbbe936e2184b2f92b69cb19e95d6c96b73e4df0bbbcdcbe7c1e0abcc86b318abdba034c23df9c58978ff257a2ae420bdd486846b79bbafe07e4f
|
||||
AUX chromium-130-fontations.patch 3040 BLAKE2B e0379c940bb8fdfa28fd1973c11d5bb7d1fda56e4a76169bc7c4a2b1cdb83792b3de142f8f4d594f462dec1735fe4afddb32b962a6319a6aeacd36c5737e4e47 SHA512 aee5c88e97b2afe3ef4218bab859702a12e0f503df797bc03f594df47664105c758d8b1c869574ee25f32cc94e2de3c84dae0d89cb614011e94d54c3da53ce69
|
||||
AUX chromium-130-libstdc++.patch 4618 BLAKE2B 175d64d4367b68d6ecd9d7d4f9c796a1c026066cbc61cdecdf1570ba069ebb9cf81b3be3f3cc4c62594a0bca89bce5b9f89b0903193d6eab8e86d80c166fa79f SHA512 85d08144423e9545a9bdc98eeb70bc8cbae23fe78a771b13abeb2dd7d324b197731bf64162b8b4bed0d88a055d9edcb9905a929c8a6f6ac0cf79c4a2ea296269
|
||||
AUX chromium-131-compiler.patch 9766 BLAKE2B 70c472390bbb99ffb0a5c1b5b23c0deac4624c43b18bed06d15e9ea467b22f365aafd785c8abc4102d81cabb8ed56e6385da3e438ceea708c86094ef10baafa8 SHA512 336e4e90e831e58fe06b63c4b3d276a79a38d0e777c33e70c4050f41ac8b0c5044d57225fa45f41a1f6bfd9d8d2d6bb3e01759b77bfb39bb490801ea7fcca282
|
||||
AUX chromium-132-mold.patch 6134 BLAKE2B 71dbc254343be868c31f542f564547d8c090d4a1b0729b6f75d0d518b80010bba63cb1b6af0af9d7be4971611305eec25e11fa18b048ba5bd3bfccb10b787a49 SHA512 c753a5eed66d86070da4d18096c6c3a5c7d8ed5982f5fee2bc48172362cbdb983090b921a743e78639eb21041aaaf77653222cd057cc4941d7a761d29d234280
|
||||
AUX chromium-132-no-link-builtins.patch 550 BLAKE2B f838540e21afb61d3041ba8690e1d71269cdd0f165618b12ef8c3fb24e5e3f846c1bb56a36ac19738e17246d02d75937416a53fb4bb789153f76f6f7fe9bbf28 SHA512 6b685dccd8e833e22c4be4be14e6fece5db13e7635bba0442b0fc8000da7e921e7bc479726569e587c9ea8338fa95cf795f0f1912ca3cf37bc2622dc4a07ca19
|
||||
AUX chromium-134-qt5-optional.patch 4140 BLAKE2B 2a5879384a95fa0a9edf2e6506b2f374f6366ef0bd5f248b14333cbe721c5ad85d04101cf7a15a207c476525a8ba22645d8446c684363b3fa8b9c642c89b8fbf SHA512 b9fba4b3d33430a9565a6605f8d525618e6691622095bfe17f781e030e4395cb5ed25242625761ca16b19da8014e4afa1335fc6719cae78c8b3594c9e9092978
|
||||
AUX chromium-135-gperf.patch 1539 BLAKE2B 59ddd646ae97f8b77e6f4852ff4d1c50b0910f48199508935ad855719a6ad4081fd1c088a89e7e19c906aa98842fef7bbe97f219c10d7c4d279563650e4b65fc SHA512 3a66cdd30a9a2bd69d6d1bcf06602290830509910b37a9a96b3f4df1525fcda3b6b5c683d255ad976228cbc8a215bc3746985ab4d8096b1f48740ec0eb9247a5
|
||||
AUX chromium-137-fix-for-kde.patch 718 BLAKE2B 0f511723c4712563b8db97db9fcb0c54575a4f757c2d5a44ff265cddfd11e37fa89f2865d5c3f2956d6680bc67b2cc8c399bf57d591d3ad37ae2297b9a18b9b7 SHA512 669b35bd5204f50c0e06718435a92f000e9f692b084f8ce1154465b0fc4d3f5796953f72b480e3e55ed66f122827275cb9358fc6a58a522855adb7781ab940b3
|
||||
AUX chromium-99-opus.patch 556 BLAKE2B cad43be94fab004267ea1311f329f38b032a49374691a639a871feac1b1fb304768ac40659c0c72b0705738791b4ce774bca5591e7a19546d0ca4f76bec5f369 SHA512 8e5691104f6d724b59ae6e73fe0720bf483ff95bd80a4e66116d1555fa786c1e4ab813d9479a26d363c5a36da39dc31b56c69d3d84eff39bf0c2deee1cf632e7
|
||||
AUX chromium-cross-compile.patch 323 BLAKE2B 8d5091ce5287422c9688ede2563360a96b8bd34b9750dc1c8f0b6ca9aeff2c066fac2da169396baa131d971c087c78f9af53999df0e102d1f57176f5e8d3dd57 SHA512 06d3afc1aa19e57daac0e4bad37e1f365a68408240430e5e818e5a4f12e3b7519214eafa463633e447e7029f4ae13ea864ca347ad1fac117702a0be88718a954
|
||||
AUX chromium-revert-84fcdd0620a72aa73ea521c682fb246067f2c14d.patch 563 BLAKE2B b15d3f70f8cf6bf94c9c52f17e90b9d989a035903d70f8e10fe09c388522b9ab6b9959da003996cce6e308cdc9abc0631805ff40efe5805cd99076713c27c34f SHA512 d0618255f8bcf0429f7dbb94ec8f2972e8b09568a4c5b10df2e5bebf99d8eaae2d0be3217c48d97e655c9a617025211b2610117797820609442c376d93aacd78
|
||||
AUX chromium-system-av1.patch 787 BLAKE2B 1b7925c4923bc559890c04626d12c813816516aa593a6ddbb195c4be0135f55fc255194b60927a21f0348a65f84ed0239630fcdada6e90fae5ae2b9b3ce37058 SHA512 67fa937ac254656277ea0d75c742437db0313ee05fa03c7a53efb0880be6aaaaf1a813c11a5838d1f0f8e696f3ebcaf774f02f9b87d13655e6acd223e20d4a45
|
||||
AUX chromium-system-libvpx.patch 764 BLAKE2B bc73407a255da53f45b471a9407cbdad7d64c47f5780dc58bd92e35255c87bea1f4738ade04f3dad4aa14f8db76f66ea37aea351c8b198575d3127985b6e2766 SHA512 436f8df62e1ac7c87c6f998870cbc68b71e321859d384c91e144c4c5b80df498d75f162975ddb11e2c4e336ac80e576161e2bc4ca7765edd75082233071503ea
|
||||
AUX chromium-system-openjpeg-r4.patch 1035 BLAKE2B d269a25bb13b42929a6ddd73a8d1f367b557b58c6a81af9c52e6ad2fbe70810fdde065c6d909c83ea42d9cf485d3a68f490510c695a4c2de3f963bc5a23df828 SHA512 913d164bb094b3a1d467fd129fd817b3be345869a9d7949c42f25f2c1a02edea501c1a42adb4e5f083bae9ccda16f2368e05c00b170ef3facc31ae90c1a2410c
|
||||
AUX chromium-ucf-dict-utility-r1.patch 3843 BLAKE2B c9da2ed82f6113f810a430f09fc584aebc27ba7174c82c0b773d5387a03d7220a400cc24733886ef3e6d6040c03e04796f19dde342b11765ea8ea1c872b381da SHA512 47ac0d83f097a66370049babcb78cc70387865a33c8a679ce7380234544d0f0f5ed1a01afad7d5b8a6e4622c9c7c4f45c9254ed3241a991b634f60cc3a3ac724
|
||||
AUX disable-bluez-r1.patch 3265 BLAKE2B 72465c584899c3f277155931b75487edc7ce61d7b251446264cf0f33af4afcd9a2227a68af68101c07346e3b5dc1b3b1937c68fee3cad902fed6b6e2a8654c8c SHA512 d8d8d60a2f689919d9254da3530ff5fd362415ae979db6651bc45f4fb0f9d7b6aabdb7ec0190bb9d95d23986dedde37a94a9907a9a26be6cc4535787306ae674
|
||||
AUX ffmpeg-nb_coded_side_data-dolby.diff 896 BLAKE2B a90921aa94edc200c08bcf0ddeab962e17f73a22a699166fdf7011bee36bc9b42730727e1d59003dc2f3b798bbeeaa1ebffada3d7801e68e1e0ec8739360b392 SHA512 c627eebcc05a674978201e4b27cfbfa17780260526bcb5d441a3a5dbf9c6006a1f1c3ad14a538bcb288eb01a0595085fe2a13eb1a1500b0254777968493490a0
|
||||
AUX ffmpeg-nb_coded_side_data-r1.patch 9732 BLAKE2B 3d71f7e2acc4b5db098fd5e052081297a5894263857dc53111814deb73acc075cd0e30276723b3d934d05004c94675d4a1f72a363ea3e3da2a0beec06aa8a7e3 SHA512 ecfdeb14ee9ce794cff2695da99aa818cc2f00d013f78fd9878769f0c941fb63256cac281b3d69612d79e4d12985219ffe4f428382ec650017645d2fe2c0a187
|
||||
AUX fix-building-without-safebrowsing.patch 175026 BLAKE2B 14a4071ea5d6896594c6cd6d8ebd6940c29203447713767f03db06c7e61627c7aada5f415fc28f5a60cf5e55c1ac98ae0e2f79fe72413cb2b9cf08e808c05e00 SHA512 8f8e4b92845cd487fee676a4aa1b21084a60514b4e5d0cd0804bdb435a24b914194c0c572fdf74247fb9f2e286e58a731fd2e219eb89a95d748e15f466f97770
|
||||
AUX font-gc-r2.patch 2692 BLAKE2B cd1085fe89cc7446c52d9b1a68bca57811eeb21b3fbad2318752fe7434fcaf96a2708557c90884f286becc6b300ff21a8b6bd3107a69bddbde24a68df0be3e9f SHA512 3575a769a77f25734603105693bfe97343050f7d2b9f7d6df4e81c3a8643c3f7b49c5b6bafe4f09594551968c5a941deb5862da6409d3a1ce9120a55909321ea
|
||||
AUX libusb.gn 502 BLAKE2B 8971df95ef9690762eeb41eda4814fa57488a840751f21671bed01291dd0d840b8028737f7a59b4cd0858b57bbfdad4feb65485805fb50934bd339358b952659 SHA512 b2667fd1751b871f935ead6e7388f5046aaeea2a5b393cab27af6170be690e82f679bdc44c932de03d2c1b2bf51abc75b0fac16dd702f84cdc8c078befcec49b
|
||||
AUX perfetto-acc24608c84d2d2d8d684f40a110d0a6f4eddc51.patch 3584 BLAKE2B ce9b6b5cadd5cfeb77af9e4c6728aaf01b9e137c5ac026608310f784832c937270ab02bdfc7113b70c714907cc03d04c244cb2193643301552d5372645effbd3 SHA512 4c9c50efabed768acecf571e2f5e142959a2d2c3dce793771719cda3a878afa8fa6ff47180e0d90f1d8dc1ff863fe46855a5ddefa1dd8bd24fbf895ec1d60562
|
||||
AUX perfetto-system-zlib.patch 433 BLAKE2B 4cd2883262ab5b52b3bc78fe4b1ac000682a7d9bbfd0e29af424a088dcdad262c4d09a6098317698c8f554d015abdb7cf63f03f2f708f10f9ce01bbe5c116d21 SHA512 dc5320ec9fd991aaf47bd021010ca54f033e1514d1b551378c7b0dbb9cf5b8effc4aa895d180eb9b81634c363098f4c85e944089024cd9c32fa0ee4bb4589d5b
|
||||
AUX reverse-roll-src-third_party-ffmpeg.patch 12334 BLAKE2B 3764501173a12429b6a526af4cd5bce4c53f44aa35286f26776c7e7b436361106ec3e93ffb5e8110cbe27e118e4c145d4f0e1ad0c7acec192d51419cb7202cf9 SHA512 d7fe1952004669c2ce1928d3fcf9ff2bb0bb6c594a2ac903aca66a725cf72a9e4b4a2bd7ea532d8b4029e68b756c112d76bc290acfa3385371b223083a6268db
|
||||
AUX reverse-roll-src-third_party-ffmpeg_duration.patch 902 BLAKE2B 1852c817a247393c1574781d32e41b154de25c542ac767f95bfdfd3380f99438b8e97fbc08fb5a2cf5b84eb68cf049a1cd02cc5f60bea4adb702037a3a46cb07 SHA512 550c8d4d29562e846ed793e6a434396202a7cfea09361a0544a0539d60cad807e4e052bf9a3d000ef8af02f4bb213525542e73560651b7b89f2b59cbb9539a3b
|
||||
AUX thorium-130-fix-building-without-libjxl.patch 978 BLAKE2B d0290a82fe67d0c43ea1194f95e5dc15caa8559f1e20ff63eafe7a20e8254a61ab45235010dd630c4a9e41707459c479c4ba9c6f1e4e3084cca3c7b1e7a2c477 SHA512 5e030a41c5a6e7190e4d254ee42528ed842fd37d8ccdda33657293449c1f954440624d1bb71238b93fc63324b25c5f8f52f49e90b0ef9baa0fb28f5d8ef72782
|
||||
AUX thorium-browser.xml 403 BLAKE2B ddf0e198b06e84b787d5920ac0adaa2e1e532a03fa8673ca6542784cd19e668599acc01c67efde445bbdf8790dafae9e0f2ec272ab4d759e2a8b5cf10ade4c38 SHA512 8474477ffaffd92013f8121e4318f7cc183db63baa4dbd2c78cddda5a9d3876dd451405374154ba40a17b7a8cdea78b485ef89b0ac4283ff9670f5a08fb53fc6
|
||||
AUX thorium-launcher.sh 1626 BLAKE2B 615fce7563f12f7907eda4bca861f2345b0b03ddc0529857fb13050ff3a0b837ef04f26730fa12cdc6345e87e1d1bd46f6307df399896e3ccee620c0e157bf47 SHA512 af6e9f89e988c3c58be9bf93603835a2f610f45a9a73b0500abc49141d0836409b118a6838935737aeeb011318584381c146812eed25914e3b4147e3353376ca
|
||||
AUX thorium-shell-launcher.sh 1281 BLAKE2B 7224eeed73a3a58a4cb7123953f23f4e54b4257e73c32f566bae0908c39e3114985131c6f8ffe056b224ddab7f36f013d273f17b60376a9d4e2d01534f9b2a95 SHA512 7f5d9f43ba8002ee69f136ea76932b23058d6fc5e80a7c0d010178f04b912685bae6c45df17f501ba168bb7e8a0e8251ed0a7a959a4bfc3572acacbcc124a0f1
|
||||
AUX thorium-shell.default 273 BLAKE2B 478437d707a7346a17af1db104e02ebed43d508ae2c9901a9773e5d1393cd5d2e90ce2ef43ee8313e349d79c69dbf12e6860c6f00bf273c29e9dcaacdc2854f0 SHA512 2c27040b79c8d1c76c323ca6561f697f00876b0c3be6edf0888b17df14a502a09f01de61f3de77778d4b1d29bcf4dc39883173b34212a4f5500eff1ccff12362
|
||||
AUX thorium-shell.desktop 431 BLAKE2B f9ff55e270b01646d87b1f9236c27490c06003a249bf04ec22160701fa2e5cd680ede7d4dc3e0fd9733ce6c6de1f6eefbb7d2102edf99507a1c212dae484b9d4 SHA512 294295d13c7347771dc5f7c8be50b5eb5b43f830d2b0e52b94ae6fd454a04852734cfabaea8afd63874035485afa9c8ad4d3466a5a6783b7d291300a176b5e08
|
||||
AUX thorium.default 256 BLAKE2B dd7a3c12f068d416917accf01b4c670251c62b987480c05588ec54e33d199ec899d6d3dbe4e8a92870119f0a057e60cfdef340947dc73ba2bd5005f6da84ff0c SHA512 c28e30a9838fbb3653288adb474b499050e193c29d48e6929de7c1360bd593a19f95180d55cf6bb561bc5a50c67efe9397096c2315be24e91b48735bcc3c4626
|
||||
AUX unbundle-ffmpeg-av_stream_get_first_dts.patch 393 BLAKE2B fed72675027a27c852936559272ec88e18ccf6fe73cd4562270427005682e1d2dd184f9b51c470ab4e96dbb9751cbff1ae0c102d287c16294800d39b44a11f75 SHA512 4d184faf083a82e2a51480b8513b14c81a8d03a821fd25bd41523093e064bc2ced8e23fdc37da548d9e1e171784263436b82be373aa7307b4da41ee8b3b26a89
|
||||
AUX update-dicts.sh 1680 BLAKE2B 8d3e8e90f62cde763256c0d3e48aa075776e8c21df9df60a23e788eed992ce12446fd1c92b3a9207793eeb8f7c4537e322845e728d35d0b57a2c83bffa5251a9 SHA512 c9868aadfa5a905b94e749074fe98a29489947f9aeecd728498918697a39b4bf77970c7b40f0b53f8de56985bd47ee17a3550ee5239d00e166e35d32f585cf4e
|
||||
DIST chromium-130.0.6723.174-testdata-gentoo.tar.xz 97492 BLAKE2B 997562de242b14a99aa6998c41ce9f77d1fd36a73f48deff1c57ce90c6dac7c04a7a74493e1ea3c2206f0706dcbd24ed4be7d2283fa267cb628168b5eb38b176 SHA512 2e9d46f83a5649c0f06ea67df779a6f46f011636be08a0a3c0623f7ffcbc27af1e269d49319535b4c5f89e72ae0949736b6c0cd705a2890453ebea1b361253d7
|
||||
DIST chromium-130.0.6723.174.tar.xz 1316010876 BLAKE2B 88ba934d72ffc9b40f456af925a46c94d6ff2378c6d246f686b258360a64c12590db7f92ccb5591430e79f33c10f7ca17cf4c17fd5903699b6e31c6a359c1392 SHA512 12c458560183965d1457147167f3ef598e9c83b9332a9bc27303647ef7f580849563351e6644d34aa78960db028780d834c3364a7e662f38d5b516ca2a2a287a
|
||||
DIST chromium-39583ff118920284de516d262979960e7159bcfc.patch 1391 BLAKE2B 28815a2a49a78791c74462442863e26c10fbe770e883d82a36b8793f2900c4feea0053f116d9029bfb66b53f2df133fbe8f92635dcd460e3405d34dc9afb5329 SHA512 0ade99c4c8c4acff35502b195b0c46b944f31f2e2c5beb0e9f63a345cceebb1c4dd21e9e3410484f40d75e3ebae170536f651edcaa0b5c8d50edb7272b62a492
|
||||
DIST chromium-40c273b2c0f5f26e16e67428ceaafd8b339bb61f.patch 1745 BLAKE2B 8df526e88bd22bc27a00ad5fafabcda20865c5fa2bd0ac91523c3b22709a725c010e4290bbb400c3f96f4bce61ca4b13f472fc27e2da34a7a2afa57e912a3f75 SHA512 4debcfe22af457bc3606bb7e394abaf3efd8f6e544f86da4bd3e0e0be81a7201ff038253e8d54fea5765cd1cfb52950e21f98685cf79c5c1a22f8e448b9e894c
|
||||
DIST chromium-47fb59539e5744467eb6f7aae52f5a169910d56c.patch 1405 BLAKE2B e72e76133ef9e75eee65d5e7e840337912f93148ab6bc04d12d64c6d4b58c80fd4f3dfd9f033649948357e3956c6dac04561f9198d5bf443f03438a1dc72bc2e SHA512 714feb8e53b7510072407ac5c0d9026e978805d65a754d62dd53605f2d7dcdb8c5da1634c4a84614872c10f31d6ee2a5c15bb4d621a426ea939b38e42d5e39b8
|
||||
DIST chromium-4c49d7f04f43ab4757637cac21cfef7c0cd060fc.patch 1172 BLAKE2B 346027f24009cccdbb479055567aae9e327ea88163d5cc25becc1512b7035c809ec8089b69b6084e6278b9a6029123dabbe824b7ffd988aa244ba84dceff629f SHA512 63028b4e747b92fd462d2663fc317bec8f3ee1e3fc486a9135fef7fd5f68eaae9d883144024f8ddebbce5f053ccfe8ef142b3f6d0dfbd785310fd40bbb060f6a
|
||||
DIST chromium-7e28832cd3320d2b603e6ef9468581e1c65c14f1.patch 1339 BLAKE2B 8b8c9daa68f981b70627a07d9f7638c33158802d3ece8e7ab4e25734332944407810e8a2aa4f701d8153ccdd72138525598e23660feeb4b8a8e69893cc523d8d SHA512 10298ad3a257488add2e942e5522ac43e7979162acaf037122e437fe0a9734893e9bc03bd6a528d3052bb3ae2efe94fe61fb1fa051307db544e507d17603e4c3
|
||||
DIST chromium-8739a5b33176e82e06a746163c0c76de4908ced9.patch 1635 BLAKE2B 3c8a62403bf90e3e35f237f0774196b8a15669717a4ece79f5d8306fd2bdfe01f7c1f1715609578185c236a12d5cf9c4b4438a6400fc16e4a89e6f7f681c8820 SHA512 0323edb3fb4f34e50035588423af412c16d95ea06fdbc6ff82758b4e640cad803d40989195a2c9782b87759374e42f3d38110ff929224f8e3dce3dfef9a7fae1
|
||||
DIST chromium-b51da416e04ecc9edafff531f9678c6404e654b7.patch 1346 BLAKE2B f1215a48fcaf36b70b4cc1430f78d43e84d51089cc4cdfa8508e37574e0aa198bfd99ef99a627ca4b98e79547549a2844dac5debc7b8c026964db15bdaf849aa SHA512 7d1f79184e69d927e025371d3c50a997fe82ce9a328af7be4f7e459a92bb74b5cdc545c7d65974242ae084835cd59f3e1ce7924252cf79e5e698940052bd11d5
|
||||
DIST chromium-c502d310d8cb91f1c1098a7287e75114023e57f0.patch 1391 BLAKE2B 4d7dbe9c2173d01756f99208804bafa2732d8992c9a9132905964a600103e8b8018aa188a2dfe96e0cf688686b585fffe05930cb3af734c26c648ccb9ad211df SHA512 0c3f681d8cf971511cc325db17bb36e81589c12404e70858a6f41dc3b41d1b0eb4ac8ccb02904218739625275683cd5fd94b7426c57e3d43ae8753303ef1d6aa
|
||||
DIST chromium-dc9db222b929f5da415216134b77d7f3bf141813.patch 1253 BLAKE2B f0480b418bc2b4f0a0a21a10a139f304760b1ffad093a22fca3618afffc452e2bd22e9139751508ef00814f1a5c78391a845632dbdffc205bf73ed2bcf35666e SHA512 929004b1286f15916a4d21b6b7c4f73a6da9d7ed704ad2d52fbc37fe0f967615be0a774890cd4cbc377f99bd8ea3e1560bc837e4dcc9527c4d052195265e5490
|
||||
DIST chromium-openpower-a85b64f07b.tar.bz2 387899 BLAKE2B b01fda2d64ce73068d1536a10cc0896f07a4b714cdb25698b1df8b3252baa0c21c4209b307cf1cb554854f6d0bfe3cd35e06aaa8d02ac5d409a119335084c324 SHA512 05eee81677e8766808441c939bee68e2e6c58ec91f471d88a40181d2eda78614a0a6d27d92ff8f9dda564d12f3451bace4ff2727594748c5c238a3533038019b
|
||||
DIST chromium-patches-130-2.tar.bz2 10151 BLAKE2B b46515a3e01153d8c4e5c3ee1f6e9f905265bf88b698d46c8ceed0f90d36a057b8bb30a860e8d934bf0b85f9c0a671bef2c9a00349228fa076b7aec37ff62ca0 SHA512 e1ecca666c3998ee285426751be3220a5b67a057f2c92b1f45c7b786efb8d0b0e1d49ba70471fa74155f79f22811d240af636f61007191756c9981b53d3b23de
|
||||
DIST chromium-testfonts-f26f29c9d3.tar.gz 32750602 BLAKE2B 498f8b2e0811c98dc3d4aaa75559e69c782afb4bd12328cfdb7244ddba5cae7ee47becd27b2549d7b36bed417601f70f4c192934b0f08496cef1547d0502d93c SHA512 96b090446862997c8134e2971f0e38793ecc1208d547e554c9b651ccfb4127c4de86754903fea57a7292a2823c45117bae0ec13ed87aed20c248fb779579fbde
|
||||
DIST ruy-587c2cf8b11d3c32fa26887063eda3171a3d353e.patch 684 BLAKE2B d00895efda90c4254ceb875e52d2959cb0d4c95cfc98775a02a6430f60f038c7da701316de40888e5f63ad907f087bff105d79ee9c9bd386bae5053de9517a64 SHA512 93c78353c0f3d50d4ebfcbf34b0b5d2c2bc3e1a38bc0e545d2e547010f540dbe2e0e284362810a554f58e300d3c770d35ec49ff87e565dc4b66537ac515109a5
|
||||
DIST thorium-6a89d88a334d8df585ce07f9a56254ef85fc8956.tar.gz 158609045 BLAKE2B 74173fc5373aa0ea975c944a1fe6683d86120f9476918b4cfe176deb6b892c32e27af5e060eff6d4b5eb0f0f7bc62a9c2a43bcfc07eb80da9a85c6bfb88f29b6 SHA512 cb9211ce25248345ca2f7d410686e9cdc7c6de5ba5871760f2564177749c5961990dce95da3e83e8aad9b58da2e7176d526d6da1b89cba6649f4a0be9414b9a0
|
||||
DIST thorium-libjxl-059d2253e91e3c8af7cc860f1c633f18ac19eb67.tar.gz 3610533 BLAKE2B 019cce40f13fb163436a5d2a90c11f9d25836103ea7bdb508492138d9eeaa2f895e520bbc70ea54290b1d110283411ea4a70e427c75958bc4ade8467b254e132 SHA512 40634e8124f039d461984ce1929f36cb6d1a02ceb11c207390f7968a270bf4f513b45f588da607848edb9023c6f4795440e621f8d79366f70cbf5a6d90bf723d
|
||||
DIST ungoogled-chromium-130.0.6723.116-1.tar.gz 1247229 BLAKE2B eaf49861d5a58854ccfb95d35fdb24c9adbee1d9c14ee5d51c1c2e14a8a41dc807c94b949e3f20f87c92c1f859a6a4c331f748367b08b9fd251ca3969a1e8da7 SHA512 aaf2bea58ee2a7689ed6df68f7b311df404f9d7a2b34e3101fb0689ffff158a4e7a6c6eed43e256183696eb6a3f6fe527162b37323015168ffbe279ed1638efb
|
||||
EBUILD thorium-130.0.6723.174.ebuild 67354 BLAKE2B e077a826feed3de8f2612c44fef4510d0d42c9f87d95d151de61f51a185bd7633113d02454ba1700c84ce1db5afeb8865dc38da4c63f65bda0281d50a2e303fa SHA512 b1c21b36d707a20c5ac9583bceddacbd2d2b99c1458dd6dfa5265d01bdbc67769296952deb0e4e5ddc14db2bcda198d4ba22a62132cb445113e595525c3e8233
|
||||
MISC metadata.xml 4711 BLAKE2B 47daffd026624b61a2da6bfb3d02b77f92e6b4f774a5d96994f01d02d84077b4f577b70b10d728f57f269ea9a5e75518d27650f3134120656cce24eb5bb493a3 SHA512 23917be73dd857421f3d9fb0d6b36940e8f7a215042219c48f0f1a91d5b0c8ae33d3078fc68b9ab4a5298c822a5ca141de9c21815ab1808206b7643502128ce8
|
20
www-client/thorium/files/chromium-109-system-openh264.patch
Normal file
20
www-client/thorium/files/chromium-109-system-openh264.patch
Normal file
@ -0,0 +1,20 @@
|
||||
--- a/build/linux/unbundle/openh264.gn
|
||||
+++ b/build/linux/unbundle/openh264.gn
|
||||
@@ -2,6 +2,7 @@
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
+import("//build/buildflag_header.gni")
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
@@ -34,3 +35,9 @@ source_set("encoder") {
|
||||
deps = [ ":openh264_shim" ]
|
||||
public_configs = [ ":config" ]
|
||||
}
|
||||
+
|
||||
+buildflag_header("buildflags") {
|
||||
+ header = "buildflags.h"
|
||||
+ header_dir = "third_party/openh264"
|
||||
+ flags = [ "OPENH264_API_WELS=1" ]
|
||||
+}
|
10
www-client/thorium/files/chromium-109-system-zlib.patch
Normal file
10
www-client/thorium/files/chromium-109-system-zlib.patch
Normal file
@ -0,0 +1,10 @@
|
||||
--- 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,6 @@ limitations under the License.
|
||||
#include <cstdio>
|
||||
|
||||
#include "absl/strings/string_view.h" // from @com_google_absl
|
||||
-#include "third_party/zlib/contrib/minizip/ioapi.h"
|
||||
|
||||
namespace tflite {
|
||||
namespace metadata {
|
@ -0,0 +1,25 @@
|
||||
https://chromium-review.googlesource.com/c/chromium/src/+/2959890
|
||||
|
||||
--- a/ui/views/animation/ink_drop_host.h
|
||||
+++ b/ui/views/animation/ink_drop_host.h
|
||||
@@ -238,6 +238,11 @@ class VIEWS_EXPORT InkDropHost {
|
||||
// Used to observe View and inform the InkDrop of host-transform changes.
|
||||
ViewLayerTransformObserver host_view_transform_observer_;
|
||||
|
||||
+ // Declared before |ink_drop_|, because InkDropImpl may call
|
||||
+ // RemoveInkDropLayer on partly destructed InkDropHost. In
|
||||
+ // that case |ink_drop_mask_| must be still valid.
|
||||
+ std::unique_ptr<views::InkDropMask> ink_drop_mask_;
|
||||
+
|
||||
// Should not be accessed directly. Use GetInkDrop() instead.
|
||||
std::unique_ptr<InkDrop> ink_drop_;
|
||||
|
||||
@@ -261,8 +266,6 @@ class VIEWS_EXPORT InkDropHost {
|
||||
int ink_drop_small_corner_radius_ = 2;
|
||||
int ink_drop_large_corner_radius_ = 4;
|
||||
|
||||
- std::unique_ptr<views::InkDropMask> ink_drop_mask_;
|
||||
-
|
||||
base::RepeatingCallback<std::unique_ptr<InkDrop>()> create_ink_drop_callback_;
|
||||
base::RepeatingCallback<std::unique_ptr<InkDropRipple>()>
|
||||
create_ink_drop_ripple_callback_;
|
40
www-client/thorium/files/chromium-118-ffmpeg.patch
Normal file
40
www-client/thorium/files/chromium-118-ffmpeg.patch
Normal file
@ -0,0 +1,40 @@
|
||||
--- chromium-118.0.5993.54/media/filters/ffmpeg_demuxer.cc.orig 2023-10-04 23:53:53.691762700 +0200
|
||||
+++ chromium-118.0.5993.54/media/filters/ffmpeg_demuxer.cc 2023-10-08 16:56:57.616681160 +0200
|
||||
@@ -398,7 +398,11 @@
|
||||
// TODO(crbug.com/1471504): This is now broken without side data; remove.
|
||||
buffer = DecoderBuffer::CopyFrom(packet->data, packet->size);
|
||||
} else {
|
||||
+#if defined FF_API_BUFFER_SIZE_T && ! FF_API_BUFFER_SIZE_T
|
||||
size_t side_data_size = 0;
|
||||
+#else
|
||||
+ int side_data_size = 0;
|
||||
+#endif
|
||||
uint8_t* side_data = av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, &side_data_size);
|
||||
|
||||
@@ -461,7 +465,11 @@
|
||||
packet->size - data_offset);
|
||||
}
|
||||
|
||||
+#if defined FF_API_BUFFER_SIZE_T && ! FF_API_BUFFER_SIZE_T
|
||||
size_t skip_samples_size = 0;
|
||||
+#else
|
||||
+ int skip_samples_size = 0;
|
||||
+#endif
|
||||
const uint32_t* skip_samples_ptr =
|
||||
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
|
||||
packet.get(), AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
|
||||
--- chromium-118.0.5993.54/media/filters/audio_decoder_unittest.cc.orig 2023-10-04 23:53:53.683762000 +0200
|
||||
+++ chromium-118.0.5993.54/media/filters/audio_decoder_unittest.cc 2023-10-08 16:58:23.727519824 +0200
|
||||
@@ -108,7 +108,11 @@
|
||||
}
|
||||
|
||||
// If the timestamp is positive, try to use FFmpeg's discard data.
|
||||
+#if defined FF_API_BUFFER_SIZE_T && ! FF_API_BUFFER_SIZE_T
|
||||
size_t skip_samples_size = 0;
|
||||
+#else
|
||||
+ int skip_samples_size = 0;
|
||||
+#endif
|
||||
const uint32_t* skip_samples_ptr =
|
||||
reinterpret_cast<const uint32_t*>(av_packet_get_side_data(
|
||||
packet, AV_PKT_DATA_SKIP_SAMPLES, &skip_samples_size));
|
68
www-client/thorium/files/chromium-123-qrcode.patch
Normal file
68
www-client/thorium/files/chromium-123-qrcode.patch
Normal file
@ -0,0 +1,68 @@
|
||||
--- a/components/qr_code_generator/BUILD.gn
|
||||
+++ b/components/qr_code_generator/BUILD.gn
|
||||
@@ -38,24 +38,11 @@
|
||||
"qr_code_generator.h",
|
||||
]
|
||||
deps = [
|
||||
- ":qr_code_generator_ffi_glue",
|
||||
"//base",
|
||||
]
|
||||
public_deps = [
|
||||
":error",
|
||||
"//base",
|
||||
- ]
|
||||
-}
|
||||
-
|
||||
-rust_static_library("qr_code_generator_ffi_glue") {
|
||||
- allow_unsafe = true # Needed for FFI that underpins the `cxx` crate.
|
||||
- crate_root = "qr_code_generator_ffi_glue.rs"
|
||||
- sources = [ "qr_code_generator_ffi_glue.rs" ]
|
||||
- cxx_bindings = [ "qr_code_generator_ffi_glue.rs" ]
|
||||
- visibility = [ ":qr_code_generator" ]
|
||||
- deps = [
|
||||
- ":error",
|
||||
- "//third_party/rust/qr_code/v2:lib",
|
||||
]
|
||||
}
|
||||
|
||||
--- a/components/qr_code_generator/qr_code_generator.cc
|
||||
+++ b/components/qr_code_generator/qr_code_generator.cc
|
||||
@@ -8,9 +8,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "base/check_op.h"
|
||||
-#include "base/containers/span_rust.h"
|
||||
#include "base/numerics/safe_conversions.h"
|
||||
-#include "components/qr_code_generator/qr_code_generator_ffi_glue.rs.h"
|
||||
|
||||
namespace qr_code_generator {
|
||||
|
||||
@@ -22,27 +20,7 @@
|
||||
base::expected<GeneratedCode, Error> GenerateCode(
|
||||
base::span<const uint8_t> in,
|
||||
std::optional<int> min_version) {
|
||||
- rust::Slice<const uint8_t> rs_in = base::SpanToRustSlice(in);
|
||||
-
|
||||
- // `min_version` might come from a fuzzer and therefore we use a lenient
|
||||
- // `saturated_cast` instead of a `checked_cast`.
|
||||
- int16_t rs_min_version =
|
||||
- base::saturated_cast<int16_t>(min_version.value_or(0));
|
||||
-
|
||||
- std::vector<uint8_t> result_pixels;
|
||||
- size_t result_width = 0;
|
||||
- Error result_error = Error::kUnknownError;
|
||||
- bool result_is_success = generate_qr_code_using_rust(
|
||||
- rs_in, rs_min_version, result_pixels, result_width, result_error);
|
||||
-
|
||||
- if (!result_is_success) {
|
||||
- return base::unexpected(result_error);
|
||||
- }
|
||||
- GeneratedCode code;
|
||||
- code.data = std::move(result_pixels);
|
||||
- code.qr_size = base::checked_cast<int>(result_width);
|
||||
- CHECK_EQ(code.data.size(), static_cast<size_t>(code.qr_size * code.qr_size));
|
||||
- return code;
|
||||
+ return base::unexpected(Error::kUnknownError);
|
||||
}
|
||||
|
||||
} // namespace qr_code_generator
|
@ -0,0 +1,19 @@
|
||||
--- a/chrome/browser/webauthn/BUILD.gn
|
||||
+++ b/chrome/browser/webauthn/BUILD.gn
|
||||
@@ -26,6 +26,5 @@
|
||||
"//url",
|
||||
]
|
||||
|
||||
- data_deps = [ "//third_party/cloud_authenticator/test/local_service:cloud_authenticator_test_service" ]
|
||||
}
|
||||
}
|
||||
--- a/chrome/test/BUILD.gn
|
||||
+++ b/chrome/test/BUILD.gn
|
||||
@@ -7112,7 +7112,6 @@
|
||||
"//third_party/metrics_proto",
|
||||
"//third_party/microsoft_webauthn",
|
||||
"//third_party/re2",
|
||||
- "//third_party/rust/fend_core/v1/wrapper:unit_tests",
|
||||
"//third_party/webrtc_overrides:webrtc_component",
|
||||
"//third_party/widevine/cdm:headers",
|
||||
"//third_party/zlib/google:compression_utils",
|
@ -0,0 +1,45 @@
|
||||
From b6cda4bc2283a02a5b5209c0f4282a8365f6f33e Mon Sep 17 00:00:00 2001
|
||||
From: Matt Jolly <Matt.Jolly@footclan.ninja>
|
||||
Date: Tue, 21 May 2024 10:04:24 +1000
|
||||
Subject: [PATCH] www-client/chromium: work around dead oauth2 credentials -
|
||||
126 update
|
||||
|
||||
126 changed the function proto; patch rebased.
|
||||
|
||||
Google doesn't let us bake in OAuth2 credentials, and for some time,
|
||||
Google sign-in has been broken. Arch dealt with this in March, and so
|
||||
did we to some degree, but in the last few months, our sign-in
|
||||
credentials have been broken. It appears that we actually did remove API
|
||||
credentials in March around Chrome 89, but they got added back, perhaps
|
||||
when rotating newer versions to replace older versions. Work around this
|
||||
by following Arch's lead: we remove the predefined credentials, as
|
||||
before, but also we patch Chromium so that people can use their own
|
||||
easily, using Arch's patch for that.
|
||||
|
||||
For more info, see:
|
||||
|
||||
https://archlinux.org/news/chromium-losing-sync-support-in-early-march/
|
||||
https://bodhi.fedoraproject.org/updates/FEDORA-2021-48866282e5
|
||||
https://hackaday.com/2021/01/26/whats-the-deal-with-chromium-on-linux-google-at-odds-with-package-maintainers/
|
||||
|
||||
Bug: https://bugs.gentoo.org/791871
|
||||
Signed-off-by: Matt Jolly <kangie@gentoo.org>
|
||||
--- 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
|
||||
--
|
||||
2.45.1
|
||||
|
12
www-client/thorium/files/chromium-127-cargo_crate.patch
Normal file
12
www-client/thorium/files/chromium-127-cargo_crate.patch
Normal file
@ -0,0 +1,12 @@
|
||||
--- a/build/rust/cargo_crate.gni
|
||||
+++ b/build/rust/cargo_crate.gni
|
||||
@@ -5,6 +5,8 @@
|
||||
import("//build/rust/rust_executable.gni")
|
||||
import("//build/rust/rust_macro.gni")
|
||||
import("//build/rust/rust_static_library.gni")
|
||||
+
|
||||
+rust_sysroot=""
|
||||
|
||||
# This template allows for building Cargo crates within gn.
|
||||
#
|
||||
|
49
www-client/thorium/files/chromium-127-crabby.patch
Normal file
49
www-client/thorium/files/chromium-127-crabby.patch
Normal file
@ -0,0 +1,49 @@
|
||||
--- a/third_party/blink/renderer/platform/image-decoders/BUILD.gn
|
||||
+++ b/third_party/blink/renderer/platform/image-decoders/BUILD.gn
|
||||
@@ -74,12 +74,9 @@
|
||||
sources += [
|
||||
"avif/avif_image_decoder.cc",
|
||||
"avif/avif_image_decoder.h",
|
||||
- "avif/crabbyavif_image_decoder.cc",
|
||||
- "avif/crabbyavif_image_decoder.h",
|
||||
]
|
||||
|
||||
deps += [
|
||||
- "//third_party/crabbyavif",
|
||||
"//third_party/libavif",
|
||||
"//third_party/libavifinfo",
|
||||
]
|
||||
--- a/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
|
||||
+++ b/third_party/blink/renderer/platform/image-decoders/image_decoder.cc
|
||||
@@ -47,7 +47,6 @@
|
||||
|
||||
#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
#include "third_party/blink/renderer/platform/image-decoders/avif/avif_image_decoder.h"
|
||||
-#include "third_party/blink/renderer/platform/image-decoders/avif/crabbyavif_image_decoder.h"
|
||||
#endif
|
||||
|
||||
namespace blink {
|
||||
@@ -192,9 +191,7 @@
|
||||
return "image/bmp";
|
||||
}
|
||||
#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kCrabbyAvif)
|
||||
- ? CrabbyAVIFImageDecoder::MatchesAVIFSignature(fast_reader)
|
||||
- : AVIFImageDecoder::MatchesAVIFSignature(fast_reader)) {
|
||||
+ if (AVIFImageDecoder::MatchesAVIFSignature(fast_reader)) {
|
||||
return "image/avif";
|
||||
}
|
||||
#endif
|
||||
@@ -300,11 +300,7 @@
|
||||
max_decoded_bytes);
|
||||
#if BUILDFLAG(ENABLE_AV1_DECODER)
|
||||
} else if (mime_type == "image/avif") {
|
||||
- if (base::FeatureList::IsEnabled(blink::features::kCrabbyAvif)) {
|
||||
- decoder = std::make_unique<CrabbyAVIFImageDecoder>(
|
||||
- alpha_option, high_bit_depth_decoding_option, color_behavior,
|
||||
- max_decoded_bytes, animation_option);
|
||||
- } else {
|
||||
+ if (true) {
|
||||
decoder = std::make_unique<AVIFImageDecoder>(
|
||||
alpha_option, high_bit_depth_decoding_option, color_behavior,
|
||||
max_decoded_bytes, animation_option);
|
@ -0,0 +1,53 @@
|
||||
From 1c8472c1a44e63c96da7b7cb3873a2822635c18b Mon Sep 17 00:00:00 2001
|
||||
From: Rune Lillesveen <futhark@chromium.org>
|
||||
Date: Fri, 03 Dec 2021 12:28:22 +0100
|
||||
Subject: [PATCH] Make dark theme Gtk affect preferred color scheme.
|
||||
|
||||
Selecting a dark Gtk theme gives a dark NativeThemeGtk and UI, but it
|
||||
didn't affect the preferred color scheme on the web instance. Hence, the
|
||||
prefers-color-scheme media query still matched 'light', not 'dark'.
|
||||
|
||||
Observe the ui native theme instance to propagate any theme changes to
|
||||
the web instance. Code copied from the NativeThemeWin implementation.
|
||||
|
||||
This is a reland of:
|
||||
|
||||
https://chromium-review.googlesource.com/c/chromium/src/+/1774922
|
||||
|
||||
Bug: 998903
|
||||
Change-Id: Id8147ecfbda1f3f5899a1e35b97f36382e63e899
|
||||
---
|
||||
|
||||
diff --git a/ui/gtk/native_theme_gtk.cc b/ui/gtk/native_theme_gtk.cc
|
||||
index 4afa399..fbaaf06e 100644
|
||||
--- a/ui/gtk/native_theme_gtk.cc
|
||||
+++ b/ui/gtk/native_theme_gtk.cc
|
||||
@@ -96,6 +96,12 @@
|
||||
NativeThemeGtk::NativeThemeGtk()
|
||||
: NativeThemeBase(/*should_only_use_dark_colors=*/false,
|
||||
ui::SystemTheme::kGtk) {
|
||||
+ // Add the web native theme as an observer to stay in sync with dark mode,
|
||||
+ // high contrast, and preferred color scheme changes.
|
||||
+ color_scheme_observer_ =
|
||||
+ std::make_unique<NativeTheme::ColorSchemeNativeThemeObserver>(
|
||||
+ NativeTheme::GetInstanceForWeb());
|
||||
+ AddObserver(color_scheme_observer_.get());
|
||||
OnThemeChanged(gtk_settings_get_default(), nullptr);
|
||||
}
|
||||
|
||||
diff --git a/ui/gtk/native_theme_gtk.h b/ui/gtk/native_theme_gtk.h
|
||||
index 876a738..ad3b88d41 100644
|
||||
--- a/ui/gtk/native_theme_gtk.h
|
||||
+++ b/ui/gtk/native_theme_gtk.h
|
||||
@@ -93,6 +93,11 @@
|
||||
mutable absl::optional<SkColor> color_cache_[kColorId_NumColors];
|
||||
|
||||
ScopedCssProvider theme_css_override_;
|
||||
+
|
||||
+ // Used to notify the web native theme of changes to dark mode, high
|
||||
+ // contrast, and preferred color scheme.
|
||||
+ std::unique_ptr<NativeTheme::ColorSchemeNativeThemeObserver>
|
||||
+ color_scheme_observer_;
|
||||
};
|
||||
|
||||
} // namespace gtk
|
@ -0,0 +1,63 @@
|
||||
--- a/chrome/renderer/chrome_render_frame_observer.cc
|
||||
+++ b/chrome/renderer/chrome_render_frame_observer.cc
|
||||
@@ -69,7 +69,6 @@
|
||||
#include "url/gurl.h"
|
||||
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
-#include "chrome/renderer/accessibility/read_anything_app_controller.h"
|
||||
#include "chrome/renderer/searchbox/searchbox_extension.h"
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -320,21 +319,6 @@ void ChromeRenderFrameObserver::DidCommi
|
||||
}
|
||||
|
||||
void ChromeRenderFrameObserver::DidClearWindowObject() {
|
||||
-#if !BUILDFLAG(IS_ANDROID)
|
||||
- const base::CommandLine& command_line =
|
||||
- *base::CommandLine::ForCurrentProcess();
|
||||
- if (command_line.HasSwitch(switches::kInstantProcess))
|
||||
- SearchBoxExtension::Install(render_frame()->GetWebFrame());
|
||||
-
|
||||
- // Install ReadAnythingAppController on render frames with the Read Anything
|
||||
- // url, which is chrome-untrusted. ReadAnythingAppController installs v8
|
||||
- // bindings in the chrome.readingMode namespace which are consumed by
|
||||
- // read_anything/app.ts, the resource of the Read Anything WebUI.
|
||||
- if (render_frame()->GetWebFrame()->GetDocument().Url() ==
|
||||
- chrome::kChromeUIUntrustedReadAnythingSidePanelURL) {
|
||||
- ReadAnythingAppController::Install(render_frame());
|
||||
- }
|
||||
-#endif // !BUILDFLAG(IS_ANDROID)
|
||||
}
|
||||
|
||||
void ChromeRenderFrameObserver::DidMeaningfulLayout(
|
||||
--- a/chrome/renderer/BUILD.gn
|
||||
+++ b/chrome/renderer/BUILD.gn
|
||||
@@ -383,18 +383,6 @@ static_library("renderer") {
|
||||
]
|
||||
} else {
|
||||
sources += [
|
||||
- "accessibility/ax_tree_distiller.cc",
|
||||
- "accessibility/ax_tree_distiller.h",
|
||||
- "accessibility/read_aloud_app_model.cc",
|
||||
- "accessibility/read_aloud_app_model.h",
|
||||
- "accessibility/read_aloud_traversal_utils.cc",
|
||||
- "accessibility/read_aloud_traversal_utils.h",
|
||||
- "accessibility/read_anything_app_controller.cc",
|
||||
- "accessibility/read_anything_app_controller.h",
|
||||
- "accessibility/read_anything_app_model.cc",
|
||||
- "accessibility/read_anything_app_model.h",
|
||||
- "accessibility/read_anything_node_utils.cc",
|
||||
- "accessibility/read_anything_node_utils.h",
|
||||
"media/chrome_speech_recognition_client.cc",
|
||||
"media/chrome_speech_recognition_client.h",
|
||||
"searchbox/searchbox.cc",
|
||||
--- a/services/passage_embeddings/passage_embeddings_service.cc
|
||||
+++ b/services/passage_embeddings/passage_embeddings_service.cc
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
#include "base/files/file.h"
|
||||
#include "components/optimization_guide/machine_learning_tflite_buildflags.h"
|
||||
-#include "services/passage_embeddings/passage_embedder.h"
|
||||
|
||||
namespace passage_embeddings {
|
||||
|
56
www-client/thorium/files/chromium-130-fix-includes.patch
Normal file
56
www-client/thorium/files/chromium-130-fix-includes.patch
Normal file
@ -0,0 +1,56 @@
|
||||
diff '--color=auto' -urN chromium-130.0.6723.174.orig/chrome/browser/ui/browser_commands.cc chromium-130.0.6723.174/chrome/browser/ui/browser_commands.cc
|
||||
--- chromium-130.0.6723.174.orig/chrome/browser/ui/browser_commands.cc 2024-12-20 16:23:12.000000000 +0100
|
||||
+++ chromium-130.0.6723.174/chrome/browser/ui/browser_commands.cc 2025-07-08 16:23:07.925563618 +0200
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "chrome/browser/ui/browser_commands.h"
|
||||
|
||||
#include <memory>
|
||||
+#include <numeric>
|
||||
#include <optional>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
diff '--color=auto' -urN chromium-130.0.6723.174.orig/chrome/browser/ui/lens/lens_overlay_controller.cc chromium-130.0.6723.174/chrome/browser/ui/lens/lens_overlay_controller.cc
|
||||
--- chromium-130.0.6723.174.orig/chrome/browser/ui/lens/lens_overlay_controller.cc 2024-12-20 16:23:12.000000000 +0100
|
||||
+++ chromium-130.0.6723.174/chrome/browser/ui/lens/lens_overlay_controller.cc 2025-07-08 16:23:07.925373915 +0200
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "base/system/sys_info.h"
|
||||
#include "base/task/bind_post_task.h"
|
||||
#include "base/task/sequenced_task_runner.h"
|
||||
+#include "base/task/thread_pool.h"
|
||||
#include "chrome/browser/feedback/show_feedback_page.h"
|
||||
#include "chrome/browser/lens/core/mojom/geometry.mojom.h"
|
||||
#include "chrome/browser/lens/core/mojom/overlay_object.mojom.h"
|
||||
diff '--color=auto' -urN chromium-130.0.6723.174.orig/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop.cc chromium-130.0.6723.174/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop.cc
|
||||
--- chromium-130.0.6723.174.orig/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop.cc 2024-12-20 16:23:12.000000000 +0100
|
||||
+++ chromium-130.0.6723.174/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop.cc 2025-07-08 16:23:07.925657709 +0200
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "base/debug/dump_without_crashing.h"
|
||||
#include "base/functional/bind.h"
|
||||
+#include "base/metrics/histogram_functions.h"
|
||||
#include "base/metrics/histogram_macros.h"
|
||||
#include "chrome/browser/accessibility/accessibility_state_utils.h"
|
||||
#include "chrome/browser/net/system_network_context_manager.h"
|
||||
diff '--color=auto' -urN chromium-130.0.6723.174.orig/chrome/browser/ui/webui/searchbox/searchbox_handler.cc chromium-130.0.6723.174/chrome/browser/ui/webui/searchbox/searchbox_handler.cc
|
||||
--- chromium-130.0.6723.174.orig/chrome/browser/ui/webui/searchbox/searchbox_handler.cc 2024-12-20 16:23:12.000000000 +0100
|
||||
+++ chromium-130.0.6723.174/chrome/browser/ui/webui/searchbox/searchbox_handler.cc 2025-07-08 16:23:07.925476942 +0200
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "base/base64.h"
|
||||
#include "base/base64url.h"
|
||||
+#include "base/containers/contains.h"
|
||||
#include "build/branding_buildflags.h"
|
||||
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
||||
#include "chrome/browser/browser_process.h"
|
||||
diff '--color=auto' -urN chromium-130.0.6723.174.orig/third_party/re2/src/re2/re2.h chromium-130.0.6723.174/third_party/re2/src/re2/re2.h
|
||||
--- chromium-130.0.6723.174.orig/third_party/re2/src/re2/re2.h 2024-12-20 16:23:12.000000000 +0100
|
||||
+++ chromium-130.0.6723.174/third_party/re2/src/re2/re2.h 2025-07-08 16:20:41.135306190 +0200
|
||||
@@ -220,7 +220,7 @@
|
||||
#include "absl/base/call_once.h"
|
||||
#include "absl/strings/string_view.h"
|
||||
#include "absl/types/optional.h"
|
||||
-#include "re2/stringpiece.h"
|
||||
+#include "stringpiece.h"
|
||||
|
||||
#if defined(__APPLE__)
|
||||
#include <TargetConditionals.h>
|
93
www-client/thorium/files/chromium-130-fontations.patch
Normal file
93
www-client/thorium/files/chromium-130-fontations.patch
Normal file
@ -0,0 +1,93 @@
|
||||
--- a/skia/BUILD.gn
|
||||
+++ b/skia/BUILD.gn
|
||||
@@ -8,7 +8,6 @@
|
||||
import("//build/config/freetype/freetype.gni")
|
||||
import("//build/config/rust.gni")
|
||||
import("//build/config/sanitizers/sanitizers.gni")
|
||||
-import("//build/rust/rust_static_library.gni")
|
||||
import("//gpu/vulkan/features.gni")
|
||||
import("//testing/test.gni")
|
||||
import("//third_party/skia/gn/shared_sources.gni")
|
||||
@@ -47,27 +46,6 @@
|
||||
]
|
||||
}
|
||||
|
||||
-source_set("path_bridge") {
|
||||
- sources = skia_fontations_path_bridge_sources
|
||||
-}
|
||||
-
|
||||
-rust_static_library("bridge_rust_side") {
|
||||
- allow_unsafe = true
|
||||
- crate_root = skia_fontations_bridge_root
|
||||
- sources = skia_fontations_bridge_sources
|
||||
- cxx_bindings = skia_fontations_bridge_sources
|
||||
- deps = [
|
||||
- ":path_bridge",
|
||||
- "//third_party/rust/font_types/v0_7:lib",
|
||||
- "//third_party/rust/read_fonts/v0_22:lib",
|
||||
- "//third_party/rust/skrifa/v0_22:lib",
|
||||
- ]
|
||||
- configs -= [ "//build/config/compiler:chromium_code" ]
|
||||
- configs += [
|
||||
- ":skia_config",
|
||||
- "//build/config/compiler:no_chromium_code",
|
||||
- ]
|
||||
-}
|
||||
|
||||
# External-facing config for dependent code.
|
||||
config("skia_config") {
|
||||
@@ -394,15 +373,9 @@
|
||||
# See SK_TYPEFACE_FACTORY_FREETYPE
|
||||
sources += skia_ports_freetype_sources
|
||||
sources += skia_ports_fontmgr_custom_sources
|
||||
- sources += skia_ports_typeface_fontations_sources
|
||||
sources += skia_ports_fontmgr_empty_sources
|
||||
public += skia_ports_fontmgr_empty_public
|
||||
|
||||
- # Fontations Rust/C++ bridge interfaces.
|
||||
- deps += [
|
||||
- ":bridge_rust_side",
|
||||
- ":path_bridge",
|
||||
- ]
|
||||
}
|
||||
|
||||
if (is_win) {
|
||||
--- a/third_party/blink/renderer/platform/fonts/web_font_typeface_factory.cc
|
||||
+++ b/third_party/blink/renderer/platform/fonts/web_font_typeface_factory.cc
|
||||
@@ -12,7 +12,6 @@
|
||||
#include "third_party/blink/renderer/platform/fonts/opentype/font_format_check.h"
|
||||
#include "third_party/skia/include/core/SkStream.h"
|
||||
#include "third_party/skia/include/core/SkTypeface.h"
|
||||
-#include "third_party/skia/include/ports/SkTypeface_fontations.h"
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
#include "third_party/blink/renderer/platform/fonts/win/dwrite_font_format_support.h"
|
||||
@@ -54,7 +53,7 @@
|
||||
}
|
||||
|
||||
sk_sp<SkTypeface> MakeTypefaceDefaultFontMgr(sk_sp<SkData> data) {
|
||||
-#if !(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE))
|
||||
+#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE))
|
||||
if (RuntimeEnabledFeatures::FontationsFontBackendEnabled()) {
|
||||
std::unique_ptr<SkStreamAsset> stream(new SkMemoryStream(data));
|
||||
return SkTypeface_Make_Fontations(std::move(stream), SkFontArguments());
|
||||
@@ -82,10 +81,6 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
-sk_sp<SkTypeface> MakeTypefaceFontations(sk_sp<SkData> data) {
|
||||
- std::unique_ptr<SkStreamAsset> stream(new SkMemoryStream(data));
|
||||
- return SkTypeface_Make_Fontations(std::move(stream), SkFontArguments());
|
||||
-}
|
||||
|
||||
sk_sp<SkTypeface> MakeVariationsTypeface(
|
||||
sk_sp<SkData> data,
|
||||
@@ -187,7 +182,6 @@
|
||||
const FontFormatCheck format_check(data);
|
||||
const FontInstantiator instantiator = {
|
||||
MakeTypefaceDefaultFontMgr,
|
||||
- MakeTypefaceFontations,
|
||||
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE)
|
||||
MakeTypefaceFallback,
|
||||
#endif
|
||||
|
82
www-client/thorium/files/chromium-130-libstdc++.patch
Normal file
82
www-client/thorium/files/chromium-130-libstdc++.patch
Normal file
@ -0,0 +1,82 @@
|
||||
diff -r -u chromium-120.0.6099.129old/components/viz/service/display/surface_aggregator.cc chromium-120.0.6099.129/components/viz/service/display/surface_aggregator.cc
|
||||
--- chromium-120.0.6099.129old/components/viz/service/display/surface_aggregator.cc 2023-12-21 01:49:05.646315300 +0100
|
||||
+++ chromium-120.0.6099.129/components/viz/service/display/surface_aggregator.cc 2023-12-21 15:28:15.668850824 +0100
|
||||
@@ -2228,7 +2228,7 @@
|
||||
root_surface_id_ = surface_id;
|
||||
|
||||
// Start recording new stats for this aggregation.
|
||||
- stats_.emplace();
|
||||
+ stats_.emplace(AggregateStatistics{});
|
||||
|
||||
base::ElapsedTimer prewalk_timer;
|
||||
ResolvedFrameData* resolved_frame = GetResolvedFrame(surface_id);
|
||||
diff -r -u chromium-120.0.6099.129old/gpu/command_buffer/service/shared_image/shared_image_backing.cc chromium-120.0.6099.129/gpu/command_buffer/service/shared_image/shared_image_backing.cc
|
||||
--- chromium-120.0.6099.129old/gpu/command_buffer/service/shared_image/shared_image_backing.cc 2023-12-21 01:49:08.186538700 +0100
|
||||
+++ chromium-120.0.6099.129/gpu/command_buffer/service/shared_image/shared_image_backing.cc 2023-12-21 15:59:04.210747172 +0100
|
||||
@@ -343,7 +343,7 @@
|
||||
|
||||
void SharedImageBacking::OnWriteSucceeded() {
|
||||
AutoLock auto_lock(this);
|
||||
- scoped_write_uma_.emplace();
|
||||
+ scoped_write_uma_.emplace(gpu::SharedImageBacking::ScopedWriteUMA{});
|
||||
}
|
||||
|
||||
size_t SharedImageBacking::GetEstimatedSize() const {
|
||||
diff -r -u chromium-120.0.6099.129old/gpu/command_buffer/service/shared_image/shared_image_backing.h chromium-120.0.6099.129/gpu/command_buffer/service/shared_image/shared_image_backing.h
|
||||
--- chromium-120.0.6099.129old/gpu/command_buffer/service/shared_image/shared_image_backing.h 2023-12-21 01:49:08.186538700 +0100
|
||||
+++ chromium-120.0.6099.129/gpu/command_buffer/service/shared_image/shared_image_backing.h 2023-12-21 15:57:27.336515319 +0100
|
||||
@@ -340,8 +340,8 @@
|
||||
public:
|
||||
ScopedWriteUMA() = default;
|
||||
|
||||
- ScopedWriteUMA(const ScopedWriteUMA&) = delete;
|
||||
- ScopedWriteUMA& operator=(const ScopedWriteUMA&) = delete;
|
||||
+ ScopedWriteUMA(const ScopedWriteUMA&) = default;
|
||||
+ ScopedWriteUMA& operator=(const ScopedWriteUMA&) = default;
|
||||
|
||||
~ScopedWriteUMA() {
|
||||
UMA_HISTOGRAM_BOOLEAN("GPU.SharedImage.ContentConsumed",
|
||||
diff -r -u chromium-120.0.6099.129old/mojo/public/cpp/bindings/lib/multiplex_router.cc chromium-120.0.6099.129/mojo/public/cpp/bindings/lib/multiplex_router.cc
|
||||
--- chromium-120.0.6099.129old/mojo/public/cpp/bindings/lib/multiplex_router.cc 2023-12-21 01:49:10.754764600 +0100
|
||||
+++ chromium-120.0.6099.129/mojo/public/cpp/bindings/lib/multiplex_router.cc 2023-12-21 13:19:27.412481231 +0100
|
||||
@@ -870,7 +870,7 @@
|
||||
DCHECK(!exclusive_sync_wait_);
|
||||
|
||||
scoped_refptr<MultiplexRouter> keep_alive(this);
|
||||
- exclusive_sync_wait_.emplace();
|
||||
+ exclusive_sync_wait_.emplace(ExclusiveSyncWaitInfo{});
|
||||
exclusive_sync_wait_->interface_id = interface_id;
|
||||
exclusive_sync_wait_->request_id = request_id;
|
||||
while (!exclusive_sync_wait_->finished) {
|
||||
--- a/third_party/blink/common/interest_group/auction_config_mojom_traits.cc
|
||||
+++ b/third_party/blink/common/interest_group/auction_config_mojom_traits.cc
|
||||
@@ -207,8 +207,6 @@
|
||||
!data.ReadAllBuyersPrioritySignals(&out->all_buyers_priority_signals) ||
|
||||
!data.ReadAuctionReportBuyerKeys(&out->auction_report_buyer_keys) ||
|
||||
!data.ReadAuctionReportBuyers(&out->auction_report_buyers) ||
|
||||
- !data.ReadAuctionReportBuyerDebugModeConfig(
|
||||
- &out->auction_report_buyer_debug_mode_config) ||
|
||||
!data.ReadRequiredSellerCapabilities(
|
||||
&out->required_seller_capabilities) ||
|
||||
!data.ReadRequestedSize(&out->requested_size) ||
|
||||
--- a/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
|
||||
+++ b/third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h
|
||||
@@ -594,7 +594,7 @@
|
||||
mojom::blink::ScrollBehavior scroll_behavior) override {
|
||||
if (!should_restore_scroll)
|
||||
return;
|
||||
- pending_view_state_.emplace();
|
||||
+ pending_view_state_.emplace(PendingViewState{});
|
||||
pending_view_state_->state = view_state;
|
||||
pending_view_state_->scroll_behavior = scroll_behavior;
|
||||
}
|
||||
--- a/third_party/blink/renderer/platform/wtf/text/string_view.h
|
||||
+++ b/third_party/blink/renderer/platform/wtf/text/string_view.h
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/get_ptr.h"
|
||||
#include "third_party/blink/renderer/platform/wtf/text/string_impl.h"
|
||||
+#include "third_party/blink/renderer/platform/wtf/text/code_point_iterator.h"
|
||||
|
||||
#if DCHECK_IS_ON()
|
||||
#include "base/memory/scoped_refptr.h"
|
288
www-client/thorium/files/chromium-131-compiler.patch
Normal file
288
www-client/thorium/files/chromium-131-compiler.patch
Normal file
@ -0,0 +1,288 @@
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -311,9 +311,6 @@
|
||||
|
||||
configs += [
|
||||
# See the definitions below.
|
||||
- ":clang_revision",
|
||||
- ":rustc_revision",
|
||||
- ":compiler_cpu_abi",
|
||||
":compiler_codegen",
|
||||
":compiler_deterministic",
|
||||
]
|
||||
@@ -587,63 +584,6 @@
|
||||
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" ]
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if (use_avx2 || use_avx512 || use_fma || current_cpu == "arm64" || is_mac) {
|
||||
- if (is_win) {
|
||||
- cflags += [ "/clang:-ffp-contract=fast" ]
|
||||
- } else {
|
||||
- cflags += [ "-ffp-contract=fast" ]
|
||||
- }
|
||||
- } else {
|
||||
- # 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) ||
|
||||
@@ -1748,52 +1688,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
- # 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.
|
||||
@@ -1812,40 +1706,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
-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" ]
|
||||
@@ -2252,11 +2112,7 @@
|
||||
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.
|
||||
@@ -2265,24 +2121,6 @@
|
||||
"__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" ]
|
||||
@@ -2950,7 +2788,8 @@
|
||||
# [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.
|
||||
@@ -3000,7 +2839,8 @@
|
||||
}
|
||||
|
||||
# Turn off optimizations.
|
||||
-config("no_optimize") {
|
||||
+config("no_optimize") { }
|
||||
+config("xno_optimize") {
|
||||
if (is_win) {
|
||||
cflags = [
|
||||
"/Od", # Disable optimization.
|
||||
@@ -3040,7 +2880,8 @@
|
||||
# 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:
|
||||
@@ -3076,7 +2917,8 @@
|
||||
#
|
||||
# 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:
|
||||
@@ -3105,7 +2947,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
-config("optimize_fuzzing") {
|
||||
+config("optimize_fuzzing") { }
|
||||
+config("xoptimize_fuzzing") {
|
||||
cflags = [ "-O3" ] + common_optimize_on_cflags
|
||||
rustflags = [ "-Copt-level=3", ]
|
||||
ldflags = common_optimize_on_ldflags
|
||||
@@ -3271,7 +3114,8 @@
|
||||
}
|
||||
|
||||
# Full symbols.
|
||||
-config("symbols") {
|
||||
+config("symbols") { }
|
||||
+config("xsymbols") {
|
||||
rustflags = []
|
||||
configs = []
|
||||
if (is_win) {
|
||||
@@ -3433,7 +3277,8 @@
|
||||
# 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.
|
||||
@@ -3518,7 +3363,8 @@
|
||||
# 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" ]
|
||||
|
175
www-client/thorium/files/chromium-132-mold.patch
Normal file
175
www-client/thorium/files/chromium-132-mold.patch
Normal file
@ -0,0 +1,175 @@
|
||||
--- a/build/config/compiler/BUILD.gn
|
||||
+++ b/build/config/compiler/BUILD.gn
|
||||
@@ -206,7 +206,7 @@
|
||||
# Set to true to use icf, Identical Code Folding.
|
||||
use_icf = (is_posix || is_fuchsia) && !is_debug && !using_sanitizer &&
|
||||
!use_clang_coverage && current_os != "zos" &&
|
||||
- !(is_android && use_order_profiling) && use_lld
|
||||
+ !(is_android && use_order_profiling) && (use_lld || use_mold)
|
||||
}
|
||||
|
||||
if (is_android) {
|
||||
@@ -377,7 +377,9 @@
|
||||
}
|
||||
}
|
||||
|
||||
- if (use_lld) {
|
||||
+ if (use_mold) {
|
||||
+ ldflags += [ "-fuse-ld=mold" ]
|
||||
+ } else if (use_lld) {
|
||||
ldflags += [ "-fuse-ld=lld" ]
|
||||
if (lld_path != "") {
|
||||
ldflags += [ "-B$lld_path" ]
|
||||
@@ -430,7 +432,7 @@
|
||||
# links.
|
||||
ldflags += [ "-Wl,--build-id=sha1" ]
|
||||
} else if (current_os != "aix" && current_os != "zos") {
|
||||
- if (use_lld && !is_nacl) {
|
||||
+ if ((use_lld || use_mold) && !is_nacl) {
|
||||
ldflags += [ "-Wl,--build-id=fast" ]
|
||||
} else {
|
||||
ldflags += [ "-Wl,--build-id" ]
|
||||
@@ -511,7 +513,7 @@
|
||||
|
||||
# Linux-specific compiler flags setup.
|
||||
# ------------------------------------
|
||||
- if (use_icf && (!is_apple || use_lld)) {
|
||||
+ if (use_icf && (!is_apple || use_lld || use_mold)) {
|
||||
ldflags += [ "-Wl,--icf=all" ]
|
||||
}
|
||||
|
||||
@@ -549,7 +551,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- if (use_lld) {
|
||||
+ if (use_lld || use_mold) {
|
||||
# TODO(thakis): Make the driver pass --color-diagnostics to the linker
|
||||
# if -fcolor-diagnostics is passed to it, and pass -fcolor-diagnostics
|
||||
# in ldflags instead.
|
||||
@@ -564,7 +566,7 @@
|
||||
|
||||
# Enable text section splitting only on linux when using lld for now. Other
|
||||
# platforms can be added later if needed.
|
||||
- if ((is_linux || is_chromeos) && use_lld && use_text_section_splitting) {
|
||||
+ if ((is_linux || is_chromeos) && (use_lld || use_mold) && use_text_section_splitting) {
|
||||
ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
|
||||
}
|
||||
|
||||
@@ -732,7 +734,7 @@
|
||||
# [0]: https://pinpoint-dot-chromeperf.appspot.com/job/15efb0313e0000
|
||||
# [1]: https://pinpoint-dot-chromeperf.appspot.com/job/157f0b42be0000
|
||||
if (!is_debug && use_thin_lto && is_a_target_toolchain) {
|
||||
- assert(use_lld, "LTO is only supported with lld")
|
||||
+ assert(use_lld || use_mold, "LTO is only supported with lld or mold")
|
||||
|
||||
cflags += [
|
||||
"-flto=thin",
|
||||
@@ -774,7 +776,9 @@
|
||||
# [0]: https://pinpoint-dot-chromeperf.appspot.com/job/16984a18be0000
|
||||
# [1]: https://pinpoint-dot-chromeperf.appspot.com/job/11984a18be0000
|
||||
# [2]: https://ci.chromium.org/ui/p/chromium/builders/try/android-binary-size/1848442
|
||||
+ if (!use_mold) {
|
||||
import_instr_limit = 100
|
||||
+ }
|
||||
|
||||
if (is_win) {
|
||||
ldflags += [
|
||||
@@ -807,7 +811,9 @@
|
||||
import_instr_limit = 5
|
||||
}
|
||||
|
||||
+ if (!use_mold) {
|
||||
ldflags += [ "-Wl,-mllvm,-import-instr-limit=$import_instr_limit" ]
|
||||
+ }
|
||||
|
||||
if (is_apple) {
|
||||
ldflags += [ "-Wcrl,object_path_lto" ]
|
||||
@@ -815,7 +821,9 @@
|
||||
|
||||
# We only use one version of LLVM within a build so there's no need to
|
||||
# upgrade debug info, which can be expensive since it runs the verifier.
|
||||
+ if (!use_mold) {
|
||||
ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
|
||||
+ }
|
||||
}
|
||||
|
||||
if (!optimize_for_size) {
|
||||
@@ -827,7 +835,7 @@
|
||||
]
|
||||
if (is_win) {
|
||||
ldflags += [ "-mllvm:-inlinehint-threshold=360" ]
|
||||
- } else {
|
||||
+ } else if (!use_mold) {
|
||||
ldflags += [ "-Wl,-mllvm,-inlinehint-threshold=360" ]
|
||||
}
|
||||
}
|
||||
@@ -888,7 +896,7 @@
|
||||
|
||||
# TODO(crbug.com/40242425): Cleanup undefined symbol errors caught by
|
||||
# --no-undefined-version.
|
||||
- if (use_lld && !is_win && !is_mac && !is_ios) {
|
||||
+ if ((use_lld || use_mold) && !is_win && !is_mac && !is_ios) {
|
||||
ldflags += [ "-Wl,--undefined-version" ]
|
||||
}
|
||||
|
||||
@@ -948,7 +956,7 @@
|
||||
assert(
|
||||
is_android && host_os == "linux",
|
||||
"MLGO is currently only supported for targeting Android on a linux host")
|
||||
- if (use_thin_lto) {
|
||||
+ if (use_thin_lto && !use_mold ) {
|
||||
ldflags += [ "-Wl,-mllvm,-enable-ml-inliner=release" ]
|
||||
if (is_high_end_android) {
|
||||
# Besides using the arm64 - trained model, instruct the inline advisor
|
||||
@@ -1545,7 +1553,9 @@
|
||||
# This can be removed once https://bugs.llvm.org/show_bug.cgi?id=40348
|
||||
# has been resolved, and -mno-outline is obeyed by the linker during
|
||||
# ThinLTO.
|
||||
+ if (!use_mold) {
|
||||
ldflags += [ "-Wl,-mllvm,-enable-machine-outliner=never" ]
|
||||
+ }
|
||||
}
|
||||
|
||||
asmflags = cflags
|
||||
@@ -2928,7 +2938,7 @@
|
||||
# sections" there. Maybe just a bug in nacl_switch_32.S.
|
||||
_enable_gdb_index =
|
||||
symbol_level == 2 && !is_apple && !is_nacl && current_cpu != "x86" &&
|
||||
- current_os != "zos" && use_lld &&
|
||||
+ current_os != "zos" && (use_lld || use_mold) &&
|
||||
# Disable on non-fission 32-bit Android because it pushes
|
||||
# libcomponents_unittests over the 4gb size limit.
|
||||
!(is_android && !use_debug_fission && current_cpu != "x64" &&
|
||||
--- a/build/config/compiler/pgo/BUILD.gn
|
||||
+++ b/build/config/compiler/pgo/BUILD.gn
|
||||
@@ -150,7 +150,7 @@
|
||||
if (use_thin_lto) {
|
||||
if (is_win) {
|
||||
ldflags = [ "-mllvm:-enable-ext-tsp-block-placement=1" ]
|
||||
- } else {
|
||||
+ } else if (!use_mold) {
|
||||
ldflags = [ "-Wl,-mllvm,-enable-ext-tsp-block-placement=1" ]
|
||||
}
|
||||
} else {
|
||||
--- a/build/config/compiler/compiler.gni.orig
|
||||
+++ b/build/config/compiler/compiler.gni
|
||||
@@ -36,6 +36,9 @@
|
||||
# The default linker everywhere else.
|
||||
use_lld = is_clang && current_os != "zos"
|
||||
|
||||
+ # Set to true to use mold, the modern linker.
|
||||
+ use_mold = false
|
||||
+
|
||||
# If true, optimize for size.
|
||||
# Default to favoring speed over size for platforms not listed below.
|
||||
optimize_for_size =
|
||||
@@ -74,7 +77,7 @@
|
||||
# gcc >= 4.8 or clang.
|
||||
# http://gcc.gnu.org/wiki/DebugFission
|
||||
use_debug_fission = !is_android && !is_fuchsia && !is_apple && !is_win &&
|
||||
- use_lld && cc_wrapper == ""
|
||||
+ (use_lld || use_mold) && cc_wrapper == ""
|
||||
|
||||
# Enables support for ThinLTO, which links 3x-10x faster than full LTO. See
|
||||
# also http://blog.llvm.org/2016/06/thinlto-scalable-and-incremental-lto.html
|
16
www-client/thorium/files/chromium-132-no-link-builtins.patch
Normal file
16
www-client/thorium/files/chromium-132-no-link-builtins.patch
Normal file
@ -0,0 +1,16 @@
|
||||
--- a/build/config/clang/BUILD.gn
|
||||
+++ b/build/config/clang/BUILD.gn
|
||||
@@ -237,7 +237,12 @@
|
||||
|
||||
# Adds a dependency on the Clang runtime library clang_rt.builtins.
|
||||
clang_lib("compiler_builtins") {
|
||||
- if (is_mac) {
|
||||
+ if (!toolchain_has_rust) {
|
||||
+ # Since there's no Rust in the toolchain, there's no concern that we'll use
|
||||
+ # the Rust stdlib's intrinsics here.
|
||||
+ #
|
||||
+ # Don't define libname which makes this target do nothing.
|
||||
+ } else if (is_mac) {
|
||||
libname = "osx"
|
||||
} else if (is_ios) {
|
||||
if (target_environment == "simulator") {
|
133
www-client/thorium/files/chromium-134-qt5-optional.patch
Normal file
133
www-client/thorium/files/chromium-134-qt5-optional.patch
Normal file
@ -0,0 +1,133 @@
|
||||
https://chromium.googlesource.com/chromium/src/+/0d8d0e0943489b59e452b4d0214959821880ad7f
|
||||
From: Matt Jolly <kangie@gentoo.org>
|
||||
Date: Tue, 28 Jan 2025 12:00:57 -0800
|
||||
Subject: [PATCH] UI: make QT5 optional
|
||||
|
||||
To build with `use_qt6`, QT5 (`use_qt`) is also required.
|
||||
This is undesirable for downstreams who are actively working
|
||||
to drop support for QT5 (e.g. Gentoo).
|
||||
|
||||
To resolve this:
|
||||
|
||||
- Add `use_qt5`
|
||||
- Replace most `use_qt` conditionals with this option;
|
||||
these appear to be from before QT6 support was added.
|
||||
- Use `use_qt5` to gate some previously unconditional QT5-related
|
||||
items in chrome/installer/linux
|
||||
- Remove `use_qt` as an argument, instead set to `use_qt5 || use_qt6`.
|
||||
|
||||
This change should not impact the current behaviour; if no options
|
||||
are selected QT5 and QT6 support will be enabled, using existing logic
|
||||
unless one is explicitly disabled with `use_qt{x}=false`.
|
||||
|
||||
See-also: https://bugs.gentoo.org/926166, https://bugs.gentoo.org/948836
|
||||
Signed-off-by: Matt Jolly <kangie@gentoo.org>
|
||||
Fixed: 328182252
|
||||
Change-Id: I22ec7a068356412d3f9fce68a19aee4f8c89892c
|
||||
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6205488
|
||||
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
|
||||
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
||||
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
||||
Cr-Commit-Position: refs/heads/main@{#1412471}
|
||||
--- a/chrome/installer/linux/BUILD.gn
|
||||
+++ b/chrome/installer/linux/BUILD.gn
|
||||
@@ -77,10 +77,10 @@ if (enable_swiftshader) {
|
||||
packaging_files += [ "$root_out_dir/vk_swiftshader_icd.json" ]
|
||||
}
|
||||
|
||||
-if (use_qt) {
|
||||
- # Even though this is a shared library, add it to `packaging_files` instead of
|
||||
- # `packaging_files_shlibs` to skip the dependency check. This is intentional
|
||||
- # to prevent a hard dependency on QT for the package.
|
||||
+# Even though this is a shared library, add it to `packaging_files` instead of
|
||||
+# `packaging_files_shlibs` to skip the dependency check. This is intentional
|
||||
+# to prevent a hard dependency on QT for the package.
|
||||
+if (use_qt5) {
|
||||
packaging_files += [ "$root_out_dir/libqt5_shim.so" ]
|
||||
}
|
||||
if (use_qt6) {
|
||||
@@ -206,7 +206,7 @@ if (build_with_internal_optimization_guide) {
|
||||
}
|
||||
}
|
||||
|
||||
-if (use_qt) {
|
||||
+if (use_qt5) {
|
||||
strip_binary("strip_qt5_shim") {
|
||||
binary_input = "$root_out_dir/libqt5_shim.so"
|
||||
deps = [ "//ui/qt:qt5_shim" ]
|
||||
@@ -399,7 +399,7 @@ group("installer_deps") {
|
||||
"//components/optimization_guide/internal:optimization_guide_internal",
|
||||
]
|
||||
}
|
||||
- if (use_qt) {
|
||||
+ if (use_qt5) {
|
||||
public_deps += [
|
||||
":strip_qt5_shim",
|
||||
"//ui/qt:qt5_shim",
|
||||
--- a/ui/qt/BUILD.gn
|
||||
+++ b/ui/qt/BUILD.gn
|
||||
@@ -101,10 +101,12 @@ template("qt_shim") {
|
||||
}
|
||||
}
|
||||
}
|
||||
-qt_shim("qt5_shim") {
|
||||
- qt_version = "5"
|
||||
- if (!use_sysroot) {
|
||||
- moc_qt_path = "$moc_qt5_path"
|
||||
+if (use_qt5) {
|
||||
+ qt_shim("qt5_shim") {
|
||||
+ qt_version = "5"
|
||||
+ if (!use_sysroot) {
|
||||
+ moc_qt_path = "$moc_qt5_path"
|
||||
+ }
|
||||
}
|
||||
}
|
||||
if (use_qt6) {
|
||||
@@ -122,7 +124,10 @@ component("qt") {
|
||||
defines = [ "IS_QT_IMPL" ]
|
||||
|
||||
# qt_shim is in data_deps since we want to load it manually.
|
||||
- data_deps = [ ":qt5_shim" ]
|
||||
+ data_deps = []
|
||||
+ if (use_qt5) {
|
||||
+ data_deps += [ ":qt5_shim" ]
|
||||
+ }
|
||||
if (use_qt6) {
|
||||
data_deps += [ ":qt6_shim" ]
|
||||
}
|
||||
--- a/ui/qt/qt.gni
|
||||
+++ b/ui/qt/qt.gni
|
||||
@@ -6,27 +6,20 @@ import("//build/config/cast.gni")
|
||||
import("//build/config/sanitizers/sanitizers.gni")
|
||||
import("//build/config/sysroot.gni")
|
||||
|
||||
+# TODO(crbug.com/40260415): Allow QT in MSAN builds once QT is
|
||||
+# added to the instrumented libraries.
|
||||
declare_args() {
|
||||
- # TODO(crbug.com/40260415): Allow QT in MSAN builds once QT is
|
||||
- # added to the instrumented libraries.
|
||||
- use_qt = is_linux && !is_castos && !is_msan
|
||||
+ use_qt5 = use_sysroot && is_linux && !is_castos && !is_msan
|
||||
+ use_qt6 = use_sysroot && is_linux && !is_castos && !is_msan
|
||||
}
|
||||
|
||||
declare_args() {
|
||||
- if (!use_sysroot && use_qt) {
|
||||
+ if (!use_sysroot && use_qt5) {
|
||||
moc_qt5_path = ""
|
||||
}
|
||||
-}
|
||||
-
|
||||
-declare_args() {
|
||||
- use_qt6 = use_qt && use_sysroot
|
||||
-}
|
||||
-
|
||||
-declare_args() {
|
||||
if (!use_sysroot && use_qt6) {
|
||||
moc_qt6_path = ""
|
||||
}
|
||||
}
|
||||
|
||||
-# use_qt6 => use_qt
|
||||
-assert(!use_qt6 || use_qt)
|
||||
+use_qt = use_qt5 || use_qt6
|
28
www-client/thorium/files/chromium-135-gperf.patch
Normal file
28
www-client/thorium/files/chromium-135-gperf.patch
Normal file
@ -0,0 +1,28 @@
|
||||
https://bugs.gentoo.org/953436#c5
|
||||
--- a/third_party/blink/renderer/build/scripts/gperf.py
|
||||
+++ b/third_party/blink/renderer/build/scripts/gperf.py
|
||||
@@ -28,24 +28,6 @@
|
||||
stdout=subprocess.PIPE,
|
||||
universal_newlines=True)
|
||||
gperf_output = gperf.communicate(gperf_input)[0]
|
||||
- # Massage gperf output to be more palatable for modern compilers.
|
||||
- # TODO(thakis): Upstream these to gperf so we don't need massaging.
|
||||
- # `register` is deprecated in C++11 and removed in C++17, so remove
|
||||
- # it from gperf's output.
|
||||
- # https://savannah.gnu.org/bugs/index.php?53028
|
||||
- gperf_output = re.sub(r'\bregister ', '', gperf_output)
|
||||
- # -Wimplicit-fallthrough needs an explicit fallthrough statement,
|
||||
- # so replace gperf's /*FALLTHROUGH*/ comment with the statement.
|
||||
- # https://savannah.gnu.org/bugs/index.php?53029
|
||||
- gperf_output = gperf_output.replace('/*FALLTHROUGH*/',
|
||||
- ' [[fallthrough]];')
|
||||
- # -Wpointer-to-int-cast warns about casting pointers to smaller ints
|
||||
- # Replace {(int)(long)&(foo), bar} with
|
||||
- # {static_cast<int>(reinterpret_cast<uintptr_t>(&(foo)), bar}
|
||||
- gperf_output = re.sub(
|
||||
- r'\(int\)\(long\)(.*?),',
|
||||
- r'static_cast<int>(reinterpret_cast<uintptr_t>(\1)),',
|
||||
- gperf_output)
|
||||
script = 'third_party/blink/renderer/build/scripts/gperf.py'
|
||||
return '// Generated by %s\n' % script + gperf_output
|
||||
except OSError:
|
12
www-client/thorium/files/chromium-137-fix-for-kde.patch
Normal file
12
www-client/thorium/files/chromium-137-fix-for-kde.patch
Normal file
@ -0,0 +1,12 @@
|
||||
--- a/chrome/browser/renderer_preferences_util.cc 2025-06-09 23:43:12.302027536 +0700
|
||||
+++ b/chrome/browser/renderer_preferences_util.cc 2025-06-09 23:43:38.084028322 +0700
|
||||
@@ -183,7 +183,8 @@
|
||||
#if defined(USE_AURA) && BUILDFLAG(IS_LINUX)
|
||||
auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile);
|
||||
if (linux_ui_theme) {
|
||||
- if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) {
|
||||
+ if (ThemeServiceFactory::GetForProfile(profile) &&
|
||||
+ ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) {
|
||||
linux_ui_theme->GetFocusRingColor(&prefs->focus_ring_color);
|
||||
linux_ui_theme->GetActiveSelectionBgColor(
|
||||
&prefs->active_selection_bg_color);
|
12
www-client/thorium/files/chromium-99-opus.patch
Normal file
12
www-client/thorium/files/chromium-99-opus.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up chromium-99.0.4818.0/media/audio/audio_opus_encoder.h.omv~ chromium-99.0.4818.0/media/audio/audio_opus_encoder.h
|
||||
--- chromium-99.0.4818.0/media/audio/audio_opus_encoder.h.omv~ 2022-01-13 05:42:57.571250471 +0100
|
||||
+++ chromium-99.0.4818.0/media/audio/audio_opus_encoder.h 2022-01-13 05:43:06.233291236 +0100
|
||||
@@ -13,7 +13,7 @@
|
||||
#include "media/base/audio_encoder.h"
|
||||
#include "media/base/audio_push_fifo.h"
|
||||
#include "media/base/audio_timestamp_helper.h"
|
||||
-#include "third_party/opus/src/include/opus.h"
|
||||
+#include <opus/opus.h>
|
||||
|
||||
namespace media {
|
||||
|
12
www-client/thorium/files/chromium-cross-compile.patch
Normal file
12
www-client/thorium/files/chromium-cross-compile.patch
Normal file
@ -0,0 +1,12 @@
|
||||
--- a/build/toolchain/linux/unbundle/BUILD.gn
|
||||
+++ b/build/toolchain/linux/unbundle/BUILD.gn
|
||||
@@ -35,7 +35,7 @@ gcc_toolchain("host") {
|
||||
extra_ldflags = getenv("BUILD_LDFLAGS")
|
||||
|
||||
toolchain_args = {
|
||||
- current_cpu = current_cpu
|
||||
- current_os = current_os
|
||||
+ current_cpu = host_cpu
|
||||
+ current_os = host_os
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
--- a/media/filters/ffmpeg_glue.cc
|
||||
+++ b/media/filters/ffmpeg_glue.cc
|
||||
@@ -123,7 +123,8 @@
|
||||
// We don't allow H.264 parsing during demuxing since we have our own parser
|
||||
// and the ffmpeg one increases memory usage unnecessarily.
|
||||
if (base::FeatureList::IsEnabled(kForbidH264ParsingDuringDemuxing)) {
|
||||
- format_context_->flags |= AVFMT_FLAG_NOH264PARSE;
|
||||
+ // TODO(crbug.com/355485812): Re-enable this flag.
|
||||
+ // format_context_->flags |= AVFMT_FLAG_NOH264PARSE;
|
||||
}
|
||||
|
||||
// Ensures format parsing errors will bail out. From an audit on 11/2017, all
|
22
www-client/thorium/files/chromium-system-av1.patch
Normal file
22
www-client/thorium/files/chromium-system-av1.patch
Normal file
@ -0,0 +1,22 @@
|
||||
===================================================================
|
||||
--- a/media/base/libaom_thread_wrapper.cc
|
||||
+++ b/media/base/libaom_thread_wrapper.cc
|
||||
@@ -4,18 +4,11 @@
|
||||
|
||||
#include "base/logging.h"
|
||||
#include "media/base/codec_worker_impl.h"
|
||||
#include "media/base/libvpx_thread_wrapper.h"
|
||||
-#include "third_party/libaom/source/libaom/aom_util/aom_thread.h"
|
||||
|
||||
namespace media {
|
||||
|
||||
void InitLibAomThreadWrapper() {
|
||||
- const AVxWorkerInterface interface =
|
||||
- CodecWorkerImpl<AVxWorkerInterface, AVxWorkerImpl, AVxWorker,
|
||||
- AVxWorkerStatus, AVX_WORKER_STATUS_NOT_OK,
|
||||
- AVX_WORKER_STATUS_OK,
|
||||
- AVX_WORKER_STATUS_WORKING>::GetCodecWorkerInterface();
|
||||
- CHECK(aom_set_worker_interface(&interface));
|
||||
}
|
||||
|
||||
} // namespace media
|
23
www-client/thorium/files/chromium-system-libvpx.patch
Normal file
23
www-client/thorium/files/chromium-system-libvpx.patch
Normal file
@ -0,0 +1,23 @@
|
||||
===================================================================
|
||||
--- a/media/base/libvpx_thread_wrapper.cc
|
||||
+++ b/media/base/libvpx_thread_wrapper.cc
|
||||
@@ -4,19 +4,11 @@
|
||||
|
||||
#include "media/base/libvpx_thread_wrapper.h"
|
||||
|
||||
#include "media/base/codec_worker_impl.h"
|
||||
-#include "third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h"
|
||||
|
||||
namespace media {
|
||||
|
||||
void InitLibVpxThreadWrapper() {
|
||||
- const VPxWorkerInterface interface =
|
||||
- CodecWorkerImpl<VPxWorkerInterface, VPxWorkerImpl, VPxWorker,
|
||||
- VPxWorkerStatus, VPX_WORKER_STATUS_NOT_OK,
|
||||
- VPX_WORKER_STATUS_OK,
|
||||
- VPX_WORKER_STATUS_WORKING>::GetCodecWorkerInterface();
|
||||
-
|
||||
- CHECK(vpx_set_worker_interface(&interface));
|
||||
}
|
||||
|
||||
} // namespace media
|
35
www-client/thorium/files/chromium-system-openjpeg-r4.patch
Normal file
35
www-client/thorium/files/chromium-system-openjpeg-r4.patch
Normal file
@ -0,0 +1,35 @@
|
||||
description: build using system openjpeg
|
||||
author: Michael Gilbert <mgilbert@debian.org>
|
||||
|
||||
--- a/third_party/pdfium/BUILD.gn
|
||||
+++ b/third_party/pdfium/BUILD.gn
|
||||
@@ -25,7 +25,7 @@
|
||||
cflags = []
|
||||
cflags_cc = []
|
||||
ldflags = []
|
||||
- include_dirs = [ "." ]
|
||||
+ include_dirs = [ ".", "/usr/include/openjpeg-2.4", "/usr/include/openjpeg-2.5" ]
|
||||
defines = []
|
||||
|
||||
if (!use_system_libopenjpeg2) {
|
||||
--- a/third_party/pdfium/core/fpdfapi/render/BUILD.gn
|
||||
+++ b/third_party/pdfium/core/fpdfapi/render/BUILD.gn
|
||||
@@ -49,6 +49,7 @@ source_set("render") {
|
||||
"../../../:pdfium_noshorten_config",
|
||||
]
|
||||
deps = [
|
||||
+ "../../../third_party:libopenjpeg2",
|
||||
"../../../constants",
|
||||
"../../fxcodec",
|
||||
"../../fxcrt",
|
||||
--- a/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.h
|
||||
+++ b/third_party/pdfium/core/fxcodec/jpx/cjpx_decoder.h
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "core/fxcrt/unowned_ptr.h"
|
||||
#include "third_party/base/span.h"
|
||||
|
||||
-#if defined(USE_SYSTEM_LIBOPENJPEG2)
|
||||
+#if 1
|
||||
#include <openjpeg.h>
|
||||
#else
|
||||
#include "third_party/libopenjpeg20/openjpeg.h"
|
112
www-client/thorium/files/chromium-ucf-dict-utility-r1.patch
Normal file
112
www-client/thorium/files/chromium-ucf-dict-utility-r1.patch
Normal file
@ -0,0 +1,112 @@
|
||||
Taken from
|
||||
https://github.com/qvint/ungoogled-chromium-fedora/commit/a68fdd679566da5134d916776f14e00c8e6a8042
|
||||
|
||||
--- a/chrome/tools/convert_dict/convert_dict.cc
|
||||
+++ b/chrome/tools/convert_dict/convert_dict.cc
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "build/build_config.h"
|
||||
#include "chrome/tools/convert_dict/aff_reader.h"
|
||||
#include "chrome/tools/convert_dict/dic_reader.h"
|
||||
+#include "components/spellcheck/common/spellcheck_common.h"
|
||||
#include "third_party/hunspell/google/bdict_reader.h"
|
||||
#include "third_party/hunspell/google/bdict_writer.h"
|
||||
|
||||
@@ -76,13 +77,32 @@ bool VerifyWords(const convert_dict::Dic
|
||||
}
|
||||
|
||||
int PrintHelp() {
|
||||
- printf("Usage: convert_dict <dicfile base name>\n\n");
|
||||
- printf("Example:\n");
|
||||
- printf(" convert_dict en-US\nwill read en-US.dic, en-US.dic_delta, and "
|
||||
- "en-US.aff from the current directory and generate en-US.bdic\n\n");
|
||||
+ printf(
|
||||
+ "Usage:\n"
|
||||
+ " dict-utility list\n"
|
||||
+ " dict-utility convert <aff_path> <dic_path> <out_path>\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
+int PrintList() {
|
||||
+ base::FilePath root("/");
|
||||
+ std::vector<std::string> languages = spellcheck::SpellCheckLanguages();
|
||||
+
|
||||
+ for (auto &language : languages) {
|
||||
+ std::string language_region =
|
||||
+ spellcheck::GetSpellCheckLanguageRegion(language);
|
||||
+ base::FilePath language_bdic_path =
|
||||
+ spellcheck::GetVersionedFileName(language, root).BaseName();
|
||||
+
|
||||
+ printf("%s\t%s\t%s\n",
|
||||
+ language.c_str(),
|
||||
+ language_region.c_str(),
|
||||
+ language_bdic_path.value().c_str());
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
} // namespace
|
||||
|
||||
#if defined(OS_WIN)
|
||||
@@ -91,16 +111,15 @@ int wmain(int argc, wchar_t* argv[]) {
|
||||
int main(int argc, char* argv[]) {
|
||||
#endif
|
||||
base::EnableTerminationOnHeapCorruption();
|
||||
- if (argc != 2)
|
||||
+ if (argc == 2 && strcmp(argv[1], "list") == 0)
|
||||
+ return PrintList();
|
||||
+ if (argc != 5 || strcmp(argv[1], "convert") != 0)
|
||||
return PrintHelp();
|
||||
|
||||
base::AtExitManager exit_manager;
|
||||
base::i18n::InitializeICU();
|
||||
|
||||
- base::FilePath file_base = base::FilePath(argv[1]);
|
||||
-
|
||||
- base::FilePath aff_path =
|
||||
- file_base.ReplaceExtension(FILE_PATH_LITERAL(".aff"));
|
||||
+ base::FilePath aff_path = base::FilePath(argv[2]);
|
||||
printf("Reading %" PRFilePath " ...\n", aff_path.value().c_str());
|
||||
convert_dict::AffReader aff_reader(aff_path);
|
||||
if (!aff_reader.Read()) {
|
||||
@@ -108,8 +127,7 @@ int main(int argc, char* argv[]) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- base::FilePath dic_path =
|
||||
- file_base.ReplaceExtension(FILE_PATH_LITERAL(".dic"));
|
||||
+ base::FilePath dic_path = base::FilePath(argv[3]);
|
||||
printf("Reading %" PRFilePath " ...\n", dic_path.value().c_str());
|
||||
// DicReader will also read the .dic_delta file.
|
||||
convert_dict::DicReader dic_reader(dic_path);
|
||||
@@ -135,8 +153,7 @@ int main(int argc, char* argv[]) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- base::FilePath out_path =
|
||||
- file_base.ReplaceExtension(FILE_PATH_LITERAL(".bdic"));
|
||||
+ base::FilePath out_path = base::FilePath(argv[4]);
|
||||
printf("Writing %" PRFilePath " ...\n", out_path.value().c_str());
|
||||
FILE* out_file = base::OpenFile(out_path, "wb");
|
||||
if (!out_file) {
|
||||
--- a/chrome/tools/convert_dict/BUILD.gn
|
||||
+++ b/chrome/tools/convert_dict/BUILD.gn
|
||||
@@ -34,6 +34,7 @@ executable("convert_dict") {
|
||||
"//base",
|
||||
"//base:i18n",
|
||||
"//build/win:default_exe_manifest",
|
||||
+ "//components/spellcheck/common",
|
||||
"//third_party/hunspell",
|
||||
]
|
||||
}
|
||||
--- a/components/spellcheck/common/spellcheck_common.h
|
||||
+++ b/components/spellcheck/common/spellcheck_common.h
|
||||
@@ -34,6 +34,8 @@
|
||||
// chrome/browser/resources/settings/languages_page/edit_dictionary_page.js
|
||||
static const size_t kMaxCustomDictionaryWordBytes = 99;
|
||||
|
||||
+std::string GetSpellCheckLanguageRegion(std::string_view input_language);
|
||||
+
|
||||
base::FilePath GetVersionedFileName(std::string_view input_language,
|
||||
const base::FilePath& dict_dir);
|
||||
|
92
www-client/thorium/files/disable-bluez-r1.patch
Normal file
92
www-client/thorium/files/disable-bluez-r1.patch
Normal file
@ -0,0 +1,92 @@
|
||||
From: PF4Public@users.noreply.github.com
|
||||
License: BSD
|
||||
Subject: Fix building with use_bluez=false
|
||||
|
||||
This is a quick and dirty fix for building chromium with use_bluez=false
|
||||
It prevents initialization and usage of Bluetooth by the browser
|
||||
It is not supposed to be applied for use_bluez=true
|
||||
The browser will SEGFAULT upon accessing chrome://bluetooth-internals/
|
||||
It also breaks WebAuthn: https://github.com/PF4Public/gentoo-overlay/issues/254
|
||||
|
||||
---
|
||||
--- a/headless/lib/browser/headless_browser_main_parts_posix.cc
|
||||
+++ b/headless/lib/browser/headless_browser_main_parts_posix.cc
|
||||
@@ -25,9 +25,8 @@
|
||||
#include "components/os_crypt/sync/os_crypt.h"
|
||||
#include "headless/public/switches.h"
|
||||
|
||||
-#if defined(USE_DBUS)
|
||||
-#include "device/bluetooth/dbus/bluez_dbus_manager.h"
|
||||
-#endif
|
||||
+#include "device/bluetooth/bluetooth_adapter_factory.h"
|
||||
+#include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h"
|
||||
|
||||
#endif // BUILDFLAG(IS_LINUX)
|
||||
|
||||
@@ -134,7 +133,7 @@
|
||||
#if BUILDFLAG(IS_LINUX)
|
||||
|
||||
#if defined(USE_DBUS)
|
||||
- bluez::BluezDBusManager::Initialize(/*system_bus=*/nullptr);
|
||||
+ bluez::DBusBluezManagerWrapperLinux::Initialize();
|
||||
#endif
|
||||
|
||||
// Set up crypt config. This needs to be done before anything starts the
|
||||
--- a/chrome/browser/chrome_browser_main_linux.cc
|
||||
+++ b/chrome/browser/chrome_browser_main_linux.cc
|
||||
@@ -35,6 +35,11 @@
|
||||
#include "chrome/browser/dbus_memory_pressure_evaluator_linux.h"
|
||||
#endif
|
||||
|
||||
+#if BUILDFLAG(IS_LINUX)
|
||||
+#include "device/bluetooth/bluetooth_adapter_factory.h"
|
||||
+#include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h"
|
||||
+#endif
|
||||
+
|
||||
#if !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
#include "base/command_line.h"
|
||||
#include "base/linux_util.h"
|
||||
@@ -59,7 +64,9 @@
|
||||
#endif // BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
#if !BUILDFLAG(IS_CHROMEOS)
|
||||
- bluez::BluezDBusManager::Initialize(nullptr /* system_bus */);
|
||||
+ #if BUILDFLAG(IS_LINUX)
|
||||
+ bluez::DBusBluezManagerWrapperLinux::Initialize();
|
||||
+ #endif
|
||||
|
||||
// Set up crypt config. This needs to be done before anything starts the
|
||||
// network service, as the raw encryption key needs to be shared with the
|
||||
@@ -117,7 +124,7 @@
|
||||
#endif // defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS)
|
||||
|
||||
void ChromeBrowserMainPartsLinux::PostDestroyThreads() {
|
||||
-#if BUILDFLAG(IS_CHROMEOS)
|
||||
+#if BUILDFLAG(IS_LINUX)
|
||||
// No-op; per PostBrowserStart() comment, this is done elsewhere.
|
||||
#else
|
||||
bluez::BluezDBusManager::Shutdown();
|
||||
--- a/chrome/browser/metrics/bluetooth_metrics_provider.cc
|
||||
+++ b/chrome/browser/metrics/bluetooth_metrics_provider.cc
|
||||
@@ -16,9 +16,7 @@
|
||||
|
||||
bool BluetoothMetricsProvider::ProvideHistograms() {
|
||||
base::UmaHistogramEnumeration("Bluetooth.StackName",
|
||||
- floss::features::IsFlossEnabled()
|
||||
- ? BluetoothStackName::kFloss
|
||||
- : BluetoothStackName::kBlueZ);
|
||||
+ BluetoothStackName::kBlueZ);
|
||||
return true;
|
||||
}
|
||||
|
||||
--- a/device/bluetooth/adapter.cc
|
||||
+++ b/device/bluetooth/adapter.cc
|
||||
@@ -115,7 +115,7 @@
|
||||
adapter_info->system_name = adapter_->GetSystemName();
|
||||
#endif
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
- adapter_info->floss = floss::features::IsFlossEnabled();
|
||||
+ adapter_info->floss = false;
|
||||
adapter_info->extended_advertisement_support =
|
||||
adapter_->IsExtendedAdvertisementsAvailable();
|
||||
#endif
|
@ -0,0 +1,24 @@
|
||||
diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc
|
||||
index a55e4ab51d5b353..6049c6edb6a1ff3 100644
|
||||
--- a/media/ffmpeg/ffmpeg_common.cc
|
||||
+++ b/media/ffmpeg/ffmpeg_common.cc
|
||||
@@ -762,7 +762,7 @@ bool AVStreamToVideoDecoderConfig(const AVStream* stream,
|
||||
type.codec = VideoCodec::kDolbyVision;
|
||||
type.level = dovi->dv_level;
|
||||
type.color_space = color_space;
|
||||
- type.hdr_metadata_type = gfx::HdrMetadataType::kSmpteSt2094_10;
|
||||
+ type.hdr_metadata_type = gfx::HdrMetadataType::kNone;
|
||||
switch (dovi->dv_profile) {
|
||||
case 0:
|
||||
type.profile = VideoCodecProfile::DOLBYVISION_PROFILE0;
|
||||
@@ -796,8 +796,8 @@ bool AVStreamToVideoDecoderConfig(const AVStream* stream,
|
||||
break;
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
|
||||
- default:
|
||||
- break;
|
||||
+ default:
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
|
224
www-client/thorium/files/ffmpeg-nb_coded_side_data-r1.patch
Normal file
224
www-client/thorium/files/ffmpeg-nb_coded_side_data-r1.patch
Normal file
@ -0,0 +1,224 @@
|
||||
From 84d1d7adcd1697348e3f821811179c525d3b5717 Mon Sep 17 00:00:00 2001
|
||||
From: Dale Curtis <dalecurtis@chromium.org>
|
||||
Date: Tue, 28 Nov 2023 00:41:42 +0000
|
||||
Subject: [PATCH] Roll src/third_party/ffmpeg/ c1d0dc413..866768f35 (492
|
||||
commits)
|
||||
|
||||
|
||||
---
|
||||
diff --git a/media/ffmpeg/ffmpeg_common.cc b/media/ffmpeg/ffmpeg_common.cc
|
||||
index 3c97e4a6cf4c781..a55e4ab51d5b353 100644
|
||||
--- a/media/ffmpeg/ffmpeg_common.cc
|
||||
+++ b/media/ffmpeg/ffmpeg_common.cc
|
||||
@@ -653,15 +653,6 @@ bool AVStreamToVideoDecoderConfig(const AVStream* stream,
|
||||
profile = ProfileIDToVideoCodecProfile(codec_context->profile);
|
||||
}
|
||||
|
||||
- void* display_matrix =
|
||||
- av_stream_get_side_data(stream, AV_PKT_DATA_DISPLAYMATRIX, nullptr);
|
||||
-
|
||||
- VideoTransformation video_transformation = VideoTransformation();
|
||||
- if (display_matrix) {
|
||||
- video_transformation = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
- static_cast<int32_t*>(display_matrix));
|
||||
- }
|
||||
-
|
||||
if (!color_space.IsSpecified()) {
|
||||
// VP9 frames may have color information, but that information cannot
|
||||
// express new color spaces, like HDR. For that reason, color space
|
||||
@@ -718,88 +709,92 @@ bool AVStreamToVideoDecoderConfig(const AVStream* stream,
|
||||
codec_context->extradata + codec_context->extradata_size);
|
||||
}
|
||||
|
||||
- if (stream->nb_side_data) {
|
||||
- for (int i = 0; i < stream->nb_side_data; ++i) {
|
||||
- AVPacketSideData side_data = stream->side_data[i];
|
||||
- switch (side_data.type) {
|
||||
- case AV_PKT_DATA_MASTERING_DISPLAY_METADATA: {
|
||||
- AVMasteringDisplayMetadata* mdcv =
|
||||
- reinterpret_cast<AVMasteringDisplayMetadata*>(side_data.data);
|
||||
- gfx::HdrMetadataSmpteSt2086 smpte_st_2086;
|
||||
- if (mdcv->has_primaries) {
|
||||
- smpte_st_2086.primaries = {
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[0][0])),
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[0][1])),
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[1][0])),
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[1][1])),
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[2][0])),
|
||||
- static_cast<float>(av_q2d(mdcv->display_primaries[2][1])),
|
||||
- static_cast<float>(av_q2d(mdcv->white_point[0])),
|
||||
- static_cast<float>(av_q2d(mdcv->white_point[1])),
|
||||
- };
|
||||
- }
|
||||
- if (mdcv->has_luminance) {
|
||||
- smpte_st_2086.luminance_max = av_q2d(mdcv->max_luminance);
|
||||
- smpte_st_2086.luminance_min = av_q2d(mdcv->min_luminance);
|
||||
- }
|
||||
-
|
||||
- // TODO(https://crbug.com/1446302): Consider rejecting metadata that
|
||||
- // does not specify all values.
|
||||
- if (mdcv->has_primaries || mdcv->has_luminance) {
|
||||
- hdr_metadata.smpte_st_2086 = smpte_st_2086;
|
||||
- }
|
||||
- break;
|
||||
+ VideoTransformation video_transformation = VideoTransformation();
|
||||
+ for (int i = 0; i < stream->codecpar->nb_coded_side_data; ++i) {
|
||||
+ const auto& side_data = stream->codecpar->coded_side_data[i];
|
||||
+ switch (side_data.type) {
|
||||
+ case AV_PKT_DATA_DISPLAYMATRIX: {
|
||||
+ CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3);
|
||||
+ video_transformation = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
+ reinterpret_cast<int32_t*>(side_data.data));
|
||||
+ break;
|
||||
+ }
|
||||
+ case AV_PKT_DATA_MASTERING_DISPLAY_METADATA: {
|
||||
+ AVMasteringDisplayMetadata* mdcv =
|
||||
+ reinterpret_cast<AVMasteringDisplayMetadata*>(side_data.data);
|
||||
+ gfx::HdrMetadataSmpteSt2086 smpte_st_2086;
|
||||
+ if (mdcv->has_primaries) {
|
||||
+ smpte_st_2086.primaries = {
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[0][0])),
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[0][1])),
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[1][0])),
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[1][1])),
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[2][0])),
|
||||
+ static_cast<float>(av_q2d(mdcv->display_primaries[2][1])),
|
||||
+ static_cast<float>(av_q2d(mdcv->white_point[0])),
|
||||
+ static_cast<float>(av_q2d(mdcv->white_point[1])),
|
||||
+ };
|
||||
}
|
||||
- case AV_PKT_DATA_CONTENT_LIGHT_LEVEL: {
|
||||
- AVContentLightMetadata* clli =
|
||||
- reinterpret_cast<AVContentLightMetadata*>(side_data.data);
|
||||
- hdr_metadata.cta_861_3 =
|
||||
- gfx::HdrMetadataCta861_3(clli->MaxCLL, clli->MaxFALL);
|
||||
- break;
|
||||
+ if (mdcv->has_luminance) {
|
||||
+ smpte_st_2086.luminance_max = av_q2d(mdcv->max_luminance);
|
||||
+ smpte_st_2086.luminance_min = av_q2d(mdcv->min_luminance);
|
||||
+ }
|
||||
+
|
||||
+ // TODO(https://crbug.com/1446302): Consider rejecting metadata that
|
||||
+ // does not specify all values.
|
||||
+ if (mdcv->has_primaries || mdcv->has_luminance) {
|
||||
+ hdr_metadata.smpte_st_2086 = smpte_st_2086;
|
||||
}
|
||||
+ break;
|
||||
+ }
|
||||
+ case AV_PKT_DATA_CONTENT_LIGHT_LEVEL: {
|
||||
+ AVContentLightMetadata* clli =
|
||||
+ reinterpret_cast<AVContentLightMetadata*>(side_data.data);
|
||||
+ hdr_metadata.cta_861_3 =
|
||||
+ gfx::HdrMetadataCta861_3(clli->MaxCLL, clli->MaxFALL);
|
||||
+ break;
|
||||
+ }
|
||||
#if BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
|
||||
- case AV_PKT_DATA_DOVI_CONF: {
|
||||
- AVDOVIDecoderConfigurationRecord* dovi =
|
||||
- reinterpret_cast<AVDOVIDecoderConfigurationRecord*>(
|
||||
- side_data.data);
|
||||
- VideoType type;
|
||||
- type.codec = VideoCodec::kDolbyVision;
|
||||
- type.level = dovi->dv_level;
|
||||
- type.color_space = color_space;
|
||||
- type.hdr_metadata_type = gfx::HdrMetadataType::kSmpteSt2094_10;
|
||||
- switch (dovi->dv_profile) {
|
||||
- case 0:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE0;
|
||||
- break;
|
||||
- case 5:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE5;
|
||||
- break;
|
||||
- case 7:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE7;
|
||||
- break;
|
||||
- case 8:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE8;
|
||||
- break;
|
||||
- case 9:
|
||||
- type.profile = VideoCodecProfile::DOLBYVISION_PROFILE9;
|
||||
- break;
|
||||
- default:
|
||||
- type.profile = VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN;
|
||||
- break;
|
||||
- }
|
||||
- // Treat dolby vision contents as dolby vision codec only if the
|
||||
- // device support clear DV decoding, otherwise use the original
|
||||
- // HEVC or AVC codec and profile.
|
||||
- if (media::IsSupportedVideoType(type)) {
|
||||
- codec = type.codec;
|
||||
- profile = type.profile;
|
||||
- }
|
||||
- break;
|
||||
+ case AV_PKT_DATA_DOVI_CONF: {
|
||||
+ AVDOVIDecoderConfigurationRecord* dovi =
|
||||
+ reinterpret_cast<AVDOVIDecoderConfigurationRecord*>(side_data.data);
|
||||
+ VideoType type;
|
||||
+ type.codec = VideoCodec::kDolbyVision;
|
||||
+ type.level = dovi->dv_level;
|
||||
+ type.color_space = color_space;
|
||||
+ type.hdr_metadata_type = gfx::HdrMetadataType::kSmpteSt2094_10;
|
||||
+ switch (dovi->dv_profile) {
|
||||
+ case 0:
|
||||
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE0;
|
||||
+ break;
|
||||
+ case 5:
|
||||
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE5;
|
||||
+ break;
|
||||
+ case 7:
|
||||
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE7;
|
||||
+ break;
|
||||
+ case 8:
|
||||
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE8;
|
||||
+ break;
|
||||
+ case 9:
|
||||
+ type.profile = VideoCodecProfile::DOLBYVISION_PROFILE9;
|
||||
+ break;
|
||||
+ default:
|
||||
+ type.profile = VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN;
|
||||
+ break;
|
||||
+ }
|
||||
+ // Treat dolby vision contents as dolby vision codec only if the
|
||||
+ // device support clear DV decoding, otherwise use the original
|
||||
+ // HEVC or AVC codec and profile.
|
||||
+ if (media::IsSupportedVideoType(type)) {
|
||||
+ codec = type.codec;
|
||||
+ profile = type.profile;
|
||||
}
|
||||
+ break;
|
||||
+ }
|
||||
#endif // BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
|
||||
default:
|
||||
break;
|
||||
- }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/media/filters/audio_video_metadata_extractor.cc b/media/filters/audio_video_metadata_extractor.cc
|
||||
index cb002490a6322bf..e841b4ad13383ac 100644
|
||||
--- a/media/filters/audio_video_metadata_extractor.cc
|
||||
+++ b/media/filters/audio_video_metadata_extractor.cc
|
||||
@@ -113,13 +113,16 @@ bool AudioVideoMetadataExtractor::Extract(DataSource* source,
|
||||
if (!stream)
|
||||
continue;
|
||||
|
||||
- void* display_matrix =
|
||||
- av_stream_get_side_data(stream, AV_PKT_DATA_DISPLAYMATRIX, nullptr);
|
||||
- if (display_matrix) {
|
||||
- rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
- static_cast<int32_t*>(display_matrix))
|
||||
- .rotation;
|
||||
- info.tags["rotate"] = base::NumberToString(rotation_);
|
||||
+ for (int j = 0; j < stream->codecpar->nb_coded_side_data; j++) {
|
||||
+ const AVPacketSideData& sd = stream->codecpar->coded_side_data[j];
|
||||
+ if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) {
|
||||
+ CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3);
|
||||
+ rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
+ reinterpret_cast<int32_t*>(sd.data))
|
||||
+ .rotation;
|
||||
+ info.tags["rotate"] = base::NumberToString(rotation_);
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
// Extract dictionary from streams also. Needed for containers that attach
|
3981
www-client/thorium/files/fix-building-without-safebrowsing.patch
Normal file
3981
www-client/thorium/files/fix-building-without-safebrowsing.patch
Normal file
File diff suppressed because it is too large
Load Diff
69
www-client/thorium/files/font-gc-r2.patch
Normal file
69
www-client/thorium/files/font-gc-r2.patch
Normal file
@ -0,0 +1,69 @@
|
||||
--- a/third_party/blink/renderer/platform/fonts/font_face_creation_params.h
|
||||
+++ b/third_party/blink/renderer/platform/fonts/font_face_creation_params.h
|
||||
@@ -64,7 +64,7 @@
|
||||
#endif
|
||||
}
|
||||
|
||||
- FontFaceCreationParams(const std::string& filename,
|
||||
+ FontFaceCreationParams(const WTF::String& filename,
|
||||
int fontconfig_interface_id,
|
||||
int ttc_index = 0)
|
||||
: creation_type_(kCreateFontByFciIdAndTtcIndex),
|
||||
@@ -77,7 +77,7 @@
|
||||
DCHECK_EQ(creation_type_, kCreateFontByFamily);
|
||||
return family_;
|
||||
}
|
||||
- const std::string& Filename() const {
|
||||
+ const WTF::String& Filename() const {
|
||||
DCHECK_EQ(creation_type_, kCreateFontByFciIdAndTtcIndex);
|
||||
#if defined(ADDRESS_SANITIZER)
|
||||
DCHECK(filename_.has_value());
|
||||
@@ -105,7 +105,7 @@
|
||||
std::tuple<int, int, unsigned> hash_data = {
|
||||
ttc_index_, fontconfig_interface_id_,
|
||||
HasFilename() ? StringHasher::HashMemory(
|
||||
- Filename().data(),
|
||||
+ Filename().Utf8().data(),
|
||||
static_cast<unsigned>(Filename().length()))
|
||||
: 0};
|
||||
return StringHasher::HashMemory(&hash_data, sizeof(hash_data));
|
||||
@@ -130,7 +130,7 @@
|
||||
FontFaceCreationType creation_type_;
|
||||
AtomicString family_;
|
||||
|
||||
- void SetFilename(std::string& filename) {
|
||||
+ void SetFilename(WTF::String& filename) {
|
||||
#if defined(ADDRESS_SANITIZER)
|
||||
*filename_ = filename;
|
||||
#else
|
||||
@@ -167,7 +167,7 @@
|
||||
// See crbug.com/346174906.
|
||||
std::optional<std::string> filename_;
|
||||
#else
|
||||
- std::string filename_;
|
||||
+ WTF::String filename_;
|
||||
#endif
|
||||
int fontconfig_interface_id_ = 0;
|
||||
int ttc_index_ = 0;
|
||||
--- a/third_party/blink/renderer/platform/fonts/linux/font_cache_linux.cc
|
||||
+++ b/third_party/blink/renderer/platform/fonts/linux/font_cache_linux.cc
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
FontFaceCreationParams creation_params;
|
||||
creation_params = FontFaceCreationParams(
|
||||
- fallback_font.filepath.value(), fallback_font.fontconfig_interface_id,
|
||||
+ WTF::String(fallback_font.filepath.value()), fallback_font.fontconfig_interface_id,
|
||||
fallback_font.ttc_index);
|
||||
|
||||
// Changes weight and/or italic of given FontDescription depends on
|
||||
--- a/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc
|
||||
+++ b/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc
|
||||
@@ -234,7 +234,7 @@
|
||||
creation_params.FontconfigInterfaceId(), creation_params.TtcIndex());
|
||||
}
|
||||
return SkTypeface_Factory::FromFilenameAndTtcIndex(
|
||||
- creation_params.Filename().data(), creation_params.TtcIndex());
|
||||
+ creation_params.Filename().Utf8().data(), creation_params.TtcIndex());
|
||||
}
|
||||
#endif
|
||||
|
24
www-client/thorium/files/libusb.gn
Normal file
24
www-client/thorium/files/libusb.gn
Normal file
@ -0,0 +1,24 @@
|
||||
# Copyright 2016 The Chromium Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
import("//build/shim_headers.gni")
|
||||
|
||||
pkg_config("system_libusb") {
|
||||
packages = [ "libusb-1.0" ]
|
||||
}
|
||||
|
||||
shim_headers("libusb_shim") {
|
||||
root_path = "src/libusb"
|
||||
headers = [
|
||||
"libusb.h",
|
||||
]
|
||||
}
|
||||
|
||||
source_set("libusb") {
|
||||
deps = [
|
||||
":libusb_shim",
|
||||
]
|
||||
public_configs = [ ":system_libusb" ]
|
||||
}
|
@ -0,0 +1,89 @@
|
||||
From acc24608c84d2d2d8d684f40a110d0a6f4eddc51 Mon Sep 17 00:00:00 2001
|
||||
From: Daniele Di Proietto <ddiproietto@google.com>
|
||||
Date: Mon, 6 Jan 2025 15:30:23 +0000
|
||||
Subject: [PATCH] Small fixes for libstdc++
|
||||
|
||||
Change-Id: I054305ff3de0007f98f9713347f72d63d69569e8
|
||||
---
|
||||
include/perfetto/tracing/track.h | 1 +
|
||||
src/profiling/common/producer_support.cc | 1 +
|
||||
src/trace_processor/importers/common/tracks.h | 4 ++--
|
||||
src/trace_processor/importers/common/tracks_internal.h | 8 ++++----
|
||||
.../perfetto_sql/engine/created_function.cc | 4 ++--
|
||||
src/trace_processor/util/regex.h | 2 +-
|
||||
src/traceconv/pprof_reader.cc | 2 +-
|
||||
7 files changed, 12 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/include/perfetto/tracing/track.h b/include/perfetto/tracing/track.h
|
||||
index 43a8de13d4299387bc1c77582d33542371ffd74f..2a857298c7f4769a05d0db309aca59b72c22b115 100644
|
||||
--- a/include/perfetto/tracing/track.h
|
||||
+++ b/include/perfetto/tracing/track.h
|
||||
@@ -39,6 +39,7 @@
|
||||
#include <stdint.h>
|
||||
#include <map>
|
||||
#include <mutex>
|
||||
+#include <optional>
|
||||
|
||||
namespace perfetto {
|
||||
namespace internal {
|
||||
diff --git a/src/profiling/common/producer_support.cc b/src/profiling/common/producer_support.cc
|
||||
index 5303658d7b7bb0d4b08c00a1decc5c757b006ecb..e9e193db81f87b5c48eefc5aa5a3cfa307baafdb 100644
|
||||
--- a/src/profiling/common/producer_support.cc
|
||||
+++ b/src/profiling/common/producer_support.cc
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#include "src/profiling/common/producer_support.h"
|
||||
|
||||
+#include <algorithm>
|
||||
#include <optional>
|
||||
|
||||
#include "perfetto/ext/base/android_utils.h"
|
||||
diff --git a/src/trace_processor/perfetto_sql/engine/created_function.cc b/src/trace_processor/perfetto_sql/engine/created_function.cc
|
||||
index 1c01c1787ea9ab1972159ce4efd65e225040cee6..e6cef14909d7dab58d1c4abbbe3e536c696910fb 100644
|
||||
--- a/src/trace_processor/perfetto_sql/engine/created_function.cc
|
||||
+++ b/src/trace_processor/perfetto_sql/engine/created_function.cc
|
||||
@@ -109,7 +109,7 @@ struct StoredSqlValue {
|
||||
// the destructors run correctly for non-trivial members of the
|
||||
// union.
|
||||
using Data =
|
||||
- std::variant<int64_t, double, OwnedString, OwnedBytes, nullptr_t>;
|
||||
+ std::variant<int64_t, double, OwnedString, OwnedBytes, std::nullptr_t>;
|
||||
|
||||
StoredSqlValue(SqlValue value) {
|
||||
switch (value.type) {
|
||||
@@ -134,7 +134,7 @@ struct StoredSqlValue {
|
||||
}
|
||||
|
||||
SqlValue AsSqlValue() {
|
||||
- if (std::holds_alternative<nullptr_t>(data)) {
|
||||
+ if (std::holds_alternative<std::nullptr_t>(data)) {
|
||||
return SqlValue();
|
||||
} else if (std::holds_alternative<int64_t>(data)) {
|
||||
return SqlValue::Long(std::get<int64_t>(data));
|
||||
diff --git a/src/trace_processor/util/regex.h b/src/trace_processor/util/regex.h
|
||||
index 120e4c968279d75d8b8f341a96a1f6402a9c4e41..167af55d9bebe4c3c7febf1be91d0bdd01910282 100644
|
||||
--- a/src/trace_processor/util/regex.h
|
||||
+++ b/src/trace_processor/util/regex.h
|
||||
@@ -48,7 +48,7 @@ class Regex {
|
||||
regfree(®ex_.value());
|
||||
}
|
||||
}
|
||||
- Regex(Regex&) = delete;
|
||||
+ Regex(const Regex&) = delete;
|
||||
Regex(Regex&& other) {
|
||||
regex_ = std::move(other.regex_);
|
||||
other.regex_ = std::nullopt;
|
||||
diff --git a/src/traceconv/pprof_reader.cc b/src/traceconv/pprof_reader.cc
|
||||
index f14cca73778b14505cce7d4f99848fae67a111c0..612b7c7a40e7127109550a7d0bcfed3685afa2b6 100644
|
||||
--- a/src/traceconv/pprof_reader.cc
|
||||
+++ b/src/traceconv/pprof_reader.cc
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
#include "src/traceconv/pprof_reader.h"
|
||||
|
||||
+#include <algorithm>
|
||||
#include <cinttypes>
|
||||
-#include <fstream>
|
||||
|
||||
#include "perfetto/ext/base/file_utils.h"
|
||||
|
11
www-client/thorium/files/perfetto-system-zlib.patch
Normal file
11
www-client/thorium/files/perfetto-system-zlib.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/third_party/perfetto/gn/BUILD.gn
|
||||
+++ b/third_party/perfetto/gn/BUILD.gn
|
||||
@@ -382,7 +382,7 @@
|
||||
if (enable_perfetto_zlib) {
|
||||
group("zlib") {
|
||||
if (perfetto_use_system_zlib) {
|
||||
- public_configs = [ "//gn:system_zlib_config" ]
|
||||
+ public_configs = [ ":system_zlib_config" ]
|
||||
} else if (perfetto_root_path == "//") {
|
||||
public_configs = [ "//buildtools:zlib_config" ]
|
||||
public_deps = [ "//buildtools:zlib" ]
|
@ -0,0 +1,287 @@
|
||||
--- b/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
|
||||
+++ a/media/cdm/library_cdm/clear_key_cdm/ffmpeg_cdm_audio_decoder.cc
|
||||
@@ -74,7 +74,7 @@
|
||||
codec_context->sample_fmt = AV_SAMPLE_FMT_NONE;
|
||||
}
|
||||
|
||||
+ codec_context->channels = config.channel_count;
|
||||
- codec_context->ch_layout.nb_channels = config.channel_count;
|
||||
codec_context->sample_rate = config.samples_per_second;
|
||||
|
||||
if (config.extra_data) {
|
||||
@@ -124,8 +124,8 @@
|
||||
case cdm::kAudioFormatPlanarS16:
|
||||
case cdm::kAudioFormatPlanarF32: {
|
||||
const int decoded_size_per_channel =
|
||||
+ decoded_audio_size / av_frame.channels;
|
||||
+ for (int i = 0; i < av_frame.channels; ++i) {
|
||||
- decoded_audio_size / av_frame.ch_layout.nb_channels;
|
||||
- for (int i = 0; i < av_frame.ch_layout.nb_channels; ++i) {
|
||||
memcpy(output_buffer, av_frame.extended_data[i],
|
||||
decoded_size_per_channel);
|
||||
output_buffer += decoded_size_per_channel;
|
||||
@@ -185,14 +185,13 @@
|
||||
// Success!
|
||||
decoding_loop_ = std::make_unique<FFmpegDecodingLoop>(codec_context_.get());
|
||||
samples_per_second_ = config.samples_per_second;
|
||||
+ bytes_per_frame_ = codec_context_->channels * config.bits_per_channel / 8;
|
||||
- bytes_per_frame_ =
|
||||
- codec_context_->ch_layout.nb_channels * config.bits_per_channel / 8;
|
||||
output_timestamp_helper_ =
|
||||
std::make_unique<AudioTimestampHelper>(config.samples_per_second);
|
||||
is_initialized_ = true;
|
||||
|
||||
// Store initial values to guard against midstream configuration changes.
|
||||
+ channels_ = codec_context_->channels;
|
||||
- channels_ = codec_context_->ch_layout.nb_channels;
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
|
||||
return true;
|
||||
@@ -292,19 +291,17 @@
|
||||
for (auto& frame : audio_frames) {
|
||||
int decoded_audio_size = 0;
|
||||
if (frame->sample_rate != samples_per_second_ ||
|
||||
+ frame->channels != channels_ || frame->format != av_sample_format_) {
|
||||
- frame->ch_layout.nb_channels != channels_ ||
|
||||
- frame->format != av_sample_format_) {
|
||||
DLOG(ERROR) << "Unsupported midstream configuration change!"
|
||||
<< " Sample Rate: " << frame->sample_rate << " vs "
|
||||
+ << samples_per_second_ << ", Channels: " << frame->channels
|
||||
+ << " vs " << channels_ << ", Sample Format: " << frame->format
|
||||
+ << " vs " << av_sample_format_;
|
||||
- << samples_per_second_
|
||||
- << ", Channels: " << frame->ch_layout.nb_channels << " vs "
|
||||
- << channels_ << ", Sample Format: " << frame->format << " vs "
|
||||
- << av_sample_format_;
|
||||
return cdm::kDecodeError;
|
||||
}
|
||||
|
||||
decoded_audio_size = av_samples_get_buffer_size(
|
||||
+ nullptr, codec_context_->channels, frame->nb_samples,
|
||||
- nullptr, codec_context_->ch_layout.nb_channels, frame->nb_samples,
|
||||
codec_context_->sample_fmt, 1);
|
||||
if (!decoded_audio_size)
|
||||
continue;
|
||||
@@ -323,9 +320,9 @@
|
||||
size_t* total_size,
|
||||
std::vector<std::unique_ptr<AVFrame, ScopedPtrAVFreeFrame>>* audio_frames,
|
||||
AVFrame* frame) {
|
||||
+ *total_size += av_samples_get_buffer_size(nullptr, codec_context_->channels,
|
||||
+ frame->nb_samples,
|
||||
+ codec_context_->sample_fmt, 1);
|
||||
- *total_size += av_samples_get_buffer_size(
|
||||
- nullptr, codec_context_->ch_layout.nb_channels, frame->nb_samples,
|
||||
- codec_context_->sample_fmt, 1);
|
||||
audio_frames->emplace_back(av_frame_clone(frame));
|
||||
return true;
|
||||
}
|
||||
--- b/media/ffmpeg/ffmpeg_common.cc
|
||||
+++ a/media/ffmpeg/ffmpeg_common.cc
|
||||
@@ -345,11 +345,10 @@
|
||||
codec_context->sample_fmt, codec_context->codec_id);
|
||||
|
||||
ChannelLayout channel_layout =
|
||||
+ codec_context->channels > 8
|
||||
- codec_context->ch_layout.nb_channels > 8
|
||||
? CHANNEL_LAYOUT_DISCRETE
|
||||
+ : ChannelLayoutToChromeChannelLayout(codec_context->channel_layout,
|
||||
+ codec_context->channels);
|
||||
- : ChannelLayoutToChromeChannelLayout(
|
||||
- codec_context->ch_layout.u.mask,
|
||||
- codec_context->ch_layout.nb_channels);
|
||||
|
||||
int sample_rate = codec_context->sample_rate;
|
||||
switch (codec) {
|
||||
@@ -402,7 +401,7 @@
|
||||
extra_data, encryption_scheme, seek_preroll,
|
||||
codec_context->delay);
|
||||
if (channel_layout == CHANNEL_LAYOUT_DISCRETE)
|
||||
+ config->SetChannelsForDiscrete(codec_context->channels);
|
||||
- config->SetChannelsForDiscrete(codec_context->ch_layout.nb_channels);
|
||||
|
||||
#if BUILDFLAG(ENABLE_PLATFORM_AC3_EAC3_AUDIO)
|
||||
// These are bitstream formats unknown to ffmpeg, so they don't have
|
||||
@@ -471,7 +470,7 @@
|
||||
|
||||
// TODO(scherkus): should we set |channel_layout|? I'm not sure if FFmpeg uses
|
||||
// said information to decode.
|
||||
+ codec_context->channels = config.channels();
|
||||
- codec_context->ch_layout.nb_channels = config.channels();
|
||||
codec_context->sample_rate = config.samples_per_second();
|
||||
|
||||
if (config.extra_data().empty()) {
|
||||
--- b/media/filters/audio_file_reader.cc
|
||||
+++ a/media/filters/audio_file_reader.cc
|
||||
@@ -113,15 +113,14 @@
|
||||
|
||||
// Verify the channel layout is supported by Chrome. Acts as a sanity check
|
||||
// against invalid files. See http://crbug.com/171962
|
||||
+ if (ChannelLayoutToChromeChannelLayout(codec_context_->channel_layout,
|
||||
+ codec_context_->channels) ==
|
||||
- if (ChannelLayoutToChromeChannelLayout(
|
||||
- codec_context_->ch_layout.u.mask,
|
||||
- codec_context_->ch_layout.nb_channels) ==
|
||||
CHANNEL_LAYOUT_UNSUPPORTED) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Store initial values to guard against midstream configuration changes.
|
||||
+ channels_ = codec_context_->channels;
|
||||
- channels_ = codec_context_->ch_layout.nb_channels;
|
||||
audio_codec_ = CodecIDToAudioCodec(codec_context_->codec_id);
|
||||
sample_rate_ = codec_context_->sample_rate;
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
@@ -224,7 +223,7 @@
|
||||
if (frames_read < 0)
|
||||
return false;
|
||||
|
||||
+ const int channels = frame->channels;
|
||||
- const int channels = frame->ch_layout.nb_channels;
|
||||
if (frame->sample_rate != sample_rate_ || channels != channels_ ||
|
||||
frame->format != av_sample_format_) {
|
||||
DLOG(ERROR) << "Unsupported midstream configuration change!"
|
||||
--- b/media/filters/audio_file_reader_unittest.cc
|
||||
+++ a/media/filters/audio_file_reader_unittest.cc
|
||||
@@ -121,11 +121,11 @@
|
||||
EXPECT_FALSE(reader_->Open());
|
||||
}
|
||||
|
||||
+ void RunTestFailingDecode(const char* fn) {
|
||||
- void RunTestFailingDecode(const char* fn, int expect_read = 0) {
|
||||
Initialize(fn);
|
||||
EXPECT_TRUE(reader_->Open());
|
||||
std::vector<std::unique_ptr<AudioBus>> decoded_audio_packets;
|
||||
+ EXPECT_EQ(reader_->Read(&decoded_audio_packets), 0);
|
||||
- EXPECT_EQ(reader_->Read(&decoded_audio_packets), expect_read);
|
||||
}
|
||||
|
||||
void RunTestPartialDecode(const char* fn) {
|
||||
@@ -219,7 +219,7 @@
|
||||
}
|
||||
|
||||
TEST_F(AudioFileReaderTest, MidStreamConfigChangesFail) {
|
||||
+ RunTestFailingDecode("midstream_config_change.mp3");
|
||||
- RunTestFailingDecode("midstream_config_change.mp3", 42624);
|
||||
}
|
||||
#endif
|
||||
|
||||
--- b/media/filters/audio_video_metadata_extractor.cc
|
||||
+++ a/media/filters/audio_video_metadata_extractor.cc
|
||||
@@ -113,15 +113,6 @@
|
||||
if (!stream)
|
||||
continue;
|
||||
|
||||
- void* display_matrix =
|
||||
- av_stream_get_side_data(stream, AV_PKT_DATA_DISPLAYMATRIX, nullptr);
|
||||
- if (display_matrix) {
|
||||
- rotation_ = VideoTransformation::FromFFmpegDisplayMatrix(
|
||||
- static_cast<int32_t*>(display_matrix))
|
||||
- .rotation;
|
||||
- info.tags["rotate"] = base::NumberToString(rotation_);
|
||||
- }
|
||||
-
|
||||
// Extract dictionary from streams also. Needed for containers that attach
|
||||
// metadata to contained streams instead the container itself, like OGG.
|
||||
ExtractDictionary(stream->metadata, &info.tags);
|
||||
@@ -264,6 +255,8 @@
|
||||
if (raw_tags->find(tag->key) == raw_tags->end())
|
||||
(*raw_tags)[tag->key] = tag->value;
|
||||
|
||||
+ if (ExtractInt(tag, "rotate", &rotation_))
|
||||
+ continue;
|
||||
if (ExtractString(tag, "album", &album_))
|
||||
continue;
|
||||
if (ExtractString(tag, "artist", &artist_))
|
||||
--- b/media/filters/ffmpeg_aac_bitstream_converter.cc
|
||||
+++ a/media/filters/ffmpeg_aac_bitstream_converter.cc
|
||||
@@ -195,15 +195,14 @@
|
||||
if (!header_generated_ || codec_ != stream_codec_parameters_->codec_id ||
|
||||
audio_profile_ != stream_codec_parameters_->profile ||
|
||||
sample_rate_index_ != sample_rate_index ||
|
||||
+ channel_configuration_ != stream_codec_parameters_->channels ||
|
||||
- channel_configuration_ !=
|
||||
- stream_codec_parameters_->ch_layout.nb_channels ||
|
||||
frame_length_ != header_plus_packet_size) {
|
||||
header_generated_ =
|
||||
GenerateAdtsHeader(stream_codec_parameters_->codec_id,
|
||||
0, // layer
|
||||
stream_codec_parameters_->profile, sample_rate_index,
|
||||
0, // private stream
|
||||
+ stream_codec_parameters_->channels,
|
||||
- stream_codec_parameters_->ch_layout.nb_channels,
|
||||
0, // originality
|
||||
0, // home
|
||||
0, // copyrighted_stream
|
||||
@@ -215,7 +214,7 @@
|
||||
codec_ = stream_codec_parameters_->codec_id;
|
||||
audio_profile_ = stream_codec_parameters_->profile;
|
||||
sample_rate_index_ = sample_rate_index;
|
||||
+ channel_configuration_ = stream_codec_parameters_->channels;
|
||||
- channel_configuration_ = stream_codec_parameters_->ch_layout.nb_channels;
|
||||
frame_length_ = header_plus_packet_size;
|
||||
}
|
||||
|
||||
--- b/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
|
||||
+++ a/media/filters/ffmpeg_aac_bitstream_converter_unittest.cc
|
||||
@@ -34,7 +34,7 @@
|
||||
memset(&test_parameters_, 0, sizeof(AVCodecParameters));
|
||||
test_parameters_.codec_id = AV_CODEC_ID_AAC;
|
||||
test_parameters_.profile = FF_PROFILE_AAC_MAIN;
|
||||
+ test_parameters_.channels = 2;
|
||||
- test_parameters_.ch_layout.nb_channels = 2;
|
||||
test_parameters_.extradata = extradata_header_;
|
||||
test_parameters_.extradata_size = sizeof(extradata_header_);
|
||||
}
|
||||
--- b/media/filters/ffmpeg_audio_decoder.cc
|
||||
+++ a/media/filters/ffmpeg_audio_decoder.cc
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
// Return the number of channels from the data in |frame|.
|
||||
static inline int DetermineChannels(AVFrame* frame) {
|
||||
+ return frame->channels;
|
||||
- return frame->ch_layout.nb_channels;
|
||||
}
|
||||
|
||||
// Called by FFmpeg's allocation routine to allocate a buffer. Uses
|
||||
@@ -231,7 +231,7 @@
|
||||
// Translate unsupported into discrete layouts for discrete configurations;
|
||||
// ffmpeg does not have a labeled discrete configuration internally.
|
||||
ChannelLayout channel_layout = ChannelLayoutToChromeChannelLayout(
|
||||
+ codec_context_->channel_layout, codec_context_->channels);
|
||||
- codec_context_->ch_layout.u.mask, codec_context_->ch_layout.nb_channels);
|
||||
if (channel_layout == CHANNEL_LAYOUT_UNSUPPORTED &&
|
||||
config_.channel_layout() == CHANNEL_LAYOUT_DISCRETE) {
|
||||
channel_layout = CHANNEL_LAYOUT_DISCRETE;
|
||||
@@ -348,11 +348,11 @@
|
||||
// Success!
|
||||
av_sample_format_ = codec_context_->sample_fmt;
|
||||
|
||||
+ if (codec_context_->channels != config.channels()) {
|
||||
- if (codec_context_->ch_layout.nb_channels != config.channels()) {
|
||||
MEDIA_LOG(ERROR, media_log_)
|
||||
<< "Audio configuration specified " << config.channels()
|
||||
<< " channels, but FFmpeg thinks the file contains "
|
||||
+ << codec_context_->channels << " channels";
|
||||
- << codec_context_->ch_layout.nb_channels << " channels";
|
||||
ReleaseFFmpegResources();
|
||||
state_ = DecoderState::kUninitialized;
|
||||
return false;
|
||||
@@ -403,7 +403,7 @@
|
||||
if (frame->nb_samples <= 0)
|
||||
return AVERROR(EINVAL);
|
||||
|
||||
+ if (s->channels != channels) {
|
||||
- if (s->ch_layout.nb_channels != channels) {
|
||||
DLOG(ERROR) << "AVCodecContext and AVFrame disagree on channel count.";
|
||||
return AVERROR(EINVAL);
|
||||
}
|
||||
@@ -436,8 +436,7 @@
|
||||
ChannelLayout channel_layout =
|
||||
config_.channel_layout() == CHANNEL_LAYOUT_DISCRETE
|
||||
? CHANNEL_LAYOUT_DISCRETE
|
||||
+ : ChannelLayoutToChromeChannelLayout(s->channel_layout, s->channels);
|
||||
- : ChannelLayoutToChromeChannelLayout(s->ch_layout.u.mask,
|
||||
- s->ch_layout.nb_channels);
|
||||
|
||||
if (channel_layout == CHANNEL_LAYOUT_UNSUPPORTED) {
|
||||
DLOG(ERROR) << "Unsupported channel layout.";
|
@ -0,0 +1,15 @@
|
||||
--- a/media/filters/audio_file_reader.cc
|
||||
+++ b/media/filters/audio_file_reader.cc
|
||||
@@ -243,10 +243,10 @@ bool AudioFileReader::OnNewFrame(
|
||||
// silence from being output. In the case where we are also discarding some
|
||||
// portion of the packet (as indicated by a negative pts), we further want to
|
||||
// adjust the duration downward by however much exists before zero.
|
||||
- if (audio_codec_ == AudioCodec::kAAC && frame->duration) {
|
||||
+ if (audio_codec_ == AudioCodec::kAAC && frame->pkt_duration) {
|
||||
const base::TimeDelta pkt_duration = ConvertFromTimeBase(
|
||||
glue_->format_context()->streams[stream_index_]->time_base,
|
||||
- frame->duration + std::min(static_cast<int64_t>(0), frame->pts));
|
||||
+ frame->pkt_duration + std::min(static_cast<int64_t>(0), frame->pts));
|
||||
const base::TimeDelta frame_duration =
|
||||
base::Seconds(frames_read / static_cast<double>(sample_rate_));
|
||||
|
@ -0,0 +1,29 @@
|
||||
--- a/third_party/blink/public/public_features.gni
|
||||
+++ b/third_party/blink/public/public_features.gni
|
||||
@@ -4,6 +4,11 @@
|
||||
|
||||
import("//build/config/ui.gni")
|
||||
|
||||
+declare_args() {
|
||||
+ # Thorium internal flag
|
||||
+ is_thorium_build = true
|
||||
+}
|
||||
+
|
||||
# Unhandled Tap enable means Contextual Search aka Touch to Search.
|
||||
# TODO(donnd): remove all unhandled-tap handling after the Long-press experiment
|
||||
# is fully launched.
|
||||
--- a/chrome/browser/about_flags.cc
|
||||
+++ b/chrome/browser/about_flags.cc
|
||||
@@ -8928,12 +8928,6 @@
|
||||
"LauncherDynamicAnimations")},
|
||||
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
|
||||
-#if BUILDFLAG(ENABLE_JXL_DECODER)
|
||||
- {"enable-jxl", flag_descriptions::kEnableJXLName,
|
||||
- flag_descriptions::kEnableJXLDescription, kOsAll,
|
||||
- FEATURE_VALUE_TYPE(blink::features::kJXL)},
|
||||
-#endif // BUILDFLAG(ENABLE_JXL_DECODER)
|
||||
-
|
||||
#if BUILDFLAG(IS_ANDROID)
|
||||
{"incognito-reauthentication-for-android",
|
||||
flag_descriptions::kIncognitoReauthenticationForAndroidName,
|
13
www-client/thorium/files/thorium-browser.xml
Normal file
13
www-client/thorium/files/thorium-browser.xml
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE default-apps SYSTEM "gnome-da-list.dtd">
|
||||
<default-apps>
|
||||
<web-browsers>
|
||||
<web-browser>
|
||||
<name>Thorium</name>
|
||||
<executable>thorium-browser</executable>
|
||||
<command>thorium-browser %s</command>
|
||||
<icon-name>thorium-browser</icon-name>
|
||||
<run-in-terminal>false</run-in-terminal>
|
||||
</web-browser>
|
||||
</web-browsers>
|
||||
</default-apps>
|
59
www-client/thorium/files/thorium-launcher.sh
Normal file
59
www-client/thorium/files/thorium-launcher.sh
Normal file
@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Allow the user to override command-line flags, bug #357629.
|
||||
# This is based on Debian's chromium-browser package, and is intended
|
||||
# to be consistent with Debian.
|
||||
for f in /etc/thorium/*; do
|
||||
[[ -f ${f} ]] && source "${f}"
|
||||
done
|
||||
|
||||
# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
|
||||
# default CHROMIUM_FLAGS (from /etc/thorium/default).
|
||||
CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"}
|
||||
|
||||
# Let the wrapped binary know that it has been run through the wrapper
|
||||
export CHROME_WRAPPER=$(readlink -f "$0")
|
||||
|
||||
PROGDIR=${CHROME_WRAPPER%/*}
|
||||
|
||||
case ":$PATH:" in
|
||||
*:$PROGDIR:*)
|
||||
# $PATH already contains $PROGDIR
|
||||
;;
|
||||
*)
|
||||
# Append $PROGDIR to $PATH
|
||||
export PATH="$PATH:$PROGDIR"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ ${EUID} == 0 && -O ${XDG_CONFIG_HOME:-${HOME}} ]]; then
|
||||
# Running as root with HOME owned by root.
|
||||
# Pass --user-data-dir to work around upstream failsafe.
|
||||
CHROMIUM_FLAGS="--user-data-dir=${XDG_CONFIG_HOME:-${HOME}/.config}/thorium
|
||||
${CHROMIUM_FLAGS}"
|
||||
fi
|
||||
|
||||
# Select session type and platform
|
||||
if @@OZONE_AUTO_SESSION@@; then
|
||||
platform=
|
||||
if [[ ${XDG_SESSION_TYPE} == x11 ]]; then
|
||||
platform=x11
|
||||
elif [[ ${XDG_SESSION_TYPE} == wayland ]]; then
|
||||
platform=wayland
|
||||
else
|
||||
if [[ -n ${WAYLAND_DISPLAY} ]]; then
|
||||
platform=wayland
|
||||
else
|
||||
platform=x11
|
||||
fi
|
||||
fi
|
||||
if ${DISABLE_OZONE_PLATFORM:-false}; then
|
||||
platform=x11
|
||||
fi
|
||||
CHROMIUM_FLAGS="--ozone-platform=${platform} ${CHROMIUM_FLAGS}"
|
||||
fi
|
||||
|
||||
# Set the .desktop file name
|
||||
export CHROME_DESKTOP="thorium-browser-thorium.desktop"
|
||||
|
||||
exec -a "thorium-browser" "$PROGDIR/thorium" --extra-plugin-dir=/usr/lib/nsbrowser/plugins ${CHROMIUM_FLAGS} "$@"
|
42
www-client/thorium/files/thorium-shell-launcher.sh
Normal file
42
www-client/thorium/files/thorium-shell-launcher.sh
Normal file
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Allow the user to override command-line flags, bug #357629.
|
||||
# This is based on Debian's chromium-browser package, and is intended
|
||||
# to be consistent with Debian.
|
||||
for f in /etc/thorium-shell/*; do
|
||||
[[ -f ${f} ]] && source "${f}"
|
||||
done
|
||||
|
||||
# Prefer user defined CHROMIUM_USER_FLAGS (from env) over system
|
||||
# default CHROMIUM_FLAGS (from /etc/thorium-shell/default).
|
||||
CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-"$CHROMIUM_FLAGS"}
|
||||
|
||||
# Let the wrapped binary know that it has been run through the wrapper
|
||||
export CHROME_WRAPPER=$(readlink -f "$0")
|
||||
|
||||
PROGDIR=${CHROME_WRAPPER%/*}
|
||||
|
||||
case ":$PATH:" in
|
||||
*:$PROGDIR:*)
|
||||
# $PATH already contains $PROGDIR
|
||||
;;
|
||||
*)
|
||||
# Append $PROGDIR to $PATH
|
||||
export PATH="$PATH:$PROGDIR"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ ${EUID} == 0 && -O ${XDG_CONFIG_HOME:-${HOME}} ]]; then
|
||||
# Running as root with HOME owned by root.
|
||||
# Pass --user-data-dir to work around upstream failsafe.
|
||||
CHROMIUM_FLAGS="--user-data-dir=${XDG_CONFIG_HOME:-${HOME}/.config}/thorium-shell
|
||||
${CHROMIUM_FLAGS}"
|
||||
fi
|
||||
|
||||
CHROMIUM_FLAGS="--enable-experimental-web-platform-features --debug --enable-clear-hevc-for-testing
|
||||
${CHROMIUM_FLAGS}"
|
||||
|
||||
# Set the .desktop file name
|
||||
export CHROME_DESKTOP="thorium-shell.desktop"
|
||||
|
||||
exec -a "thorium-shell" "$PROGDIR/thorium_shell" ${CHROMIUM_FLAGS} "$@"
|
7
www-client/thorium/files/thorium-shell.default
Normal file
7
www-client/thorium/files/thorium-shell.default
Normal file
@ -0,0 +1,7 @@
|
||||
# Default settings for thorium_shell. This file is sourced by /bin/bash
|
||||
# from the thorium_shell launcher.
|
||||
|
||||
# Options to pass to thorium_shell.
|
||||
# See https://github.com/Alex313031/thorium/blob/main/docs/PATCHES.md for additional
|
||||
# command-line switches.
|
||||
#CHROMIUM_FLAGS=""
|
15
www-client/thorium/files/thorium-shell.desktop
Normal file
15
www-client/thorium/files/thorium-shell.desktop
Normal file
@ -0,0 +1,15 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Thorium Shell
|
||||
GenericName=Blink Core
|
||||
Comment=Run Thorium Tests in content_shell
|
||||
Exec=/usr/bin/thorium-shell %U
|
||||
Terminal=false
|
||||
X-MultipleArgs=True
|
||||
Keywords=shell
|
||||
Type=Application
|
||||
Icon=thorium-shell
|
||||
Categories=Network;WebBrowser;
|
||||
MimeType=text/html;text/xml;application/xhtml_xml;application/x-mimearchive;x-scheme-handler/http;x-scheme-handler/https;
|
||||
StartupWMClass=thorium_shell
|
||||
StartupNotify=true
|
7
www-client/thorium/files/thorium.default
Normal file
7
www-client/thorium/files/thorium.default
Normal file
@ -0,0 +1,7 @@
|
||||
# Default settings for thorium. This file is sourced by /bin/bash
|
||||
# from the chromium launcher.
|
||||
|
||||
# Options to pass to thorium.
|
||||
# See https://github.com/Alex313031/thorium/blob/main/docs/PATCHES.md for additional
|
||||
# command-line switches.
|
||||
#CHROMIUM_FLAGS=""
|
@ -0,0 +1,12 @@
|
||||
diff --git a/build/linux/unbundle/ffmpeg.gn b/build/linux/unbundle/ffmpeg.gn
|
||||
index 16e20744706..6a079b32221 100644
|
||||
--- a/build/linux/unbundle/ffmpeg.gn
|
||||
+++ b/build/linux/unbundle/ffmpeg.gn
|
||||
@@ -12,6 +12,7 @@ pkg_config("system_ffmpeg") {
|
||||
"libavformat",
|
||||
"libavutil",
|
||||
]
|
||||
+ defines = [ "av_stream_get_first_dts(stream)=stream->first_dts" ]
|
||||
}
|
||||
|
||||
buildflag_header("ffmpeg_features") {
|
58
www-client/thorium/files/update-dicts.sh
Normal file
58
www-client/thorium/files/update-dicts.sh
Normal file
@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Taken from
|
||||
# https://github.com/qvint/ungoogled-chromium-fedora/commit/a68fdd679566da5134d916776f14e00c8e6a8042
|
||||
|
||||
self="$(readlink -f "${0}")"
|
||||
self_dir="$(dirname "${self}")"
|
||||
dict_utility="${self_dir}/convert_dict"
|
||||
|
||||
# Defaults.
|
||||
hunspell_dicts_dir="/usr/share/myspell"
|
||||
user_data_dir="${HOME}/.config/thorium"
|
||||
|
||||
# Parse command-line arguments.
|
||||
while [[ $# -gt 0 ]]; do
|
||||
arg_name="${1}"
|
||||
|
||||
case "${arg_name}" in
|
||||
"--hunspell-dicts-dir")
|
||||
hunspell_dicts_dir="${2}"
|
||||
shift; shift
|
||||
;;
|
||||
"--user-data-dir")
|
||||
user_data_dir="${2}"
|
||||
shift; shift
|
||||
;;
|
||||
*)
|
||||
echo -n "Usage: ungoogled-chromium-update-dicts "
|
||||
echo "[--hunspell-dicts-dir DIR] [--user-data-dir DIR]"
|
||||
exit 1
|
||||
esac
|
||||
done
|
||||
|
||||
# List all chromium language entries.
|
||||
chromium_language_entries="$("${dict_utility}" list)"
|
||||
|
||||
# Iterate through chromium language entries and make *.bdic files.
|
||||
chromium_dicts_dir="${user_data_dir}/Dictionaries"
|
||||
mkdir -p "${chromium_dicts_dir}"
|
||||
while read -r chromium_language_entry; do
|
||||
while read \
|
||||
chromium_language \
|
||||
chromium_language_region \
|
||||
chromium_bdic_basename; do
|
||||
|
||||
hunspell_language_region="${chromium_language_region//-/_}"
|
||||
aff_path="${hunspell_dicts_dir}/${hunspell_language_region}.aff"
|
||||
dic_path="${hunspell_dicts_dir}/${hunspell_language_region}.dic"
|
||||
bdic_path="${chromium_dicts_dir}/${chromium_bdic_basename}"
|
||||
|
||||
if \
|
||||
[[ -f "${aff_path}" ]] && \
|
||||
[[ -f "${dic_path}" ]] && \
|
||||
[[ ! -f "${bdic_path}" ]]; then
|
||||
"${dict_utility}" convert "${aff_path}" "${dic_path}" "${bdic_path}"
|
||||
fi
|
||||
done <<< "${chromium_language_entry}"
|
||||
done <<< "${chromium_language_entries}"
|
53
www-client/thorium/metadata.xml
Normal file
53
www-client/thorium/metadata.xml
Normal file
@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<name>blackteahamburger</name>
|
||||
<email>blackteahamburger@outlook.com</email>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">Alex313031/thorium</remote-id>
|
||||
<remote-id type="gitlab">Matt.Jolly/chromium-patches</remote-id>
|
||||
<bugs-to>https://github.com/Alex313031/thorium</bugs-to>
|
||||
<doc>https://thorium.rocks/docs</doc>
|
||||
</upstream>
|
||||
<use>
|
||||
<flag name="bluetooth">Enable Bluetooth. Disabling bluetooth does break WebAuthn. Could also break something else. Improved patch is welcome.</flag>
|
||||
<flag name="cfi">Build with CFI (Control Flow Integrity) enabled. It requires "-stdlib=libc++", see #40 for more details.</flag>
|
||||
<flag name="convert-dict">Patch and build the convert_dict utility. The script will be installed into /usr/lib64/chromium-browser/update-dicts.sh. More info here: https://github.com/ungoogled-software/ungoogled-chromium/issues/188#issuecomment-444752907</flag>
|
||||
<flag name="debug">Enable DCHECK feature with severity configurable at runtime. Mostly intended for debugging and development, NOT RECOMMENDED for general use.</flag>
|
||||
<flag name="enable-driver">Build chromedriver</flag>
|
||||
<flag name="gtk4">Build with GTK4 headers</flag>
|
||||
<flag name="hangouts">Enable support for Google Hangouts features such as screen sharing</flag>
|
||||
<flag name="headless">Build Ozone only with headless backend, NOT RECOMMENDED for general uses</flag>
|
||||
<flag name="hevc">Enable HEVC decoding support. Should work with system-ffmpeg, but might require additional patching for the built-in one.</flag>
|
||||
<flag name="libcxx">Use bundled C++ Standard Library (libc++)</flag>
|
||||
<flag name="nvidia">Use libXNVCtrl library from <pkg>x11-drivers/nvidia-drivers</pkg> instead of the bundled one</flag>
|
||||
<flag name="official">Enable Official build instead of Developer build</flag>
|
||||
<flag name="optimize-webui">Optimize parts of Chromium's UI written with web technologies (HTML/CSS/JS) for runtime performance purposes. This does more work at compile time for speed benefits at runtime.</flag>
|
||||
<flag name="pax-kernel">Allow building on a PaX-enabled kernel</flag>
|
||||
<flag name="pgo">Enable PGO. Requires bundled binary profile data in sources tree. Often requires masked/testing llvm.</flag>
|
||||
<flag name="proprietary-codecs">Enable proprietary codecs like H.264, MP3</flag>
|
||||
<flag name="screencast">Enable support for remote desktop and screen cast using <pkg>media-video/pipewire</pkg></flag>
|
||||
<flag name="system-brotli">Use the system <pkg>app-arch/brotli</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-crc32c">Use the system <pkg>dev-libs/crc32c</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-double-conversion">Use the system <pkg>dev-libs/double-conversion</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-ffmpeg">Use the system <pkg>media-video/ffmpeg</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-harfbuzz">Use the system <pkg>media-libs/harfbuzz</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-icu">Use the system <pkg>dev-libs/icu</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-jsoncpp">Use the system <pkg>dev-libs/jsoncpp</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-libevent">Use the system <pkg>dev-libs/libevent</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-libusb">Use the system <pkg>dev-libs/libusb</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-openh264">Use the system <pkg>media-libs/openh264</pkg> instead of the bundled one. If disabled, it will restrict USE=bindist.</flag>
|
||||
<flag name="system-openjpeg">Use the system-wide <pkg>media-libs/openjpeg</pkg> instead of the bundled one. OpenJPEG use are exclusively for Chromium's PDF viewer.</flag>
|
||||
<flag name="system-png">Use system libpng instead of the bundled one</flag>
|
||||
<flag name="system-re2">Use the system-wide <pkg>dev-libs/re2</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-snappy">Use the system-wide <pkg>app-arch/snappy</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-woff2">Use the system <pkg>media-libs/woff2</pkg> instead of the bundled one</flag>
|
||||
<flag name="system-zstd">Use the system <pkg>app-arch/zstd</pkg> instead of the bundled one</flag>
|
||||
<flag name="ungoogled">Apply ungoogled-chromium modifications to chromium sources</flag>
|
||||
<flag name="widevine">Unsupported closed-source DRM capability (required by Netflix VOD)</flag>
|
||||
<flag name="thorium-libjxl">Build with libjxl for Thorium</flag>
|
||||
<flag name="thorium-shell">Build Thorium Content Shell</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
1958
www-client/thorium/thorium-130.0.6723.174.ebuild
Normal file
1958
www-client/thorium/thorium-130.0.6723.174.ebuild
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user