diff --git a/gnu/local.mk b/gnu/local.mk index ba5af56bd9..dfe3ff5fc3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -774,10 +774,6 @@ dist_patch_DATA = \ %D%/packages/patches/hwloc-tests-without-sysfs.patch \ %D%/packages/patches/hydra-disable-darcs-test.patch \ %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ - %D%/packages/patches/icecat-bug-1348660-pt5.patch \ - %D%/packages/patches/icecat-bug-1415133.patch \ - %D%/packages/patches/icecat-bug-1414945.patch \ - %D%/packages/patches/icecat-bug-1424373-pt2.patch \ %D%/packages/patches/icecat-use-system-graphite2.patch \ %D%/packages/patches/icecat-use-system-harfbuzz.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 8d9573fb81..e3f1bfe8c0 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -401,7 +401,7 @@ (define (mozilla-patch file-name changeset hash) (define-public icecat (package (name "icecat") - (version "52.3.0-gnu1") + (version "52.6.0-gnu1") (source (origin (method url-fetch) @@ -410,7 +410,7 @@ (define-public icecat "/" name "-" version ".tar.bz2")) (sha256 (base32 - "00jki754d6310fxj1b7dbhqj69y5igck6gqg6rgfya243nsb56k9")) + "09fn54glqg1aa93hnz5zdcy07cps09dbni2b4200azh6nang630a")) (patches (list (search-patch "icecat-avoid-bundled-libraries.patch") @@ -418,120 +418,7 @@ (define-public icecat (search-patch "icecat-use-system-graphite2.patch") (mozilla-patch "icecat-bug-546387.patch" "d13e3fefb76e" "1b760r0bg2ydbl585wlmajljh1nlisrwxvjws5b28a3sgjy01i6k") (mozilla-patch "icecat-bug-1350152.patch" "f822bda79c28" "1wf56169ca874shr6r7qx40s17h2gwj7ngmpyylrpmd1c6hipvsj") - (mozilla-patch "icecat-bug-1388166.patch" "fbb0bdb191d5" "1y8wpj38vw1dd6f375s9i0mrk9bd8z8gz5g70p4qynfllpkn072d") - (mozilla-patch "icecat-CVE-2017-7810-pt1.patch" "fbddb5cdd3c7" "0k5nyl2z1y2rx9fwqyfj64678yv6v3pnmshgk552pbzqmaf8i1hq") - (mozilla-patch "icecat-CVE-2017-7810-pt2.patch" "76c25987a275" "095b9vwsiza9ikbnnppfcld16h75x5bxjfxc73913y04n0i42ifh") - (mozilla-patch "icecat-CVE-2017-7810-pt3.patch" "32eec29a85a5" "057simakqg56jvas1wkskg5kszn96m74nca26x08d5w7rzmbv1q2") - (mozilla-patch "icecat-bug-1373222.patch" "ecef71fa933f" "0vsymgy5j702lamvh2riahni7rdj9ba3bd6i4a2m22d638rwp1i2") - (mozilla-patch "icecat-CVE-2017-7814.patch" "68a444daf85b" "1faaadaajidzb9i00710zxdyv370hlrdg1l5rw2ymfmzbjj4jqyd") - (mozilla-patch "icecat-bug-1376825.patch" "eeeec9cafc4e" "188qf6zi9kyxb33330yia6wmrd5mdyqn5hr1cl38zy7m3akv8srh") - (mozilla-patch "icecat-bug-1385272.patch" "d68fa12fbffc" "13gh97vz9n2b7303jcvr1072iy8bghy9chvbmxzvw82prvkscavw") - (mozilla-patch "icecat-bug-1390002.patch" "c24e6fc9f689" "0aswhy5fz2f6wzd5j5gg3nqvz707ip344089h2z2chcp146vxmf4") - (mozilla-patch "icecat-CVE-2017-7810-pt4.patch" "ae110cf77596" "0gdrkfq9wy9cfcdgbj14ci86xgh2prkbz69pfy97r9igd8059syw") - (mozilla-patch "icecat-CVE-2017-7810-pt5.patch" "b8417112486d" "1hya6lccz7vm51v4f6ww072794cwzmfn9xhxmvrnqbiyspxx5fz4") - (mozilla-patch "icecat-bug-1386905.patch" "badbf4308211" "0fj1pyjqfdsbrlfykwmkzav2nvdj1f4grwq3cal9f7ay6wjnfs9b") - (mozilla-patch "icecat-CVE-2017-7810-pt6.patch" "d78675515c78" "03w5hqy40xkckbaf5bm9kdbdqvp9ffvpk9mlrc9lja6b7qa4pjhg") - (mozilla-patch "icecat-bug-1382303.patch" "f01155fe4d54" "0hnz1kvmvspg6453kydsklbvrjgzn8x3djvrym3f2xl2yinaf90d") - (mozilla-patch "icecat-bug-1393467.patch" "4eec2a60622c" "1h006mwcsagq7mz7haymwgr7fn4zj14n5lxbjcmhdqrxdvma2hjj") - (mozilla-patch "icecat-bug-1384801.patch" "9556e792f905" "0i74r807189s8i78483caiifw68cn7fs543i4cys6k3gn12dhhjy") - (mozilla-patch "icecat-CVE-2017-7823.patch" "bd284765b5bc" "1c4hss87kc4qwx30magbqczm9h7zmwirjfc8zimqbrnwv9bbsfh3") - (mozilla-patch "icecat-CVE-2017-7805.patch" "113da8d46aa4" "1vy0lw659mwixmb57mgybga152rdwqd5zj1g7nfw1zgp15pfwr75") - (mozilla-patch "icecat-bug-1376399.patch" "58a574502ca9" "1zmg91pg0s5nwngc32a4fywidvxyaayvx1h052fsv0i4cfm16l9v") - (mozilla-patch "icecat-bug-1396570.patch" "24db61862c54" "0af1jjfma042xvn0xhgims1yvb2b51nhn4m0pcfwg3fn0llmka03") - (mozilla-patch "icecat-CVE-2017-7819.patch" "1a02f11c6efe" "18a9qvdvrqw34qw3lljg6gkn358jl23lyimhmbc964023rhs36sz") - (mozilla-patch "icecat-CVE-2017-7810-pt7.patch" "002686d9536f" "065g0d759wfiaj69b1sqg7l08p2knc0q9m9hvkgwwsf0r78xcbjj") - (mozilla-patch "icecat-CVE-2017-7810-pt8.patch" "eaadb31758d8" "0b3k3la6ykac5mbp9gyqqgjbmj19vx9sl1b0wp387qar0p12nyaz") - (mozilla-patch "icecat-bug-1368269.patch" "0cff5e66e0f4" "0jb0wqi7c0ih4441s1908j6gv18v4inh7k2w47h3c9nhz4rgyrw7") - (mozilla-patch "icecat-CVE-2017-7793.patch" "6ff3c82962f0" "0bw82034kdmrpznigbavzzsiybzrw8giyf8v0z2cxf6mwl72bf9k") - (mozilla-patch "icecat-bug-1400399.patch" "d6f78b1349b7" "0i3gwr2al3xl65yfa3nimvy8dp0jzpx21f6bjw18xwn7zkkh9j54") - (mozilla-patch "icecat-bug-1400721.patch" "285cde398833" "0a1i32zl30wfyw7zkqj595s94n6wdlg5c495m0910pd05pjg3qam") - (mozilla-patch "icecat-CVE-2017-7826-pt01.patch" "98b3988592a6" "03wy173lj6mvmh5q92brf596h8676h0zasgqfnndpvsmsiaih120") - (mozilla-patch "icecat-CVE-2017-7826-pt02.patch" "47590f0c274b" "0zsys6dcyhfb4a8k2dhsls7425jg6r1ijlrsn1lc5smwyf62zx5v") - (mozilla-patch "icecat-CVE-2017-7826-pt03.patch" "55b435cbbb55" "1gcasaqrxa13a55v05bkxl3d1md829kpfhqiaws83wn08x28l0my") - (mozilla-patch "icecat-CVE-2017-7826-pt04.patch" "8549cf2dab3e" "168gs32ncavaj9xn4gwhh9i01cbpnhgx9yn333apsrc1gwknpvsr") - (mozilla-patch "icecat-CVE-2017-7826-pt05.patch" "349acf56ff49" "1vwn87rdryfjsn809pl50xmr82q98gz3vz9h6clkd905vbd9rwz7") - (mozilla-patch "icecat-CVE-2017-7826-pt06.patch" "3af5bf8bdea0" "07az28dnpxr36j7i3llxkrlkrmg0bwk4f3sm75x1f0r1v5575p3p") - (mozilla-patch "icecat-CVE-2017-7826-pt07.patch" "592df6088926" "1gy27idik4b6wcg4szww08cmpcljssja8wql6w1d807h7ni65lr7") - (mozilla-patch "icecat-CVE-2017-7826-pt08.patch" "77a2d4610275" "13ysbwflnysj4rs45ibckd621s0vyg1s8dvannlvanvrz1g72zcz") - (mozilla-patch "icecat-CVE-2017-7826-pt09.patch" "2b30335d0b95" "0hs5cwickvfw7r5dn7y148jgr2b21hl613qp83k56634d0y64qwp") - (mozilla-patch "icecat-CVE-2017-7826-pt10.patch" "d6f008f95598" "0xclxrbg7pv8pa2j15p0gy9c8sigy2i9j0kvazl5fbyg6jsg3xgd") - (mozilla-patch "icecat-CVE-2017-7826-pt11.patch" "ab9b51cd75ac" "08jy3rbkyh934aw261ls0s87947d2mhss7xqk1xfdir9crij2g27") - (mozilla-patch "icecat-bug-1343147-pt1.patch" "971d6345bc3a" "13791cvc51i991i5qyz6gp94vwzwkx479bnr8fsf8dw7z72wrsch") - (mozilla-patch "icecat-bug-1343147-pt2.patch" "60df7db06669" "0r372g1zksvkzyz0qpq0mp30frilgsfxxx2xida8xc08wgxp5lh9") - (mozilla-patch "icecat-CVE-2017-7826-pt12.patch" "df49c25e6e4c" "0j77xbkxpflqf4jlccrv61vq0jgp4lfn8kb0zw1lswp3cyd6ml4i") - (mozilla-patch "icecat-CVE-2017-7826-pt13.patch" "3b899f872623" "01zjcpm8yp4s8yf4mj1bzq01aylmi69kd8qv0rrcl9hmj4g3pzr2") - (mozilla-patch "icecat-CVE-2017-7826-pt14.patch" "3d6d558ae6a6" "17wynknvs5wi7m9g5vn43rjmivbg1l6pnv8jymz1ccidy27qgdqi") - (mozilla-patch "icecat-CVE-2017-7826-pt15.patch" "8426754b7130" "0bbm2294bkvld55rdbpsc8b82ljqdcxpbg6cwdzvwfhqayl2pnqm") - (mozilla-patch "icecat-CVE-2017-7828-pt1.patch" "5ddd5d2aa769" "12z5i8h6qwjb1h1fvp2426bgsnsxx539d8k2is9x1q4133356niy") - (mozilla-patch "icecat-CVE-2017-7826-pt16.patch" "dd068f4e132a" "17qy9c1vfkz3pj6y8qmqbic73wrangsbdlylk2s54nbzhhp9cj1g") - (mozilla-patch "icecat-CVE-2017-7826-pt17.patch" "e6bd533b57e9" "1mmqav9yhxd0j47yffcdykaqjibfwjsk0jn0f44099s87y8qn9zy") - (mozilla-patch "icecat-CVE-2017-7826-pt18.patch" "2a87fb6b9c07" "0z0scw4y1vqhqkbw1ag14g8xrif14l95x7fd50q2sw425lli29lc") - (mozilla-patch "icecat-bug-1404910.patch" "5007f2472f64" "0ns1l4yipwbb52sps2xzg30qd1rkpwykxq4chjg3wllhmcxbvvpw") - (mozilla-patch "icecat-CVE-2017-7830.patch" "04e3b5c1f0b2" "0nmv3jnx94ykxg64xkiwc8kx4df8zw7y5yzjnxz1sll2v88b9hmf") - (mozilla-patch "icecat-CVE-2017-7828-pt2.patch" "2f48c03d9b3f" "16qdy3rahmkhsjnzqjcgzg1a4k7czd40m04gs9i75cd88kbripri") - (mozilla-patch "icecat-bug-1348660-pt1.patch" "a352bfcbaf55" "1j3kxnhci9fh3lj8rizbcfv8xzn5kikxwpfy8a091d51sdn20873") - (mozilla-patch "icecat-bug-1348660-pt2.patch" "57f43e2ab9b5" "1jva4y79zb85npak3mddrx5rsf4mxczb314kcr8yhlkwqv0nx5sp") - (mozilla-patch "icecat-bug-1348660-pt3.patch" "917d65bb8896" "0k29y8i96lanqjjm6vybg0s6gjbk1mz5bfnga6aj1g0hnb7c3s8d") - (mozilla-patch "icecat-bug-1348660-pt4.patch" "28934912eede" "1mhxw26050l3d09n8w912a86df87afcshvsk9k1k375anfk0927x") - (search-patch "icecat-bug-1348660-pt5.patch") - (mozilla-patch "icecat-bug-1348660-pt6.patch" "556ff3bfb9fc" "0kckjc8jp885xfaiwx2b9qnk1plqjhi0mwhjjcmfajvh3l3mrl8h") - (mozilla-patch "icecat-bug-1350564.patch" "2abf26abb2a2" "0axdzp9g9k74wpkwrsdx263h01sv9bd3rarhhl68xnvc7n6i45lx") - (mozilla-patch "icecat-bug-1404787.patch" "8335e1d7b140" "17d7kb8ginzflhdkrbi60vh2b907spbzmvwih7a595gqpihmnqqn") - (mozilla-patch "icecat-CVE-2017-7826-pt19.patch" "de336078d36b" "0gyzbap8hr1iywk0x2x0h7z7zp7q89hi56h8c03vvc7771dkvjkf") - (mozilla-patch "icecat-bug-1047098-pt1.patch" "088577f0c46e" "0y3sz6kx07ls7jsvhqhhrl6v69a94wqvv3lz7hnplah23y06h17z") - (mozilla-patch "icecat-bug-1047098-pt2.patch" "c7e3abf74023" "11dcjzx56v4yb2dvm23j2g86q8yva2hc69lmb7s5w18l6ygwwhzr") - (mozilla-patch "icecat-bug-1047098-pt3.patch" "36bd15d14c5a" "0cb3l3hpsgk674f08kfamxhqfga3ah5v904gpxq9ag006vzd2cxz") - (mozilla-patch "icecat-bug-1404105.patch" "2909ba991f31" "126vssj57dc800347f075wlnjzcwamnxxmgxl9w78jpb0hj9gf16") - (search-patch "icecat-bug-1415133.patch") - (mozilla-patch "icecat-bug-1355576.patch" "cf34a0574e58" "1z7sa1d12hypgivm5xxn32s58afpjcij97jvnafcgnfvxywrgr1m") - (mozilla-patch "icecat-CVE-2017-7843.patch" "f6216ea8b8fc" "0jnhdkj0ch9mj01mzlvhjgf8zsxlbg6m7yvpq99qr7xmg0pzbgwl") - (mozilla-patch "icecat-bug-1413741.patch" "4e00ce2897c4" "0k95vi31glia2i03djidkc0gkwp9qldy34fz1rxcj56a1iphbq7w") - (mozilla-patch "icecat-CVE-2018-5089-pt01.patch" "92d450811409" "0xsvggnr0y65nd52nkbjvpcbs5nd84pvbayk5vinbx1mnk2wh2vy") - (mozilla-patch "icecat-CVE-2018-5089-pt02.patch" "7eba7d14704a" "1vi17qmjzh3kji14iz370kvs4425asgp93ns2chf5ldlq5b9196g") - (mozilla-patch "icecat-CVE-2018-5089-pt03.patch" "457d023c167e" "11g8hg8yp20lsn52dx1ym8r4yjsnsmx0h182d6nbl6ab9wp7d1m9") - (mozilla-patch "icecat-CVE-2018-5089-pt04.patch" "5e7b16213198" "14c4x6c3mygf8p77n9bia5rndjpngbvik1r1ylk97k3ggy4fj6zh") - (mozilla-patch "icecat-CVE-2018-5102.patch" "0712b6cbbdc8" "0rllsq6ckpms7g9k6qky1gr5rz1gav4widrha6w1s9f88cbrqgk5") - (mozilla-patch "icecat-CVE-2018-5089-pt05.patch" "084c427ccf99" "0sjdy2iang09a9g6liavpjgry04dp6smjgj0y7lp5lfqijdr8q2d") - (mozilla-patch "icecat-CVE-2018-5089-pt06.patch" "1bfb3d8d4510" "0c2dcxj74ijs6qf9sqcbj8w998hblic66vy41818z7xnw46j5j1j") - (mozilla-patch "icecat-bug-1414425.patch" "5623e01e63a8" "08dn3v96bsb61hy3wfxz43fhn1mk9vlm5ydvdjgi3wiqadvacgzs") - (mozilla-patch "icecat-CVE-2018-5089-pt07.patch" "14a389d40329" "0f4gbak5bd2walxrxs3myig28v9lhvplf3a1nws1a4ajx80slzq1") - (mozilla-patch "icecat-bug-1415441.patch" "7339297cddb7" "017lbw0mn5rwzb2abfw6qrk07m3r96vwbj81cmqvdfnmprcjni5j") - (mozilla-patch "icecat-CVE-2018-5096.patch" "aa55d4cdaee5" "1l3qwjfx0jsbbw2dg8bsnx7k47zibamgswndq0d1bchnmary62aw") - (mozilla-patch "icecat-bug-1382358.patch" "762f4e53889a" "0n61zrb6rz9bhhdsqs5ziwaiy81pq52c76p9qmi9hrxbn24ism1k") - (mozilla-patch "icecat-CVE-2018-5089-pt08.patch" "0152d097672f" "16ybg718calvciv00kil8s97lhh11hj6gx0acf73r44xfkvm8nfg") - (search-patch "icecat-bug-1414945.patch") - (mozilla-patch "icecat-CVE-2018-5089-pt09.patch" "079356ed5317" "107c0b93g2k743wvhwz2ps3j6p09qld7d0raljijv5y5n8q4wp92") - (mozilla-patch "icecat-CVE-2018-5089-pt10.patch" "93e4994a892c" "00r2qxw3619529vy9d04dl9kcziqy3fv3iawgy9svzygyx1kj5wx") - (mozilla-patch "icecat-CVE-2018-5089-pt11.patch" "f8a6e1864832" "1wbxn0v50637yjg8b8675k01x9cyx95jpjxpyqfaa97762qkznba") - (mozilla-patch "icecat-CVE-2018-5089-pt12.patch" "0cc1c9068714" "1qmqpi14zs7c95k3c7396gpp6apb622k0mgv553kw4rr81nj1yac") - (mozilla-patch "icecat-CVE-2018-5095.patch" "ce6f3fb2bf58" "1b1msb5d5jsgrqa2hkbsrm0n54qdmx1b2bf65v44v17appa03lra") - (mozilla-patch "icecat-CVE-2018-5103.patch" "6b4d3c5d5e51" "074p93dhwr1ckhypkjpblnmg9hg44a9030g1glqffi9dyn3iq3k4") - (mozilla-patch "icecat-bug-1411745.patch" "1a510ee578a0" "1imb7glh2m1zwvvpvr4k4iddms5byqzr35j7kv3y5is77aiwl4z5") (mozilla-patch "icecat-bug-1411708.patch" "34c968767eb7" "0l2jy201ikj3m3h66mvlsj4y0ki7cpm7x7nnfygbwnfxg42s1sip") - (mozilla-patch "icecat-CVE-2018-5091.patch" "bc166be85bb4" "0w1lrjzfrfflaw4l6sfi3ir81iyi9gyfck5g41dwp0jc1b59jzvg") - (mozilla-patch "icecat-CVE-2018-5089-pt13.patch" "66cfc3c4047d" "05j8ic4lv2d2ygr6d62rkdlfyg2rpljalwrkkhllinw2dfi3n15b") - (mozilla-patch "icecat-CVE-2018-5098.patch" "3236ffdf0ced" "1kvk4qyslaj1ldgs1wpxnf79zajcihzcd1zvbrg990i3hgyn3gk3") - (mozilla-patch "icecat-bug-1424373-pt1.patch" "320032aaa068" "1ch282qibprz1q0f2imvynh4sg7gads6sf3ayhjcd62zjncpgyz7") - (search-patch "icecat-bug-1424373-pt2.patch") - (mozilla-patch "icecat-CVE-2018-5089-pt14.patch" "c2945f1249eb" "18p0344w6grpyfiz8dczfw977p0qy37iqv95whgnrjli2ab51kji") - (mozilla-patch "icecat-CVE-2018-5117-pt1.patch" "263165eacc54" "0518xnd9f4qkn7l0z73kldm9dr33y6hf054ril4f8r2j8s9fy33i") - (mozilla-patch "icecat-CVE-2018-5117-pt2.patch" "58e87d9cc44e" "0j9qwjm25bmhw0sj426yl4fqaa6zknf5cjk0yisdd3895652n5i4") - (mozilla-patch "icecat-CVE-2018-5089-pt15.patch" "aa4b11615431" "0whfvwaj3dmk89ah2kbv7zz7a8ckqa0xajf5fl12bgl7q8c8ndnm") - (mozilla-patch "icecat-CVE-2018-5104.patch" "66761c5bfbe1" "076128pxc7ik1zq2v0d5m6vd7nls2030jzdc4w0ggy8hd5yyb8g9") - (mozilla-patch "icecat-bug-1408631.patch" "6f5c8df1925d" "1hgr18p5dwhlsan6jxlj3ay7cbfyywk40bpbnjc8gqmq6y25cn48") - (mozilla-patch "icecat-bug-1422735.patch" "b88ef76f5687" "0rzpxfrhddc0238rq3r1b02j95g0rdplk1fjmk85m51xvggh9086") - (mozilla-patch "icecat-bug-1261963.patch" "d0c98f5b6c12" "1z9jn19hnwjand9c0ifc39gq71nz17jjqy2s5fqr2z06y8qys62h") - (mozilla-patch "icecat-CVE-2018-5089-pt16.patch" "f7865afb1fe6" "0i7ydmcr1g0ih3myyxaxjq6wfg3rvq5j4893kjqksqihfqrkzs4j") - (mozilla-patch "icecat-CVE-2018-5097.patch" "9fb7614319df" "1xirahk06w8pyw4pdh64f4pg3qcb7c8x8frrmad2895fagy14g4k") - (mozilla-patch "icecat-mitigate-spectre.patch" "81d6465bd7c2" "1za5l249pb5x7f283vrimy0ankjzvwa99hfql3v4fm5a4grjkj9n") - (mozilla-patch "icecat-CVE-2018-5089-pt17.patch" "5f753161df25" "1k2mpwagz08wzxfzwy2b4a0pz0hkhdqby6n11i7pasx3ary670km") - (mozilla-patch "icecat-CVE-2018-5099.patch" "b95d654de120" "1cv7nz2gsyjjigw6wv4xagh8q6bcg0971md8b6xjvz5m26aynlaw") - (mozilla-patch "icecat-bug-1408631.patch" "3b1faddc0e5f" "0817x5mrdyjj0gc9yi19m6d78d18ypc9nbld64d2axhc8v9bz3xf") - (mozilla-patch "icecat-glibc-2.26.patch" "57d4fae4dffe" "1sv7kp7m4i7n31ny8k7cpjsrqpxh5y5jm27sh2cgpj7fhi5kqsj2") - (mozilla-patch "icecat-CVE-2018-5089-pt18.patch" "fe271a2b9503" "11wr8mdxw01dlmzkq55hf0qd52cwmx4vk96cff66d4kkl1dbj6qn") - (mozilla-patch "icecat-CVE-2018-5089-pt19.patch" "410da936a1e8" "14dvaysz0svlh50kdabjhd2s5avz6p93sbyqhwik5rlvcg5ax5zp") - (mozilla-patch "icecat-CVE-2018-5089-pt20.patch" "8368a9a379e3" "0fqq01ms7m4kb9b10n8gy5n9n4x43crz2gn1r6c4ny52wzgm3j6f") - (mozilla-patch "icecat-CVE-2018-5089-pt21.patch" "a7c8e85285e2" "1caa2w5r8rqb1qrk4mgf2vw1k592idvqmgs8qfz2dp2744kk6z98") (mozilla-patch "icecat-bug-1375217.patch" "00fc630c9a46" "17pcprp452nslk6sac6sili0p74zh8w3g0v1wsdn0ikm9xmnphhv") (mozilla-patch "icecat-bug-1261175.patch" "f0ec180993d2" "0jiazxcwki83wr00fyh2g518ynsd33p7nk65zk4d1682gn22lc8v") (mozilla-patch "icecat-bug-1433005.patch" "a6a9e26688c1" "0cvizvilb4k422j2gzqcbakznvsffmk6n6xn1ayj5rgxfaizkkqk") diff --git a/gnu/packages/patches/icecat-bug-1348660-pt5.patch b/gnu/packages/patches/icecat-bug-1348660-pt5.patch deleted file mode 100644 index b0bede3b38..0000000000 --- a/gnu/packages/patches/icecat-bug-1348660-pt5.patch +++ /dev/null @@ -1,727 +0,0 @@ -This is a subset of the following changeset from upstream: - https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/5e07bd37ac61 - -This excludes all test code from that changeset, including a GIT binary patch -that is not supported by Guix's patch-and-repack mechanism. - -# HG changeset patch -# User Jan Varga -# Date 1490181244 -3600 -# Node ID 5e07bd37ac6162f218dfe03ed83b5dcca9653b68 -# Parent 28934912eede9e14895baf4af7575ca9639f59ee -Bug 1348660 - Part 5: Implement a method to retrieve usage data for all origins at once. r=btseng, a=lizzard - -diff --git a/dom/quota/ActorsChild.cpp b/dom/quota/ActorsChild.cpp ---- a/dom/quota/ActorsChild.cpp -+++ b/dom/quota/ActorsChild.cpp -@@ -137,16 +137,52 @@ QuotaUsageRequestChild::HandleResponse(n - AssertIsOnOwningThread(); - MOZ_ASSERT(NS_FAILED(aResponse)); - MOZ_ASSERT(mRequest); - - mRequest->SetError(aResponse); - } - - void -+QuotaUsageRequestChild::HandleResponse(const nsTArray& aResponse) -+{ -+ AssertIsOnOwningThread(); -+ MOZ_ASSERT(mRequest); -+ -+ RefPtr variant = new nsVariant(); -+ -+ if (aResponse.IsEmpty()) { -+ variant->SetAsEmptyArray(); -+ } else { -+ nsTArray> usageResults; -+ -+ const uint32_t count = aResponse.Length(); -+ -+ usageResults.SetCapacity(count); -+ -+ for (uint32_t index = 0; index < count; index++) { -+ auto& originUsage = aResponse[index]; -+ -+ RefPtr usageResult = new UsageResult(originUsage.origin(), -+ originUsage.persisted(), -+ originUsage.usage()); -+ -+ usageResults.AppendElement(usageResult.forget()); -+ } -+ -+ variant->SetAsArray(nsIDataType::VTYPE_INTERFACE_IS, -+ &NS_GET_IID(nsIQuotaUsageResult), -+ usageResults.Length(), -+ static_cast(usageResults.Elements())); -+ } -+ -+ mRequest->SetResult(variant); -+} -+ -+void - QuotaUsageRequestChild::HandleResponse(const OriginUsageResponse& aResponse) - { - AssertIsOnOwningThread(); - MOZ_ASSERT(mRequest); - - RefPtr result = - new OriginUsageResult(aResponse.usage(), - aResponse.fileUsage(), -@@ -177,16 +213,20 @@ QuotaUsageRequestChild::Recv__delete__(c - AssertIsOnOwningThread(); - MOZ_ASSERT(mRequest); - - switch (aResponse.type()) { - case UsageRequestResponse::Tnsresult: - HandleResponse(aResponse.get_nsresult()); - break; - -+ case UsageRequestResponse::TAllUsageResponse: -+ HandleResponse(aResponse.get_AllUsageResponse().originUsages()); -+ break; -+ - case UsageRequestResponse::TOriginUsageResponse: - HandleResponse(aResponse.get_OriginUsageResponse()); - break; - - default: - MOZ_CRASH("Unknown response type!"); - } - -diff --git a/dom/quota/ActorsChild.h b/dom/quota/ActorsChild.h ---- a/dom/quota/ActorsChild.h -+++ b/dom/quota/ActorsChild.h -@@ -93,16 +93,19 @@ private: - - // Only destroyed by QuotaChild. - ~QuotaUsageRequestChild(); - - void - HandleResponse(nsresult aResponse); - - void -+ HandleResponse(const nsTArray& aResponse); -+ -+ void - HandleResponse(const OriginUsageResponse& aResponse); - - // IPDL methods are only called by IPDL. - virtual void - ActorDestroy(ActorDestroyReason aWhy) override; - - virtual bool - Recv__delete__(const UsageRequestResponse& aResponse) override; -diff --git a/dom/quota/ActorsParent.cpp b/dom/quota/ActorsParent.cpp ---- a/dom/quota/ActorsParent.cpp -+++ b/dom/quota/ActorsParent.cpp -@@ -1039,16 +1039,42 @@ private: - // IPDL methods. - void - ActorDestroy(ActorDestroyReason aWhy) override; - - bool - RecvCancel() override; - }; - -+class GetUsageOp final -+ : public QuotaUsageRequestBase -+{ -+ nsTArray mOriginUsages; -+ nsDataHashtable mOriginUsagesIndex; -+ -+ bool mGetAll; -+ -+public: -+ explicit GetUsageOp(const UsageRequestParams& aParams); -+ -+private: -+ ~GetUsageOp() -+ { } -+ -+ nsresult -+ TraverseRepository(QuotaManager* aQuotaManager, -+ PersistenceType aPersistenceType); -+ -+ nsresult -+ DoDirectoryWork(QuotaManager* aQuotaManager) override; -+ -+ void -+ GetResponse(UsageRequestResponse& aResponse) override; -+}; -+ - class GetOriginUsageOp final - : public QuotaUsageRequestBase - { - // If mGetGroupUsage is false, we use mUsageInfo to record the origin usage - // and the file usage. Otherwise, we use it to record the group usage and the - // limit. - UsageInfo mUsageInfo; - -@@ -5693,16 +5719,20 @@ PQuotaUsageRequestParent* - Quota::AllocPQuotaUsageRequestParent(const UsageRequestParams& aParams) - { - AssertIsOnBackgroundThread(); - MOZ_ASSERT(aParams.type() != UsageRequestParams::T__None); - - RefPtr actor; - - switch (aParams.type()) { -+ case UsageRequestParams::TAllUsageParams: -+ actor = new GetUsageOp(aParams); -+ break; -+ - case UsageRequestParams::TOriginUsageParams: - actor = new GetOriginUsageOp(aParams); - break; - - default: - MOZ_CRASH("Should never get here!"); - } - -@@ -6033,16 +6063,189 @@ QuotaUsageRequestBase::RecvCancel() - if (mCanceled.exchange(true)) { - NS_WARNING("Canceled more than once?!"); - return false; - } - - return true; - } - -+GetUsageOp::GetUsageOp(const UsageRequestParams& aParams) -+ : mGetAll(aParams.get_AllUsageParams().getAll()) -+{ -+ AssertIsOnOwningThread(); -+ MOZ_ASSERT(aParams.type() == UsageRequestParams::TAllUsageParams); -+} -+ -+nsresult -+GetUsageOp::TraverseRepository(QuotaManager* aQuotaManager, -+ PersistenceType aPersistenceType) -+{ -+ AssertIsOnIOThread(); -+ MOZ_ASSERT(aQuotaManager); -+ -+ nsresult rv; -+ -+ nsCOMPtr directory = -+ do_CreateInstance(NS_LOCAL_FILE_CONTRACTID, &rv); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ rv = directory->InitWithPath(aQuotaManager->GetStoragePath(aPersistenceType)); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ bool exists; -+ rv = directory->Exists(&exists); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ if (!exists) { -+ return NS_OK; -+ } -+ -+ nsCOMPtr entries; -+ rv = directory->GetDirectoryEntries(getter_AddRefs(entries)); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ bool persistent = aPersistenceType == PERSISTENCE_TYPE_PERSISTENT; -+ -+ bool hasMore; -+ while (NS_SUCCEEDED((rv = entries->HasMoreElements(&hasMore))) && -+ hasMore && !mCanceled) { -+ nsCOMPtr entry; -+ rv = entries->GetNext(getter_AddRefs(entry)); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ nsCOMPtr originDir = do_QueryInterface(entry); -+ MOZ_ASSERT(originDir); -+ -+ bool isDirectory; -+ rv = originDir->IsDirectory(&isDirectory); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ if (!isDirectory) { -+ nsString leafName; -+ rv = originDir->GetLeafName(leafName); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ if (!leafName.EqualsLiteral(DSSTORE_FILE_NAME)) { -+ QM_WARNING("Something (%s) in the repository that doesn't belong!", -+ NS_ConvertUTF16toUTF8(leafName).get()); -+ } -+ continue; -+ } -+ -+ int64_t timestamp; -+ nsCString suffix; -+ nsCString group; -+ nsCString origin; -+ bool isApp; -+ rv = aQuotaManager->GetDirectoryMetadata2WithRestore(originDir, -+ persistent, -+ ×tamp, -+ suffix, -+ group, -+ origin, -+ &isApp); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ if (!mGetAll && -+ aQuotaManager->IsOriginWhitelistedForPersistentStorage(origin)) { -+ continue; -+ } -+ -+ OriginUsage* originUsage; -+ -+ // We can't store pointers to OriginUsage objects in the hashtable -+ // since AppendElement() reallocates its internal array buffer as number -+ // of elements grows. -+ uint32_t index; -+ if (mOriginUsagesIndex.Get(origin, &index)) { -+ originUsage = &mOriginUsages[index]; -+ } else { -+ index = mOriginUsages.Length(); -+ -+ originUsage = mOriginUsages.AppendElement(); -+ -+ originUsage->origin() = origin; -+ originUsage->persisted() = false; -+ originUsage->usage() = 0; -+ -+ mOriginUsagesIndex.Put(origin, index); -+ } -+ -+ UsageInfo usageInfo; -+ rv = GetUsageForOrigin(aQuotaManager, -+ aPersistenceType, -+ group, -+ origin, -+ isApp, -+ &usageInfo); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ originUsage->usage() = originUsage->usage() + usageInfo.TotalUsage(); -+ } -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ return NS_OK; -+} -+ -+nsresult -+GetUsageOp::DoDirectoryWork(QuotaManager* aQuotaManager) -+{ -+ AssertIsOnIOThread(); -+ -+ PROFILER_LABEL("Quota", "GetUsageOp::DoDirectoryWork", -+ js::ProfileEntry::Category::OTHER); -+ -+ nsresult rv; -+ -+ for (const PersistenceType type : kAllPersistenceTypes) { -+ rv = TraverseRepository(aQuotaManager, type); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ } -+ -+ return NS_OK; -+} -+ -+void -+GetUsageOp::GetResponse(UsageRequestResponse& aResponse) -+{ -+ AssertIsOnOwningThread(); -+ -+ aResponse = AllUsageResponse(); -+ -+ if (!mOriginUsages.IsEmpty()) { -+ nsTArray& originUsages = -+ aResponse.get_AllUsageResponse().originUsages(); -+ -+ mOriginUsages.SwapElements(originUsages); -+ } -+} -+ - GetOriginUsageOp::GetOriginUsageOp(const UsageRequestParams& aParams) - : mParams(aParams.get_OriginUsageParams()) - , mGetGroupUsage(aParams.get_OriginUsageParams().getGroupUsage()) - { - AssertIsOnOwningThread(); - MOZ_ASSERT(aParams.type() == UsageRequestParams::TOriginUsageParams); - } - -diff --git a/dom/quota/PQuota.ipdl b/dom/quota/PQuota.ipdl ---- a/dom/quota/PQuota.ipdl -+++ b/dom/quota/PQuota.ipdl -@@ -12,24 +12,30 @@ include "mozilla/dom/quota/Serialization - - using mozilla::dom::quota::PersistenceType - from "mozilla/dom/quota/PersistenceType.h"; - - namespace mozilla { - namespace dom { - namespace quota { - -+struct AllUsageParams -+{ -+ bool getAll; -+}; -+ - struct OriginUsageParams - { - PrincipalInfo principalInfo; - bool getGroupUsage; - }; - - union UsageRequestParams - { -+ AllUsageParams; - OriginUsageParams; - }; - - struct ClearOriginParams - { - PrincipalInfo principalInfo; - PersistenceType persistenceType; - bool persistenceTypeIsExplicit; -diff --git a/dom/quota/PQuotaUsageRequest.ipdl b/dom/quota/PQuotaUsageRequest.ipdl ---- a/dom/quota/PQuotaUsageRequest.ipdl -+++ b/dom/quota/PQuotaUsageRequest.ipdl -@@ -3,26 +3,39 @@ - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - - include protocol PQuota; - - namespace mozilla { - namespace dom { - namespace quota { - -+struct OriginUsage -+{ -+ nsCString origin; -+ bool persisted; -+ uint64_t usage; -+}; -+ -+struct AllUsageResponse -+{ -+ OriginUsage[] originUsages; -+}; -+ - struct OriginUsageResponse - { - uint64_t usage; - uint64_t fileUsage; - uint64_t limit; - }; - - union UsageRequestResponse - { - nsresult; -+ AllUsageResponse; - OriginUsageResponse; - }; - - protocol PQuotaUsageRequest - { - manager PQuota; - - parent: -diff --git a/dom/quota/QuotaManagerService.cpp b/dom/quota/QuotaManagerService.cpp ---- a/dom/quota/QuotaManagerService.cpp -+++ b/dom/quota/QuotaManagerService.cpp -@@ -490,16 +490,41 @@ QuotaManagerService::RemoveIdleObserver( - - NS_IMPL_ADDREF(QuotaManagerService) - NS_IMPL_RELEASE_WITH_DESTROY(QuotaManagerService, Destroy()) - NS_IMPL_QUERY_INTERFACE(QuotaManagerService, - nsIQuotaManagerService, - nsIObserver) - - NS_IMETHODIMP -+QuotaManagerService::GetUsage(nsIQuotaUsageCallback* aCallback, -+ bool aGetAll, -+ nsIQuotaUsageRequest** _retval) -+{ -+ MOZ_ASSERT(NS_IsMainThread()); -+ MOZ_ASSERT(aCallback); -+ -+ RefPtr request = new UsageRequest(aCallback); -+ -+ AllUsageParams params; -+ -+ params.getAll() = aGetAll; -+ -+ nsAutoPtr info(new UsageRequestInfo(request, params)); -+ -+ nsresult rv = InitiateRequest(info); -+ if (NS_WARN_IF(NS_FAILED(rv))) { -+ return rv; -+ } -+ -+ request.forget(_retval); -+ return NS_OK; -+} -+ -+NS_IMETHODIMP - QuotaManagerService::GetUsageForPrincipal(nsIPrincipal* aPrincipal, - nsIQuotaUsageCallback* aCallback, - bool aGetGroupUsage, - nsIQuotaUsageRequest** _retval) - { - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(aPrincipal); - MOZ_ASSERT(aCallback); -diff --git a/dom/quota/QuotaRequests.cpp b/dom/quota/QuotaRequests.cpp ---- a/dom/quota/QuotaRequests.cpp -+++ b/dom/quota/QuotaRequests.cpp -@@ -86,16 +86,25 @@ RequestBase::GetResultCode(nsresult* aRe - if (!mHaveResultOrErrorCode) { - return NS_ERROR_FAILURE; - } - - *aResultCode = mResultCode; - return NS_OK; - } - -+UsageRequest::UsageRequest(nsIQuotaUsageCallback* aCallback) -+ : mCallback(aCallback) -+ , mBackgroundActor(nullptr) -+ , mCanceled(false) -+{ -+ AssertIsOnOwningThread(); -+ MOZ_ASSERT(aCallback); -+} -+ - UsageRequest::UsageRequest(nsIPrincipal* aPrincipal, - nsIQuotaUsageCallback* aCallback) - : RequestBase(aPrincipal) - , mCallback(aCallback) - , mBackgroundActor(nullptr) - , mCanceled(false) - { - AssertIsOnOwningThread(); -diff --git a/dom/quota/QuotaRequests.h b/dom/quota/QuotaRequests.h ---- a/dom/quota/QuotaRequests.h -+++ b/dom/quota/QuotaRequests.h -@@ -73,16 +73,18 @@ class UsageRequest final - - nsCOMPtr mResult; - - QuotaUsageRequestChild* mBackgroundActor; - - bool mCanceled; - - public: -+ explicit UsageRequest(nsIQuotaUsageCallback* aCallback); -+ - UsageRequest(nsIPrincipal* aPrincipal, - nsIQuotaUsageCallback* aCallback); - - void - SetBackgroundActor(QuotaUsageRequestChild* aBackgroundActor); - - void - ClearBackgroundActor() -diff --git a/dom/quota/QuotaResults.cpp b/dom/quota/QuotaResults.cpp ---- a/dom/quota/QuotaResults.cpp -+++ b/dom/quota/QuotaResults.cpp -@@ -5,16 +5,53 @@ - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - #include "QuotaResults.h" - - namespace mozilla { - namespace dom { - namespace quota { - -+UsageResult::UsageResult(const nsACString& aOrigin, -+ bool aPersisted, -+ uint64_t aUsage) -+ : mOrigin(aOrigin) -+ , mUsage(aUsage) -+ , mPersisted(aPersisted) -+{ -+} -+ -+NS_IMPL_ISUPPORTS(UsageResult, -+ nsIQuotaUsageResult) -+ -+NS_IMETHODIMP -+UsageResult::GetOrigin(nsACString& aOrigin) -+{ -+ aOrigin = mOrigin; -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+UsageResult::GetPersisted(bool* aPersisted) -+{ -+ MOZ_ASSERT(aPersisted); -+ -+ *aPersisted = mPersisted; -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+UsageResult::GetUsage(uint64_t* aUsage) -+{ -+ MOZ_ASSERT(aUsage); -+ -+ *aUsage = mUsage; -+ return NS_OK; -+} -+ - OriginUsageResult::OriginUsageResult(uint64_t aUsage, - uint64_t aFileUsage, - uint64_t aLimit) - : mUsage(aUsage) - , mFileUsage(aFileUsage) - , mLimit(aLimit) - { - } -diff --git a/dom/quota/QuotaResults.h b/dom/quota/QuotaResults.h ---- a/dom/quota/QuotaResults.h -+++ b/dom/quota/QuotaResults.h -@@ -8,16 +8,36 @@ - #define mozilla_dom_quota_QuotaResults_h - - #include "nsIQuotaResults.h" - - namespace mozilla { - namespace dom { - namespace quota { - -+class UsageResult -+ : public nsIQuotaUsageResult -+{ -+ nsCString mOrigin; -+ uint64_t mUsage; -+ bool mPersisted; -+ -+public: -+ UsageResult(const nsACString& aOrigin, -+ bool aPersisted, -+ uint64_t aUsage); -+ -+private: -+ virtual ~UsageResult() -+ { } -+ -+ NS_DECL_ISUPPORTS -+ NS_DECL_NSIQUOTAUSAGERESULT -+}; -+ - class OriginUsageResult - : public nsIQuotaOriginUsageResult - { - uint64_t mUsage; - uint64_t mFileUsage; - uint64_t mLimit; - - public: -diff --git a/dom/quota/nsIQuotaManagerService.idl b/dom/quota/nsIQuotaManagerService.idl ---- a/dom/quota/nsIQuotaManagerService.idl -+++ b/dom/quota/nsIQuotaManagerService.idl -@@ -10,16 +10,31 @@ interface nsIPrincipal; - interface nsIQuotaRequest; - interface nsIQuotaUsageCallback; - interface nsIQuotaUsageRequest; - - [scriptable, builtinclass, uuid(1b3d0a38-8151-4cf9-89fa-4f92c2ef0e7e)] - interface nsIQuotaManagerService : nsISupports - { - /** -+ * Schedules an asynchronous callback that will inspect all origins and -+ * return the total amount of disk space being used by storages for each -+ * origin separately. -+ * -+ * @param aCallback -+ * The callback that will be called when the usage is available. -+ * @param aGetAll -+ * An optional boolean to indicate inspection of all origins, -+ * including internal ones. -+ */ -+ [must_use] nsIQuotaUsageRequest -+ getUsage(in nsIQuotaUsageCallback aCallback, -+ [optional] in boolean aGetAll); -+ -+ /** - * Schedules an asynchronous callback that will return the total amount of - * disk space being used by storages for the given origin. - * - * @param aPrincipal - * A principal for the origin whose usage is being queried. - * @param aCallback - * The callback that will be called when the usage is available. - * @param aGetGroupUsage -diff --git a/dom/quota/nsIQuotaRequests.idl b/dom/quota/nsIQuotaRequests.idl ---- a/dom/quota/nsIQuotaRequests.idl -+++ b/dom/quota/nsIQuotaRequests.idl -@@ -18,16 +18,17 @@ interface nsIQuotaRequestBase : nsISuppo - - [must_use] readonly attribute nsresult resultCode; - }; - - [scriptable, uuid(166e28e6-cf6d-4927-a6d7-b51bca9d3469)] - interface nsIQuotaUsageRequest : nsIQuotaRequestBase - { - // The result can contain one of these types: -+ // array of nsIQuotaUsageResult - // nsIQuotaOriginUsageResult - [must_use] readonly attribute nsIVariant result; - - attribute nsIQuotaUsageCallback callback; - - [must_use] void - cancel(); - }; -diff --git a/dom/quota/nsIQuotaResults.idl b/dom/quota/nsIQuotaResults.idl ---- a/dom/quota/nsIQuotaResults.idl -+++ b/dom/quota/nsIQuotaResults.idl -@@ -1,16 +1,26 @@ - /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ - /* vim: set ts=2 et sw=2 tw=80: */ - /* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - #include "nsISupports.idl" - -+[scriptable, function, uuid(d8c9328b-9aa8-4f5d-90e6-482de4a6d5b8)] -+interface nsIQuotaUsageResult : nsISupports -+{ -+ readonly attribute ACString origin; -+ -+ readonly attribute boolean persisted; -+ -+ readonly attribute unsigned long long usage; -+}; -+ - [scriptable, function, uuid(96df03d2-116a-493f-bb0b-118c212a6b32)] - interface nsIQuotaOriginUsageResult : nsISupports - { - readonly attribute unsigned long long usage; - - readonly attribute unsigned long long fileUsage; - - readonly attribute unsigned long long limit; - diff --git a/gnu/packages/patches/icecat-bug-1414945.patch b/gnu/packages/patches/icecat-bug-1414945.patch deleted file mode 100644 index 3638ace1c4..0000000000 --- a/gnu/packages/patches/icecat-bug-1414945.patch +++ /dev/null @@ -1,73 +0,0 @@ -Based on: - https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/d303b3bb88c3 - -Adapted to apply cleanly to IceCat. - -# HG changeset patch -# User Philip Chimento -# Date 1510012155 28800 -# Node ID d303b3bb88c3345d3a089901e2b6fe883d148e44 -# Parent 0152d097672f7e99504815cf7b06d9f303419fba -Bug 1414945 - Don't use TimeDuration in static initializer. r=jandem, a=ritu - -On Darwin this would cause a race between two static initializers. - -diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp ---- a/js/src/shell/js.cpp -+++ b/js/src/shell/js.cpp -@@ -138,17 +138,17 @@ static const size_t gMaxStackSize = 2 * - #else - static const size_t gMaxStackSize = 128 * sizeof(size_t) * 1024; - #endif - - /* - * Limit the timeout to 30 minutes to prevent an overflow on platfoms - * that represent the time internally in microseconds using 32-bit int. - */ --static const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(1800.0); -+static const double MAX_TIMEOUT_SECONDS = 1800.0; - - // SharedArrayBuffer and Atomics settings track IceCat. Choose a custom setting - // with --shared-memory={on,off}. - #ifndef RELEASE_OR_BETA - # define SHARED_MEMORY_DEFAULT 1 - #else - # define SHARED_MEMORY_DEFAULT 0 - #endif -@@ -3518,16 +3518,17 @@ Sleep_fn(JSContext* cx, unsigned argc, V - if (!ToNumber(cx, args[0], &t_secs)) - return false; - if (mozilla::IsNaN(t_secs)) { - JS_ReportErrorASCII(cx, "sleep interval is not a number"); - return false; - } - - duration = TimeDuration::FromSeconds(Max(0.0, t_secs)); -+ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); - if (duration > MAX_TIMEOUT_INTERVAL) { - JS_ReportErrorASCII(cx, "Excessive sleep interval"); - return false; - } - } - { - LockGuard guard(sc->watchdogLock); - TimeStamp toWakeup = TimeStamp::Now() + duration; -@@ -3675,16 +3676,17 @@ CancelExecution(JSContext* cx) - - static bool - SetTimeoutValue(JSContext* cx, double t) - { - if (mozilla::IsNaN(t)) { - JS_ReportErrorASCII(cx, "timeout is not a number"); - return false; - } -+ const TimeDuration MAX_TIMEOUT_INTERVAL = TimeDuration::FromSeconds(MAX_TIMEOUT_SECONDS); - if (TimeDuration::FromSeconds(t) > MAX_TIMEOUT_INTERVAL) { - JS_ReportErrorASCII(cx, "Excessive timeout value"); - return false; - } - GetShellContext(cx)->timeoutInterval = t; - if (!ScheduleWatchdog(cx, t)) { - JS_ReportErrorASCII(cx, "Failed to create the watchdog"); - return false; - diff --git a/gnu/packages/patches/icecat-bug-1415133.patch b/gnu/packages/patches/icecat-bug-1415133.patch deleted file mode 100644 index 4e322d21fb..0000000000 --- a/gnu/packages/patches/icecat-bug-1415133.patch +++ /dev/null @@ -1,40 +0,0 @@ -Based on: - https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/22fe3ff3f923 - -Adapted to apply cleanly to IceCat. - -# HG changeset patch -# User Marco Bonardo -# Date 1510052455 -3600 -# Node ID 22fe3ff3f92358596521f7155ddc512006022207 -# Parent 2909ba991f3134f9fbf4859cf08582f1c9845594 -Bug 1415133 - Downgrades from 55+ to ESR lose bookmarks. r=past a=lizzard - -MozReview-Commit-ID: 44Rw7m1FP4h - -diff --git a/toolkit/components/places/Database.cpp b/toolkit/components/places/Database.cpp ---- a/toolkit/components/places/Database.cpp -+++ b/toolkit/components/places/Database.cpp -@@ -761,16 +761,21 @@ Database::InitSchema(bool* aDatabaseMigr - // 2. implement a method that performs upgrade to your version from the - // previous one. - // - // NOTE: The downgrade process is pretty much complicated by the fact old - // versions cannot know what a new version is going to implement. - // The only thing we will do for downgrades is setting back the schema - // version, so that next upgrades will run again the migration step. - -+ if (currentSchemaVersion > 36) { -+ // These versions are not downgradable. -+ return NS_ERROR_FILE_CORRUPTED; -+ } -+ - if (currentSchemaVersion < DATABASE_SCHEMA_VERSION) { - *aDatabaseMigrated = true; - - if (currentSchemaVersion < 11) { - // These are versions older than IceCat 4 that are not supported - // anymore. In this case it's safer to just replace the database. - return NS_ERROR_FILE_CORRUPTED; - } - diff --git a/gnu/packages/patches/icecat-bug-1424373-pt2.patch b/gnu/packages/patches/icecat-bug-1424373-pt2.patch deleted file mode 100644 index cdc7226bd3..0000000000 --- a/gnu/packages/patches/icecat-bug-1424373-pt2.patch +++ /dev/null @@ -1,183 +0,0 @@ -Based on: - https://hg.mozilla.org/releases/mozilla-esr52/raw-rev/19ea736e7e3d - -Adapted to apply cleanly to IceCat. - -# HG changeset patch -# User Mike Conley -# Date 1513892173 18000 -# Node ID 19ea736e7e3d20555ee6633b9d7803c1225979e1 -# Parent 320032aaa06899f5585dcd0288059e5342118714 -Bug 1424373 - Rename crash report submission pref. r=Mossop a=jcristau - -diff --git a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js ---- a/browser/app/profile/icecat.js -+++ b/browser/app/profile/icecat.js -@@ -1557,15 +1557,15 @@ pref("browser.crashReports.unsubmittedCh - pref("browser.crashReports.unsubmittedCheck.enabled", false); - #endif - - // chancesUntilSuppress is how many times we'll show the unsubmitted - // crash report notification across different days and shutdown - // without a user choice before we suppress the notification for - // some number of days. - pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4); --pref("browser.crashReports.unsubmittedCheck.autoSubmit", false); -+pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); - - #ifdef NIGHTLY_BUILD - // Enable the (fairly costly) client/server validation on nightly only. The other prefs - // controlling validation are located in /services/sync/services-sync.js - pref("services.sync.validation.enabled", true); - #endif -diff --git a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js ---- a/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js -+++ b/browser/base/content/test/tabcrashed/browser_autoSubmitRequest.js -@@ -1,12 +1,12 @@ - "use strict"; - - const PAGE = "data:text/html,A%20regular,%20everyday,%20normal%20page."; --const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit"; -+const AUTOSUBMIT_PREF = "browser.crashReports.unsubmittedCheck.autoSubmit2"; - - const {TabStateFlusher} = - Cu.import("resource:///modules/sessionstore/TabStateFlusher.jsm", {}); - - // On debug builds, crashing tabs results in much thinking, which - // slows down the test and results in intermittent test timeouts, - // so we'll pump up the expected timeout for this test. - requestLongerTimeout(2); -diff --git a/browser/components/preferences/in-content/advanced.xul b/browser/components/preferences/in-content/advanced.xul ---- a/browser/components/preferences/in-content/advanced.xul -+++ b/browser/components/preferences/in-content/advanced.xul -@@ -51,18 +51,18 @@ - #ifdef MOZ_TELEMETRY_REPORTING - - #endif - - - #ifdef MOZ_CRASHREPORTER -- - #endif - - - - - - - #endif - #ifdef MOZ_CRASHREPORTER - - - - - - - - -diff --git a/browser/components/sessionstore/test/browser_background_tab_crash.js b/browser/components/sessionstore/test/browser_background_tab_crash.js ---- a/browser/components/sessionstore/test/browser_background_tab_crash.js -+++ b/browser/components/sessionstore/test/browser_background_tab_crash.js -@@ -142,17 +142,17 @@ add_task(function* test_background_crash - /** - * Tests that if a content process crashes taking down only - * background tabs, and the user is configured to send backlogged - * crash reports automatically, that the tab crashed page is not - * shown. - */ - add_task(function* test_background_crash_autosubmit_backlogged() { - yield SpecialPowers.pushPrefEnv({ -- set: [["browser.crashReports.unsubmittedCheck.autoSubmit", true]], -+ set: [["browser.crashReports.unsubmittedCheck.autoSubmit2", true]], - }); - - yield setupBackgroundTabs(function*([tab1, tab2]) { - // Let's crash one of those background tabs now... - yield crashBackgroundTabs([tab1, tab2]); - - // Selecting the first tab should restore it. - let tabRestored = promiseTabRestored(tab1); -diff --git a/browser/modules/ContentCrashHandlers.jsm b/browser/modules/ContentCrashHandlers.jsm ---- a/browser/modules/ContentCrashHandlers.jsm -+++ b/browser/modules/ContentCrashHandlers.jsm -@@ -865,21 +865,21 @@ this.UnsubmittedCrashHandler = { - return nb.appendNotification(message, notificationID, - "chrome://browser/skin/tab-crashed.svg", - nb.PRIORITY_INFO_HIGH, buttons, - eventCallback); - }, - - get autoSubmit() { - return Services.prefs -- .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit"); -+ .getBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2"); - }, - - set autoSubmit(val) { -- Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit", -+ Services.prefs.setBoolPref("browser.crashReports.unsubmittedCheck.autoSubmit2", - val); - }, - - /** - * Attempt to submit reports to the crash report server. Each - * report will have the "SubmittedFromInfobar" extra key set - * to true. - * -diff --git a/browser/modules/test/browser_UnsubmittedCrashHandler.js b/browser/modules/test/browser_UnsubmittedCrashHandler.js ---- a/browser/modules/test/browser_UnsubmittedCrashHandler.js -+++ b/browser/modules/test/browser_UnsubmittedCrashHandler.js -@@ -344,17 +344,17 @@ add_task(function* test_can_submit_sever - clearPendingCrashReports(); - }); - - /** - * Tests that choosing "Send Always" flips the autoSubmit pref - * and sends the pending crash reports. - */ - add_task(function* test_can_submit_always() { -- let pref = "browser.crashReports.unsubmittedCheck.autoSubmit"; -+ let pref = "browser.crashReports.unsubmittedCheck.autoSubmit2"; - Assert.equal(Services.prefs.getBoolPref(pref), false, - "We should not be auto-submitting by default"); - - let reportIDs = yield createPendingCrashReports(1); - let notification = - yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports(); - Assert.ok(notification, "There should be a notification"); - -@@ -388,17 +388,17 @@ add_task(function* test_can_submit_alway - - /** - * Tests that if the user has chosen to automatically send - * crash reports that no notification is displayed to the - * user. - */ - add_task(function* test_can_auto_submit() { - yield SpecialPowers.pushPrefEnv({ set: [ -- ["browser.crashReports.unsubmittedCheck.autoSubmit", true], -+ ["browser.crashReports.unsubmittedCheck.autoSubmit2", true], - ]}); - - let reportIDs = yield createPendingCrashReports(3); - let promiseReports = waitForSubmittedReports(reportIDs); - let notification = - yield UnsubmittedCrashHandler.checkForUnsubmittedCrashReports(); - Assert.equal(notification, null, "There should be no notification"); - info("Waiting on reports to be received."); -