summaryrefslogtreecommitdiff
path: root/www-client/chromium
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/chromium')
-rw-r--r--www-client/chromium/Manifest23
-rw-r--r--www-client/chromium/chromium-77.0.3865.75.ebuild1
-rw-r--r--www-client/chromium/chromium-77.0.3865.90.ebuild (renamed from www-client/chromium/chromium-76.0.3809.132.ebuild)48
-rw-r--r--www-client/chromium/chromium-78.0.3887.7.ebuild1
-rw-r--r--www-client/chromium/files/chromium-76-arm64-skia.patch41
-rw-r--r--www-client/chromium/files/chromium-76-gcc-ambiguous-nodestructor.patch39
-rw-r--r--www-client/chromium/files/chromium-76-gcc-blink-constexpr.patch32
-rw-r--r--www-client/chromium/files/chromium-76-gcc-blink-namespace1.patch91
-rw-r--r--www-client/chromium/files/chromium-76-gcc-blink-namespace2.patch97
-rw-r--r--www-client/chromium/files/chromium-76-gcc-gl-init.patch33
-rw-r--r--www-client/chromium/files/chromium-76-gcc-include.patch10
-rw-r--r--www-client/chromium/files/chromium-76-gcc-noexcept.patch347
-rw-r--r--www-client/chromium/files/chromium-76-gcc-private.patch63
-rw-r--r--www-client/chromium/files/chromium-76-gcc-pure-virtual.patch50
-rw-r--r--www-client/chromium/files/chromium-76-gcc-uint32.patch30
-rw-r--r--www-client/chromium/files/chromium-76-gcc-vulkan.patch115
-rw-r--r--www-client/chromium/files/chromium-76-no-cups.patch41
-rw-r--r--www-client/chromium/files/chromium-76-quiche.patch239
-rw-r--r--www-client/chromium/files/chromium-77-pulseaudio-13.patch82
19 files changed, 115 insertions, 1268 deletions
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index 1a394499c8ad..eb23f1ecda28 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -1,23 +1,10 @@
-AUX chromium-76-arm64-skia.patch 1747 BLAKE2B 7f01fb83d1d7d71fcc98a6e144b1f83a72c15c3d98e1619b2c850000d5c7f9c5aa50bb343ec5da8ce7accb9a2752dff1993d04e83b1ce7c28924735bca730926 SHA512 76944f24374f2a751ae547501dbd3aa3e6c07c09b31d5a3911009db09aec2742aab6e46d3615122db83a5e2fbd1a9d98736671c081ba2734549e4002a86a1608
-AUX chromium-76-gcc-ambiguous-nodestructor.patch 1697 BLAKE2B 80b49601d4ed8b2c315cd6586829d0dc6ad984955837b52908446ddaddaf5f682feb160e81b68c33eaf29d51564d481e1911352b2a043f9fbf92a9c6bfe37ee7 SHA512 c61cdb814541eacc3b78a950b5c9cac312f00e06748beb1dc7f1ab64089ed6e5189981538c0b992eec2dd9444e44fdd7067323fd9cc9a11fd2c5d90593000a56
-AUX chromium-76-gcc-blink-constexpr.patch 1329 BLAKE2B f1edcd6d8ef86ebc9659838a30d2ab1ae886494f4c8fa8cc5cdd71ac22fc78bbd0aa4bf68a7111e050e28271a951affaaea088eff71ce059e76c930bffbf9a8a SHA512 adc40210cb1b5a863e61ae08d6b62bf9e294159b75572a6e9de1615a641293e5b2931a4c92f07d15a4ae1e557c98cf7c5ef5ff6f476325fb1bca5e28396e9aa0
-AUX chromium-76-gcc-blink-namespace1.patch 4188 BLAKE2B 31db4c911676c8982d897bc10ad9544b166b224259612c2cca9420c347f45d99d430faf9678df3dff493f0af10bf8104c2b8e20b1e92f8729def89bbb68c9327 SHA512 dda3ccd155e6929604f67a40386dd9cec3c2cd0697b3a62d579f696142d1bccc6ad9d414765a028ea630473944a33b9a63beb5eb49b4b0ec666473cc674fef38
-AUX chromium-76-gcc-blink-namespace2.patch 3529 BLAKE2B 0b71f2dc7ce1d1859e0e00f31afebbc452ece141b4a0b75c58a8da05dc2f5af3f157d8e1afb6e6022d4b6c68248e5f8c6e492d07b2d4d129f3af66d3bf3b3599 SHA512 42050d3f1c12c469197698e11f411dd76bc35abda0a94484153a9f4b0541e7e2708aa0abfb80747618eda67b85bac6915950e711338799f858202ec17f806389
-AUX chromium-76-gcc-gl-init.patch 1288 BLAKE2B 6055ec1281e601c8442a2708da7bd7d0265c53b61922394cd38239d02ff8d180a4300a514ee2dc97ba436ed36b990e77fe617fbd8d62494a5710687e7f93783e SHA512 0d6ee660150c1fdcc81ecc31488d423c9126eb8443ee29329d97579509f25c52da34e05f267804a4c3eaf0f3708839524eaed9ff66fe5247b665308329ece340
-AUX chromium-76-gcc-include.patch 410 BLAKE2B 7df5a173aa6db4ffde17fe522bf87ab20cb11d5a8b1869eda70a472af9c172a613e7a94b6d7758bc2f3341ed9b770d8b662aa5a5e0b76285857d96c769199838 SHA512 9fc238c81de198551d29579bffed031e5c837feff76cafbbdbddc182ccdb26a231ed95c8d1851281f705763a50e89b66e05603a754671c376b2b184d66a1d7df
-AUX chromium-76-gcc-noexcept.patch 14063 BLAKE2B 589ae76cc5f465f9e034fe2994ad0b389983c221a77c84cb679ff478b0cf727514852245183c1ab05433733a618de029c9bff4f90ed5eafa006168db0d29239d SHA512 17dbcaa8eb76a1d515ee782b71008ae760be552a3c4cc3656ba496560c0495ca1ac4d093b76de8b7f90102581d86060b3f761b03fd185c2f70dcccc2b201384b
-AUX chromium-76-gcc-private.patch 3159 BLAKE2B 0b902c4f3e679af034cbe557b057cfd6800c0ba000c2760367b147e3715726742426c94b0efaedd9a572cd91c0ae8ef30145528aa847e6a01e445a180b62e281 SHA512 6095fdcc33832fab6ab61be5a2c62610a3db0a4b86ad044594b9fca53325dece4930b3d8ee317d75e2fdc81499dd4ba6b4ab15f6fe00c8a23eb3607a7b9f212e
-AUX chromium-76-gcc-pure-virtual.patch 2358 BLAKE2B e591bdeb128877e2d0ee1e873033220efd4c75f4130bf1cda940cd2596c7ccec92d8f39e6b57b55fc72c4a9c58ff3ca634b9cb66064b5e4eed6906ef24c97071 SHA512 0401d9c105a1e8d13018a1d06e15e163c4db40810188a8f2623808e5ef2c220b5a9da520e20ffac8a91220ee13f51f391a82401b8d1de47476557e30d853cb65
-AUX chromium-76-gcc-uint32.patch 1203 BLAKE2B f87e17576c32cdebcb59d158bd102b12207549d553d94c05b397f357308eb89eb44a317f2368247670cd74b8ea17be2d6f81545da411f5b4ad3fe7d5cc27466c SHA512 ff840d0520b1515b64ba5c4e7d8f17f58ef783b8b9002f6952e194887dd7b78ca19c743e7c3c5ef8d427ee03559d3ad5b00bb518ef12e8688fa7335ef50b9dbc
-AUX chromium-76-gcc-vulkan.patch 5870 BLAKE2B 3bbe5eca8b70d244a734e1c2b4e237dfb67f1782206d50663caf47035c53d422ab33c82ba13af9ee668463f2c55329b228f03cbce4152f0b809f7f486c2fa4bb SHA512 77ccefbed977e92dc1645760569a51c1602b0701aaaddf9141ea946f1762fa2eeb7e9e8b2486589e7a21822835ea70ca230dd9fa392d3a444efbf14afeaa746b
-AUX chromium-76-no-cups.patch 1725 BLAKE2B fc4161771977668ff3e00e2b884609697b0141fd77a8cca41e4517f781b19d89c437593b1c47fae6918f88d0f28069dc5866facf533d0164a5982829029837de SHA512 1afe9d7ab111642ec2abd169e5665f6a24d58e5c5dcfa12baa4188459cc5a0880ec737e012b27162aeace98ef4f01cb0851f7b4dcae3eefe28d433b98d75d300
-AUX chromium-76-quiche.patch 10020 BLAKE2B 54b2bd89ac3bdba6e770e55c03957af9149c6259ae33e1e57a50feb7fbc7d6b98f02f0a9212acab8a075f682121f4e8413b3f5cd03cf3a557ce0329c17a7f661 SHA512 759db973253687e915e446aa92ae882d0e9a030b10ac134bbae37c6b43b3e91cb47a11d50957a860e3d0c41f3ae07e091c917626d38a0eafa06b9fbb68f91915
AUX chromium-77-blink-include.patch 1065 BLAKE2B 09efdaac62f5bf47fd368b08c90b58d0f61d849a8a365fe3963712d3adc3dcea4fef36e15666b5fd907e8204c7bedc400c8c2021425fc9b98b2e2328b6c5ffe7 SHA512 2e7ec441108ef36a6cfd711a35ca728a5464bfd0dd3ee78ee9659eed3266ce673b53402499fd8b8ca5f1366e2d1b8f8c5903585fd20924d0393a655d5d0ef369
AUX chromium-77-clang.patch 411 BLAKE2B 95209cbf367f62cd77c7acad3b4a0e55e0f3fd509e58a53cbd3579edf37211f4a55180f77e8b1589fdeb0b6e1d38ca6eada6d67b08c19fe2a1bd019c587afeb2 SHA512 501c33ef25abf8148c4b0ae474cb354c2a32edfb36a4f041a14a5d1a8706a80395a2e2f117bcc31e5671e6e58710faa29f9ac9dcae8b4af8952310f578a572cc
AUX chromium-77-fix-gn-gen.patch 383 BLAKE2B 63cc165468ef1db93b9b4764d73790526cb71d91c384dd2d7d3a4c9e212e34ef8edbdab3a01213a0fc7f378cbe80d3a6e726f2448a1e9f97fa31848a80b854fb SHA512 3e690af4cd5e5631da30abb75704270fd5176419e515c8e6541265a73d490df2018646b27e867bd2f26d7ca918ea276a2a7608b463d8a2acc26ec43f8f52ee6c
AUX chromium-77-gcc-abstract.patch 2667 BLAKE2B ad316c185b12e1c7b2a378eac908590e7db546ab72387266db4315bf7a40015381a0cc494aa9d3d6e14873cf28d7e5bb5f6dde4576f301297e0f711eeaa6fbc8 SHA512 e2c69dd72d7cb9f0fa29b56f5c9788cea7c60e753129a69731b94e1854a3db0e07cd4cb53e3c8c2bb1a999cdda546886292e47ba159f3138c211ee3c3e3ffca6
AUX chromium-77-gcc-include.patch 966 BLAKE2B e73bf54cd864b8afb4a7a0b5c3472aac9ad8112c5d9d6dd4c7e7a915f8612cb303b5235a2fdda2ba54ede1467c84c4feb1fd310aeefcede1b16b0ac4e617cf18 SHA512 f47c07493870abd97ddfdd7f01c81c90109db804e50ac174b59ce98f161ae2f7721e01a8865f9bc35fabf439be2bd70d944cb1ca8e2e84e340b7da0ed26633e0
AUX chromium-77-no-cups.patch 1748 BLAKE2B 3b3fc92f9be0ad0c4b8f7918c290385f408b04731f5587be42277312bb9a78739a5e3697a6386143c6700db805ac52086d9f3aa0556682ee6134135dec606129 SHA512 3c8ee9cd42b81ba9ae95090dda9d22efabc86c151e35a6f74a949d3f6d760f0e8d7e654602beee71420670cb0b3532788ca563076f389557c097af2569d455db
+AUX chromium-77-pulseaudio-13.patch 4402 BLAKE2B 967593e1fdf05d9bb1c7a489b9156024cef3fc7c49a1b1bfefbb8438c42b9bfb807422cc67568d425a37f181e6863d12c9629856852d5ba37f93c0c45919a1d9 SHA512 4aee9b0d31a682da2e4362856532965608a5d718f8f74812bb240b03f94620acb502c9f806c788ea26da386eff0b6c5dfba15cd4ce84b11e6381d70bf59bc483
AUX chromium-77-std-string.patch 4640 BLAKE2B 9561bf2049364960b0cfd340eb29b86810354a5d20f5785b2c1fbe8c44e584f2c98c4af9e80633760c09f3908266765c0c234a38dd3e26601b5fc21f0dd6127f SHA512 9dbad2497cd3e5a47e9135c1553eebbc8ae8098dd6cf2a9a5625a6bbed70a478434167f2de7c52ff84711a8da0c9636c499dd6c4495bf6904796fdb023a6510d
AUX chromium-77-system-hb.patch 459 BLAKE2B b1ac6e0007ca3aa26acd7f60e1c48ef8c0bdd80fa3e7f6ac97dc6a977864208e66e333b28bc64b9410fc368c27166b177669d09caa42909a9249059848a9f4aa SHA512 03696d8083127fd689a7953724c625a5eda3f67bad8121531dbaaefa01e2a91007d4c27bca07d137f50c5c03f14d45ba76e79ca859abf36f0fe34b9ec56dd1ac
AUX chromium-77-system-icu.patch 649 BLAKE2B 7910fcb64460ef965eafdd05e98d41d14399fd337ac8f79bcb2c7059fccd61d552ab6efa1dbf8bdcce564716b3d12b41a587077034cb72ef610eff76f4e052d6 SHA512 7413e0cca7102008dd5bee443dcde90be69ef1d0973fee576f70544f0d0a66aa8bc7099e619c89160915d6cd6186384be46ffab4a1d747000133dda9a84e15e5
@@ -30,10 +17,10 @@ AUX chromium-launcher-r3.sh 1199 BLAKE2B 85f57b380cdc25bd000cf57d3c129b67f6e55d9
AUX chromium-unbundle-zlib.patch 750 BLAKE2B ffce4f4069fa8f04c41b8395105d4dbe2f7e38fb9a3b2fa826972b894825dd64ed23c2a86d1445e454a96d35ebaa059ae7c2df3d2baf986be068a47be072563d SHA512 539990ce23d38c10274d9f44bf61ad53adacccaa16646ebe9535c03d2fd468d5e722aadeae82ac244d64851bbfa48832ae0895743b957fc0f4e8f47f959b1e97
AUX chromium-widevine-r4.patch 1155 BLAKE2B 7ba02c4b80883fa7ae5c46d95072798683bdc5c9d65b3cab40e6a3c21b29ce7eb9c45493ec10e522341033a80132818f946569ee774c662daafa4e09fbc2a988 SHA512 8f78c0e22f14f81f1903a77b315c7818603caaadbb5d517a3184a11e9553b99fd42d5a1d2ff19b3d79c03352b2e279a5102afa2fa66f276da2d9c42988a94366
AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
-DIST chromium-76.0.3809.132.tar.xz 728899912 BLAKE2B 725513b659f613c5827f5e847dde8c5ea448adb3a3d5561312ad05d54293c72150b010e6c804fb17be22882e4c87f2ebcdd40d08dbd601d78573678fd9d195c9 SHA512 e267d4a975fdcc33125d8fed1597e2dc8ec37a78ee2f9a4e03a1aaf6b83b594b444280b7f2ee68b41d227e7daf31b9de91ab2f998f9146613ebd50651c0d16e8
DIST chromium-77.0.3865.75.tar.xz 733233852 BLAKE2B e39856418a4dc0bcc690e0748781fd6d2395b2908d06616d44c76f5923d08f9ccd0cb1793447970302a47da631244aa96c7cf4d3df8cbd89fb3271badf163873 SHA512 7ab5103d75ddaeded69b63110a4ce401f4773017981eb2abaa650cc8a0c013323f7cd4beb19b6bfb6b0542a0269d86f6274da302b3b25d662c7a945f6d17f5d6
+DIST chromium-77.0.3865.90.tar.xz 729551228 BLAKE2B 865a40a7fa7d6a0b2de137249f7f14dad32b30cb0099fccc0d21570a2488834c5ab6504ef7c63f334e5d798de5391d6e96beaa49009caecb178d898e27317d89 SHA512 8b343c6ccc798c74cca8d5d41285153ace917da28360192afb21925c103ba425a4045f75c589f73a8c5c75bd1bbca44bfae1a4b96e9b7a97636d9929c7961bbc
DIST chromium-78.0.3887.7.tar.xz 737057024 BLAKE2B b4754f1fa9a243c29e83d6136494c6db1726a6d3f23013115a4a576428f7ca3c0fcd3f81cf7fe4037f2c3e6901b3fce015aeed7b7b945b4a3e368f2e6fb9afa1 SHA512 9b8eb33c6f19e5b247372e19a61ec1ae6c804bd7b9731222430e2e1b585146fc543a686ccfc9553d6d137999570c544cdb45696db6ce50c38dfead1b0760c1a4
-EBUILD chromium-76.0.3809.132.ebuild 22158 BLAKE2B 22157255629bb75571e3350d980b39e40dd682d3657369b992a7b0407bfb76523f876b0af89c8feaf935b88527a4df1ab1b133bcbb95cfad43a896d2f45d7491 SHA512 eaa8d69571ae28459d34fac97f0c4f12a4d1a3dde339636890a8468e54202cbe5f3f8280045940dd901d7bb202297edcf910ce64d430287bb0d230d314fce9f3
-EBUILD chromium-77.0.3865.75.ebuild 22353 BLAKE2B b8a624e00b64565f7487d6a4548cd038ad5b3880f20e04980d7c8dd2a3ac43675e925b7668e050f677327923d49a9bd002bad2a68d6f76585a4c52b00a039d32 SHA512 47780e320f31c1e1d01a48f3b6b32ef0e4b04e3a53ef970a03e97fc2b027cfbb98cf6acce225fe9fc09b20f586c7ba3a88f683b5b68870b2ce23f87be55442dc
-EBUILD chromium-78.0.3887.7.ebuild 22248 BLAKE2B e66aec65771fdad9271dba342d3c8e5fa5079798de3711f8b82457d826e59f39768bb2e892a5b0e6c2f7ad944174712a470b373d18f372cdd2aa54dfd30e03ed SHA512 66f493b768d041bea1cc87a52c591e32f7198086d60c79b5d38aa6a3a6ffa91e1b6f22b4e627a44717660121703d77b86b20e74ed7b8bbd5f4164752f977418f
+EBUILD chromium-77.0.3865.75.ebuild 22291 BLAKE2B e0ed8b94687369553ca9ce1732be0d32a42edf1da44945bf434ab1262fa7eb813a4717aecf107e535e706e6c12cef1c8641b4b67e5c114bef74b582e3591eed4 SHA512 3f73a684c682ead5df785a6e92a72ec857eb47bbbb24940c142b3710001e8ff5d0dcadf5ec509ebc666ce206f1e35d1aed0b8d8f56361ea3d4f7fc79886bb4ff
+EBUILD chromium-77.0.3865.90.ebuild 22339 BLAKE2B ae6d1adf172feef35a9431d9b9e2da92dda6f78541a9df025c2b5378ad18b4e8af8d9abfc100c9e3cf3dd8412cd92e4122acd616775c1a939eb03d06dda6211c SHA512 af67612a5a827188c2537d3d250ed06be46dd9101e3a24767ee769e3daa8ba59340c7179f988bb35fa49cd653f7c7269476bc8ac0716dd0bb26cc3d755224386
+EBUILD chromium-78.0.3887.7.ebuild 22186 BLAKE2B ec114167e5ce94eb792a11543cf3153b72422f22ea31bffc7dc63996bea69085b9abcfa727d4a57da910dc3396ebda4b57c8145ac6001d18ad064511d2b5fd84 SHA512 fd4570d712ae264d878792cb262f73cf70f900a934f8e8138a9694d57886a2592baab40e95d93d12348405b11c20b9d026603f494e41b7c307d24ddc37250939
MISC metadata.xml 1538 BLAKE2B 6c68f673e2892063f4b7a5afc8314356e3e8182d8765a193c36be7ed6b61e7680dbd0a58e2386904ff2877c81ad45cdae07754996f706f986f16f3a159500930 SHA512 16e98f9dc01cfdce307dd17fc2ba83ff1eff10eaeb65aaf9154b0dedfc61086334d56f50b6ce1d673715148e29e045eb0eed21495efef942ef56e4ba4e514187
diff --git a/www-client/chromium/chromium-77.0.3865.75.ebuild b/www-client/chromium/chromium-77.0.3865.75.ebuild
index ba255e84ee08..cede40c2b38c 100644
--- a/www-client/chromium/chromium-77.0.3865.75.ebuild
+++ b/www-client/chromium/chromium-77.0.3865.75.ebuild
@@ -85,7 +85,6 @@ RDEPEND="${COMMON_DEPEND}
virtual/ttf-fonts
selinux? ( sec-policy/selinux-chromium )
tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
- widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
"
DEPEND="${COMMON_DEPEND}
"
diff --git a/www-client/chromium/chromium-76.0.3809.132.ebuild b/www-client/chromium/chromium-77.0.3865.90.ebuild
index 89e2260d1695..a22e92ceac21 100644
--- a/www-client/chromium/chromium-76.0.3809.132.ebuild
+++ b/www-client/chromium/chromium-77.0.3865.90.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="+closure-compile component-build cups cpu_flags_arm_neon gnome-keyring +hangouts jumbo-build kerberos pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
REQUIRED_USE="component-build? ( !suid )"
@@ -38,7 +38,7 @@ COMMON_DEPEND="
>=media-libs/alsa-lib-1.0.19:=
media-libs/fontconfig:=
media-libs/freetype:=
- >=media-libs/harfbuzz-2.2.0:0=[icu(-)]
+ >=media-libs/harfbuzz-2.4.0:0=[icu(-)]
media-libs/libjpeg-turbo:=
media-libs/libpng:=
system-libvpx? ( media-libs/libvpx:=[postproc,svc] )
@@ -85,7 +85,6 @@ RDEPEND="${COMMON_DEPEND}
virtual/ttf-fonts
selinux? ( sec-policy/selinux-chromium )
tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
- widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
"
DEPEND="${COMMON_DEPEND}
"
@@ -97,7 +96,7 @@ BDEPEND="
dev-lang/yasm
)
dev-lang/perl
- <dev-util/gn-0.1583
+ dev-util/gn
dev-vcs/git
>=dev-util/gperf-3.0.3
>=dev-util/ninja-1.7.2
@@ -144,21 +143,17 @@ PATCHES=(
"${FILESDIR}/chromium-compiler-r10.patch"
"${FILESDIR}/chromium-widevine-r4.patch"
"${FILESDIR}/chromium-fix-char_traits.patch"
- "${FILESDIR}/chromium-angle-inline.patch"
- "${FILESDIR}/chromium-76-arm64-skia.patch"
- "${FILESDIR}/chromium-76-quiche.patch"
- "${FILESDIR}/chromium-76-no-cups.patch"
- "${FILESDIR}/chromium-76-gcc-vulkan.patch"
- "${FILESDIR}/chromium-76-gcc-private.patch"
- "${FILESDIR}/chromium-76-gcc-noexcept.patch"
- "${FILESDIR}/chromium-76-gcc-gl-init.patch"
- "${FILESDIR}/chromium-76-gcc-blink-namespace1.patch"
- "${FILESDIR}/chromium-76-gcc-blink-namespace2.patch"
- "${FILESDIR}/chromium-76-gcc-blink-constexpr.patch"
- "${FILESDIR}/chromium-76-gcc-uint32.patch"
- "${FILESDIR}/chromium-76-gcc-ambiguous-nodestructor.patch"
- "${FILESDIR}/chromium-76-gcc-include.patch"
- "${FILESDIR}/chromium-76-gcc-pure-virtual.patch"
+ "${FILESDIR}/chromium-unbundle-zlib.patch"
+ "${FILESDIR}/chromium-77-pulseaudio-13.patch"
+ "${FILESDIR}/chromium-77-fix-gn-gen.patch"
+ "${FILESDIR}/chromium-77-system-icu.patch"
+ "${FILESDIR}/chromium-77-system-hb.patch"
+ "${FILESDIR}/chromium-77-clang.patch"
+ "${FILESDIR}/chromium-77-blink-include.patch"
+ "${FILESDIR}/chromium-77-std-string.patch"
+ "${FILESDIR}/chromium-77-no-cups.patch"
+ "${FILESDIR}/chromium-77-gcc-abstract.patch"
+ "${FILESDIR}/chromium-77-gcc-include.patch"
)
pre_build_checks() {
@@ -312,7 +307,9 @@ src_prepare() {
third_party/nasm
third_party/node
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
+ third_party/one_euro_filter
third_party/openscreen
+ third_party/openscreen/src/third_party/tinycbor/src/src
third_party/ots
third_party/pdfium
third_party/pdfium/third_party/agg23
@@ -350,6 +347,7 @@ src_prepare() {
third_party/swiftshader/third_party/llvm-7.0
third_party/swiftshader/third_party/llvm-subzero
third_party/swiftshader/third_party/subzero
+ third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1
third_party/unrar
third_party/usrsctp
third_party/vulkan
@@ -627,6 +625,12 @@ src_compile() {
use suid && eninja -C out/Release chrome_sandbox
pax-mark m out/Release/chrome
+
+ # Build manpage; bug #684550
+ sed -e 's|@@PACKAGE@@|chromium-browser|g;
+ s|@@MENUNAME@@|Chromium|g;' \
+ chrome/app/resources/manpage.1.in > \
+ out/Release/chromium-browser.1 || die
}
src_install() {
@@ -680,7 +684,7 @@ src_install() {
# Install icons and desktop entry.
local branding size
- for size in 16 22 24 32 48 64 128 256 ; do
+ for size in 16 24 32 48 64 128 256 ; do
case ${size} in
16|32) branding="chrome/app/theme/default_100_percent/chromium" ;;
*) branding="chrome/app/theme/chromium" ;;
@@ -705,6 +709,10 @@ src_install() {
insinto /usr/share/gnome-control-center/default-apps
newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+ # Install manpage; bug #684550
+ doman out/Release/chromium-browser.1
+ dosym chromium-browser.1 /usr/share/man/man1/chromium.1
+
readme.gentoo_create_doc
}
diff --git a/www-client/chromium/chromium-78.0.3887.7.ebuild b/www-client/chromium/chromium-78.0.3887.7.ebuild
index a0d651ecea5e..e8fb43a9ec7f 100644
--- a/www-client/chromium/chromium-78.0.3887.7.ebuild
+++ b/www-client/chromium/chromium-78.0.3887.7.ebuild
@@ -85,7 +85,6 @@ RDEPEND="${COMMON_DEPEND}
virtual/ttf-fonts
selinux? ( sec-policy/selinux-chromium )
tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
- widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
"
DEPEND="${COMMON_DEPEND}
"
diff --git a/www-client/chromium/files/chromium-76-arm64-skia.patch b/www-client/chromium/files/chromium-76-arm64-skia.patch
deleted file mode 100644
index 8a44235c8030..000000000000
--- a/www-client/chromium/files/chromium-76-arm64-skia.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 7aacb0b30a86936aedd1308708d1a51d951197f2 Mon Sep 17 00:00:00 2001
-From: Mike Klein <mtklein@google.com>
-Date: Tue, 02 Jul 2019 13:23:06 -0500
-Subject: [PATCH] fix GCC arm64 builds
-
-These two guards are checking if we're building for aarch64 and thus
-have F16 conversion instructions, but weren't checking if we want to use
-them (if we have them _and_ we're being compiled by Clang). At head
-we're trying to pass a 2-byte uint16_t to a function expecting an 8-byte
-uint16x4_t, etc.
-
-Change-Id: I21f6cd2100ec81ccdd47c4ec0575107624cd7c5a
-Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225257
-Reviewed-by: Herb Derby <herb@google.com>
-Commit-Queue: Mike Klein <mtklein@google.com>
----
-
-diff --git a/third_party/skia/src/opts/SkRasterPipeline_opts.h b/third_party/skia/src/opts/SkRasterPipeline_opts.h
-index 0eae9fe..e05f36c 100644
---- a/third_party/skia/src/opts/SkRasterPipeline_opts.h
-+++ b/third_party/skia/src/opts/SkRasterPipeline_opts.h
-@@ -972,7 +972,8 @@
- }
-
- SI F from_half(U16 h) {
--#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
-+#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
-+ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
- return vcvt_f32_f16(h);
-
- #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
-@@ -992,7 +993,8 @@
- }
-
- SI U16 to_half(F f) {
--#if defined(SK_CPU_ARM64) && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
-+#if defined(JUMPER_IS_NEON) && defined(SK_CPU_ARM64) \
-+ && !defined(SK_BUILD_FOR_GOOGLE3) // Temporary workaround for some Google3 builds.
- return vcvt_f16_f32(f);
-
- #elif defined(JUMPER_IS_HSW) || defined(JUMPER_IS_AVX512)
diff --git a/www-client/chromium/files/chromium-76-gcc-ambiguous-nodestructor.patch b/www-client/chromium/files/chromium-76-gcc-ambiguous-nodestructor.patch
deleted file mode 100644
index 587abf31bb7c..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-ambiguous-nodestructor.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 52b5ceac95b67491b1c71f0ef9a32b778bbbaa2e Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Wed, 05 Jun 2019 19:46:55 +0000
-Subject: [PATCH] GCC: avoid ambiguous NoDestructor creation in GetNeverSniffedMimeTypes.
-
-Use brace-list notation to wrap the already existing brace-list for
-initializing the flat-set. This resolves an ambiguous instantiation
-in GCC.
-
-Bug: 819294
-Change-Id: I89ddf12522d62a5140a8c2c41dc98e30ec7a0e78
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645774
-Reviewed-by: Matt Menke <mmenke@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#666401}
----
-
-diff --git a/services/network/cross_origin_read_blocking.cc b/services/network/cross_origin_read_blocking.cc
-index 30999c0..60a03f6 100644
---- a/services/network/cross_origin_read_blocking.cc
-+++ b/services/network/cross_origin_read_blocking.cc
-@@ -211,7 +211,7 @@
- // confirmation sniffing because images, scripts, etc. are frequently
- // mislabelled by http servers as HTML/JSON/XML).
- base::flat_set<std::string>& GetNeverSniffedMimeTypes() {
-- static base::NoDestructor<base::flat_set<std::string>> s_types({
-+ static base::NoDestructor<base::flat_set<std::string>> s_types{{
- // The list below has been populated based on most commonly used content
- // types according to HTTP Archive - see:
- // https://github.com/whatwg/fetch/issues/860#issuecomment-457330454
-@@ -224,7 +224,7 @@
- "application/x-www-form-urlencoded",
- "application/zip",
- "text/event-stream",
-- });
-+ }};
-
- // All items need to be lower-case, to support case-insensitive comparisons
- // later.
diff --git a/www-client/chromium/files/chromium-76-gcc-blink-constexpr.patch b/www-client/chromium/files/chromium-76-gcc-blink-constexpr.patch
deleted file mode 100644
index 26bba05aa92e..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-blink-constexpr.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From cf6d6b40d711fce93a24a2cf517fa3becdbae8bb Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Wed, 05 Jun 2019 17:18:40 +0000
-Subject: [PATCH] Make blink::LayoutUnit::HasFraction constexpr
-
-Other HasFraction methods as in PhysicalUnit are declared already
-constexpr and using it. It breaks GCC build.
-
-Bug: 819294.
-Change-Id: I0c4bd9bd206d45cf31f7fa815ce8533718a425cb
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645222
-Reviewed-by: vmpstr <vmpstr@chromium.org>
-Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#666336}
----
-
-diff --git a/third_party/blink/renderer/platform/geometry/layout_unit.h b/third_party/blink/renderer/platform/geometry/layout_unit.h
-index f073986..b6dbc76 100644
---- a/third_party/blink/renderer/platform/geometry/layout_unit.h
-+++ b/third_party/blink/renderer/platform/geometry/layout_unit.h
-@@ -202,7 +202,9 @@
- return value_ > 0 ? LayoutUnit() : *this;
- }
-
-- bool HasFraction() const { return RawValue() % kFixedPointDenominator; }
-+ constexpr bool HasFraction() const {
-+ return RawValue() % kFixedPointDenominator;
-+ }
-
- LayoutUnit Fraction() const {
- // Compute fraction using the mod operator to preserve the sign of the value
diff --git a/www-client/chromium/files/chromium-76-gcc-blink-namespace1.patch b/www-client/chromium/files/chromium-76-gcc-blink-namespace1.patch
deleted file mode 100644
index bae3edec89d3..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-blink-namespace1.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From c6afbd59c997c2b64f11abdd1eaef71ae8ea2ddc Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Fri, 07 Jun 2019 18:11:15 +0000
-Subject: [PATCH] GCC: FeaturePolicyParser ParseValueForFuzzer is not in anonymous namespace
-
-Compilation fails because we are declaring ParseValueForFuzzer as friend method,
-but we are declaring it is in anonymous namespace. Moving to global namespace
-still fails (in this case in Clang).
-
-So final solution is making it a public static method of FeaturePolicyParser.
-
-Bug: 819294
-Change-Id: Iea307cb6faef675b748d6eb5da2175dcbb17fdc7
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645223
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Reviewed-by: Luna Lu <loonybear@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#667228}
----
-
-diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
-index f1c9594..bae91a1 100644
---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
-+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.cc
-@@ -323,6 +323,13 @@
- return value;
- }
-
-+void FeaturePolicyParser::ParseValueForFuzzer(
-+ blink::mojom::PolicyValueType feature_type,
-+ const WTF::String& value_string) {
-+ bool ok;
-+ ParseValueForType(feature_type, value_string, &ok);
-+}
-+
- bool IsFeatureDeclared(mojom::FeaturePolicyFeature feature,
- const ParsedFeaturePolicy& policy) {
- return std::any_of(policy.begin(), policy.end(),
-diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h
-index fd25d90..8aa7323 100644
---- a/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h
-+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_parser.h
-@@ -16,9 +16,6 @@
- #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
- #include "third_party/blink/renderer/platform/wtf/vector.h"
-
--// Forward declare for friendship.
--void ParseValueForFuzzer(blink::mojom::PolicyValueType, const WTF::String&);
--
- namespace blink {
-
- class Document;
-@@ -79,8 +76,10 @@
- const FeatureNameMap& feature_names,
- ExecutionContext* execution_context = nullptr);
-
-+ // Used for LLVM fuzzer test
-+ static void ParseValueForFuzzer(mojom::PolicyValueType, const String&);
-+
- private:
-- friend void ::ParseValueForFuzzer(mojom::PolicyValueType, const String&);
- static PolicyValue GetFallbackValueForFeature(
- mojom::FeaturePolicyFeature feature);
- static PolicyValue ParseValueForType(mojom::PolicyValueType feature_type,
-diff --git a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc
-index 7f8e6aa..1455636 100644
---- a/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc
-+++ b/third_party/blink/renderer/core/feature_policy/feature_policy_value_fuzzer.cc
-@@ -13,19 +13,12 @@
- #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
- #include "third_party/blink/renderer/platform/wtf/vector.h"
-
--void ParseValueForFuzzer(blink::mojom::PolicyValueType feature_type,
-- const WTF::String& value_string) {
-- bool ok;
-- blink::FeaturePolicyParser::ParseValueForType(feature_type, value_string,
-- &ok);
--}
--
- extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
- static blink::BlinkFuzzerTestSupport test_support =
- blink::BlinkFuzzerTestSupport();
-- ParseValueForFuzzer(blink::mojom::PolicyValueType::kBool,
-- WTF::String(data, size));
-- ParseValueForFuzzer(blink::mojom::PolicyValueType::kDecDouble,
-- WTF::String(data, size));
-+ blink::FeaturePolicyParser::ParseValueForFuzzer(
-+ blink::mojom::PolicyValueType::kBool, WTF::String(data, size));
-+ blink::FeaturePolicyParser::ParseValueForFuzzer(
-+ blink::mojom::PolicyValueType::kDecDouble, WTF::String(data, size));
- return 0;
- }
diff --git a/www-client/chromium/files/chromium-76-gcc-blink-namespace2.patch b/www-client/chromium/files/chromium-76-gcc-blink-namespace2.patch
deleted file mode 100644
index 1d4b90febf64..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-blink-namespace2.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From dcb55fb8f18abe5f43d260aa67b14b2dc996f992 Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Tue, 11 Jun 2019 08:00:13 +0000
-Subject: [PATCH] GCC: move explicit specialization out of RunInfo
-
-Explicit specialization in non-namespace scope is not allowed in C++, and GCC breaks
-build because of that. Move the template specializations out of RunInfo declaration
-in shape_result_inline_headeres.h to fix the GCC build issue.
-
-Bug: 819294
-Change-Id: Id083852bcf8e9efbdc911fdad28fd8767d2905d0
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651728
-Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#667901}
----
-
-diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h
-index 76ee6091..c14d3a0 100644
---- a/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h
-+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h
-@@ -251,37 +251,6 @@
- template <bool has_non_zero_glyph_offsets>
- struct iterator final {};
-
-- // For non-zero glyph offset array
-- template <>
-- struct iterator<true> final {
-- // The constructor for ShapeResult
-- explicit iterator(const GlyphOffsetArray& array)
-- : pointer(array.storage_.get()) {
-- DCHECK(pointer);
-- }
--
-- // The constructor for ShapeResultView
-- explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) {
-- DCHECK(pointer);
-- }
--
-- GlyphOffset operator*() const { return *pointer; }
-- void operator++() { ++pointer; }
--
-- const GlyphOffset* pointer;
-- };
--
-- // For zero glyph offset array
-- template <>
-- struct iterator<false> final {
-- explicit iterator(const GlyphOffsetArray& array) {
-- DCHECK(!array.HasStorage());
-- }
-- explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); }
-- GlyphOffset operator*() const { return GlyphOffset(); }
-- void operator++() {}
-- };
--
- template <bool has_non_zero_glyph_offsets>
- iterator<has_non_zero_glyph_offsets> GetIterator() const {
- return iterator<has_non_zero_glyph_offsets>(*this);
-@@ -495,6 +464,37 @@
- float width_;
- };
-
-+// For non-zero glyph offset array
-+template <>
-+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<true> final {
-+ // The constructor for ShapeResult
-+ explicit iterator(const GlyphOffsetArray& array)
-+ : pointer(array.storage_.get()) {
-+ DCHECK(pointer);
-+ }
-+
-+ // The constructor for ShapeResultView
-+ explicit iterator(const GlyphDataRange& range) : pointer(range.offsets) {
-+ DCHECK(pointer);
-+ }
-+
-+ GlyphOffset operator*() const { return *pointer; }
-+ void operator++() { ++pointer; }
-+
-+ const GlyphOffset* pointer;
-+};
-+
-+// For zero glyph offset array
-+template <>
-+struct ShapeResult::RunInfo::GlyphOffsetArray::iterator<false> final {
-+ explicit iterator(const GlyphOffsetArray& array) {
-+ DCHECK(!array.HasStorage());
-+ }
-+ explicit iterator(const GlyphDataRange& range) { DCHECK(!range.offsets); }
-+ GlyphOffset operator*() const { return GlyphOffset(); }
-+ void operator++() {}
-+};
-+
- // Find the range of HarfBuzzRunGlyphData for the specified character index
- // range. This function uses binary search twice, hence O(2 log n).
- inline ShapeResult::RunInfo::GlyphDataRange
diff --git a/www-client/chromium/files/chromium-76-gcc-gl-init.patch b/www-client/chromium/files/chromium-76-gcc-gl-init.patch
deleted file mode 100644
index 3bf394f92d9b..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-gl-init.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 7dc76c8d9f4cfbce7cf11424120aa6f6094916dc Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Wed, 05 Jun 2019 21:09:01 +0000
-Subject: [PATCH] GCC: XSetWindowAttributes struct initialization should keep order of declaration
-
-XSetWindowAttributes initialization of attributes in GLSurfaceGLX is not in the
-same order of the declaration. GCC fails because of that.
-
-Bug: 819294
-Change-Id: I8a97da980d5961a35a47ae4d0d8d558b85291f1f
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646253
-Reviewed-by: Zhenyao Mo <zmo@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#666436}
----
-
-diff --git a/ui/gl/gl_surface_glx.cc b/ui/gl/gl_surface_glx.cc
-index f649dd4..0aa6892 100644
---- a/ui/gl/gl_surface_glx.cc
-+++ b/ui/gl/gl_surface_glx.cc
-@@ -583,10 +583,10 @@
-
- XSetWindowAttributes swa = {
- .background_pixmap = 0,
-- .bit_gravity = NorthWestGravity,
-- .colormap = g_colormap,
- .background_pixel = 0, // ARGB(0,0,0,0) for compositing WM
- .border_pixel = 0,
-+ .bit_gravity = NorthWestGravity,
-+ .colormap = g_colormap,
- };
- auto value_mask = CWBackPixmap | CWBitGravity | CWColormap | CWBorderPixel;
- if (ui::IsCompositingManagerPresent() &&
diff --git a/www-client/chromium/files/chromium-76-gcc-include.patch b/www-client/chromium/files/chromium-76-gcc-include.patch
deleted file mode 100644
index adc7f3ab3ac1..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-include.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/chrome/browser/themes/theme_service.h 2019-06-13 18:56:30.000000000 -0000
-+++ b/chrome/browser/themes/theme_service.h 2019-06-17 08:50:57.714289399 -0000
-@@ -26,6 +26,7 @@
- #include "extensions/common/extension_id.h"
- #include "ui/base/theme_provider.h"
- #include "ui/native_theme/native_theme_observer.h"
-+#include "ui/native_theme/native_theme.h"
-
- class BrowserThemePack;
- class CustomThemeSupplier;
diff --git a/www-client/chromium/files/chromium-76-gcc-noexcept.patch b/www-client/chromium/files/chromium-76-gcc-noexcept.patch
deleted file mode 100644
index 2a7f4b35a726..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-noexcept.patch
+++ /dev/null
@@ -1,347 +0,0 @@
-From 84c91abab33966f928497c24db4a39f436d2dca8 Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Fri, 07 Jun 2019 09:50:11 +0000
-Subject: [PATCH] Make SharedMemoryMapping move constructor noexcept
-
-As LayerTreeHostImpl::UIResourceData move constructor is declared
-noexcept with default implementation, the move constructor of its
-members should also be noexcept. GCC will fail to build otherwise
-for mismatching noexcept declaration.
-
-We also set the move assignment operator.
-
-Bug: 819294
-Change-Id: Icd663da83b882e15f7d16780c9241972e09bc492
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645297
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Reviewed-by: Daniel Cheng <dcheng@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#667064}
----
-
-diff --git a/base/memory/shared_memory_mapping.cc b/base/memory/shared_memory_mapping.cc
-index 2be2570..8426fa8 100644
---- a/base/memory/shared_memory_mapping.cc
-+++ b/base/memory/shared_memory_mapping.cc
-@@ -33,7 +33,7 @@
-
- SharedMemoryMapping::SharedMemoryMapping() = default;
-
--SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping)
-+SharedMemoryMapping::SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept
- : memory_(mapping.memory_),
- size_(mapping.size_),
- mapped_size_(mapping.mapped_size_),
-@@ -42,7 +42,7 @@
- }
-
- SharedMemoryMapping& SharedMemoryMapping::operator=(
-- SharedMemoryMapping&& mapping) {
-+ SharedMemoryMapping&& mapping) noexcept {
- Unmap();
- memory_ = mapping.memory_;
- size_ = mapping.size_;
-@@ -90,9 +90,9 @@
-
- ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping() = default;
- ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping(
-- ReadOnlySharedMemoryMapping&&) = default;
-+ ReadOnlySharedMemoryMapping&&) noexcept = default;
- ReadOnlySharedMemoryMapping& ReadOnlySharedMemoryMapping::operator=(
-- ReadOnlySharedMemoryMapping&&) = default;
-+ ReadOnlySharedMemoryMapping&&) noexcept = default;
- ReadOnlySharedMemoryMapping::ReadOnlySharedMemoryMapping(
- void* address,
- size_t size,
-@@ -102,9 +102,9 @@
-
- WritableSharedMemoryMapping::WritableSharedMemoryMapping() = default;
- WritableSharedMemoryMapping::WritableSharedMemoryMapping(
-- WritableSharedMemoryMapping&&) = default;
-+ WritableSharedMemoryMapping&&) noexcept = default;
- WritableSharedMemoryMapping& WritableSharedMemoryMapping::operator=(
-- WritableSharedMemoryMapping&&) = default;
-+ WritableSharedMemoryMapping&&) noexcept = default;
- WritableSharedMemoryMapping::WritableSharedMemoryMapping(
- void* address,
- size_t size,
-diff --git a/base/memory/shared_memory_mapping.h b/base/memory/shared_memory_mapping.h
-index d9569af..2b8858e 100644
---- a/base/memory/shared_memory_mapping.h
-+++ b/base/memory/shared_memory_mapping.h
-@@ -32,8 +32,8 @@
- SharedMemoryMapping();
-
- // Move operations are allowed.
-- SharedMemoryMapping(SharedMemoryMapping&& mapping);
-- SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping);
-+ SharedMemoryMapping(SharedMemoryMapping&& mapping) noexcept;
-+ SharedMemoryMapping& operator=(SharedMemoryMapping&& mapping) noexcept;
-
- // Unmaps the region if the mapping is valid.
- virtual ~SharedMemoryMapping();
-@@ -93,8 +93,9 @@
- ReadOnlySharedMemoryMapping();
-
- // Move operations are allowed.
-- ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&);
-- ReadOnlySharedMemoryMapping& operator=(ReadOnlySharedMemoryMapping&&);
-+ ReadOnlySharedMemoryMapping(ReadOnlySharedMemoryMapping&&) noexcept;
-+ ReadOnlySharedMemoryMapping& operator=(
-+ ReadOnlySharedMemoryMapping&&) noexcept;
-
- // Returns the base address of the mapping. This is read-only memory. This is
- // page-aligned. This is nullptr for invalid instances.
-@@ -171,8 +172,9 @@
- WritableSharedMemoryMapping();
-
- // Move operations are allowed.
-- WritableSharedMemoryMapping(WritableSharedMemoryMapping&&);
-- WritableSharedMemoryMapping& operator=(WritableSharedMemoryMapping&&);
-+ WritableSharedMemoryMapping(WritableSharedMemoryMapping&&) noexcept;
-+ WritableSharedMemoryMapping& operator=(
-+ WritableSharedMemoryMapping&&) noexcept;
-
- // Returns the base address of the mapping. This is writable memory. This is
- // page-aligned. This is nullptr for invalid instances.
-
-From bdc24128b75008743d819e298557a53205706e7c Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Sun, 09 Jun 2019 11:22:25 +0000
-Subject: [PATCH] GCC: fix noexcept from move constructor and assign operators of AccountInfo
-
-AccountInfo declares them as noexcept and uses default implementation,
-so all its members (including AccountId) should be noexcept. But AccountId
-is not noexcept. To fix it we just need to make CoreAccountId move
-operator/assign operator noexcept.
-
-Bug: 819294
-Change-Id: Ice38654ab7cf3b9eaa6f54aa36e1fec329264f98
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645296
-Reviewed-by: Roger Tawa <rogerta@chromium.org>
-Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#667484}
----
-
-diff --git a/google_apis/gaia/core_account_id.cc b/google_apis/gaia/core_account_id.cc
-index d808082..12eefe3 100644
---- a/google_apis/gaia/core_account_id.cc
-+++ b/google_apis/gaia/core_account_id.cc
-@@ -6,8 +6,16 @@
-
- CoreAccountId::CoreAccountId() = default;
-
-+CoreAccountId::CoreAccountId(const CoreAccountId&) = default;
-+
-+CoreAccountId::CoreAccountId(CoreAccountId&&) noexcept = default;
-+
- CoreAccountId::~CoreAccountId() = default;
-
-+CoreAccountId& CoreAccountId::operator=(const CoreAccountId&) = default;
-+
-+CoreAccountId& CoreAccountId::operator=(CoreAccountId&&) noexcept = default;
-+
- CoreAccountId::CoreAccountId(const char* id) : id(id) {}
-
- CoreAccountId::CoreAccountId(std::string&& id) : id(std::move(id)) {}
-diff --git a/google_apis/gaia/core_account_id.h b/google_apis/gaia/core_account_id.h
-index 5ea602a..c2d1911 100644
---- a/google_apis/gaia/core_account_id.h
-+++ b/google_apis/gaia/core_account_id.h
-@@ -14,8 +14,13 @@
- // for design and tracking).
- struct CoreAccountId {
- CoreAccountId();
-+ CoreAccountId(const CoreAccountId&);
-+ CoreAccountId(CoreAccountId&&) noexcept;
- ~CoreAccountId();
-
-+ CoreAccountId& operator=(const CoreAccountId&);
-+ CoreAccountId& operator=(CoreAccountId&&) noexcept;
-+
- // Those implicit constructor and conversion operator allow to
- // progressively migrate the code to use this struct. Removing
- // them is tracked by https://crbug.com/959161
-
-From 9aae68736bc7eb7172d0d0c978ecb6d1f75c7b30 Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Tue, 11 Jun 2019 10:27:19 +0200
-Subject: [PATCH] GCC: add noexcept move assignment in history::URLRow
-
-In GCC, build is failing because history::QueryURLResult declares its move
-assignment operator as noexcept using default implementation. That requires
-its members to provide a move assignment operator that is noexcept too.
-
-But URLRow was missing noexcept declaration in move assignment operator (even
-though it was providing noexcept to its move constructor).
-
-Bug: 819294
-Change-Id: I726e3cf7a4a50c9206a5d0fba8a561d363483d4f
----
-
-diff --git a/components/history/core/browser/url_row.cc b/components/history/core/browser/url_row.cc
-index 44c22fd..aec0101 100644
---- a/components/history/core/browser/url_row.cc
-+++ b/components/history/core/browser/url_row.cc
-@@ -26,7 +26,7 @@
- }
-
- URLRow& URLRow::operator=(const URLRow& other) = default;
--URLRow& URLRow::operator=(URLRow&& other) = default;
-+URLRow& URLRow::operator=(URLRow&& other) noexcept = default;
-
- void URLRow::Swap(URLRow* other) {
- std::swap(id_, other->id_);
-diff --git a/components/history/core/browser/url_row.h b/components/history/core/browser/url_row.h
-index 8f6f9cf..31a1ef8 100644
---- a/components/history/core/browser/url_row.h
-+++ b/components/history/core/browser/url_row.h
-@@ -35,7 +35,7 @@
-
- virtual ~URLRow();
- URLRow& operator=(const URLRow& other);
-- URLRow& operator=(URLRow&& other);
-+ URLRow& operator=(URLRow&& other) noexcept;
-
- URLID id() const { return id_; }
-
-
-From 41d954dec0669c9a85730c0bde7df7ba7a0ff43e Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Thu, 06 Jun 2019 15:30:49 +0000
-Subject: [PATCH] Fix AutocompleteMatch move constructor/assign operator noexcept
-
-For AutocompleteMatch to declare noexcept them, all the contained
-properties need to be noexcept too. This is required at least
-for SuggestionAnswer, because base::string16 will make default
-calculated signature of the move operator noexcept(false).
-
-To avoid this issue we explicitely declare them on SuggestionAnswer,
-and its member classes TextField and ImageLine.
-
-Bug: 819294
-Change-Id: I8714f2c6352a3292bdebdc3aed9790270e49c580
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1554669
-Reviewed-by: Kevin Bailey <krb@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#666714}
----
-
-diff --git a/components/omnibox/browser/suggestion_answer.cc b/components/omnibox/browser/suggestion_answer.cc
-index 151e55f..a0c9049 100644
---- a/components/omnibox/browser/suggestion_answer.cc
-+++ b/components/omnibox/browser/suggestion_answer.cc
-@@ -55,6 +55,12 @@
-
- SuggestionAnswer::TextField::TextField() = default;
- SuggestionAnswer::TextField::~TextField() = default;
-+SuggestionAnswer::TextField::TextField(const TextField&) = default;
-+SuggestionAnswer::TextField::TextField(TextField&&) noexcept = default;
-+SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=(
-+ const TextField&) = default;
-+SuggestionAnswer::TextField& SuggestionAnswer::TextField::operator=(
-+ TextField&&) noexcept = default;
-
- // static
- bool SuggestionAnswer::TextField::ParseTextField(const base::Value& field_json,
-@@ -93,9 +99,12 @@
- SuggestionAnswer::ImageLine::ImageLine()
- : num_text_lines_(1) {}
- SuggestionAnswer::ImageLine::ImageLine(const ImageLine& line) = default;
-+SuggestionAnswer::ImageLine::ImageLine(ImageLine&&) noexcept = default;
-
- SuggestionAnswer::ImageLine& SuggestionAnswer::ImageLine::operator=(
- const ImageLine& line) = default;
-+SuggestionAnswer::ImageLine& SuggestionAnswer::ImageLine::operator=(
-+ ImageLine&&) noexcept = default;
-
- SuggestionAnswer::ImageLine::~ImageLine() {}
-
-@@ -251,9 +260,14 @@
-
- SuggestionAnswer::SuggestionAnswer(const SuggestionAnswer& answer) = default;
-
-+SuggestionAnswer::SuggestionAnswer(SuggestionAnswer&&) noexcept = default;
-+
- SuggestionAnswer& SuggestionAnswer::operator=(const SuggestionAnswer& answer) =
- default;
-
-+SuggestionAnswer& SuggestionAnswer::operator=(SuggestionAnswer&&) noexcept =
-+ default;
-+
- SuggestionAnswer::~SuggestionAnswer() = default;
-
- // static
-diff --git a/components/omnibox/browser/suggestion_answer.h b/components/omnibox/browser/suggestion_answer.h
-index 31be937..2840ace 100644
---- a/components/omnibox/browser/suggestion_answer.h
-+++ b/components/omnibox/browser/suggestion_answer.h
-@@ -125,6 +125,10 @@
- public:
- TextField();
- ~TextField();
-+ TextField(const TextField&);
-+ TextField(TextField&&) noexcept;
-+ TextField& operator=(const TextField&);
-+ TextField& operator=(TextField&&) noexcept;
-
- // Parses |field_json| dictionary and populates |text_field| with the
- // contents. If any of the required elements is missing, returns false and
-@@ -162,7 +166,9 @@
- public:
- ImageLine();
- explicit ImageLine(const ImageLine& line);
-+ ImageLine(ImageLine&&) noexcept;
- ImageLine& operator=(const ImageLine& line);
-+ ImageLine& operator=(ImageLine&&) noexcept;
- ~ImageLine();
-
- // Parses dictionary |line_json| and populates |image_line| with the
-@@ -213,7 +219,9 @@
-
- SuggestionAnswer();
- SuggestionAnswer(const SuggestionAnswer& answer);
-+ SuggestionAnswer(SuggestionAnswer&&) noexcept;
- SuggestionAnswer& operator=(const SuggestionAnswer& answer);
-+ SuggestionAnswer& operator=(SuggestionAnswer&&) noexcept;
- ~SuggestionAnswer();
-
- // Parses dictionary |answer_json| and fills a SuggestionAnswer containing the
-
-From 9f99af41cae3cfff3bcdcc856c1539801c9b745b Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Fri, 07 Jun 2019 18:59:59 +0000
-Subject: [PATCH] DisjoingRangeLockManager::Lock move constructor/assign operator cannot be noexcept
-
-They depend on LockRequest, that depends on WeakPtr, none of them noexcept.
-
-Bug: 819294
-Change-Id: I04ec15901ca627358df727540597f21f135c129b
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646252
-Reviewed-by: Joshua Bell <jsbell@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#667260}
----
-
-diff --git a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc
-index 478a5c9..a18c6cd 100644
---- a/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc
-+++ b/content/browser/indexed_db/scopes/disjoint_range_lock_manager.cc
-@@ -19,14 +19,13 @@
- : requested_type(type),
- locks_holder(std::move(locks_holder)),
- acquired_callback(std::move(acquired_callback)) {}
--DisjointRangeLockManager::LockRequest::LockRequest(LockRequest&&) noexcept =
-- default;
-+DisjointRangeLockManager::LockRequest::LockRequest(LockRequest&&) = default;
- DisjointRangeLockManager::LockRequest::~LockRequest() = default;
- DisjointRangeLockManager::Lock::Lock() = default;
--DisjointRangeLockManager::Lock::Lock(Lock&&) noexcept = default;
-+DisjointRangeLockManager::Lock::Lock(Lock&&) = default;
- DisjointRangeLockManager::Lock::~Lock() = default;
- DisjointRangeLockManager::Lock& DisjointRangeLockManager::Lock::operator=(
-- DisjointRangeLockManager::Lock&&) noexcept = default;
-+ DisjointRangeLockManager::Lock&&) = default;
-
- DisjointRangeLockManager::DisjointRangeLockManager(int level_count)
- : task_runner_(base::SequencedTaskRunnerHandle::Get()),
diff --git a/www-client/chromium/files/chromium-76-gcc-private.patch b/www-client/chromium/files/chromium-76-gcc-private.patch
deleted file mode 100644
index bc0ed980fd31..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-private.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 502e6e42633d2571c8236c8649b031fe9915eb5b Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Tue, 11 Jun 2019 16:56:27 +0000
-Subject: [PATCH] GCC: CertNetFetcherImpl declares Job as a friend but it is in the anonymous namespace
-
-GCC does not allow friendship declaration to anonymous namespace as done with Job
-object in the CertNetFetcherImpl. This fix removes the friend declaration, and just
-makes RemoveJob method public, that was the only reason to make Job a friend.
-
-Error was:
-./../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::DetachRequest(net::CertNetFetcherImpl::RequestCore*)’:
-../../net/cert_net/cert_net_fetcher_impl.cc:458:42: error: ‘std::unique_ptr<net::{anonymous}::Job> net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context
- delete_this = parent_->RemoveJob(this);
- ^
-../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here
- std::unique_ptr<Job> RemoveJob(Job* job);
- ^~~~~~~~~
-../../net/cert_net/cert_net_fetcher_impl.cc: In member function ‘void net::{anonymous}::Job::OnJobCompleted(net::Error)’:
-../../net/cert_net/cert_net_fetcher_impl.cc:610:61: error: ‘std::unique_ptr<net::{anonymous}::Job> net::CertNetFetcherImpl::AsyncCertNetFetcherImpl::RemoveJob(net::{anonymous}::Job*)’ is private within this context
- std::unique_ptr<Job> delete_this = parent_->RemoveJob(this);
- ^
-../../net/cert_net/cert_net_fetcher_impl.cc:151:24: note: declared private here
- std::unique_ptr<Job> RemoveJob(Job* job);
- ^~~~~~~~~
-
-Bug: 819294
-Change-Id: I3609f4558e570741395366de6a4cd40577d91450
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651783
-Commit-Queue: Eric Roman <eroman@chromium.org>
-Reviewed-by: Eric Roman <eroman@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#668015}
----
-
-diff --git a/net/cert_net/cert_net_fetcher_impl.cc b/net/cert_net/cert_net_fetcher_impl.cc
-index 11a1166..349c656 100644
---- a/net/cert_net/cert_net_fetcher_impl.cc
-+++ b/net/cert_net/cert_net_fetcher_impl.cc
-@@ -135,21 +135,19 @@
- void Fetch(std::unique_ptr<RequestParams> request_params,
- scoped_refptr<RequestCore> request);
-
-+ // Removes |job| from the in progress jobs and transfers ownership to the
-+ // caller.
-+ std::unique_ptr<Job> RemoveJob(Job* job);
-+
- // Cancels outstanding jobs, which stops network requests and signals the
- // corresponding RequestCores that the requests have completed.
- void Shutdown();
-
- private:
-- friend class Job;
--
- // Finds a job with a matching RequestPararms or returns nullptr if there was
- // no match.
- Job* FindJob(const RequestParams& params);
-
-- // Removes |job| from the in progress jobs and transfers ownership to the
-- // caller.
-- std::unique_ptr<Job> RemoveJob(Job* job);
--
- // The in-progress jobs. This set does not contain the job which is actively
- // invoking callbacks (OnJobCompleted).
- JobSet jobs_;
diff --git a/www-client/chromium/files/chromium-76-gcc-pure-virtual.patch b/www-client/chromium/files/chromium-76-gcc-pure-virtual.patch
deleted file mode 100644
index 3d34e436a281..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-pure-virtual.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From cdf306db81efaaaa954487585d5a5a16205a5ebd Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Wed, 05 Jun 2019 14:45:06 +0000
-Subject: [PATCH] Avoid pure virtual crash destroying RenderProcessUserData
-
-When RenderProcessUserData is destroyed from the destructor of
-RenderProcessHostImpl, it is done in the destructor of RenderProcessHost.
-At this point RemoveObserver override is already freed, so RenderProcessHost
-is pure virtual. This crash happens at least building with GCC:
-
- at /usr/include/c++/8/ext/new_allocator.h:140
- (this=0x7fffffffcb50, __in_chrg=<optimized out>) at /usr/include/c++/8/bits/stl_tree.h:964
-
-We need to destroy RenderProcessUserData before that happens. To do that
-we can just override RenderProcessHostDestroyed.
-
-Bug: 910288
-Change-Id: I38107b178829b0cb7494f5333b765e5b087d82cd
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645366
-Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
-Reviewed-by: Sigurður Ásgeirsson <siggi@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#666279}
----
-
-diff --git a/chrome/browser/performance_manager/render_process_user_data.cc b/chrome/browser/performance_manager/render_process_user_data.cc
-index 2e2c199..ef6e1fb 100644
---- a/chrome/browser/performance_manager/render_process_user_data.cc
-+++ b/chrome/browser/performance_manager/render_process_user_data.cc
-@@ -116,4 +116,9 @@
- base::Unretained(process_node_.get()), info.exit_code));
- }
-
-+void RenderProcessUserData::RenderProcessHostDestroyed(
-+ content::RenderProcessHost* host) {
-+ host->RemoveUserData(kRenderProcessUserDataKey);
-+}
-+
- } // namespace performance_manager
-diff --git a/chrome/browser/performance_manager/render_process_user_data.h b/chrome/browser/performance_manager/render_process_user_data.h
-index ac74b1d..f3b4d16 100644
---- a/chrome/browser/performance_manager/render_process_user_data.h
-+++ b/chrome/browser/performance_manager/render_process_user_data.h
-@@ -47,6 +47,7 @@
- void RenderProcessExited(
- content::RenderProcessHost* host,
- const content::ChildProcessTerminationInfo& info) override;
-+ void RenderProcessHostDestroyed(content::RenderProcessHost* host) override;
-
- // All instances are linked together in a doubly linked list to allow orderly
- // destruction at browser shutdown time.
diff --git a/www-client/chromium/files/chromium-76-gcc-uint32.patch b/www-client/chromium/files/chromium-76-gcc-uint32.patch
deleted file mode 100644
index 5e392e6a6e5b..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-uint32.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 53bb5a463ee956c70230eaa5450022185d0ddc3c Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Thu, 06 Jun 2019 07:54:05 +0000
-Subject: [PATCH] ThrottlingController::Liveness needs to be uint32_t
-
-We are setting kAlive and kDead values assigning values that
-are bigger than the maximum signed int32. It is better to use
-uint32_t in this case.
-
-Bug: 819294
-Change-Id: If72b48291a66a3a9db24b4c8e2d11d31936a66ee
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1645772
-Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Cr-Commit-Position: refs/heads/master@{#666619}
----
-
-diff --git a/services/network/throttling/throttling_controller.h b/services/network/throttling/throttling_controller.h
-index 43751c4..3c6f87b 100644
---- a/services/network/throttling/throttling_controller.h
-+++ b/services/network/throttling/throttling_controller.h
-@@ -38,7 +38,7 @@
-
- // TODO(https://crbug.com/960874): Debugging code to try and shed some light
- // on why the owned maps are invalid.
-- enum class Liveness : int32_t {
-+ enum class Liveness : uint32_t {
- kAlive = 0xCA11AB13,
- kDead = 0xDEADBEEF,
- };
diff --git a/www-client/chromium/files/chromium-76-gcc-vulkan.patch b/www-client/chromium/files/chromium-76-gcc-vulkan.patch
deleted file mode 100644
index cf93bce63e92..000000000000
--- a/www-client/chromium/files/chromium-76-gcc-vulkan.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From fdb3bb1f8c41d044a5b0cb80257a26dd3c8f83a3 Mon Sep 17 00:00:00 2001
-From: Jose Dapena Paz <jose.dapena@lge.com>
-Date: Tue, 11 Jun 2019 17:39:38 +0000
-Subject: [PATCH] GCC: do not use old C notation to assign struct with property names.
-
-The notation for initialization of structs referring to its properties
-is invalid in C++. This is not accepted in GCC. It was making build
-fail in VulkanCommandBuffer.
-
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::TransitionImageLayout(VkImage, VkImageLayout, VkImageLayout)':
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:214:7: error: expected primary-expression before '.' token
- .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,
- ^
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:215:7: error: expected primary-expression before '.' token
- .subresourceRange.baseMipLevel = 0,
- ^
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:216:7: error: expected primary-expression before '.' token
- .subresourceRange.levelCount = 1,
- ^
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:217:7: error: expected primary-expression before '.' token
- .subresourceRange.baseArrayLayer = 0,
- ^
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:218:7: error: expected primary-expression before '.' token
- .subresourceRange.layerCount = 1,
- ^
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc: In member function 'void gpu::VulkanCommandBuffer::CopyBufferToImage(VkBuffer, VkImage, uint32_t, uint32_t, uint32_t, uint32_t)':
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:235:7: error: expected primary-expression before '.' token
- .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,
- ^
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:236:7: error: expected primary-expression before '.' token
- .imageSubresource.mipLevel = 0,
- ^
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:237:7: error: expected primary-expression before '.' token
- .imageSubresource.baseArrayLayer = 0,
- ^
-./../../../chromium-76.0.3806.1/gpu/vulkan/vulkan_command_buffer.cc:238:7: error: expected primary-expression before '.' token
- .imageSubresource.layerCount = 1,
- ^
-Bug: 819294
-
-Change-Id: I999abece0c727e77964789183642ba62009c2c22
-Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1651802
-Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
-Reviewed-by: Antoine Labour <piman@chromium.org>
-Cr-Commit-Position: refs/heads/master@{#668033}
----
-
-diff --git a/gpu/vulkan/vulkan_command_buffer.cc b/gpu/vulkan/vulkan_command_buffer.cc
-index ba776e4..4f14c85 100644
---- a/gpu/vulkan/vulkan_command_buffer.cc
-+++ b/gpu/vulkan/vulkan_command_buffer.cc
-@@ -207,21 +207,20 @@
- void VulkanCommandBuffer::TransitionImageLayout(VkImage image,
- VkImageLayout old_layout,
- VkImageLayout new_layout) {
-- VkImageMemoryBarrier barrier = {
-- .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
-- .srcAccessMask = GetAccessMask(old_layout),
-- .dstAccessMask = GetAccessMask(new_layout),
-- .oldLayout = old_layout,
-- .newLayout = new_layout,
-- .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-- .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
-- .image = image,
-- .subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,
-- .subresourceRange.baseMipLevel = 0,
-- .subresourceRange.levelCount = 1,
-- .subresourceRange.baseArrayLayer = 0,
-- .subresourceRange.layerCount = 1,
-- };
-+ VkImageMemoryBarrier barrier = {};
-+ barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
-+ barrier.srcAccessMask = GetAccessMask(old_layout);
-+ barrier.dstAccessMask = GetAccessMask(new_layout);
-+ barrier.oldLayout = old_layout;
-+ barrier.newLayout = new_layout;
-+ barrier.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
-+ barrier.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED;
-+ barrier.image = image;
-+ barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
-+ barrier.subresourceRange.baseMipLevel = 0;
-+ barrier.subresourceRange.levelCount = 1;
-+ barrier.subresourceRange.baseArrayLayer = 0;
-+ barrier.subresourceRange.layerCount = 1;
- vkCmdPipelineBarrier(command_buffer_, GetPipelineStageFlags(old_layout),
- GetPipelineStageFlags(new_layout), 0, 0, nullptr, 0,
- nullptr, 1, &barrier);
-@@ -233,17 +232,16 @@
- uint32_t buffer_height,
- uint32_t width,
- uint32_t height) {
-- VkBufferImageCopy region = {
-- .bufferOffset = 0,
-- .bufferRowLength = buffer_width,
-- .bufferImageHeight = buffer_height,
-- .imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT,
-- .imageSubresource.mipLevel = 0,
-- .imageSubresource.baseArrayLayer = 0,
-- .imageSubresource.layerCount = 1,
-- .imageOffset = {0, 0, 0},
-- .imageExtent = {width, height, 1},
-- };
-+ VkBufferImageCopy region = {};
-+ region.bufferOffset = 0;
-+ region.bufferRowLength = buffer_width;
-+ region.bufferImageHeight = buffer_height;
-+ region.imageSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT;
-+ region.imageSubresource.mipLevel = 0;
-+ region.imageSubresource.baseArrayLayer = 0;
-+ region.imageSubresource.layerCount = 1;
-+ region.imageOffset = {0, 0, 0};
-+ region.imageExtent = {width, height, 1};
- vkCmdCopyBufferToImage(command_buffer_, buffer, image,
- VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, &region);
- }
diff --git a/www-client/chromium/files/chromium-76-no-cups.patch b/www-client/chromium/files/chromium-76-no-cups.patch
deleted file mode 100644
index 28732c2b4314..000000000000
--- a/www-client/chromium/files/chromium-76-no-cups.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f768afdd3104e7da663aa82e1e8f969aea3f85c3 Mon Sep 17 00:00:00 2001
-From: Lei Zhang <thestig@chromium.org>
-Date: Thu, 22 Aug 2019 11:44:27 -0700
-Subject: [PATCH] Handle unsupported configs in CreatePrinterHandlerTaskRunner().
-
-CreatePrinterHandlerTaskRunner(), which was added in
-https://crrev.com/658397, used ifdefs to only handle the supported build
-configs. Add a #else case as a catch-all to conservatively handle the
-unsupported configs. Since it is only a couple lines of trivial code,
-doing this does not create much of a maintenance burden.
-
-(backported to chromium-76)
-
-Bug: 990727
-Change-Id: I07bd21abaeffc8223e88b519c3891185d5d2be12
----
-
-diff --git a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
-index 03bd08a..e9c6996 100644
---- a/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
-+++ b/chrome/browser/ui/webui/print_preview/local_printer_handler_default.cc
-@@ -33,12 +33,15 @@ scoped_refptr<base::TaskRunner> CreatePrinterHandlerTaskRunner() {
- static constexpr base::TaskTraits kTraits = {
- base::MayBlock(), base::TaskPriority::USER_VISIBLE};
-
--#if defined(OS_WIN)
-- // Windows drivers are likely not thread-safe.
-- return base::CreateSingleThreadTaskRunnerWithTraits(kTraits);
--#elif defined(USE_CUPS)
-+#if defined(USE_CUPS)
- // CUPS is thread safe.
- return base::CreateTaskRunnerWithTraits(kTraits);
-+#elif defined(OS_WIN)
-+ // Windows drivers are likely not thread-safe.
-+ return base::CreateSingleThreadTaskRunnerWithTraits(kTraits);
-+#else
-+ // Be conservative on unsupported platforms.
-+ return base::CreateSingleThreadTaskRunnerWithTraits(kTraits);
- #endif
- }
-
diff --git a/www-client/chromium/files/chromium-76-quiche.patch b/www-client/chromium/files/chromium-76-quiche.patch
deleted file mode 100644
index f3aa42aa304c..000000000000
--- a/www-client/chromium/files/chromium-76-quiche.patch
+++ /dev/null
@@ -1,239 +0,0 @@
-From 9424add9d73432a794b7944790253213cce6dcb8 Mon Sep 17 00:00:00 2001
-From: danzh <danzh@google.com>
-Date: Thu, 06 Jun 2019 14:04:36 -0700
-Subject: [PATCH] gfe-relnote: (n/a) code cleanup. Fix envoy compile errors.
-
-Add #include header for std library.
-Reference TransportParameters when using its enum TransportParameterId.
-
-PiperOrigin-RevId: 251922363
-Change-Id: Iba38660e5adc3069e377829acec44267658b11c6
----
-
-diff --git a/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc b/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc
-index ee0ebf0..e5df9fe 100644
---- a/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc
-+++ b/net/third_party/quiche/src/quic/core/crypto/transport_parameters.cc
-@@ -62,37 +62,37 @@
- std::string TransportParameterIdToString(
- TransportParameters::TransportParameterId param_id) {
- switch (param_id) {
-- case kOriginalConnectionId:
-+ case TransportParameters::kOriginalConnectionId:
- return "original_connection_id";
-- case kIdleTimeout:
-+ case TransportParameters::kIdleTimeout:
- return "idle_timeout";
-- case kStatelessResetToken:
-+ case TransportParameters::kStatelessResetToken:
- return "stateless_reset_token";
-- case kMaxPacketSize:
-+ case TransportParameters::kMaxPacketSize:
- return "max_packet_size";
-- case kInitialMaxData:
-+ case TransportParameters::kInitialMaxData:
- return "initial_max_data";
-- case kInitialMaxStreamDataBidiLocal:
-+ case TransportParameters::kInitialMaxStreamDataBidiLocal:
- return "initial_max_stream_data_bidi_local";
-- case kInitialMaxStreamDataBidiRemote:
-+ case TransportParameters::kInitialMaxStreamDataBidiRemote:
- return "initial_max_stream_data_bidi_remote";
-- case kInitialMaxStreamDataUni:
-+ case TransportParameters::kInitialMaxStreamDataUni:
- return "initial_max_stream_data_uni";
-- case kInitialMaxStreamsBidi:
-+ case TransportParameters::kInitialMaxStreamsBidi:
- return "initial_max_streams_bidi";
-- case kInitialMaxStreamsUni:
-+ case TransportParameters::kInitialMaxStreamsUni:
- return "initial_max_streams_uni";
-- case kAckDelayExponent:
-+ case TransportParameters::kAckDelayExponent:
- return "ack_delay_exponent";
-- case kMaxAckDelay:
-+ case TransportParameters::kMaxAckDelay:
- return "max_ack_delay";
-- case kDisableMigration:
-+ case TransportParameters::kDisableMigration:
- return "disable_migration";
-- case kPreferredAddress:
-+ case TransportParameters::kPreferredAddress:
- return "preferred_address";
-- case kGoogleQuicParam:
-+ case TransportParameters::kGoogleQuicParam:
- return "google";
-- case kGoogleQuicVersion:
-+ case TransportParameters::kGoogleQuicVersion:
- return "google-version";
- }
- return "Unknown(" + QuicTextUtils::Uint64ToString(param_id) + ")";
-@@ -390,7 +390,7 @@
- CBB original_connection_id_param;
- if (!in.original_connection_id.IsEmpty()) {
- DCHECK_EQ(Perspective::IS_SERVER, in.perspective);
-- if (!CBB_add_u16(&params, kOriginalConnectionId) ||
-+ if (!CBB_add_u16(&params, TransportParameters::kOriginalConnectionId) ||
- !CBB_add_u16_length_prefixed(&params, &original_connection_id_param) ||
- !CBB_add_bytes(
- &original_connection_id_param,
-@@ -412,7 +412,7 @@
- if (!in.stateless_reset_token.empty()) {
- DCHECK_EQ(kStatelessResetTokenLength, in.stateless_reset_token.size());
- DCHECK_EQ(Perspective::IS_SERVER, in.perspective);
-- if (!CBB_add_u16(&params, kStatelessResetToken) ||
-+ if (!CBB_add_u16(&params, TransportParameters::kStatelessResetToken) ||
- !CBB_add_u16_length_prefixed(&params, &stateless_reset_token_param) ||
- !CBB_add_bytes(&stateless_reset_token_param,
- in.stateless_reset_token.data(),
-@@ -438,7 +438,7 @@
-
- // disable_migration
- if (in.disable_migration) {
-- if (!CBB_add_u16(&params, kDisableMigration) ||
-+ if (!CBB_add_u16(&params, TransportParameters::kDisableMigration) ||
- !CBB_add_u16(&params, 0u)) { // 0 is the length of this parameter.
- QUIC_BUG << "Failed to write disable_migration for " << in;
- return false;
-@@ -458,7 +458,7 @@
- QUIC_BUG << "Bad lengths " << *in.preferred_address;
- return false;
- }
-- if (!CBB_add_u16(&params, kPreferredAddress) ||
-+ if (!CBB_add_u16(&params, TransportParameters::kPreferredAddress) ||
- !CBB_add_u16_length_prefixed(&params, &preferred_address_params) ||
- !CBB_add_bytes(
- &preferred_address_params,
-@@ -491,7 +491,7 @@
- if (in.google_quic_params) {
- const QuicData& serialized_google_quic_params =
- in.google_quic_params->GetSerialized();
-- if (!CBB_add_u16(&params, kGoogleQuicParam) ||
-+ if (!CBB_add_u16(&params, TransportParameters::kGoogleQuicParam) ||
- !CBB_add_u16_length_prefixed(&params, &google_quic_params) ||
- !CBB_add_bytes(&google_quic_params,
- reinterpret_cast<const uint8_t*>(
-@@ -505,7 +505,7 @@
-
- // Google-specific version extension.
- CBB google_version_params;
-- if (!CBB_add_u16(&params, kGoogleQuicVersion) ||
-+ if (!CBB_add_u16(&params, TransportParameters::kGoogleQuicVersion) ||
- !CBB_add_u16_length_prefixed(&params, &google_version_params) ||
- !CBB_add_u32(&google_version_params, in.version)) {
- QUIC_BUG << "Failed to write Google version extension for " << in;
-@@ -565,7 +565,7 @@
- }
- bool parse_success = true;
- switch (param_id) {
-- case kOriginalConnectionId:
-+ case TransportParameters::kOriginalConnectionId:
- if (!out->original_connection_id.IsEmpty()) {
- QUIC_DLOG(ERROR) << "Received a second original connection ID";
- return false;
-@@ -581,10 +581,10 @@
- CBS_len(&value));
- }
- break;
-- case kIdleTimeout:
-+ case TransportParameters::kIdleTimeout:
- parse_success = out->idle_timeout_milliseconds.ReadFromCbs(&value);
- break;
-- case kStatelessResetToken:
-+ case TransportParameters::kStatelessResetToken:
- if (!out->stateless_reset_token.empty()) {
- QUIC_DLOG(ERROR) << "Received a second stateless reset token";
- return false;
-@@ -597,36 +597,36 @@
- out->stateless_reset_token.assign(CBS_data(&value),
- CBS_data(&value) + CBS_len(&value));
- break;
-- case kMaxPacketSize:
-+ case TransportParameters::kMaxPacketSize:
- parse_success = out->max_packet_size.ReadFromCbs(&value);
- break;
-- case kInitialMaxData:
-+ case TransportParameters::kInitialMaxData:
- parse_success = out->initial_max_data.ReadFromCbs(&value);
- break;
-- case kInitialMaxStreamDataBidiLocal:
-+ case TransportParameters::kInitialMaxStreamDataBidiLocal:
- parse_success =
- out->initial_max_stream_data_bidi_local.ReadFromCbs(&value);
- break;
-- case kInitialMaxStreamDataBidiRemote:
-+ case TransportParameters::kInitialMaxStreamDataBidiRemote:
- parse_success =
- out->initial_max_stream_data_bidi_remote.ReadFromCbs(&value);
- break;
-- case kInitialMaxStreamDataUni:
-+ case TransportParameters::kInitialMaxStreamDataUni:
- parse_success = out->initial_max_stream_data_uni.ReadFromCbs(&value);
- break;
-- case kInitialMaxStreamsBidi:
-+ case TransportParameters::kInitialMaxStreamsBidi:
- parse_success = out->initial_max_streams_bidi.ReadFromCbs(&value);
- break;
-- case kInitialMaxStreamsUni:
-+ case TransportParameters::kInitialMaxStreamsUni:
- parse_success = out->initial_max_streams_uni.ReadFromCbs(&value);
- break;
-- case kAckDelayExponent:
-+ case TransportParameters::kAckDelayExponent:
- parse_success = out->ack_delay_exponent.ReadFromCbs(&value);
- break;
-- case kMaxAckDelay:
-+ case TransportParameters::kMaxAckDelay:
- parse_success = out->max_ack_delay.ReadFromCbs(&value);
- break;
-- case kDisableMigration:
-+ case TransportParameters::kDisableMigration:
- if (out->disable_migration) {
- QUIC_DLOG(ERROR) << "Received a second disable migration";
- return false;
-@@ -638,7 +638,7 @@
- }
- out->disable_migration = true;
- break;
-- case kPreferredAddress: {
-+ case TransportParameters::kPreferredAddress: {
- uint16_t ipv4_port, ipv6_port;
- in_addr ipv4_address;
- in6_addr ipv6_address;
-@@ -692,7 +692,7 @@
- QuicMakeUnique<TransportParameters::PreferredAddress>(
- preferred_address);
- } break;
-- case kGoogleQuicParam: {
-+ case TransportParameters::kGoogleQuicParam: {
- if (out->google_quic_params) {
- QUIC_DLOG(ERROR) << "Received a second Google parameter";
- return false;
-@@ -701,7 +701,7 @@
- reinterpret_cast<const char*>(CBS_data(&value)), CBS_len(&value));
- out->google_quic_params = CryptoFramer::ParseMessage(serialized_params);
- } break;
-- case kGoogleQuicVersion: {
-+ case TransportParameters::kGoogleQuicVersion: {
- if (!CBS_get_u32(&value, &out->version)) {
- QUIC_DLOG(ERROR) << "Failed to parse Google version extension";
- return false;
-diff --git a/quic/core/quic_socket_address_coder.cc b/quic/core/quic_socket_address_coder.cc
-index 2527fc9..b26103d 100644
---- a/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc
-+++ b/net/third_party/quiche/src/quic/core/quic_socket_address_coder.cc
-@@ -2,10 +2,12 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
-
--#include <string>
--
- #include "net/third_party/quiche/src/quic/core/quic_socket_address_coder.h"
-
-+#include <cstring>
-+#include <string>
-+#include <vector>
-+
- namespace quic {
-
- namespace {
diff --git a/www-client/chromium/files/chromium-77-pulseaudio-13.patch b/www-client/chromium/files/chromium-77-pulseaudio-13.patch
new file mode 100644
index 000000000000..892a3183c9da
--- /dev/null
+++ b/www-client/chromium/files/chromium-77-pulseaudio-13.patch
@@ -0,0 +1,82 @@
+From 7ac85fb4cc6f44a21761a591ac497ae3d6bf966d Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Mon, 23 Sep 2019 13:49:53 +0200
+Subject: [PATCH] Fix building with pulseaudio 13
+
+The function signature changed though the ABI stayed the same.
+
+(Modified to apply on chromium sources too)
+
+Change-Id: I86ca361b5e4f0c523e1031910df438c23beee876
+Fixes: QTBUG-77037
+Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
+---
+
+diff --git a/media/audio/pulse/pulse.sigs b/media/audio/pulse/pulse.sigs
+index 8b58887..daaeb14 100644
+--- a/media/audio/pulse/pulse.sigs
++++ b/media/audio/pulse/pulse.sigs
+@@ -24,11 +24,11 @@
+ pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
+ pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
+ pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
+-pa_context_state_t pa_context_get_state(pa_context* c);
++pa_context_state_t pa_context_get_state(const_pa_context_ptr c);
+ pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
+ pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
+ void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
+-pa_operation_state_t pa_operation_get_state(pa_operation* o);
++pa_operation_state_t pa_operation_get_state(const_pa_operation_ptr o);
+ void pa_context_unref(pa_context* c);
+ void pa_operation_unref(pa_operation* o);
+ int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
+@@ -38,23 +38,23 @@
+ int pa_stream_disconnect(pa_stream* s);
+ int pa_stream_drop(pa_stream *p);
+ pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
+-uint32_t pa_stream_get_device_index(pa_stream* s);
++uint32_t pa_stream_get_device_index(const_pa_stream_ptr s);
+ int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
+-pa_stream_state_t pa_stream_get_state(pa_stream* p);
++pa_stream_state_t pa_stream_get_state(const_pa_stream_ptr p);
+ pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
+ pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
+ pa_proplist* pa_proplist_new(void);
+-int pa_proplist_contains(pa_proplist* p, const char* key);
++int pa_proplist_contains(const_pa_proplist_ptr p, const char* key);
+ void pa_proplist_free(pa_proplist* p);
+-const char* pa_proplist_gets(pa_proplist* p, const char* key);
++const char* pa_proplist_gets(const_pa_proplist_ptr p, const char* key);
+ int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
+-size_t pa_stream_readable_size(pa_stream *p);
++size_t pa_stream_readable_size(const_pa_stream_ptr p);
+ int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
+ void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
+ void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
+ int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
+ void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
+ void pa_stream_unref(pa_stream* s);
+-int pa_context_errno(pa_context *c);
++int pa_context_errno(const_pa_context_ptr c);
+ const char* pa_strerror(int error);
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
+diff --git a/chromium/media/audio/pulse/pulse_stub_header.fragment b/chromium/media/audio/pulse/pulse_stub_header.fragment
+index 2a2d3e7..cdaa841 100644
+--- a/media/audio/pulse/pulse_stub_header.fragment
++++ b/media/audio/pulse/pulse_stub_header.fragment
+@@ -5,4 +5,15 @@
+
+ #include <pulse/pulseaudio.h>
+
++#if PA_MAJOR > 12
++typedef const pa_context* const_pa_context_ptr;
++typedef const pa_operation* const_pa_operation_ptr;
++typedef const pa_proplist* const_pa_proplist_ptr;
++typedef const pa_stream* const_pa_stream_ptr;
++#else
++typedef pa_context* const_pa_context_ptr;
++typedef pa_operation* const_pa_operation_ptr;
++typedef pa_proplist* const_pa_proplist_ptr;
++typedef pa_stream* const_pa_stream_ptr;
++#endif
+ }