View | Details | Raw Unified | Return to bug 222693 | Differences between
and this patch

Collapse All | Expand All

(-)b/Mk/Uses/gecko.mk (-2 / +2 lines)
Lines 37-48 RUN_DEPENDS+= libxul>=45:www/libxul Link Here
37
.elif ${gecko_ARGS:Mfirefox}
37
.elif ${gecko_ARGS:Mfirefox}
38
38
39
_GECKO_DEFAULT_VERSION=	52
39
_GECKO_DEFAULT_VERSION=	52
40
_GECKO_VERSIONS=		52 56
40
_GECKO_VERSIONS=		52 57
41
_GECKO_TYPE=	firefox
41
_GECKO_TYPE=	firefox
42
42
43
# Dependence lines for different Firefox versions
43
# Dependence lines for different Firefox versions
44
52_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox-esr
44
52_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox-esr
45
56_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox
45
57_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:www/firefox
46
46
47
.if exists(${LOCALBASE}/bin/firefox)
47
.if exists(${LOCALBASE}/bin/firefox)
48
_GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/firefox --version 2>/dev/null
48
_GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/firefox --version 2>/dev/null
(-)b/www/firefox-i18n/Makefile (-3 / +3 lines)
Lines 2-11 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	firefox-i18n
4
PORTNAME=	firefox-i18n
5
PORTVERSION=	56.0.1
5
PORTVERSION=	57.0b10
6
CATEGORIES=	www
6
CATEGORIES=	www
7
MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \
7
MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${DISTVERSION}/linux-i686/xpi \
8
		MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build2/linux-i686/xpi
8
		MOZILLA/${PORTNAME:S|-i18n||}/candidates/${DISTVERSION}-candidates/build1/linux-i686/xpi
9
PKGNAMEPREFIX=
9
PKGNAMEPREFIX=
10
DISTFILES=	${FIREFOX_I18N_:S/$/.xpi/}
10
DISTFILES=	${FIREFOX_I18N_:S/$/.xpi/}
11
DIST_SUBDIR=	xpi/${DISTNAME}
11
DIST_SUBDIR=	xpi/${DISTNAME}
Lines 15-21 COMMENT= Localized interface for Firefox Link Here
15
15
16
EXTRACT_DEPENDS=	zip:archivers/zip
16
EXTRACT_DEPENDS=	zip:archivers/zip
17
17
18
USES=		zip:infozip gecko:firefox,56,build
18
USES=		zip:infozip gecko:firefox,57,build
19
USE_XPI=	firefox
19
USE_XPI=	firefox
20
20
21
NO_ARCH=	yes
21
NO_ARCH=	yes
(-)b/www/firefox-i18n/distinfo (-191 / +191 lines)
Lines 1-191 Link Here
1
TIMESTAMP = 1507068922
1
TIMESTAMP = 1508436703
2
SHA256 (xpi/firefox-i18n-56.0.1/ach.xpi) = 5a0769818c14878be1fc46c040fdd8c856914df481886270cd416389921e9862
2
SHA256 (xpi/firefox-i18n-57.0b10/ach.xpi) = 4415ce1bb2c02eee7a687f5024287030dcc920fe0c87a5a3a086c0f16dd5a383
3
SIZE (xpi/firefox-i18n-56.0.1/ach.xpi) = 454896
3
SIZE (xpi/firefox-i18n-57.0b10/ach.xpi) = 440717
4
SHA256 (xpi/firefox-i18n-56.0.1/af.xpi) = 55ed0d5eeeb5038bc7cdbfaf64e38a5151b21331b6396b1b1bd67039290a1cd5
4
SHA256 (xpi/firefox-i18n-57.0b10/af.xpi) = 19d3a4174e859efb27b4e87ba40896a097b2c4ec0e21d7a97b3eb1dbf5c0d871
5
SIZE (xpi/firefox-i18n-56.0.1/af.xpi) = 456214
5
SIZE (xpi/firefox-i18n-57.0b10/af.xpi) = 442130
6
SHA256 (xpi/firefox-i18n-56.0.1/an.xpi) = 6d802d8c8fef1e3900443eee558dd54e2dbf9b5d548e4aaf6aa70efe53216971
6
SHA256 (xpi/firefox-i18n-57.0b10/an.xpi) = 0622b41d8d42eaf85d868e20b2987a664af462ace41cf44ff25df7bbc0f41b3d
7
SIZE (xpi/firefox-i18n-56.0.1/an.xpi) = 475863
7
SIZE (xpi/firefox-i18n-57.0b10/an.xpi) = 462700
8
SHA256 (xpi/firefox-i18n-56.0.1/ar.xpi) = eb07898a24acdbaa317bd7457abb6520e59b9fecd8fe7e66755e3f36b25d6c98
8
SHA256 (xpi/firefox-i18n-57.0b10/ar.xpi) = ae78d7b44b8a1fb5fa72de675743321101c90e1a1c084fb6e8e60c9857543554
9
SIZE (xpi/firefox-i18n-56.0.1/ar.xpi) = 500712
9
SIZE (xpi/firefox-i18n-57.0b10/ar.xpi) = 487128
10
SHA256 (xpi/firefox-i18n-56.0.1/as.xpi) = 3f0087df47d8f6faa492b580d7a3f3cec17ecaa74720c94e68a258171c94fe39
10
SHA256 (xpi/firefox-i18n-57.0b10/as.xpi) = 6b437d60728decbb09884cd17f322efdf200f3fc0f11f09edc5be761bb713f5e
11
SIZE (xpi/firefox-i18n-56.0.1/as.xpi) = 508238
11
SIZE (xpi/firefox-i18n-57.0b10/as.xpi) = 491008
12
SHA256 (xpi/firefox-i18n-56.0.1/ast.xpi) = d5f77499d40153bfbc74713c61f3c6fecdf117a6e5240981a2bf822f974519e6
12
SHA256 (xpi/firefox-i18n-57.0b10/ast.xpi) = 70d1315a81ae1b28498c6ba6d36b2dbfa4257e0eacce94197e29a7df343ce642
13
SIZE (xpi/firefox-i18n-56.0.1/ast.xpi) = 469157
13
SIZE (xpi/firefox-i18n-57.0b10/ast.xpi) = 455602
14
SHA256 (xpi/firefox-i18n-56.0.1/az.xpi) = 3cf8984a42788b2627146fe64cd2bfca7597640ee1bf9f1ad268cbdce0b2b54c
14
SHA256 (xpi/firefox-i18n-57.0b10/az.xpi) = 5a920d51fe0c8b010fc0e10524efa90676f24bc6828281c0efe3295f415f362e
15
SIZE (xpi/firefox-i18n-56.0.1/az.xpi) = 484984
15
SIZE (xpi/firefox-i18n-57.0b10/az.xpi) = 465968
16
SHA256 (xpi/firefox-i18n-56.0.1/be.xpi) = 011d719bf75c77bf2c5cf56f246aaf58067b175151deee9ef9dee9e90b96bc17
16
SHA256 (xpi/firefox-i18n-57.0b10/be.xpi) = 8b15241a8f59f97a1f74a6c41af5fc8df6f82e79e700e4b25bc9f4e66e4cc233
17
SIZE (xpi/firefox-i18n-56.0.1/be.xpi) = 531385
17
SIZE (xpi/firefox-i18n-57.0b10/be.xpi) = 514632
18
SHA256 (xpi/firefox-i18n-56.0.1/bg.xpi) = 01070a5c87a1c39b8f39f2f5b7bd143b662526642d90098542f5b6eb17b69c69
18
SHA256 (xpi/firefox-i18n-57.0b10/bg.xpi) = cab4be72228fdffd5b59b25fb5fdfd0256d76aee89e163fa0b0279e7aacc720d
19
SIZE (xpi/firefox-i18n-56.0.1/bg.xpi) = 528789
19
SIZE (xpi/firefox-i18n-57.0b10/bg.xpi) = 509864
20
SHA256 (xpi/firefox-i18n-56.0.1/bn-BD.xpi) = ac18f71b01726dab12bbe200ba20282d98a5523f9d1dbea35869e3be43b12178
20
SHA256 (xpi/firefox-i18n-57.0b10/bn-BD.xpi) = 3cfdf222cbdcc7409808b3c259514c3d76c3e141e7422469fbc8b6abf563fe10
21
SIZE (xpi/firefox-i18n-56.0.1/bn-BD.xpi) = 542772
21
SIZE (xpi/firefox-i18n-57.0b10/bn-BD.xpi) = 525559
22
SHA256 (xpi/firefox-i18n-56.0.1/bn-IN.xpi) = 106d600b21c6877a11d028a7b2025c3ed8efa0eb4cf887621d579442138c273a
22
SHA256 (xpi/firefox-i18n-57.0b10/bn-IN.xpi) = d92fae46fc86b54bf6000b96d7e80226acb24f65c2eb45e76734d384296f5cfc
23
SIZE (xpi/firefox-i18n-56.0.1/bn-IN.xpi) = 534450
23
SIZE (xpi/firefox-i18n-57.0b10/bn-IN.xpi) = 516105
24
SHA256 (xpi/firefox-i18n-56.0.1/br.xpi) = bc0a7456a118a2e01f408c0968ef8b9ae1c3992f50e5d190677b254881ccf127
24
SHA256 (xpi/firefox-i18n-57.0b10/br.xpi) = 6e60aa6cf9dfa09bfe42c8b3d485e9f2745ac56261e8c0cbfaf3c0f69f9f61c7
25
SIZE (xpi/firefox-i18n-56.0.1/br.xpi) = 464256
25
SIZE (xpi/firefox-i18n-57.0b10/br.xpi) = 451607
26
SHA256 (xpi/firefox-i18n-56.0.1/bs.xpi) = dfce1edaa95d5d537f50b2ec71b41c2258699990ca7ff51f180d3fc7f3b4239d
26
SHA256 (xpi/firefox-i18n-57.0b10/bs.xpi) = b227d8b6482189634eecb63b78ad4db0d3c5f6eff97ed5c930c5255cac6d7949
27
SIZE (xpi/firefox-i18n-56.0.1/bs.xpi) = 472256
27
SIZE (xpi/firefox-i18n-57.0b10/bs.xpi) = 457758
28
SHA256 (xpi/firefox-i18n-56.0.1/ca.xpi) = d8056cbb6888fb408644fc19829c82b78f9bce429d2bc2d6a43124cb03b7d888
28
SHA256 (xpi/firefox-i18n-57.0b10/ca.xpi) = c41c6b813dee6d8f9f8821cf38ede034a0bafb11961d3c1893e3ce174edbbcc8
29
SIZE (xpi/firefox-i18n-56.0.1/ca.xpi) = 480364
29
SIZE (xpi/firefox-i18n-57.0b10/ca.xpi) = 466564
30
SHA256 (xpi/firefox-i18n-56.0.1/cak.xpi) = dd5f141283676803730ddc2810f7bb645960b345bfe3afa6d38aea2cc6754cdd
30
SHA256 (xpi/firefox-i18n-57.0b10/cak.xpi) = a3ff4c82814188c61391ca9daf4406c0f82cadb92c992e4699ffb44a07a8ac37
31
SIZE (xpi/firefox-i18n-56.0.1/cak.xpi) = 489507
31
SIZE (xpi/firefox-i18n-57.0b10/cak.xpi) = 474566
32
SHA256 (xpi/firefox-i18n-56.0.1/cs.xpi) = 4c024e4244f2ba82e99435fcb368fa07a4426a49346599cecbfc5e83ba056bb6
32
SHA256 (xpi/firefox-i18n-57.0b10/cs.xpi) = 8ffbf5e03487a1d6acf7423c0b7f5ea2bd3b86b0990a3754330ba64d0f230257
33
SIZE (xpi/firefox-i18n-56.0.1/cs.xpi) = 485090
33
SIZE (xpi/firefox-i18n-57.0b10/cs.xpi) = 468055
34
SHA256 (xpi/firefox-i18n-56.0.1/cy.xpi) = 57e43f3c40c54127f1485710a72d6dab400389c0736e1b02d5314108f782e10f
34
SHA256 (xpi/firefox-i18n-57.0b10/cy.xpi) = 58521388ad92d653afe1e962d169e93f5a98a5132435ae7dd6587703ec31fc0f
35
SIZE (xpi/firefox-i18n-56.0.1/cy.xpi) = 466288
35
SIZE (xpi/firefox-i18n-57.0b10/cy.xpi) = 454486
36
SHA256 (xpi/firefox-i18n-56.0.1/da.xpi) = 59e1abb36fdb7d47e74fd10d6033b86b9fa68acbfdc05d3da9e67378b7eb3b26
36
SHA256 (xpi/firefox-i18n-57.0b10/da.xpi) = 23131621da4fb1f99108ed92a565f606da9363901805a3f910075a8f0f1bfb28
37
SIZE (xpi/firefox-i18n-56.0.1/da.xpi) = 460091
37
SIZE (xpi/firefox-i18n-57.0b10/da.xpi) = 446452
38
SHA256 (xpi/firefox-i18n-56.0.1/de.xpi) = f955f85aca61ffffebfbce54940b20177f272e7ff9c8096e274aef3154bf24ab
38
SHA256 (xpi/firefox-i18n-57.0b10/de.xpi) = f4e46ba327ed27149aeadf64ea5d5573e53d48fe1d4b5172170fd68414218c20
39
SIZE (xpi/firefox-i18n-56.0.1/de.xpi) = 473856
39
SIZE (xpi/firefox-i18n-57.0b10/de.xpi) = 460736
40
SHA256 (xpi/firefox-i18n-56.0.1/dsb.xpi) = 1d3cb3448d68aa2fbd97d0d7771da47e141008595b78399c87f16615bbc8ef79
40
SHA256 (xpi/firefox-i18n-57.0b10/dsb.xpi) = ba12653a3a0c4c718c3feb7426dd681c9ed8052f84f99eaca24a605d9c3b4442
41
SIZE (xpi/firefox-i18n-56.0.1/dsb.xpi) = 489897
41
SIZE (xpi/firefox-i18n-57.0b10/dsb.xpi) = 478069
42
SHA256 (xpi/firefox-i18n-56.0.1/el.xpi) = fa77a8345f7a67a4ed480e6f702d32180fdbc1afc11ad0bad21ec9d6f52db168
42
SHA256 (xpi/firefox-i18n-57.0b10/el.xpi) = 588bd717bef703f82a87f1675426f4b2554689a26a66bae44c843a0007e0dedf
43
SIZE (xpi/firefox-i18n-56.0.1/el.xpi) = 554120
43
SIZE (xpi/firefox-i18n-57.0b10/el.xpi) = 534434
44
SHA256 (xpi/firefox-i18n-56.0.1/en-GB.xpi) = 84c43b02c0ac41c4e4b8878ac1c29d620d9924c8fc8d0355591351edf9935349
44
SHA256 (xpi/firefox-i18n-57.0b10/en-GB.xpi) = dfb4b4947e9f125865b05bf0691c69b157f2fdbbee96fff024171b43f0d7fdb0
45
SIZE (xpi/firefox-i18n-56.0.1/en-GB.xpi) = 447375
45
SIZE (xpi/firefox-i18n-57.0b10/en-GB.xpi) = 437683
46
SHA256 (xpi/firefox-i18n-56.0.1/en-US.xpi) = fe1763e1c86d954c6ada561a884df22d10e88cf9c6339281b3750155cc05f425
46
SHA256 (xpi/firefox-i18n-57.0b10/en-US.xpi) = 931cf9efc4973e804366cf1a89758d655ddc7d4a7d2b3259eabcdd781bf78bfd
47
SIZE (xpi/firefox-i18n-56.0.1/en-US.xpi) = 446951
47
SIZE (xpi/firefox-i18n-57.0b10/en-US.xpi) = 437886
48
SHA256 (xpi/firefox-i18n-56.0.1/en-ZA.xpi) = 6c0ecb3ff1e954d947dbabd80e9cc74969e5b19fec4a970006934f44bc28e619
48
SHA256 (xpi/firefox-i18n-57.0b10/en-ZA.xpi) = 95d2a70e0c7524f61179d75feb68a605e594d79bccea43dfeebf96e596bd996f
49
SIZE (xpi/firefox-i18n-56.0.1/en-ZA.xpi) = 445916
49
SIZE (xpi/firefox-i18n-57.0b10/en-ZA.xpi) = 431954
50
SHA256 (xpi/firefox-i18n-56.0.1/eo.xpi) = 74ea18f4ac0adf3b4b246a6fbace1a863fa8d4a9c608a21cae7eedb6ea7f8060
50
SHA256 (xpi/firefox-i18n-57.0b10/eo.xpi) = aefc053b597439e56b6dae3cdd6e73acb125c577c3f3ea86806c76dcf82de3ff
51
SIZE (xpi/firefox-i18n-56.0.1/eo.xpi) = 468952
51
SIZE (xpi/firefox-i18n-57.0b10/eo.xpi) = 452815
52
SHA256 (xpi/firefox-i18n-56.0.1/es-AR.xpi) = e1575e775c52c6d74148167dcaebd9805201f975871d8073e60854d919f3db9d
52
SHA256 (xpi/firefox-i18n-57.0b10/es-AR.xpi) = 209cae9ec7b034fddeebf784870c090bb991d4c9cf9af426b3f1badf87c0c9fa
53
SIZE (xpi/firefox-i18n-56.0.1/es-AR.xpi) = 475449
53
SIZE (xpi/firefox-i18n-57.0b10/es-AR.xpi) = 461644
54
SHA256 (xpi/firefox-i18n-56.0.1/es-CL.xpi) = 8ecbb09d40c99823ff971f319a9012cae609207408e39f207b85e563c35d3c84
54
SHA256 (xpi/firefox-i18n-57.0b10/es-CL.xpi) = 1270cefd4fe5e81024b91687330f1b0d77f34847378c63fb18db33882385d8ed
55
SIZE (xpi/firefox-i18n-56.0.1/es-CL.xpi) = 479922
55
SIZE (xpi/firefox-i18n-57.0b10/es-CL.xpi) = 464345
56
SHA256 (xpi/firefox-i18n-56.0.1/es-ES.xpi) = b5d4691b663c223ac7e4d62b530fb9a94d1fab67d5c9ecfb6b8982451ab236fb
56
SHA256 (xpi/firefox-i18n-57.0b10/es-ES.xpi) = e0fee67fa4567127b4c68146683eaf7b827981bcbcfcc8720d3dd495c8f04157
57
SIZE (xpi/firefox-i18n-56.0.1/es-ES.xpi) = 365631
57
SIZE (xpi/firefox-i18n-57.0b10/es-ES.xpi) = 353544
58
SHA256 (xpi/firefox-i18n-56.0.1/es-MX.xpi) = aec75604d1071ef585f1462ca33b9bf2b6c9299d6d49b2ffc01096462c3794c4
58
SHA256 (xpi/firefox-i18n-57.0b10/es-MX.xpi) = 1ca25e1c0e70662a4fa323ef4ade7939a1a05fa1d7bb732d27ad433a48429d1d
59
SIZE (xpi/firefox-i18n-56.0.1/es-MX.xpi) = 482565
59
SIZE (xpi/firefox-i18n-57.0b10/es-MX.xpi) = 466688
60
SHA256 (xpi/firefox-i18n-56.0.1/et.xpi) = a7c7fdf6cdfd44e5f8786d587360d2aa022cde980fc17e67a4caa136197150df
60
SHA256 (xpi/firefox-i18n-57.0b10/et.xpi) = 694dba45100c1ac0fee2942f1fcde2fc83106f21d1e18928e5b8d1190b45e13b
61
SIZE (xpi/firefox-i18n-56.0.1/et.xpi) = 462104
61
SIZE (xpi/firefox-i18n-57.0b10/et.xpi) = 447196
62
SHA256 (xpi/firefox-i18n-56.0.1/eu.xpi) = ed48e6df6381b74b6bb9525fc2401a39ccdb99eaf705ee41811eee81db4b13ac
62
SHA256 (xpi/firefox-i18n-57.0b10/eu.xpi) = 72e7b31ff3b4af7e11a9e573c937ef508b6859a44af918a0e0bcb646e8bfb4c2
63
SIZE (xpi/firefox-i18n-56.0.1/eu.xpi) = 467884
63
SIZE (xpi/firefox-i18n-57.0b10/eu.xpi) = 454564
64
SHA256 (xpi/firefox-i18n-56.0.1/fa.xpi) = 61d78db454d888a95c9dc731ffcbb6a6981c9de164a539b6d6d05dd5b52b4fcd
64
SHA256 (xpi/firefox-i18n-57.0b10/fa.xpi) = 9a6fab35dd70e8bc608e5172fdf0258dc2ba0d74365f4803ada006115518c40c
65
SIZE (xpi/firefox-i18n-56.0.1/fa.xpi) = 522909
65
SIZE (xpi/firefox-i18n-57.0b10/fa.xpi) = 509467
66
SHA256 (xpi/firefox-i18n-56.0.1/ff.xpi) = c50d38ccc0b57b68ab98fefa8537f34f8b594c67139335826e4f17ee0e6773fd
66
SHA256 (xpi/firefox-i18n-57.0b10/ff.xpi) = 53816085e63df81f655fa413860b945f6b0f47c5397f06ccfe6f682a967ee485
67
SIZE (xpi/firefox-i18n-56.0.1/ff.xpi) = 463098
67
SIZE (xpi/firefox-i18n-57.0b10/ff.xpi) = 449312
68
SHA256 (xpi/firefox-i18n-56.0.1/fi.xpi) = 278f60e6f3e4b2c52365a172509a4e372aa062409b46c7706002fe69693b51aa
68
SHA256 (xpi/firefox-i18n-57.0b10/fi.xpi) = e0ace5fdef8f8a173f91d6dab6f9ccde1ef3a80f14662813b907b7c7a738b495
69
SIZE (xpi/firefox-i18n-56.0.1/fi.xpi) = 461923
69
SIZE (xpi/firefox-i18n-57.0b10/fi.xpi) = 445556
70
SHA256 (xpi/firefox-i18n-56.0.1/fr.xpi) = 303dc412abde1e69f44bf8f24fe7f8951ce42cc27be76c9d17eb44a4b1832bb4
70
SHA256 (xpi/firefox-i18n-57.0b10/fr.xpi) = a484e58f9c045d94e9bb491642883d705800d339bdcfe087ad7c8ccede7e39c9
71
SIZE (xpi/firefox-i18n-56.0.1/fr.xpi) = 484562
71
SIZE (xpi/firefox-i18n-57.0b10/fr.xpi) = 471439
72
SHA256 (xpi/firefox-i18n-56.0.1/fy-NL.xpi) = 7a420f2f0c65f8fef734c7f5731f4cdb0e2900ea7559e99bb382ab33c5e713f6
72
SHA256 (xpi/firefox-i18n-57.0b10/fy-NL.xpi) = 0818e6276131048645b48fbd70d9c7f1be4329b001b314b554b1addd047a3230
73
SIZE (xpi/firefox-i18n-56.0.1/fy-NL.xpi) = 478044
73
SIZE (xpi/firefox-i18n-57.0b10/fy-NL.xpi) = 463776
74
SHA256 (xpi/firefox-i18n-56.0.1/ga-IE.xpi) = a2934ac63c494a0b3e0d22f622a2e4b53b96df4bffa8d053517da8299c7173e8
74
SHA256 (xpi/firefox-i18n-57.0b10/ga-IE.xpi) = af930fa504e17f9b191edfd3e1ae3009e0a307f5bf6405d733b780a543aa0b4b
75
SIZE (xpi/firefox-i18n-56.0.1/ga-IE.xpi) = 489379
75
SIZE (xpi/firefox-i18n-57.0b10/ga-IE.xpi) = 475887
76
SHA256 (xpi/firefox-i18n-56.0.1/gd.xpi) = b6a97f15d16b7ac69d3b1073d9c11ac6b20436188f3f0978a9115bc04b6ee2df
76
SHA256 (xpi/firefox-i18n-57.0b10/gd.xpi) = 96cb30182b556d5b2b92a7bc4514d826ab862f78d37e8be9473deac3cc4b81ae
77
SIZE (xpi/firefox-i18n-56.0.1/gd.xpi) = 476927
77
SIZE (xpi/firefox-i18n-57.0b10/gd.xpi) = 463937
78
SHA256 (xpi/firefox-i18n-56.0.1/gl.xpi) = 54a990f5b50e065e4c3e13eda4fb2f25107693db14860e8ea0aa2236ef1e0cbe
78
SHA256 (xpi/firefox-i18n-57.0b10/gl.xpi) = 9482a006ad55ca6b806b97da18d2bd6932a8327f9ea9efb51feef06ddff7e690
79
SIZE (xpi/firefox-i18n-56.0.1/gl.xpi) = 466468
79
SIZE (xpi/firefox-i18n-57.0b10/gl.xpi) = 452062
80
SHA256 (xpi/firefox-i18n-56.0.1/gn.xpi) = edae7658377dc3431149baaafb716bb411deeeb61d935254fc192188fa226f6e
80
SHA256 (xpi/firefox-i18n-57.0b10/gn.xpi) = 8bdffd95adca22ae4ea8a5e866aa31983ce918d5fb4970fce89bdde66ac87d43
81
SIZE (xpi/firefox-i18n-56.0.1/gn.xpi) = 485790
81
SIZE (xpi/firefox-i18n-57.0b10/gn.xpi) = 471874
82
SHA256 (xpi/firefox-i18n-56.0.1/gu-IN.xpi) = b175317b939d97ead4166bf61f8eb8381948fba4a006d4463e80d19028c0cedc
82
SHA256 (xpi/firefox-i18n-57.0b10/gu-IN.xpi) = 60d431e222a87d5e58b8f920abb99c9aa7bfbf2bb5101bedfe5ca17e20ca6e01
83
SIZE (xpi/firefox-i18n-56.0.1/gu-IN.xpi) = 513740
83
SIZE (xpi/firefox-i18n-57.0b10/gu-IN.xpi) = 510206
84
SHA256 (xpi/firefox-i18n-56.0.1/he.xpi) = 69c49d9f467d426e41d32626ebca768e56c7861e6352c24519d9a0b4ca8c24cf
84
SHA256 (xpi/firefox-i18n-57.0b10/he.xpi) = b2435346c7b51d9d9adce78671c394380f8bdf4eb22306a60a8e9e38875380d1
85
SIZE (xpi/firefox-i18n-56.0.1/he.xpi) = 488495
85
SIZE (xpi/firefox-i18n-57.0b10/he.xpi) = 471543
86
SHA256 (xpi/firefox-i18n-56.0.1/hi-IN.xpi) = fd75cea0e56a1bb346f71a902d487c2509f8904899492ee1f958af4e7df2c249
86
SHA256 (xpi/firefox-i18n-57.0b10/hi-IN.xpi) = fdcfd4e1ac4410680ebfb614eedd9a7e1b803c04782a84f67f17b80b5ece0512
87
SIZE (xpi/firefox-i18n-56.0.1/hi-IN.xpi) = 538303
87
SIZE (xpi/firefox-i18n-57.0b10/hi-IN.xpi) = 521578
88
SHA256 (xpi/firefox-i18n-56.0.1/hr.xpi) = 04c0a9baa1ec3e19c14bc17d3d17a47ea53c993f3a81c4b3347e6a96492141bb
88
SHA256 (xpi/firefox-i18n-57.0b10/hr.xpi) = 67e4114945170237f49c2f18eed08b2d43be7437d6cc4a61840d4b17a08a1706
89
SIZE (xpi/firefox-i18n-56.0.1/hr.xpi) = 475058
89
SIZE (xpi/firefox-i18n-57.0b10/hr.xpi) = 460644
90
SHA256 (xpi/firefox-i18n-56.0.1/hsb.xpi) = 77dfa6996b9a0b821066d80508d3fbf68d2335190f5600f5699d012fffd2fbdf
90
SHA256 (xpi/firefox-i18n-57.0b10/hsb.xpi) = 6b16d7ada1cce8880c38734aa877dd73800ec731daac6a261cc0e9cbe470b0da
91
SIZE (xpi/firefox-i18n-56.0.1/hsb.xpi) = 487599
91
SIZE (xpi/firefox-i18n-57.0b10/hsb.xpi) = 475065
92
SHA256 (xpi/firefox-i18n-56.0.1/hu.xpi) = 32c183296a65eb0b10ace20c8b35d0a37d10278fabd4b9826ed16bebba4e8936
92
SHA256 (xpi/firefox-i18n-57.0b10/hu.xpi) = f4fb1c9ebaee9a2383c2ecfd4cd122ce153632b9303399aef0b99d057a10c75d
93
SIZE (xpi/firefox-i18n-56.0.1/hu.xpi) = 490102
93
SIZE (xpi/firefox-i18n-57.0b10/hu.xpi) = 475228
94
SHA256 (xpi/firefox-i18n-56.0.1/hy-AM.xpi) = 44e685f7353997fe77176e9f60e90725603f3453857fc18906ba99a7f3241b58
94
SHA256 (xpi/firefox-i18n-57.0b10/hy-AM.xpi) = b18b43ba96ef442f54bfdc543f01853f9668e02cf1d163dd4f858e26777e6e74
95
SIZE (xpi/firefox-i18n-56.0.1/hy-AM.xpi) = 527712
95
SIZE (xpi/firefox-i18n-57.0b10/hy-AM.xpi) = 510322
96
SHA256 (xpi/firefox-i18n-56.0.1/id.xpi) = 67635d7c4cd289813783cb692c56ee4e4ffee71adbb3d9de9f87338203fb8e80
96
SHA256 (xpi/firefox-i18n-57.0b10/id.xpi) = e556542db860cdb4174c2b90411f9245c45a3bfa0857908bdad5c0bf6ed64752
97
SIZE (xpi/firefox-i18n-56.0.1/id.xpi) = 459066
97
SIZE (xpi/firefox-i18n-57.0b10/id.xpi) = 443651
98
SHA256 (xpi/firefox-i18n-56.0.1/is.xpi) = c6087dad575452d8a4000a6e1e3d7fe4152b86fa84add96288b4fa4e50f8d85f
98
SHA256 (xpi/firefox-i18n-57.0b10/is.xpi) = a4f6f9c7f99155f568ee55ab5eaeea73ffb3c36bafdff95b6f2b71ae19f259e3
99
SIZE (xpi/firefox-i18n-56.0.1/is.xpi) = 467448
99
SIZE (xpi/firefox-i18n-57.0b10/is.xpi) = 452594
100
SHA256 (xpi/firefox-i18n-56.0.1/it.xpi) = 1a78b44d14d7f8d42c16b62539026c6ff1016dd8b249abf6bfd5a7691d840ac1
100
SHA256 (xpi/firefox-i18n-57.0b10/it.xpi) = 48fad6d61aeb06f136e49228476aaaac24f75ec6d31c16def823e76f4a840106
101
SIZE (xpi/firefox-i18n-56.0.1/it.xpi) = 358695
101
SIZE (xpi/firefox-i18n-57.0b10/it.xpi) = 346762
102
SHA256 (xpi/firefox-i18n-56.0.1/ja.xpi) = 72b665fb904a8c9b6a0d52ad8d00d6e6bab4cc5e4b80ec0fc8aeb4c6eec0767b
102
SHA256 (xpi/firefox-i18n-57.0b10/ja.xpi) = 730c5ec303e83927b041d712bfbf19b08688e5f457660d05a5a77c664fcd5f91
103
SIZE (xpi/firefox-i18n-56.0.1/ja.xpi) = 527926
103
SIZE (xpi/firefox-i18n-57.0b10/ja.xpi) = 508355
104
SHA256 (xpi/firefox-i18n-56.0.1/ka.xpi) = 7db1c1c2a96ea24f5cb431061bc8e35edf4614841b4aba4d94ff772d12956cd7
104
SHA256 (xpi/firefox-i18n-57.0b10/ka.xpi) = 71ad93d05df2e6f61382a45bbd67783107923325ce61b5f48e4700bbb246be41
105
SIZE (xpi/firefox-i18n-56.0.1/ka.xpi) = 509096
105
SIZE (xpi/firefox-i18n-57.0b10/ka.xpi) = 490808
106
SHA256 (xpi/firefox-i18n-56.0.1/kab.xpi) = 7fcdfd89576f4bddd306fa086be78829f2d51ea8b8b711c08b38e3eee1ffc61b
106
SHA256 (xpi/firefox-i18n-57.0b10/kab.xpi) = bae00c49b53a93d2dfb81540fec1b700efae54cab0827c795568cf69612b1bbb
107
SIZE (xpi/firefox-i18n-56.0.1/kab.xpi) = 477420
107
SIZE (xpi/firefox-i18n-57.0b10/kab.xpi) = 461262
108
SHA256 (xpi/firefox-i18n-56.0.1/kk.xpi) = cf68f9ccead4f294b34b65d834fca8958bc2a37c87f99caf3b2b505b9983391d
108
SHA256 (xpi/firefox-i18n-57.0b10/kk.xpi) = 2a1993c73d2f1b8d8a9f3b850ab3e96c5f117cef5fe7d664e89d51a2623cd419
109
SIZE (xpi/firefox-i18n-56.0.1/kk.xpi) = 534932
109
SIZE (xpi/firefox-i18n-57.0b10/kk.xpi) = 517767
110
SHA256 (xpi/firefox-i18n-56.0.1/km.xpi) = 5ea6da095c7e6b2926be1344f9b0a5940d9e3c4afc7f069d090554e7ee505a2c
110
SHA256 (xpi/firefox-i18n-57.0b10/km.xpi) = 822c6e9442775c8651f49f7ec7e4b3abc02bdd8816f0a2b561f14fd88fc497c9
111
SIZE (xpi/firefox-i18n-56.0.1/km.xpi) = 549344
111
SIZE (xpi/firefox-i18n-57.0b10/km.xpi) = 530007
112
SHA256 (xpi/firefox-i18n-56.0.1/kn.xpi) = d13f5fab53fe4c4a7c542f764d95312e77e82334b3f23503057acbd404a93403
112
SHA256 (xpi/firefox-i18n-57.0b10/kn.xpi) = f5c0f5a19685c7882b05603bcbd1c7eb6a540dcf209d79f9c46c60f45082763f
113
SIZE (xpi/firefox-i18n-56.0.1/kn.xpi) = 545518
113
SIZE (xpi/firefox-i18n-57.0b10/kn.xpi) = 530714
114
SHA256 (xpi/firefox-i18n-56.0.1/ko.xpi) = 0325f0fc9944836effe4e8eddc4c5c7ed42e43e09dd7256dfc07c07dbd6391e2
114
SHA256 (xpi/firefox-i18n-57.0b10/ko.xpi) = 6397bb05dd37c7142d78ce364f652b1050709a91c659969dc6e5edd9b86cd5cc
115
SIZE (xpi/firefox-i18n-56.0.1/ko.xpi) = 502895
115
SIZE (xpi/firefox-i18n-57.0b10/ko.xpi) = 485817
116
SHA256 (xpi/firefox-i18n-56.0.1/lij.xpi) = 1fc0e47bb89335b6c53439e3b6d4fc0194822865acf7a4056ed779d4a77b0c3b
116
SHA256 (xpi/firefox-i18n-57.0b10/lij.xpi) = 7b88bf3e8c4ab39025431e2abf587d297982696cb3d78621ae6f04c3099dbe7a
117
SIZE (xpi/firefox-i18n-56.0.1/lij.xpi) = 467275
117
SIZE (xpi/firefox-i18n-57.0b10/lij.xpi) = 453402
118
SHA256 (xpi/firefox-i18n-56.0.1/lt.xpi) = fc688802b4746dba520dee4c671d6f326e540aea0608e18c38f0f2eaefacb4e4
118
SHA256 (xpi/firefox-i18n-57.0b10/lt.xpi) = 586bb4e77c0d43f610d6899cdbdfdfca07f01390d1a68624706470297ca8920a
119
SIZE (xpi/firefox-i18n-56.0.1/lt.xpi) = 488753
119
SIZE (xpi/firefox-i18n-57.0b10/lt.xpi) = 473587
120
SHA256 (xpi/firefox-i18n-56.0.1/lv.xpi) = fba7bdde1975652c41b3bcab2dc469d11be9ef232c2873034de371b1fc76f543
120
SHA256 (xpi/firefox-i18n-57.0b10/lv.xpi) = 048a682c47d5503928f714168b72cd106ec056826520a0ec5d38c3784314d306
121
SIZE (xpi/firefox-i18n-56.0.1/lv.xpi) = 481628
121
SIZE (xpi/firefox-i18n-57.0b10/lv.xpi) = 464898
122
SHA256 (xpi/firefox-i18n-56.0.1/mai.xpi) = 150368f961ab2bf857ed6595515fd3b92620f7d9c15aca7b3e675ce0ea740253
122
SHA256 (xpi/firefox-i18n-57.0b10/mai.xpi) = dcced6e3eaa710f85c4e51f67a9e2c710adfe68ad1731be2ec6ab5b176487fa8
123
SIZE (xpi/firefox-i18n-56.0.1/mai.xpi) = 524702
123
SIZE (xpi/firefox-i18n-57.0b10/mai.xpi) = 507325
124
SHA256 (xpi/firefox-i18n-56.0.1/mk.xpi) = 8e430484eb3630f48cf00dd594b4b3cac2e1982fa30edb905137f35b8ab6c961
124
SHA256 (xpi/firefox-i18n-57.0b10/mk.xpi) = 0f150a2d67cf14aff13e81cd5843681175d8cd0145168435834ceb8fea36fe92
125
SIZE (xpi/firefox-i18n-56.0.1/mk.xpi) = 507818
125
SIZE (xpi/firefox-i18n-57.0b10/mk.xpi) = 490372
126
SHA256 (xpi/firefox-i18n-56.0.1/ml.xpi) = eb87db03918f7ff2eab63cdb9228af635c756add32a182d58ad531489d60405a
126
SHA256 (xpi/firefox-i18n-57.0b10/ml.xpi) = 709d44a4ba5d7008b203ddc1b57a067c1ff6f2840c3a7e8174ef36797aabe540
127
SIZE (xpi/firefox-i18n-56.0.1/ml.xpi) = 547547
127
SIZE (xpi/firefox-i18n-57.0b10/ml.xpi) = 527974
128
SHA256 (xpi/firefox-i18n-56.0.1/mr.xpi) = a4d4a5d410b421991b6935624651638679395fc7f82865649d0d2669244ad8cd
128
SHA256 (xpi/firefox-i18n-57.0b10/mr.xpi) = 862d9789157875c4ec4a09dcbd66b4dfe1547809ebe22f2c3dbb3d60558a1271
129
SIZE (xpi/firefox-i18n-56.0.1/mr.xpi) = 536673
129
SIZE (xpi/firefox-i18n-57.0b10/mr.xpi) = 518568
130
SHA256 (xpi/firefox-i18n-56.0.1/ms.xpi) = d5d17bef7724b6f4fb0f9a96b779e8840491de65a865d126edfeb66d49198100
130
SHA256 (xpi/firefox-i18n-57.0b10/ms.xpi) = 1279a58f0b27a09d7fcc9ed33d6dde3e70840d94526ffd0e6d107c4204c3ea2b
131
SIZE (xpi/firefox-i18n-56.0.1/ms.xpi) = 466107
131
SIZE (xpi/firefox-i18n-57.0b10/ms.xpi) = 450591
132
SHA256 (xpi/firefox-i18n-56.0.1/my.xpi) = 580979d39ef1bd11960e9a9619b59dddff15b3636071ca9dfea7a215ca744078
132
SHA256 (xpi/firefox-i18n-57.0b10/my.xpi) = 9b3be2d26034cabc74e5fe5cb4ad4b983ec8c592c31fb1695896799a12a3e07c
133
SIZE (xpi/firefox-i18n-56.0.1/my.xpi) = 536722
133
SIZE (xpi/firefox-i18n-57.0b10/my.xpi) = 517629
134
SHA256 (xpi/firefox-i18n-56.0.1/nb-NO.xpi) = b9a5d83079adb7f4b4bbdad55d88055ca6981849a76db0d027e0dff562118089
134
SHA256 (xpi/firefox-i18n-57.0b10/nb-NO.xpi) = ba36ae53ad3a4c20ae4d9e21091511d90b26cf41807de9ea5fb37e0f83e7955d
135
SIZE (xpi/firefox-i18n-56.0.1/nb-NO.xpi) = 465575
135
SIZE (xpi/firefox-i18n-57.0b10/nb-NO.xpi) = 450230
136
SHA256 (xpi/firefox-i18n-56.0.1/nl.xpi) = 165667535c09f079820d14a46fd72191e5fb1def75963c3a47bc80b8dab89fc7
136
SHA256 (xpi/firefox-i18n-57.0b10/nl.xpi) = f879cf9ec3a7e86748adf246d2d81713c110bf8c94afa59d48157e3178963e80
137
SIZE (xpi/firefox-i18n-56.0.1/nl.xpi) = 469053
137
SIZE (xpi/firefox-i18n-57.0b10/nl.xpi) = 457144
138
SHA256 (xpi/firefox-i18n-56.0.1/nn-NO.xpi) = ed42b684815c2bce7271afe55f7a06cde02cd399a278c0e54a3dbe840eb0a372
138
SHA256 (xpi/firefox-i18n-57.0b10/nn-NO.xpi) = 7e8f9c3ca4ece1069ab4cbcc8beee4bf7b4688e3c4cc9e9d50592b752623492f
139
SIZE (xpi/firefox-i18n-56.0.1/nn-NO.xpi) = 466208
139
SIZE (xpi/firefox-i18n-57.0b10/nn-NO.xpi) = 450679
140
SHA256 (xpi/firefox-i18n-56.0.1/or.xpi) = 306d2554a6f6143d09e37be0714ea7bb170569e09514b2dcb6de3ec44fdd84cd
140
SHA256 (xpi/firefox-i18n-57.0b10/or.xpi) = 3ce149754c8523029cdfdae0be4f061dbc8b696e7a180d0cbd3fb39a20224098
141
SIZE (xpi/firefox-i18n-56.0.1/or.xpi) = 518165
141
SIZE (xpi/firefox-i18n-57.0b10/or.xpi) = 500794
142
SHA256 (xpi/firefox-i18n-56.0.1/pa-IN.xpi) = 029a92c54db643481dcfdbab08016a569622e3d80ff12961dacad3a68faafbbb
142
SHA256 (xpi/firefox-i18n-57.0b10/pa-IN.xpi) = e48d4d81e4994eee35975dfda46b32d9ff5026ca432f7bd9b8d1a985d5141cac
143
SIZE (xpi/firefox-i18n-56.0.1/pa-IN.xpi) = 509046
143
SIZE (xpi/firefox-i18n-57.0b10/pa-IN.xpi) = 490519
144
SHA256 (xpi/firefox-i18n-56.0.1/pl.xpi) = 051ca15a827eb86a49fc899b08d90e447d5f6e3909642835c9c7163cd6aa8688
144
SHA256 (xpi/firefox-i18n-57.0b10/pl.xpi) = 7b264895264ceeba16a67bf1dc7b42420dc03f27fa1be60420e41125955e7243
145
SIZE (xpi/firefox-i18n-56.0.1/pl.xpi) = 377525
145
SIZE (xpi/firefox-i18n-57.0b10/pl.xpi) = 362910
146
SHA256 (xpi/firefox-i18n-56.0.1/pt-BR.xpi) = bf68302a604749211cdc2255073d1d755727afdbefa054118c322292c6d369fe
146
SHA256 (xpi/firefox-i18n-57.0b10/pt-BR.xpi) = 6100ca5a4eb602726243dea376049b1f3ddcdf0c70a1a56ea1685dc03a9ce016
147
SIZE (xpi/firefox-i18n-56.0.1/pt-BR.xpi) = 470954
147
SIZE (xpi/firefox-i18n-57.0b10/pt-BR.xpi) = 455173
148
SHA256 (xpi/firefox-i18n-56.0.1/pt-PT.xpi) = 156edd762bbeaf980211f91516ac3e7967bdaaab2cfdccf61238fdcf726ef5b2
148
SHA256 (xpi/firefox-i18n-57.0b10/pt-PT.xpi) = c3e9ba96d8a8e23f71d5ba6e2c7b8350151d527b1d3110640c14582126e14369
149
SIZE (xpi/firefox-i18n-56.0.1/pt-PT.xpi) = 472803
149
SIZE (xpi/firefox-i18n-57.0b10/pt-PT.xpi) = 458601
150
SHA256 (xpi/firefox-i18n-56.0.1/rm.xpi) = 2f2399082c4e7cff27f1d77fd7bd76acda1e3b61d4f14b87efc7dd2abb317586
150
SHA256 (xpi/firefox-i18n-57.0b10/rm.xpi) = 3274cb788f0a4f009e0417d554848d3d3deb9490c6d65c5929c4b2f06a863ccd
151
SIZE (xpi/firefox-i18n-56.0.1/rm.xpi) = 467019
151
SIZE (xpi/firefox-i18n-57.0b10/rm.xpi) = 450977
152
SHA256 (xpi/firefox-i18n-56.0.1/ro.xpi) = afa7826fa3d68464960d3129eb64e17df73e8a41b4e8a6f6688e76111d2a941a
152
SHA256 (xpi/firefox-i18n-57.0b10/ro.xpi) = ab17bee4272f8cbbbbfc3b4d33895bd95144e03e1c44332b61b1483e2267b3b0
153
SIZE (xpi/firefox-i18n-56.0.1/ro.xpi) = 470785
153
SIZE (xpi/firefox-i18n-57.0b10/ro.xpi) = 455227
154
SHA256 (xpi/firefox-i18n-56.0.1/ru.xpi) = 62201c8e4c4ac140cb5e82fd699059de719f90ba77a41ba396971d65c0ba9e35
154
SHA256 (xpi/firefox-i18n-57.0b10/ru.xpi) = dff81797a69a05e31fd72852544350fd8a6b4c58d747a399eaf2f8aec05f0e0b
155
SIZE (xpi/firefox-i18n-56.0.1/ru.xpi) = 541437
155
SIZE (xpi/firefox-i18n-57.0b10/ru.xpi) = 525315
156
SHA256 (xpi/firefox-i18n-56.0.1/si.xpi) = 385612528745dcc87df53770a8d52a573d69e71ea5275a40afd5be0108754bae
156
SHA256 (xpi/firefox-i18n-57.0b10/si.xpi) = 168ea2e0e76a2451c68e54cf51b8ca6367149d0fb6ddc7329204f3792cbc8c48
157
SIZE (xpi/firefox-i18n-56.0.1/si.xpi) = 515921
157
SIZE (xpi/firefox-i18n-57.0b10/si.xpi) = 498256
158
SHA256 (xpi/firefox-i18n-56.0.1/sk.xpi) = 4d1a6cf70a5415a947f630ee41060ebbfea85271ce1dac9f3329fcf8c376115a
158
SHA256 (xpi/firefox-i18n-57.0b10/sk.xpi) = 8375156a37b52fcb2907bcc29e00c83a93af2ae2e67e41a5f1a2169feade3d69
159
SIZE (xpi/firefox-i18n-56.0.1/sk.xpi) = 495564
159
SIZE (xpi/firefox-i18n-57.0b10/sk.xpi) = 479028
160
SHA256 (xpi/firefox-i18n-56.0.1/sl.xpi) = 4c5b93d99e038e86e8461ebfb1bcc4bfb7e52430d385bcb27354826fd7f1af09
160
SHA256 (xpi/firefox-i18n-57.0b10/sl.xpi) = 263173589d9f4aa2eb3707b961e04a773ec04a3bd5daa1c16802bd9def461f39
161
SIZE (xpi/firefox-i18n-56.0.1/sl.xpi) = 473806
161
SIZE (xpi/firefox-i18n-57.0b10/sl.xpi) = 457874
162
SHA256 (xpi/firefox-i18n-56.0.1/son.xpi) = f203ef6d205f6b69c706399a1013e94a4fb4017ffed9cff1c47ccd60eec02f0f
162
SHA256 (xpi/firefox-i18n-57.0b10/son.xpi) = eddb3c34f89ba0ab0bac67eb80b1c8880925baaf7f20e48b9a7bfde93c7e2666
163
SIZE (xpi/firefox-i18n-56.0.1/son.xpi) = 464323
163
SIZE (xpi/firefox-i18n-57.0b10/son.xpi) = 450850
164
SHA256 (xpi/firefox-i18n-56.0.1/sq.xpi) = d029c776769e327356304886e17846ec79568a9aeac47f779bd2e0a24229ce4f
164
SHA256 (xpi/firefox-i18n-57.0b10/sq.xpi) = 76b7891929981d0b2904c8155d4030a33d8244b85a216125ae529f131f3d6ea2
165
SIZE (xpi/firefox-i18n-56.0.1/sq.xpi) = 479512
165
SIZE (xpi/firefox-i18n-57.0b10/sq.xpi) = 464975
166
SHA256 (xpi/firefox-i18n-56.0.1/sr.xpi) = fef5561cb30d850319544df750d717bf6a63f95ba2b981e0d8dd0857a20e0e2d
166
SHA256 (xpi/firefox-i18n-57.0b10/sr.xpi) = ca79e44917b2891a3b4f2cd510e044b73fe50709523ef5867c6a5d6b209947d0
167
SIZE (xpi/firefox-i18n-56.0.1/sr.xpi) = 504486
167
SIZE (xpi/firefox-i18n-57.0b10/sr.xpi) = 485647
168
SHA256 (xpi/firefox-i18n-56.0.1/sv-SE.xpi) = a8819d2e17a9388bc2bf9f33219a85350470eb4c12fc3c752f90514198c68033
168
SHA256 (xpi/firefox-i18n-57.0b10/sv-SE.xpi) = f7cfec25d368f6b4b9183c546119276c09cb395ef0f9c0cf97f0ce9178190bf8
169
SIZE (xpi/firefox-i18n-56.0.1/sv-SE.xpi) = 473949
169
SIZE (xpi/firefox-i18n-57.0b10/sv-SE.xpi) = 458395
170
SHA256 (xpi/firefox-i18n-56.0.1/ta.xpi) = ba97a17431b9626e5f63fce46d7daf50944a95eb36ecd82d1baffacf71981381
170
SHA256 (xpi/firefox-i18n-57.0b10/ta.xpi) = 67c73768edba5624bac96272ee203d96ef03a27470fe3905cc7cd58950b3635c
171
SIZE (xpi/firefox-i18n-56.0.1/ta.xpi) = 530646
171
SIZE (xpi/firefox-i18n-57.0b10/ta.xpi) = 513155
172
SHA256 (xpi/firefox-i18n-56.0.1/te.xpi) = 06a0ef7059b2d272f2cd4817d4b821e12baf0667bcf9226f95154e0f2f1ad4c0
172
SHA256 (xpi/firefox-i18n-57.0b10/te.xpi) = 5841365e02466cae2dedc7c52980b6c638288fe862165f6e4f7b5050d3bde0ca
173
SIZE (xpi/firefox-i18n-56.0.1/te.xpi) = 549585
173
SIZE (xpi/firefox-i18n-57.0b10/te.xpi) = 530618
174
SHA256 (xpi/firefox-i18n-56.0.1/th.xpi) = 57a0036f4d34487642e25011208f7bc2f7dec57e2e53003d30eae8eee54fd24b
174
SHA256 (xpi/firefox-i18n-57.0b10/th.xpi) = 1286608cf0759f8b19a1a42bcce56b1bf7b64d2417f988dcee713161e20bd955
175
SIZE (xpi/firefox-i18n-56.0.1/th.xpi) = 520297
175
SIZE (xpi/firefox-i18n-57.0b10/th.xpi) = 501870
176
SHA256 (xpi/firefox-i18n-56.0.1/tr.xpi) = 1b4f6c67df638d197a4a335e4804c2ace7f4418143fb315f8b1869d0f58427d5
176
SHA256 (xpi/firefox-i18n-57.0b10/tr.xpi) = facff15b42589a19d1b254f3c90da20ab079b2aec1b41fabe496b716d4d47e50
177
SIZE (xpi/firefox-i18n-56.0.1/tr.xpi) = 480550
177
SIZE (xpi/firefox-i18n-57.0b10/tr.xpi) = 464187
178
SHA256 (xpi/firefox-i18n-56.0.1/uk.xpi) = e9d58bb00b3c5ab1fd3e733dad500fc5b16f8687a5c734be3005d3224fce6b2b
178
SHA256 (xpi/firefox-i18n-57.0b10/uk.xpi) = 81b5923c5e3ad3a21f55e9c01e7e6523d84891cfcc4e4edcc1d5072b0af47d43
179
SIZE (xpi/firefox-i18n-56.0.1/uk.xpi) = 535436
179
SIZE (xpi/firefox-i18n-57.0b10/uk.xpi) = 516671
180
SHA256 (xpi/firefox-i18n-56.0.1/ur.xpi) = 38d1ca95c04dd04755c5bc81428cc023f745b3eecd89a7d25372d5d0d05533be
180
SHA256 (xpi/firefox-i18n-57.0b10/ur.xpi) = 4d8cdee9d66f3519bbc123c1af7de68b10f01ef1b6d0e81f758541d30bbfc7ed
181
SIZE (xpi/firefox-i18n-56.0.1/ur.xpi) = 527354
181
SIZE (xpi/firefox-i18n-57.0b10/ur.xpi) = 510893
182
SHA256 (xpi/firefox-i18n-56.0.1/uz.xpi) = d1825e387c642e7138769e4ce93bb87f37c11af485d4f2304946c87cd3d5b561
182
SHA256 (xpi/firefox-i18n-57.0b10/uz.xpi) = d5883f3c668448d290433aafbab672eadb0838ed76cd88be6a6fa8424d3bfe85
183
SIZE (xpi/firefox-i18n-56.0.1/uz.xpi) = 475101
183
SIZE (xpi/firefox-i18n-57.0b10/uz.xpi) = 461624
184
SHA256 (xpi/firefox-i18n-56.0.1/vi.xpi) = 4cf4623f5444494c004e0e68bb1fa6b7fa19c4312b64ca5853b18f21fbc881c3
184
SHA256 (xpi/firefox-i18n-57.0b10/vi.xpi) = 3a9f58f68c4905fde049ce020ceb117cda9fdab310aecece4cca1392e661292f
185
SIZE (xpi/firefox-i18n-56.0.1/vi.xpi) = 487150
185
SIZE (xpi/firefox-i18n-57.0b10/vi.xpi) = 471254
186
SHA256 (xpi/firefox-i18n-56.0.1/xh.xpi) = d1180cc0ed1e5d06ebd13e3349374d72d43d609047f61f1e69b1cc9306aec8be
186
SHA256 (xpi/firefox-i18n-57.0b10/xh.xpi) = 8d12578fc9a33ad02d50a4ab7f781c1e63117d493680a179702e841cff232f08
187
SIZE (xpi/firefox-i18n-56.0.1/xh.xpi) = 477838
187
SIZE (xpi/firefox-i18n-57.0b10/xh.xpi) = 464394
188
SHA256 (xpi/firefox-i18n-56.0.1/zh-CN.xpi) = b50a88457241bd88e7e18dcd909d216fa37f52017f5d33f4721ec774ec57c845
188
SHA256 (xpi/firefox-i18n-57.0b10/zh-CN.xpi) = fe66cfd897574ab818e0b6b01fa1b2abd73f368ea7be4acc4ce9b806972bbc4c
189
SIZE (xpi/firefox-i18n-56.0.1/zh-CN.xpi) = 498979
189
SIZE (xpi/firefox-i18n-57.0b10/zh-CN.xpi) = 482217
190
SHA256 (xpi/firefox-i18n-56.0.1/zh-TW.xpi) = b812f005d3a87a80b228e9e01ff2daecb43fa781793cf73a4178cde54172b368
190
SHA256 (xpi/firefox-i18n-57.0b10/zh-TW.xpi) = 3b4920007ecf5fa96fea8562de3b5f979300e8d296df90e7f3b8713e8a315e57
191
SIZE (xpi/firefox-i18n-56.0.1/zh-TW.xpi) = 497765
191
SIZE (xpi/firefox-i18n-57.0b10/zh-TW.xpi) = 480965
(-)b/www/firefox/Makefile (-7 / +6 lines)
Lines 2-28 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	firefox
4
PORTNAME=	firefox
5
DISTVERSION=	56.0.1
5
DISTVERSION=	57.0b10
6
DISTVERSIONSUFFIX=.source
6
DISTVERSIONSUFFIX=.source
7
PORTREVISION=	2
8
PORTEPOCH=	1
7
PORTEPOCH=	1
9
CATEGORIES=	www ipv6
8
CATEGORIES=	www ipv6
10
MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
9
MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
11
		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source
10
		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
12
11
13
MAINTAINER=	gecko@FreeBSD.org
12
MAINTAINER=	gecko@FreeBSD.org
14
COMMENT=	Web browser based on the browser portion of Mozilla
13
COMMENT=	Web browser based on the browser portion of Mozilla
15
14
16
BUILD_DEPENDS=	nspr>=4.16:devel/nspr \
15
BUILD_DEPENDS=	nspr>=4.17:devel/nspr \
17
		nss>=3.32.1:security/nss \
16
		nss>=3.33:security/nss \
18
		icu>=59.1,1:devel/icu \
17
		icu>=59.1,1:devel/icu \
19
		libevent>=2.1.8:devel/libevent \
18
		libevent>=2.1.8:devel/libevent \
20
		harfbuzz>=1.4.7:print/harfbuzz \
19
		harfbuzz>=1.5.1:print/harfbuzz \
21
		graphite2>=1.3.10:graphics/graphite2 \
20
		graphite2>=1.3.10:graphics/graphite2 \
22
		png>=1.6.31:graphics/png \
21
		png>=1.6.31:graphics/png \
23
		libvorbis>=1.3.5,3:audio/libvorbis \
22
		libvorbis>=1.3.5,3:audio/libvorbis \
24
		libvpx>=1.5.0:multimedia/libvpx \
23
		libvpx>=1.5.0:multimedia/libvpx \
25
		sqlite3>=3.19.3:databases/sqlite3 \
24
		sqlite3>=3.20.1:databases/sqlite3 \
26
		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
25
		${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \
27
		v4l_compat>0:multimedia/v4l_compat \
26
		v4l_compat>0:multimedia/v4l_compat \
28
		autoconf-2.13:devel/autoconf213 \
27
		autoconf-2.13:devel/autoconf213 \
(-)b/www/firefox/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1507068922
1
TIMESTAMP = 1508436703
2
SHA256 (firefox-56.0.1.source.tar.xz) = ece052c9385ac6ccf58edb213b875f4793014c431f7e40de146bcd2dbcb0a3cb
2
SHA256 (firefox-57.0b10.source.tar.xz) = 49aafa778a231f3860ac1f8f6837e3b02a5a4c92cf8244c5a0d4bcecb383798f
3
SIZE (firefox-56.0.1.source.tar.xz) = 254422768
3
SIZE (firefox-57.0b10.source.tar.xz) = 249194920
(-)a/www/firefox/files/patch-bug1386887 (-89 lines)
Removed Link Here
1
commit efbe3a9af876
2
Author: Manish Goregaokar <manishearth@gmail.com>
3
Date:   Wed Aug 2 11:24:35 2017 -0700
4
5
    Bug 1386887 - Clean up FFI lifetimes to work on nightly; r=emilio
6
    
7
    MozReview-Commit-ID: 5WAIVd6p2du
8
---
9
 layout/style/ServoBindingList.h  | 4 ++--
10
 layout/style/ServoBindingTypes.h | 2 ++
11
 layout/style/ServoBindings.h     | 4 ++--
12
 layout/style/ServoBindings.toml  | 4 +++-
13
 4 files changed, 9 insertions(+), 5 deletions(-)
14
15
diff --git layout/style/ServoBindingList.h layout/style/ServoBindingList.h
16
index 6c669ebb3d3e..87ade14ea4de 100644
17
--- layout/style/ServoBindingList.h
18
+++ layout/style/ServoBindingList.h
19
@@ -379,10 +379,10 @@ SERVO_BINDING_FUNC(Servo_DeclarationBlock_HasCSSWideKeyword, bool,
20
                    nsCSSPropertyID property)
21
 // Compose animation value for a given property.
22
 // |base_values| is nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>.
23
-// We use void* to avoid exposing nsRefPtrHashtable in FFI.
24
+// We use RawServoAnimationValueTableBorrowed to avoid exposing nsRefPtrHashtable in FFI.
25
 SERVO_BINDING_FUNC(Servo_AnimationCompose, void,
26
                    RawServoAnimationValueMapBorrowedMut animation_values,
27
-                   void* base_values,
28
+                   RawServoAnimationValueTableBorrowed base_values,
29
                    nsCSSPropertyID property,
30
                    RawGeckoAnimationPropertySegmentBorrowed animation_segment,
31
                    RawGeckoAnimationPropertySegmentBorrowed last_segment,
32
diff --git layout/style/ServoBindingTypes.h layout/style/ServoBindingTypes.h
33
index aaf4fc27e1b9..69be15ee9f51 100644
34
--- layout/style/ServoBindingTypes.h
35
+++ layout/style/ServoBindingTypes.h
36
@@ -54,6 +54,8 @@ class nsXBLBinding;
37
 using mozilla::dom::StyleChildrenIterator;
38
 using mozilla::ServoElementSnapshot;
39
 
40
+typedef void* RawServoAnimationValueTableBorrowed;
41
+
42
 typedef nsINode RawGeckoNode;
43
 typedef mozilla::dom::Element RawGeckoElement;
44
 typedef nsIDocument RawGeckoDocument;
45
diff --git layout/style/ServoBindings.h layout/style/ServoBindings.h
46
index 493ca63f932b..c6ced6d1fedb 100644
47
--- layout/style/ServoBindings.h
48
+++ layout/style/ServoBindings.h
49
@@ -268,9 +268,9 @@ double Gecko_GetPositionInSegment(
50
 // Get servo's AnimationValue for |aProperty| from the cached base style
51
 // |aBaseStyles|.
52
 // |aBaseStyles| is nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>.
53
-// We use void* to avoid exposing nsRefPtrHashtable in FFI.
54
+// We use RawServoAnimationValueTableBorrowed to avoid exposing nsRefPtrHashtable in FFI.
55
 RawServoAnimationValueBorrowedOrNull Gecko_AnimationGetBaseStyle(
56
-  void* aBaseStyles,
57
+  RawServoAnimationValueTableBorrowed aBaseStyles,
58
   nsCSSPropertyID aProperty);
59
 void Gecko_StyleTransition_SetUnsupportedProperty(
60
   mozilla::StyleTransition* aTransition,
61
diff --git layout/style/ServoBindings.toml layout/style/ServoBindings.toml
62
index 11e372541235..3c3902beea80 100644
63
--- layout/style/ServoBindings.toml
64
+++ layout/style/ServoBindings.toml
65
@@ -357,6 +357,7 @@ raw-lines = [
66
     "pub type ServoStyleContextBorrowed<'a> = &'a ::properties::ComputedValues;",
67
     "pub type ServoStyleContextBorrowedOrNull<'a> = Option<&'a ::properties::ComputedValues>;",
68
     "pub type ServoComputedDataBorrowed<'a> = &'a ServoComputedData;",
69
+    "pub type RawServoAnimationValueTableBorrowed<'a> = &'a ();"
70
 ]
71
 whitelist-functions = ["Servo_.*", "Gecko_.*"]
72
 structs-types = [
73
@@ -389,7 +390,7 @@ structs-types = [
74
     "RawGeckoPresContext",
75
     "RawGeckoPresContextOwned",
76
     "RawGeckoStyleAnimationList",
77
-    "RawGeckoStyleChildrenIteratorBorrowedMut",
78
+    "RawGeckoStyleChildrenIterator",
79
     "RawGeckoServoStyleRuleList",
80
     "RawGeckoURLExtraData",
81
     "RawGeckoXBLBinding",
82
@@ -526,6 +527,7 @@ servo-borrow-types = [
83
     "RawGeckoFontFaceRuleList",
84
     "RawGeckoServoStyleRuleList",
85
     "RawGeckoServoAnimationValueList",
86
+    "RawGeckoStyleChildrenIterator",
87
 ]
88
 fixups = [
89
     # hack for gecko-owned string
(-)a/www/firefox/files/patch-bug1386957 (-14 lines)
Removed Link Here
1
https://github.com/kinetiknz/cubeb/commit/16f9ccc064f2
2
3
--- media/libcubeb/src/cubeb_jack.cpp.orig	2017-07-07 05:37:16 UTC
4
+++ media/libcubeb/src/cubeb_jack.cpp
5
@@ -8,7 +8,9 @@
6
  */
7
 #define _DEFAULT_SOURCE
8
 #define _BSD_SOURCE
9
+#ifndef __FreeBSD__
10
 #define _POSIX_SOURCE
11
+#endif
12
 #include <dlfcn.h>
13
 #include <stdio.h>
14
 #include <string.h>
(-)a/www/firefox/files/patch-bug1401093 (-11 lines)
Removed Link Here
1
--- toolkit/moz.configure.orig	2017-08-08 06:07:58 UTC
2
+++ toolkit/moz.configure
3
@@ -620,7 +620,7 @@ def stylo_config(value, _, target):
4
 
5
     # If nothing is specified, default to building stylo where possible.
6
     if value.origin == 'default':
7
-        if target.os == 'GNU' and target.bitness == 32:
8
+        if target.os != 'WINNT' and target.bitness == 32:
9
             # The clang setup we use in automation is a little unusual, and
10
             # doesn't play well with bindgen on 32-bit Linux.
11
             pass
(-)b/www/firefox/files/patch-bug847568 (-1 / +1 lines)
Lines 261-267 index 9297e4d6f501..d8e273887e4b 100644 Link Here
261
+option('--with-system-harfbuzz',
261
+option('--with-system-harfbuzz',
262
+       help="Use system harfbuzz (located with pkgconfig)")
262
+       help="Use system harfbuzz (located with pkgconfig)")
263
+
263
+
264
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.4.7',
264
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 1.5.1',
265
+                                    when='--with-system-harfbuzz')
265
+                                    when='--with-system-harfbuzz')
266
+
266
+
267
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
267
+set_config('MOZ_SYSTEM_HARFBUZZ', depends_if(system_harfbuzz)(lambda _: True))
(-)b/www/firefox/files/patch-build-pgo-profileserver.py (-10 / +10 lines)
Lines 1-11 Link Here
1
--- build/pgo/profileserver.py.orig	2011-02-24 21:49:47.000000000 +0100
1
--- build/pgo/profileserver.py.orig	2017-09-15 04:15:39 UTC
2
+++ build/pgo/profileserver.py	2011-02-24 21:50:30.000000000 +0100
2
+++ build/pgo/profileserver.py
3
@@ -59,7 +59,7 @@ if __name__ == '__main__':
3
@@ -87,7 +87,7 @@ if __name__ == '__main__':
4
       env["MOZ_JAR_LOG_FILE"] = os.path.abspath(jarlog)
4
             env["MOZ_JAR_LOG_FILE"] = os.path.abspath(jarlog)
5
       print "jarlog: %s" % env["MOZ_JAR_LOG_FILE"]
5
             print "jarlog: %s" % env["MOZ_JAR_LOG_FILE"]
6
 
6
 
7
-    cmdargs = ["http://localhost:%d/index.html" % PORT]
7
-        cmdargs = ["http://localhost:%d/index.html" % PORT]
8
+    cmdargs = ["http://127.0.0.1:%d/index.html" % PORT]
8
+        cmdargs = ["http://127.0.0.1:%d/index.html" % PORT]
9
     runner = FirefoxRunner(profile=profile,
9
         runner = FirefoxRunner(profile=profile,
10
                            binary=build.get_binary_path(where="staged-package"),
10
                                binary=build.get_binary_path(
11
                            cmdargs=cmdargs,
11
                                    where="staged-package"),
(-)a/www/firefox/files/patch-servo17934 (-53 lines)
Removed Link Here
1
commit 4cbdfa028752
2
Author: Manish Goregaokar <manishsmail@gmail.com>
3
Date:   Tue Aug 1 12:57:42 2017 -0500
4
5
    servo: Merge #17934 - Remove doc comment on statement (from Manishearth:doc-comment); r=canaltinova
6
    
7
    rustc warns about these now
8
    
9
    Source-Repo: https://github.com/servo/servo
10
    Source-Revision: b49311c65a083a9b8eb03741bf7ea980b64f1e03
11
    
12
    --HG--
13
    extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
14
    extra : subtree_revision : 6b3c7d7f4ffeb9e271c52d418cda42cac5dd378d
15
---
16
 servo/components/style/values/specified/image.rs | 6 +++---
17
 1 file changed, 3 insertions(+), 3 deletions(-)
18
19
diff --git servo/components/style/values/specified/image.rs servo/components/style/values/specified/image.rs
20
index 37ed00ccf443..687c6f17d432 100644
21
--- servo/components/style/values/specified/image.rs
22
+++ servo/components/style/values/specified/image.rs
23
@@ -686,14 +686,14 @@ impl LineDirection {
24
         input.try(|i| {
25
             let to_ident = i.try(|i| i.expect_ident_matching("to"));
26
             match *compat_mode {
27
-                /// `to` keyword is mandatory in modern syntax.
28
+                // `to` keyword is mandatory in modern syntax.
29
                 CompatMode::Modern => to_ident?,
30
                 // Fall back to Modern compatibility mode in case there is a `to` keyword.
31
                 // According to Gecko, `-moz-linear-gradient(to ...)` should serialize like
32
                 // `linear-gradient(to ...)`.
33
                 CompatMode::Moz if to_ident.is_ok() => *compat_mode = CompatMode::Modern,
34
-                /// There is no `to` keyword in webkit prefixed syntax. If it's consumed,
35
-                /// parsing should throw an error.
36
+                // There is no `to` keyword in webkit prefixed syntax. If it's consumed,
37
+                // parsing should throw an error.
38
                 CompatMode::WebKit if to_ident.is_ok() => {
39
                     return Err(SelectorParseError::UnexpectedIdent("to".into()).into())
40
                 },
41
diff --git servo/components/style/properties/gecko.mako.rs servo/components/style/properties/gecko.mako.rs
42
index 37ed00ccf443..687c6f17d432 100644
43
--- servo/components/style/properties/gecko.mako.rs
44
+++ servo/components/style/properties/gecko.mako.rs
45
@@ -2081,7 +2081,7 @@ fn static_assert() {
46
             return (parent_size, parent_unconstrained_size)
47
         }
48
 
49
-        /// XXXManishearth this should also handle text zoom
50
+        // XXXManishearth this should also handle text zoom
51
         let min = Au(parent.gecko.mScriptMinSize);
52
 
53
         let scale = (parent.gecko.mScriptSizeMultiplier as f32).powi(delta as i32);
(-)a/www/firefox/files/patch-servo17969 (-110 lines)
Removed Link Here
1
commit 9f5c1f2e4b5b
2
Author: Manish Goregaokar <manishsmail@gmail.com>
3
Date:   Thu Aug 3 16:27:12 2017 -0500
4
5
    servo: Merge #17969 - Update stylo code to work on nightly (from Manishearth:rustup); r=emilio
6
    
7
    r=emilio https://bugzilla.mozilla.org/show_bug.cgi?id=1386887
8
    
9
    Source-Repo: https://github.com/servo/servo
10
    Source-Revision: 7cee7d7fcc4194e410fa8a308a77d37ac452778a
11
    
12
    --HG--
13
    extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
14
    extra : subtree_revision : d9c874ebcfa1e64c86265d0ed2e5cff65d9133be
15
---
16
 servo/components/style/gecko/generated/bindings.rs | 12 +++++++++---
17
 servo/components/style/gecko/wrapper.rs            |  7 ++++++-
18
 servo/ports/geckolib/glue.rs                       |  3 ++-
19
 3 files changed, 17 insertions(+), 5 deletions(-)
20
21
diff --git servo/components/style/gecko/generated/bindings.rs servo/components/style/gecko/generated/bindings.rs
22
index e46bdfe1e1ea..b6703ab95bf7 100644
23
--- servo/components/style/gecko/generated/bindings.rs
24
+++ servo/components/style/gecko/generated/bindings.rs
25
@@ -8,6 +8,7 @@ type nsAString_internal = nsAString;
26
 pub type ServoStyleContextBorrowed<'a> = &'a ::properties::ComputedValues;
27
 pub type ServoStyleContextBorrowedOrNull<'a> = Option<&'a ::properties::ComputedValues>;
28
 pub type ServoComputedDataBorrowed<'a> = &'a ServoComputedData;
29
+pub type RawServoAnimationValueTableBorrowed<'a> = &'a ();
30
 use gecko_bindings::structs::mozilla::css::GridTemplateAreasValue;
31
 use gecko_bindings::structs::mozilla::css::ErrorReporter;
32
 use gecko_bindings::structs::mozilla::css::ImageValue;
33
@@ -37,7 +38,7 @@ use gecko_bindings::structs::RawServoStyleRule;
34
 use gecko_bindings::structs::RawGeckoPresContext;
35
 use gecko_bindings::structs::RawGeckoPresContextOwned;
36
 use gecko_bindings::structs::RawGeckoStyleAnimationList;
37
-use gecko_bindings::structs::RawGeckoStyleChildrenIteratorBorrowedMut;
38
+use gecko_bindings::structs::RawGeckoStyleChildrenIterator;
39
 use gecko_bindings::structs::RawGeckoServoStyleRuleList;
40
 use gecko_bindings::structs::RawGeckoURLExtraData;
41
 use gecko_bindings::structs::RawGeckoXBLBinding;
42
@@ -320,6 +321,10 @@ pub type RawGeckoServoAnimationValueListBorrowed<'a> = &'a RawGeckoServoAnimatio
43
 pub type RawGeckoServoAnimationValueListBorrowedOrNull<'a> = Option<&'a RawGeckoServoAnimationValueList>;
44
 pub type RawGeckoServoAnimationValueListBorrowedMut<'a> = &'a mut RawGeckoServoAnimationValueList;
45
 pub type RawGeckoServoAnimationValueListBorrowedMutOrNull<'a> = Option<&'a mut RawGeckoServoAnimationValueList>;
46
+pub type RawGeckoStyleChildrenIteratorBorrowed<'a> = &'a RawGeckoStyleChildrenIterator;
47
+pub type RawGeckoStyleChildrenIteratorBorrowedOrNull<'a> = Option<&'a RawGeckoStyleChildrenIterator>;
48
+pub type RawGeckoStyleChildrenIteratorBorrowedMut<'a> = &'a mut RawGeckoStyleChildrenIterator;
49
+pub type RawGeckoStyleChildrenIteratorBorrowedMutOrNull<'a> = Option<&'a mut RawGeckoStyleChildrenIterator>;
50
 pub type ServoCssRulesStrong = ::gecko_bindings::sugar::ownership::Strong<ServoCssRules>;
51
 pub type ServoCssRulesBorrowed<'a> = &'a ServoCssRules;
52
 pub type ServoCssRulesBorrowedOrNull<'a> = Option<&'a ServoCssRules>;
53
@@ -840,7 +845,7 @@ extern "C" {
54
 }
55
 extern "C" {
56
     pub fn Gecko_AnimationGetBaseStyle(aBaseStyles:
57
-                                           *mut ::std::os::raw::c_void,
58
+                                           RawServoAnimationValueTableBorrowed,
59
                                        aProperty: nsCSSPropertyID)
60
      -> RawServoAnimationValueBorrowedOrNull;
61
 }
62
@@ -2602,7 +2607,8 @@ extern "C" {
63
 extern "C" {
64
     pub fn Servo_AnimationCompose(animation_values:
65
                                       RawServoAnimationValueMapBorrowedMut,
66
-                                  base_values: *mut ::std::os::raw::c_void,
67
+                                  base_values:
68
+                                      RawServoAnimationValueTableBorrowed,
69
                                   property: nsCSSPropertyID,
70
                                   animation_segment:
71
                                       RawGeckoAnimationPropertySegmentBorrowed,
72
diff --git servo/components/style/gecko/wrapper.rs servo/components/style/gecko/wrapper.rs
73
index dae898692313..6d62f54951cc 100644
74
--- servo/components/style/gecko/wrapper.rs
75
+++ servo/components/style/gecko/wrapper.rs
76
@@ -387,7 +387,12 @@ impl<'a> Iterator for GeckoChildrenIterator<'a> {
77
                 curr
78
             },
79
             GeckoChildrenIterator::GeckoIterator(ref mut it) => unsafe {
80
-                Gecko_GetNextStyleChild(it).map(GeckoNode)
81
+                // We do this unsafe lengthening of the lifetime here because
82
+                // structs::StyleChildrenIterator is actually StyleChildrenIterator<'a>,
83
+                // however we can't express this easily with bindgen, and it would
84
+                // introduce functions with two input lifetimes into bindgen,
85
+                // which would be out of scope for elision.
86
+                Gecko_GetNextStyleChild(&mut * (it as *mut _)).map(GeckoNode)
87
             }
88
         }
89
     }
90
diff --git servo/ports/geckolib/glue.rs servo/ports/geckolib/glue.rs
91
index 367d24ff87b2..e69959f3710b 100644
92
--- servo/ports/geckolib/glue.rs
93
+++ servo/ports/geckolib/glue.rs
94
@@ -59,6 +59,7 @@ use style::gecko_bindings::bindings::RawGeckoServoStyleRuleListBorrowedMut;
95
 use style::gecko_bindings::bindings::RawServoAnimationValueBorrowed;
96
 use style::gecko_bindings::bindings::RawServoAnimationValueMapBorrowedMut;
97
 use style::gecko_bindings::bindings::RawServoAnimationValueStrong;
98
+use style::gecko_bindings::bindings::RawServoAnimationValueTableBorrowed;
99
 use style::gecko_bindings::bindings::RawServoStyleRuleBorrowed;
100
 use style::gecko_bindings::bindings::ServoStyleContextBorrowedOrNull;
101
 use style::gecko_bindings::bindings::nsTArrayBorrowed_uintptr_t;
102
@@ -374,7 +375,7 @@ pub extern "C" fn Servo_AnimationValues_ComputeDistance(from: RawServoAnimationV
103
 
104
 #[no_mangle]
105
 pub extern "C" fn Servo_AnimationCompose(raw_value_map: RawServoAnimationValueMapBorrowedMut,
106
-                                         base_values: *mut ::std::os::raw::c_void,
107
+                                         base_values: RawServoAnimationValueTableBorrowed,
108
                                          css_property: nsCSSPropertyID,
109
                                          segment: RawGeckoAnimationPropertySegmentBorrowed,
110
                                          last_segment: RawGeckoAnimationPropertySegmentBorrowed,
(-)a/www/firefox/files/patch-servo18046 (-763 lines)
Removed Link Here
1
commit ea9c8db790e4
2
Author: Simon Sapin <simon.sapin@exyr.org>
3
Date:   Tue Aug 15 07:31:04 2017 -0500
4
5
    servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio
6
    
7
    Source-Repo: https://github.com/servo/servo
8
    Source-Revision: 7d9b82b9efa7b10a2e34d93df5ac535d99518f7a
9
    
10
    --HG--
11
    extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
12
    extra : subtree_revision : e1b3d113c3edaea3c4c07f8b206f2e02922e3caf
13
---
14
 servo/Cargo.lock                                   |  6 +++---
15
 servo/components/devtools/lib.rs                   |  2 +-
16
 servo/components/layout/animation.rs               |  2 +-
17
 servo/components/layout/construct.rs               |  6 +++---
18
 servo/components/layout/display_list_builder.rs    |  2 +-
19
 servo/components/layout/flex.rs                    |  6 +++---
20
 servo/components/layout/inline.rs                  |  4 ++--
21
 servo/components/layout/sequential.rs              |  2 +-
22
 servo/components/layout/table_cell.rs              |  2 +-
23
 servo/components/layout/text.rs                    |  2 +-
24
 servo/components/net/cookie_storage.rs             |  2 +-
25
 servo/components/profile/heartbeats.rs             |  4 ++--
26
 servo/components/script/dom/bindings/js.rs         |  4 ++--
27
 servo/components/script/dom/cssstyledeclaration.rs |  8 ++++----
28
 servo/components/script/dom/cssstylerule.rs        |  2 +-
29
 servo/components/script/dom/document.rs            | 12 ++++++------
30
 servo/components/script/dom/medialist.rs           |  4 ++--
31
 servo/components/script/dom/range.rs               |  4 ++--
32
 .../script/dom/servoparser/async_html.rs           |  4 ++--
33
 servo/components/script/dom/url.rs                 |  4 ++--
34
 servo/components/script/dom/vrdisplay.rs           |  2 +-
35
 .../components/script/dom/webglrenderingcontext.rs |  2 +-
36
 servo/components/script/dom/xmlhttprequest.rs      |  2 +-
37
 servo/components/script/lib.rs                     |  1 -
38
 .../script_plugins/unrooted_must_root.rs           | 22 +++++++++++++++-------
39
 servo/components/selectors/matching.rs             |  2 +-
40
 servo/components/selectors/parser.rs               |  2 +-
41
 .../style/invalidation/element/invalidator.rs      |  2 +-
42
 servo/components/style/matching.rs                 |  2 +-
43
 .../components/style/properties/properties.mako.rs |  2 +-
44
 servo/components/style/style_adjuster.rs           |  2 +-
45
 servo/components/style/style_resolver.rs           |  2 +-
46
 servo/components/style/stylesheets/rule_list.rs    |  2 +-
47
 servo/components/style/stylesheets/rule_parser.rs  |  2 +-
48
 .../components/style/stylesheets/rules_iterator.rs |  2 +-
49
 servo/components/style/values/animated/color.rs    |  2 +-
50
 servo/components/style/values/computed/border.rs   |  2 +-
51
 servo/components/webdriver_server/lib.rs           |  2 +-
52
 servo/rust-commit-hash                             |  2 +-
53
 servo/tests/unit/style/stylist.rs                  | 13 -------------
54
 40 files changed, 73 insertions(+), 79 deletions(-)
55
56
diff --git servo/Cargo.lock servo/Cargo.lock
57
index 50dd6e1a785a..2aa7bd8ea3dd 100644
58
--- servo/Cargo.lock
59
+++ servo/Cargo.lock
60
@@ -3577,7 +3577,7 @@ version = "0.1.4"
61
 source = "registry+https://github.com/rust-lang/crates.io-index"
62
 dependencies = [
63
  "error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
64
- "xcb 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
65
+ "xcb 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)",
66
 ]
67
 
68
 [[package]]
69
@@ -3592,7 +3592,7 @@ dependencies = [
70
 
71
 [[package]]
72
 name = "xcb"
73
-version = "0.7.6"
74
+version = "0.7.7"
75
 source = "registry+https://github.com/rust-lang/crates.io-index"
76
 dependencies = [
77
  "libc 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)",
78
@@ -3918,7 +3918,7 @@ dependencies = [
79
 "checksum x11 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db27c597c187da52194a4b8232e7d869503911aab9ff726fefb76d7a830f78ed"
80
 "checksum x11-clipboard 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "731230b8edcbb9d99247105e4c9ec0a538594d50ad68d2afa8662195f9db2973"
81
 "checksum x11-dl 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "326c500cdc166fd7c70dd8c8a829cd5c0ce7be5a5d98c25817de2b9bdc67faf8"
82
-"checksum xcb 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "63e3a849b73e4e1905e4f4d48f1750429bc86ea9f473632ab382a6f69ecb6b33"
83
+"checksum xcb 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)" = "7cede38417fcdf2f0a9d8abf1cea1c1b066320a8a316e9583a0d717c334fafb2"
84
 "checksum xdg 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a66b7c2281ebde13cf4391d70d4c7e5946c3c25e72a7b859ca8f677dcd0b0c61"
85
 "checksum xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "12ea8eda4b1eb72f02d148402e23832d56a33f55d8c1b2d5bcdde91d79d47cb1"
86
 "checksum xml-rs 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7ec6c39eaa68382c8e31e35239402c0a9489d4141a8ceb0c716099a0b515b562"
87
diff --git servo/components/devtools/lib.rs servo/components/devtools/lib.rs
88
index d5a2764a7102..6a25696eaed7 100644
89
--- servo/components/devtools/lib.rs
90
+++ servo/components/devtools/lib.rs
91
@@ -306,7 +306,7 @@ fn run_server(sender: Sender<DevtoolsControlMsg>,
92
                 columnNumber: console_message.columnNumber,
93
             },
94
         };
95
-        for mut stream in &mut *console_actor.streams.borrow_mut() {
96
+        for stream in &mut *console_actor.streams.borrow_mut() {
97
             stream.write_json_packet(&msg);
98
         }
99
     }
100
diff --git servo/components/layout/animation.rs servo/components/layout/animation.rs
101
index e4a2782c1271..ebbba82fcc6a 100644
102
--- servo/components/layout/animation.rs
103
+++ servo/components/layout/animation.rs
104
@@ -39,7 +39,7 @@ pub fn update_animation_state(constellation_chan: &IpcSender<ConstellationMsg>,
105
             // run.
106
             if let Some(ref mut animations) = running_animations.get_mut(node) {
107
                 // TODO: This being linear is probably not optimal.
108
-                for mut anim in animations.iter_mut() {
109
+                for anim in animations.iter_mut() {
110
                     if let Animation::Keyframes(_, ref anim_name, ref mut anim_state) = *anim {
111
                         if *name == *anim_name {
112
                             debug!("update_animation_state: Found other animation {}", name);
113
diff --git servo/components/layout/construct.rs servo/components/layout/construct.rs
114
index c863219941e4..7ef391b42183 100644
115
--- servo/components/layout/construct.rs
116
+++ servo/components/layout/construct.rs
117
@@ -1921,7 +1921,7 @@ impl Legalizer {
118
     /// true for anonymous block children of flex flows.
119
     fn try_to_add_child(&mut self, context: &SharedStyleContext, parent: &mut FlowRef, child: &mut FlowRef)
120
                         -> bool {
121
-        let mut parent = self.stack.last_mut().unwrap_or(parent);
122
+        let parent = self.stack.last_mut().unwrap_or(parent);
123
         let (parent_class, child_class) = (parent.class(), child.class());
124
         match (parent_class, child_class) {
125
             (FlowClass::TableWrapper, FlowClass::Table) |
126
@@ -1962,7 +1962,7 @@ impl Legalizer {
127
                     } else {
128
                         IS_BLOCK_FLEX_ITEM
129
                     };
130
-                    let mut block = FlowRef::deref_mut(&mut block_wrapper).as_mut_block();
131
+                    let block = FlowRef::deref_mut(&mut block_wrapper).as_mut_block();
132
                     block.base.flags.insert(MARGINS_CANNOT_COLLAPSE);
133
                     block.fragment.flags.insert(flag);
134
                 }
135
@@ -1979,7 +1979,7 @@ impl Legalizer {
136
                     } else {
137
                         IS_BLOCK_FLEX_ITEM
138
                     };
139
-                    let mut block = FlowRef::deref_mut(child).as_mut_block();
140
+                    let block = FlowRef::deref_mut(child).as_mut_block();
141
                     block.base.flags.insert(MARGINS_CANNOT_COLLAPSE);
142
                     block.fragment.flags.insert(flag);
143
                 }
144
diff --git servo/components/layout/display_list_builder.rs servo/components/layout/display_list_builder.rs
145
index f8b26899b57d..783574afd2a3 100644
146
--- servo/components/layout/display_list_builder.rs
147
+++ servo/components/layout/display_list_builder.rs
148
@@ -2718,7 +2718,7 @@ impl InlineFlowDisplayListBuilding for InlineFlow {
149
         self.base.scroll_root_id = Some(state.current_scroll_root_id);
150
         self.base.clip = state.clip_stack.last().cloned().unwrap_or_else(max_rect);
151
 
152
-        for mut fragment in self.fragments.fragments.iter_mut() {
153
+        for fragment in self.fragments.fragments.iter_mut() {
154
             let previous_containing_block_scroll_root_id = state.containing_block_scroll_root_id;
155
             if establishes_containing_block_for_absolute(fragment.style.get_box().position) {
156
                 state.containing_block_scroll_root_id = state.current_scroll_root_id;
157
diff --git servo/components/layout/flex.rs servo/components/layout/flex.rs
158
index 353c939f58b9..d79580f8cd0d 100644
159
--- servo/components/layout/flex.rs
160
+++ servo/components/layout/flex.rs
161
@@ -415,7 +415,7 @@ impl FlexFlow {
162
 
163
         let items = &mut self.items[start..];
164
         let mut children = self.block_flow.base.children.random_access_mut();
165
-        for mut item in items {
166
+        for item in items {
167
             let kid = children.get(item.index);
168
             item.init_sizes(kid, container_size, self.main_mode);
169
             let outer_main_size = item.outer_main_size(kid, self.main_mode);
170
@@ -607,7 +607,7 @@ impl FlexFlow {
171
 
172
             let mut children = self.block_flow.base.children.random_access_mut();
173
             for item in items.iter_mut() {
174
-                let mut block = children.get(item.index).as_mut_block();
175
+                let block = children.get(item.index).as_mut_block();
176
 
177
                 block.base.block_container_writing_mode = container_mode;
178
                 block.base.block_container_inline_size = inline_size;
179
@@ -659,7 +659,7 @@ impl FlexFlow {
180
 
181
         let mut children = self.block_flow.base.children.random_access_mut();
182
         for item in &mut self.items {
183
-            let mut base = flow::mut_base(children.get(item.index));
184
+            let base = flow::mut_base(children.get(item.index));
185
             if !self.main_reverse {
186
                 base.position.start.b = cur_b;
187
                 cur_b = cur_b + base.position.size.block;
188
diff --git servo/components/layout/inline.rs servo/components/layout/inline.rs
189
index d5813d9bea22..10e091c3c66d 100644
190
--- servo/components/layout/inline.rs
191
+++ servo/components/layout/inline.rs
192
@@ -435,7 +435,7 @@ impl LineBreaker {
193
             return
194
         }
195
         let last_fragment_index = self.pending_line.range.end() - FragmentIndex(1);
196
-        let mut fragment = &mut self.new_fragments[last_fragment_index.get() as usize];
197
+        let fragment = &mut self.new_fragments[last_fragment_index.get() as usize];
198
 
199
         let old_fragment_inline_size = fragment.border_box.size.inline;
200
 
201
@@ -1047,7 +1047,7 @@ impl InlineFlow {
202
         let space_per_expansion_opportunity = slack_inline_size / expansion_opportunities as i32;
203
         for fragment_index in line.range.each_index() {
204
             let fragment = fragments.get_mut(fragment_index.to_usize());
205
-            let mut scanned_text_fragment_info = match fragment.specific {
206
+            let scanned_text_fragment_info = match fragment.specific {
207
                 SpecificFragmentInfo::ScannedText(ref mut info) if !info.range.is_empty() => info,
208
                 _ => continue
209
             };
210
diff --git servo/components/layout/sequential.rs servo/components/layout/sequential.rs
211
index f6f8ce429e4f..4986ebb6c852 100644
212
--- servo/components/layout/sequential.rs
213
+++ servo/components/layout/sequential.rs
214
@@ -133,7 +133,7 @@ pub fn store_overflow(layout_context: &LayoutContext, flow: &mut Flow) {
215
         return;
216
     }
217
 
218
-    for mut kid in flow::mut_base(flow).child_iter_mut() {
219
+    for kid in flow::mut_base(flow).child_iter_mut() {
220
         store_overflow(layout_context, kid);
221
     }
222
 
223
diff --git servo/components/layout/table_cell.rs servo/components/layout/table_cell.rs
224
index 7ef02e28db65..fd807989b463 100644
225
--- servo/components/layout/table_cell.rs
226
+++ servo/components/layout/table_cell.rs
227
@@ -136,7 +136,7 @@ impl TableCellFlow {
228
         }
229
 
230
         for kid in flow::mut_base(self).children.iter_mut() {
231
-            let mut kid_base = flow::mut_base(kid);
232
+            let kid_base = flow::mut_base(kid);
233
             if !kid_base.flags.contains(IS_ABSOLUTELY_POSITIONED) {
234
                 kid_base.position.start.b += offset
235
             }
236
diff --git servo/components/layout/text.rs servo/components/layout/text.rs
237
index 6e1c7b2a43a1..9a207a2bb84e 100644
238
--- servo/components/layout/text.rs
239
+++ servo/components/layout/text.rs
240
@@ -460,7 +460,7 @@ fn split_first_fragment_at_newline_if_necessary(fragments: &mut LinkedList<Fragm
241
     }
242
 
243
     let new_fragment = {
244
-        let mut first_fragment = fragments.front_mut().unwrap();
245
+        let first_fragment = fragments.front_mut().unwrap();
246
         let string_before;
247
         let selection_before;
248
         {
249
diff --git servo/components/net/cookie_storage.rs servo/components/net/cookie_storage.rs
250
index f255f57b56d2..b3147ef4dd32 100644
251
--- servo/components/net/cookie_storage.rs
252
+++ servo/components/net/cookie_storage.rs
253
@@ -103,7 +103,7 @@ impl CookieStorage {
254
 
255
         // Step 12
256
         let domain = reg_host(&cookie.cookie.domain().as_ref().unwrap_or(&""));
257
-        let mut cookies = self.cookies_map.entry(domain).or_insert(vec![]);
258
+        let cookies = self.cookies_map.entry(domain).or_insert(vec![]);
259
 
260
         if cookies.len() == self.max_per_host {
261
             let old_len = cookies.len();
262
diff --git servo/components/profile/heartbeats.rs servo/components/profile/heartbeats.rs
263
index 4661dad61836..0d474fe3a111 100644
264
--- servo/components/profile/heartbeats.rs
265
+++ servo/components/profile/heartbeats.rs
266
@@ -33,7 +33,7 @@ pub fn cleanup() {
267
         )
268
     );
269
     if let Some(mut hbs) = hbs_opt_box {
270
-        for (_, mut v) in hbs.iter_mut() {
271
+        for (_, v) in hbs.iter_mut() {
272
             // log any remaining heartbeat records before dropping
273
             log_heartbeat_records(v);
274
         }
275
@@ -65,7 +65,7 @@ pub fn maybe_heartbeat(category: &ProfilerCategory,
276
                 if !(*hbs_ptr).contains_key(category) {
277
                     maybe_create_heartbeat(&mut (*hbs_ptr), category.clone());
278
                 }
279
-                if let Some(mut h) = (*hbs_ptr).get_mut(category) {
280
+                if let Some(h) = (*hbs_ptr).get_mut(category) {
281
                     (*h).heartbeat(0, 1, start_time, end_time, start_energy, end_energy);
282
                 }
283
             }
284
diff --git servo/components/script/dom/bindings/js.rs servo/components/script/dom/bindings/js.rs
285
index 975ddeda13b0..abfd9f47eff1 100644
286
--- servo/components/script/dom/bindings/js.rs
287
+++ servo/components/script/dom/bindings/js.rs
288
@@ -469,7 +469,7 @@ impl RootCollection {
289
     /// Start tracking a stack-based root
290
     unsafe fn root(&self, untracked_reflector: *const Reflector) {
291
         debug_assert!(thread_state::get().is_script());
292
-        let mut roots = &mut *self.roots.get();
293
+        let roots = &mut *self.roots.get();
294
         roots.push(untracked_reflector);
295
         assert!(!(*untracked_reflector).get_jsobject().is_null())
296
     }
297
@@ -479,7 +479,7 @@ impl RootCollection {
298
         assert!(!tracked_reflector.is_null());
299
         assert!(!(*tracked_reflector).get_jsobject().is_null());
300
         debug_assert!(thread_state::get().is_script());
301
-        let mut roots = &mut *self.roots.get();
302
+        let roots = &mut *self.roots.get();
303
         match roots.iter().rposition(|r| *r == tracked_reflector) {
304
             Some(idx) => {
305
                 roots.remove(idx);
306
diff --git servo/components/script/dom/cssstyledeclaration.rs servo/components/script/dom/cssstyledeclaration.rs
307
index 0732c9af9e45..ddf085b34913 100644
308
--- servo/components/script/dom/cssstyledeclaration.rs
309
+++ servo/components/script/dom/cssstyledeclaration.rs
310
@@ -238,7 +238,7 @@ impl CSSStyleDeclaration {
311
             return Err(Error::NoModificationAllowed);
312
         }
313
 
314
-        self.owner.mutate_associated_block(|ref mut pdb, mut changed| {
315
+        self.owner.mutate_associated_block(|pdb, changed| {
316
             if value.is_empty() {
317
                 // Step 3
318
                 *changed = pdb.remove_property(&id);
319
@@ -360,7 +360,7 @@ impl CSSStyleDeclarationMethods for CSSStyleDeclaration {
320
             _ => return Ok(()),
321
         };
322
 
323
-        self.owner.mutate_associated_block(|ref mut pdb, mut changed| {
324
+        self.owner.mutate_associated_block(|pdb, changed| {
325
             // Step 5 & 6
326
             *changed = pdb.set_importance(&id, importance);
327
         });
328
@@ -388,7 +388,7 @@ impl CSSStyleDeclarationMethods for CSSStyleDeclaration {
329
         };
330
 
331
         let mut string = String::new();
332
-        self.owner.mutate_associated_block(|mut pdb, mut changed| {
333
+        self.owner.mutate_associated_block(|pdb, changed| {
334
             pdb.property_value_to_css(&id, &mut string).unwrap();
335
             *changed = pdb.remove_property(&id);
336
         });
337
@@ -438,7 +438,7 @@ impl CSSStyleDeclarationMethods for CSSStyleDeclaration {
338
         }
339
 
340
         let quirks_mode = window.Document().quirks_mode();
341
-        self.owner.mutate_associated_block(|mut pdb, mut _changed| {
342
+        self.owner.mutate_associated_block(|pdb, _changed| {
343
             // Step 3
344
             *pdb = parse_style_attribute(&value,
345
                                          &self.owner.base_url(),
346
diff --git servo/components/script/dom/cssstylerule.rs servo/components/script/dom/cssstylerule.rs
347
index ea121ef900a9..12e9cdcc8694 100644
348
--- servo/components/script/dom/cssstylerule.rs
349
+++ servo/components/script/dom/cssstylerule.rs
350
@@ -99,7 +99,7 @@ impl CSSStyleRuleMethods for CSSStyleRule {
351
         if let Ok(mut s) = SelectorList::parse(&parser, &mut css_parser) {
352
             // This mirrors what we do in CSSStyleOwner::mutate_associated_block.
353
             let mut guard = self.cssrule.shared_lock().write();
354
-            let mut stylerule = self.stylerule.write_with(&mut guard);
355
+            let stylerule = self.stylerule.write_with(&mut guard);
356
             mem::swap(&mut stylerule.selectors, &mut s);
357
             // It seems like we will want to avoid having to invalidate all
358
             // stylesheets eventually!
359
diff --git servo/components/script/dom/document.rs servo/components/script/dom/document.rs
360
index 90ea06fbe7b4..71bb02eaa364 100644
361
--- servo/components/script/dom/document.rs
362
+++ servo/components/script/dom/document.rs
363
@@ -633,7 +633,7 @@ impl Document {
364
         // reset_form_owner_for_listeners -> reset_form_owner -> GetElementById
365
         {
366
             let mut id_map = self.id_map.borrow_mut();
367
-            let mut elements = id_map.entry(id.clone()).or_insert(Vec::new());
368
+            let elements = id_map.entry(id.clone()).or_insert(Vec::new());
369
             elements.insert_pre_order(element, root.r().upcast::<Node>());
370
         }
371
         self.reset_form_owner_for_listeners(&id);
372
@@ -642,7 +642,7 @@ impl Document {
373
     pub fn register_form_id_listener<T: ?Sized + FormControl>(&self, id: DOMString, listener: &T) {
374
         let mut map = self.form_id_listener_map.borrow_mut();
375
         let listener = listener.to_element();
376
-        let mut set = map.entry(Atom::from(id)).or_insert(HashSet::new());
377
+        let set = map.entry(Atom::from(id)).or_insert(HashSet::new());
378
         set.insert(JS::from_ref(listener));
379
     }
380
 
381
@@ -1572,7 +1572,7 @@ impl Document {
382
     /// https://html.spec.whatwg.org/multipage/#dom-window-cancelanimationframe
383
     pub fn cancel_animation_frame(&self, ident: u32) {
384
         let mut list = self.animation_frame_list.borrow_mut();
385
-        if let Some(mut pair) = list.iter_mut().find(|pair| pair.0 == ident) {
386
+        if let Some(pair) = list.iter_mut().find(|pair| pair.0 == ident) {
387
             pair.1 = None;
388
         }
389
     }
390
@@ -2399,7 +2399,7 @@ impl Document {
391
         if entry.snapshot.is_none() {
392
             entry.snapshot = Some(Snapshot::new(el.html_element_in_html_document()));
393
         }
394
-        let mut snapshot = entry.snapshot.as_mut().unwrap();
395
+        let snapshot = entry.snapshot.as_mut().unwrap();
396
         if snapshot.state.is_none() {
397
             snapshot.state = Some(el.state());
398
         }
399
@@ -2426,7 +2426,7 @@ impl Document {
400
             entry.hint.insert(RESTYLE_SELF);
401
         }
402
 
403
-        let mut snapshot = entry.snapshot.as_mut().unwrap();
404
+        let snapshot = entry.snapshot.as_mut().unwrap();
405
         if attr.local_name() == &local_name!("id") {
406
             snapshot.id_changed = true;
407
         } else if attr.local_name() == &local_name!("class") {
408
@@ -4028,7 +4028,7 @@ impl PendingInOrderScriptVec {
409
 
410
     fn loaded(&self, element: &HTMLScriptElement, result: ScriptResult) {
411
         let mut scripts = self.scripts.borrow_mut();
412
-        let mut entry = scripts.iter_mut().find(|entry| &*entry.element == element).unwrap();
413
+        let entry = scripts.iter_mut().find(|entry| &*entry.element == element).unwrap();
414
         entry.loaded(result);
415
     }
416
 
417
diff --git servo/components/script/dom/medialist.rs servo/components/script/dom/medialist.rs
418
index 0064d0445095..ae20f5aa0422 100644
419
--- servo/components/script/dom/medialist.rs
420
+++ servo/components/script/dom/medialist.rs
421
@@ -63,7 +63,7 @@ impl MediaListMethods for MediaList {
422
     // https://drafts.csswg.org/cssom/#dom-medialist-mediatext
423
     fn SetMediaText(&self, value: DOMString) {
424
         let mut guard = self.shared_lock().write();
425
-        let mut media_queries = self.media_queries.write_with(&mut guard);
426
+        let media_queries = self.media_queries.write_with(&mut guard);
427
         // Step 2
428
         if value.is_empty() {
429
             // Step 1
430
@@ -154,7 +154,7 @@ impl MediaListMethods for MediaList {
431
         // Step 3
432
         let m_serialized = m.unwrap().to_css_string();
433
         let mut guard = self.shared_lock().write();
434
-        let mut media_list = self.media_queries.write_with(&mut guard);
435
+        let media_list = self.media_queries.write_with(&mut guard);
436
         let new_vec = media_list.media_queries.drain(..)
437
                                 .filter(|q| m_serialized != q.to_css_string())
438
                                 .collect();
439
diff --git servo/components/script/dom/range.rs servo/components/script/dom/range.rs
440
index fa849a0fc1a2..1e65caedc9dd 100644
441
--- servo/components/script/dom/range.rs
442
+++ servo/components/script/dom/range.rs
443
@@ -1049,7 +1049,7 @@ impl WeakRangeVec {
444
         let offset = context.index();
445
         let parent = context.parent;
446
         unsafe {
447
-            let mut ranges = &mut *self.cell.get();
448
+            let ranges = &mut *self.cell.get();
449
 
450
             ranges.update(|entry| {
451
                 let range = entry.root().unwrap();
452
@@ -1076,7 +1076,7 @@ impl WeakRangeVec {
453
         }
454
 
455
         unsafe {
456
-            let mut ranges = &mut *self.cell.get();
457
+            let ranges = &mut *self.cell.get();
458
 
459
             ranges.update(|entry| {
460
                 let range = entry.root().unwrap();
461
diff --git servo/components/script/dom/servoparser/async_html.rs servo/components/script/dom/servoparser/async_html.rs
462
index 59411fda1c73..70d2008f49f6 100644
463
--- servo/components/script/dom/servoparser/async_html.rs
464
+++ servo/components/script/dom/servoparser/async_html.rs
465
@@ -568,7 +568,7 @@ impl TreeSink for Sink {
466
         }
467
         let node = self.new_parse_node();
468
         {
469
-            let mut data = self.get_parse_node_data_mut(&target.id);
470
+            let data = self.get_parse_node_data_mut(&target.id);
471
             data.contents = Some(node.clone());
472
         }
473
         self.send_op(ParseOperation::GetTemplateContents { target: target.id, contents: node.id });
474
@@ -596,7 +596,7 @@ impl TreeSink for Sink {
475
         let mut node = self.new_parse_node();
476
         node.qual_name = Some(name.clone());
477
         {
478
-            let mut node_data = self.get_parse_node_data_mut(&node.id);
479
+            let node_data = self.get_parse_node_data_mut(&node.id);
480
             node_data.is_integration_point = html_attrs.iter()
481
             .any(|attr| {
482
                 let attr_value = &String::from(attr.value.clone());
483
diff --git servo/components/script/dom/url.rs servo/components/script/dom/url.rs
484
index a02a735638fc..41de4dcc0c72 100644
485
--- servo/components/script/dom/url.rs
486
+++ servo/components/script/dom/url.rs
487
@@ -96,8 +96,8 @@ impl URL {
488
 
489
     // https://w3c.github.io/FileAPI/#dfn-createObjectURL
490
     pub fn CreateObjectURL(global: &GlobalScope, blob: &Blob) -> DOMString {
491
-        /// XXX: Second field is an unicode-serialized Origin, it is a temporary workaround
492
-        ///      and should not be trusted. See issue https://github.com/servo/servo/issues/11722
493
+        // XXX: Second field is an unicode-serialized Origin, it is a temporary workaround
494
+        //      and should not be trusted. See issue https://github.com/servo/servo/issues/11722
495
         let origin = get_blob_origin(&global.get_url());
496
 
497
         let id = blob.get_blob_url_id();
498
diff --git servo/components/script/dom/vrdisplay.rs servo/components/script/dom/vrdisplay.rs
499
index 3f73a577fad7..54f06fb928f2 100644
500
--- servo/components/script/dom/vrdisplay.rs
501
+++ servo/components/script/dom/vrdisplay.rs
502
@@ -268,7 +268,7 @@ impl VRDisplayMethods for VRDisplay {
503
     fn CancelAnimationFrame(&self, handle: u32) {
504
         if self.presenting.get() {
505
             let mut list = self.raf_callback_list.borrow_mut();
506
-            if let Some(mut pair) = list.iter_mut().find(|pair| pair.0 == handle) {
507
+            if let Some(pair) = list.iter_mut().find(|pair| pair.0 == handle) {
508
                 pair.1 = None;
509
             }
510
         } else {
511
diff --git servo/components/script/dom/webglrenderingcontext.rs servo/components/script/dom/webglrenderingcontext.rs
512
index 73d4ddba1b90..62c92b42785c 100644
513
--- servo/components/script/dom/webglrenderingcontext.rs
514
+++ servo/components/script/dom/webglrenderingcontext.rs
515
@@ -2434,7 +2434,7 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
516
         }
517
 
518
         typedarray!(in(cx) let mut pixels_data: ArrayBufferView = pixels);
519
-        let (array_type, mut data) = match { pixels_data.as_mut() } {
520
+        let (array_type, data) = match { pixels_data.as_mut() } {
521
             Ok(data) => (data.get_array_type(), data.as_mut_slice()),
522
             Err(_) => return Err(Error::Type("Not an ArrayBufferView".to_owned())),
523
         };
524
diff --git servo/components/script/dom/xmlhttprequest.rs servo/components/script/dom/xmlhttprequest.rs
525
index 6ed2dda1851f..e6652d79d706 100644
526
--- servo/components/script/dom/xmlhttprequest.rs
527
+++ servo/components/script/dom/xmlhttprequest.rs
528
@@ -627,7 +627,7 @@ impl XMLHttpRequestMethods for XMLHttpRequest {
529
 
530
                 if !content_type_set {
531
                     let ct = request.headers.get_mut::<ContentType>();
532
-                    if let Some(mut ct) = ct {
533
+                    if let Some(ct) = ct {
534
                         if let Some(encoding) = encoding {
535
                             for param in &mut (ct.0).2 {
536
                                 if param.0 == MimeAttr::Charset {
537
diff --git servo/components/script/lib.rs servo/components/script/lib.rs
538
index e1a1ab592cb7..5824d6f2e490 100644
539
--- servo/components/script/lib.rs
540
+++ servo/components/script/lib.rs
541
@@ -9,7 +9,6 @@
542
 #![feature(mpsc_select)]
543
 #![feature(nonzero)]
544
 #![feature(on_unimplemented)]
545
-#![feature(option_entry)]
546
 #![feature(plugin)]
547
 #![feature(proc_macro)]
548
 #![feature(stmt_expr_attributes)]
549
diff --git servo/components/script_plugins/unrooted_must_root.rs servo/components/script_plugins/unrooted_must_root.rs
550
index 5dbd2b1a3bdd..f3f5e60ab62a 100644
551
--- servo/components/script_plugins/unrooted_must_root.rs
552
+++ servo/components/script_plugins/unrooted_must_root.rs
553
@@ -182,7 +182,7 @@ impl<'a, 'b, 'tcx> visit::Visitor<'tcx> for FnDefVisitor<'a, 'b, 'tcx> {
554
         }
555
 
556
         match expr.node {
557
-            /// Trait casts from #[must_root] types are not allowed
558
+            // Trait casts from #[must_root] types are not allowed
559
             hir::ExprCast(ref subexpr, _) => require_rooted(cx, self.in_new_function, &*subexpr),
560
             // This catches assignments... the main point of this would be to catch mutable
561
             // references to `JS<T>`.
562
@@ -206,13 +206,21 @@ impl<'a, 'b, 'tcx> visit::Visitor<'tcx> for FnDefVisitor<'a, 'b, 'tcx> {
563
     fn visit_pat(&mut self, pat: &'tcx hir::Pat) {
564
         let cx = self.cx;
565
 
566
-        if let hir::PatKind::Binding(hir::BindingMode::BindByValue(_), _, _, _) = pat.node {
567
-            let ty = cx.tables.pat_ty(pat);
568
-            if is_unrooted_ty(cx, ty, self.in_new_function) {
569
-                cx.span_lint(UNROOTED_MUST_ROOT,
570
-                            pat.span,
571
-                            &format!("Expression of type {:?} must be rooted", ty))
572
+        // We want to detect pattern bindings that move a value onto the stack.
573
+        // When "default binding modes" https://github.com/rust-lang/rust/issues/42640
574
+        // are implemented, the `Unannotated` case could cause false-positives.
575
+        // These should be fixable by adding an explicit `ref`.
576
+        match pat.node {
577
+            hir::PatKind::Binding(hir::BindingAnnotation::Unannotated, _, _, _) |
578
+            hir::PatKind::Binding(hir::BindingAnnotation::Mutable, _, _, _) => {
579
+                let ty = cx.tables.pat_ty(pat);
580
+                if is_unrooted_ty(cx, ty, self.in_new_function) {
581
+                    cx.span_lint(UNROOTED_MUST_ROOT,
582
+                                pat.span,
583
+                                &format!("Expression of type {:?} must be rooted", ty))
584
+                }
585
             }
586
+            _ => {}
587
         }
588
 
589
         visit::walk_pat(self, pat);
590
diff --git servo/components/selectors/matching.rs servo/components/selectors/matching.rs
591
index 7bd9814d26fb..8f6b2fa6aa54 100644
592
--- servo/components/selectors/matching.rs
593
+++ servo/components/selectors/matching.rs
594
@@ -458,7 +458,7 @@ where
595
 /// Matches a complex selector.
596
 pub fn matches_complex_selector<E, F>(mut iter: SelectorIter<E::Impl>,
597
                                       element: &E,
598
-                                      mut context: &mut LocalMatchingContext<E::Impl>,
599
+                                      context: &mut LocalMatchingContext<E::Impl>,
600
                                       flags_setter: &mut F)
601
                                       -> bool
602
     where E: Element,
603
diff --git servo/components/selectors/parser.rs servo/components/selectors/parser.rs
604
index 490399ce38ce..6b2c1f2b4e86 100644
605
--- servo/components/selectors/parser.rs
606
+++ servo/components/selectors/parser.rs
607
@@ -1464,7 +1464,7 @@ fn parse_negation<'i, 't, P, E, Impl>(parser: &P,
608
 fn parse_compound_selector<'i, 't, P, E, Impl>(
609
     parser: &P,
610
     input: &mut CssParser<'i, 't>,
611
-    mut builder: &mut SelectorBuilder<Impl>)
612
+    builder: &mut SelectorBuilder<Impl>)
613
     -> Result<bool, ParseError<'i, SelectorParseError<'i, E>>>
614
     where P: Parser<'i, Impl=Impl, Error=E>, Impl: SelectorImpl
615
 {
616
diff --git servo/components/style/invalidation/element/invalidator.rs servo/components/style/invalidation/element/invalidator.rs
617
index 848c5cd13dc8..b8510ba3169b 100644
618
--- servo/components/style/invalidation/element/invalidator.rs
619
+++ servo/components/style/invalidation/element/invalidator.rs
620
@@ -154,7 +154,7 @@ impl<'a, 'b: 'a, E> TreeStyleInvalidator<'a, 'b, E>
621
             trace!(" > visitedness change, force subtree restyle");
622
             // We can't just return here because there may also be attribute
623
             // changes as well that imply additional hints.
624
-            let mut data = self.data.as_mut().unwrap();
625
+            let data = self.data.as_mut().unwrap();
626
             data.restyle.hint.insert(RestyleHint::restyle_subtree());
627
         }
628
 
629
diff --git servo/components/style/matching.rs servo/components/style/matching.rs
630
index b62bc54bf768..f58d7cd123e6 100644
631
--- servo/components/style/matching.rs
632
+++ servo/components/style/matching.rs
633
@@ -440,7 +440,7 @@ pub trait MatchMethods : TElement {
634
     fn finish_restyle(
635
         &self,
636
         context: &mut StyleContext<Self>,
637
-        mut data: &mut ElementData,
638
+        data: &mut ElementData,
639
         mut new_styles: ElementStyles,
640
         important_rules_changed: bool,
641
     ) -> ChildCascadeRequirement {
642
diff --git servo/components/style/properties/properties.mako.rs servo/components/style/properties/properties.mako.rs
643
index d98e173db5ba..81ff00fb6d5e 100644
644
--- servo/components/style/properties/properties.mako.rs
645
+++ servo/components/style/properties/properties.mako.rs
646
@@ -3364,7 +3364,7 @@ pub fn modify_border_style_for_inline_sides(style: &mut Arc<ComputedValues>,
647
                 return;
648
             }
649
         }
650
-        let mut style = Arc::make_mut(style);
651
+        let style = Arc::make_mut(style);
652
         let border = Arc::make_mut(&mut style.border);
653
         match side {
654
             PhysicalSide::Left => {
655
diff --git servo/components/style/style_adjuster.rs servo/components/style/style_adjuster.rs
656
index 366641ebe0bc..6e51fa74072a 100644
657
--- servo/components/style/style_adjuster.rs
658
+++ servo/components/style/style_adjuster.rs
659
@@ -269,7 +269,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
660
 
661
         if overflow_x != original_overflow_x ||
662
            overflow_y != original_overflow_y {
663
-            let mut box_style = self.style.mutate_box();
664
+            let box_style = self.style.mutate_box();
665
             box_style.set_overflow_x(overflow_x);
666
             box_style.set_overflow_y(overflow_y);
667
         }
668
diff --git servo/components/style/style_resolver.rs servo/components/style/style_resolver.rs
669
index cf512c4fbdd2..3fc1d57cc8f7 100644
670
--- servo/components/style/style_resolver.rs
671
+++ servo/components/style/style_resolver.rs
672
@@ -247,7 +247,7 @@ where
673
                         Some(&*primary_style.style)
674
                     };
675
 
676
-                for (i, mut inputs) in pseudo_array.iter_mut().enumerate() {
677
+                for (i, inputs) in pseudo_array.iter_mut().enumerate() {
678
                     if let Some(inputs) = inputs.take() {
679
                         let pseudo = PseudoElement::from_eager_index(i);
680
                         pseudo_styles.set(
681
diff --git servo/components/style/stylesheets/rule_list.rs servo/components/style/stylesheets/rule_list.rs
682
index 82e78015400d..14b3dc5e7696 100644
683
--- servo/components/style/stylesheets/rule_list.rs
684
+++ servo/components/style/stylesheets/rule_list.rs
685
@@ -150,7 +150,7 @@ impl CssRulesHelpers for RawOffsetArc<Locked<CssRules>> {
686
 
687
         {
688
             let mut write_guard = lock.write();
689
-            let mut rules = self.write_with(&mut write_guard);
690
+            let rules = self.write_with(&mut write_guard);
691
             // Step 5
692
             // Computes the maximum allowed parser state at a given index.
693
             let rev_state = rules.0.get(index).map_or(State::Body, CssRule::rule_state);
694
diff --git servo/components/style/stylesheets/rule_parser.rs servo/components/style/stylesheets/rule_parser.rs
695
index 007d7e11026e..f0d224e498a7 100644
696
--- servo/components/style/stylesheets/rule_parser.rs
697
+++ servo/components/style/stylesheets/rule_parser.rs
698
@@ -209,7 +209,7 @@ impl<'a, 'i> AtRuleParser<'i> for TopLevelRuleParser<'a> {
699
                 let id = register_namespace(&url)
700
                     .map_err(|()| StyleParseError::UnspecifiedError)?;
701
 
702
-                let mut namespaces = self.namespaces.as_mut().unwrap();
703
+                let namespaces = self.namespaces.as_mut().unwrap();
704
 
705
                 let opt_prefix = if let Ok(prefix) = prefix_result {
706
                     let prefix = Prefix::from(prefix.as_ref());
707
diff --git servo/components/style/stylesheets/rules_iterator.rs servo/components/style/stylesheets/rules_iterator.rs
708
index 95a3ab8b3885..65e1b637ae52 100644
709
--- servo/components/style/stylesheets/rules_iterator.rs
710
+++ servo/components/style/stylesheets/rules_iterator.rs
711
@@ -70,7 +70,7 @@ impl<'a, 'b, C> Iterator for RulesIterator<'a, 'b, C>
712
 
713
             let rule;
714
             let sub_iter = {
715
-                let mut nested_iter = self.stack.last_mut().unwrap();
716
+                let nested_iter = self.stack.last_mut().unwrap();
717
                 rule = match nested_iter.next() {
718
                     Some(r) => r,
719
                     None => {
720
diff --git servo/components/webdriver_server/lib.rs servo/components/webdriver_server/lib.rs
721
index bd2f667f9892..28a4885f0d41 100644
722
--- servo/components/webdriver_server/lib.rs
723
+++ servo/components/webdriver_server/lib.rs
724
@@ -702,7 +702,7 @@ impl Handler {
725
     fn handle_set_timeouts(&mut self,
726
                            parameters: &TimeoutsParameters)
727
                            -> WebDriverResult<WebDriverResponse> {
728
-        let mut session = self.session
729
+        let session = self.session
730
             .as_mut()
731
             .ok_or(WebDriverError::new(ErrorStatus::SessionNotCreated, ""))?;
732
 
733
diff --git servo/rust-commit-hash servo/rust-commit-hash
734
index d4f08fe97644..a08d23cd1a71 100644
735
--- servo/rust-commit-hash
736
+++ servo/rust-commit-hash
737
@@ -1 +1 @@
738
-599be0d18f4c6ddf36366d2a5a2ca6dc65886896
739
+13d94d5fa8129a34f5c77a1bcd76983f5aed2434
740
diff --git servo/tests/unit/style/stylist.rs servo/tests/unit/style/stylist.rs
741
index da9a9478957a..52067b501788 100644
742
--- servo/tests/unit/style/stylist.rs
743
+++ servo/tests/unit/style/stylist.rs
744
@@ -51,19 +51,6 @@ fn get_mock_rules(css_selectors: &[&str]) -> (Vec<Vec<Rule>>, SharedRwLock) {
745
     }).collect(), shared_lock)
746
 }
747
 
748
-fn get_mock_map(selectors: &[&str]) -> (SelectorMap<Rule>, SharedRwLock) {
749
-    let mut map = SelectorMap::<Rule>::new();
750
-    let (selector_rules, shared_lock) = get_mock_rules(selectors);
751
-
752
-    for rules in selector_rules.into_iter() {
753
-        for rule in rules.into_iter() {
754
-            map.insert(rule, QuirksMode::NoQuirks)
755
-        }
756
-    }
757
-
758
-    (map, shared_lock)
759
-}
760
-
761
 fn parse_selectors(selectors: &[&str]) -> Vec<Selector<SelectorImpl>> {
762
     selectors.iter()
763
              .map(|x| SelectorParser::parse_author_origin_no_namespace(x).unwrap().0
(-)a/www/firefox/files/patch-servo18126 (-232 lines)
Removed Link Here
1
commit f0acf27d189d
2
Author: Simon Sapin <simon.sapin@exyr.org>
3
Date:   Thu Aug 17 11:05:32 2017 -0500
4
5
    servo: Merge #18126 - geckolib: Fix some warnings (treated as error) new in Rust Nigthly (from servo:glow-fox); r=emilio
6
    
7
    Source-Repo: https://github.com/servo/servo
8
    Source-Revision: cc86ca2bcdec5e89ee5279085ea38db63ef41af9
9
    
10
    --HG--
11
    extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
12
    extra : subtree_revision : 0586dbc81f1411c89821605a6dae4ebd0af8f0d5
13
---
14
 servo/components/style/gecko/conversions.rs            |  2 +-
15
 servo/components/style/gecko/wrapper.rs                |  2 +-
16
 .../style/gecko_bindings/sugar/ns_t_array.rs           |  4 ++--
17
 servo/components/style/properties/gecko.mako.rs        | 18 +++++++++---------
18
 servo/components/style/style_adjuster.rs               |  4 ++--
19
 servo/ports/geckolib/glue.rs                           | 12 ++++++------
20
 6 files changed, 21 insertions(+), 21 deletions(-)
21
22
diff --git servo/components/style/gecko/conversions.rs servo/components/style/gecko/conversions.rs
23
index 8f3fb6bf2d0f..51015997c5c1 100644
24
--- servo/components/style/gecko/conversions.rs
25
+++ servo/components/style/gecko/conversions.rs
26
@@ -348,7 +348,7 @@ impl nsStyleImage {
27
             // NB: stops are guaranteed to be none in the gecko side by
28
             // default.
29
 
30
-            let mut gecko_stop = unsafe {
31
+            let gecko_stop = unsafe {
32
                 &mut (*gecko_gradient).mStops[index]
33
             };
34
             let mut coord = nsStyleCoord::null();
35
diff --git servo/components/style/gecko/wrapper.rs servo/components/style/gecko/wrapper.rs
36
index 034dd94590e2..c402ddaf15bd 100644
37
--- servo/components/style/gecko/wrapper.rs
38
+++ servo/components/style/gecko/wrapper.rs
39
@@ -424,7 +424,7 @@ impl<'lb> GeckoXBLBinding<'lb> {
40
         }
41
     }
42
 
43
-    fn each_xbl_stylist<F>(self, mut f: &mut F)
44
+    fn each_xbl_stylist<F>(self, f: &mut F)
45
     where
46
         F: FnMut(&Stylist),
47
     {
48
diff --git servo/components/style/gecko_bindings/sugar/ns_t_array.rs servo/components/style/gecko_bindings/sugar/ns_t_array.rs
49
index 6bc389702f54..068e10ddea1b 100644
50
--- servo/components/style/gecko_bindings/sugar/ns_t_array.rs
51
+++ servo/components/style/gecko_bindings/sugar/ns_t_array.rs
52
@@ -90,7 +90,7 @@ impl<T> nsTArray<T> {
53
         // this can leak
54
         debug_assert!(len >= self.len() as u32);
55
         self.ensure_capacity(len as usize);
56
-        let mut header = self.header_mut();
57
+        let header = self.header_mut();
58
         header.mLength = len;
59
     }
60
 
61
@@ -99,7 +99,7 @@ impl<T> nsTArray<T> {
62
     /// This will not leak since it only works on POD types (and thus doesn't assert)
63
     pub unsafe fn set_len_pod(&mut self, len: u32) where T: Copy {
64
         self.ensure_capacity(len as usize);
65
-        let mut header = unsafe { self.header_mut() };
66
+        let header = unsafe { self.header_mut() };
67
         header.mLength = len;
68
     }
69
 }
70
diff --git servo/components/style/properties/gecko.mako.rs servo/components/style/properties/gecko.mako.rs
71
index 9a2ab2135fc5..bc41ef139af5 100644
72
--- servo/components/style/properties/gecko.mako.rs
73
+++ servo/components/style/properties/gecko.mako.rs
74
@@ -4136,14 +4136,14 @@ fn static_assert() {
75
                     fn init_shadow(filter: &mut nsStyleFilter) -> &mut nsCSSShadowArray {
76
                         unsafe {
77
                             let ref mut union = filter.__bindgen_anon_1;
78
-                            let mut shadow_array: &mut *mut nsCSSShadowArray = union.mDropShadow.as_mut();
79
+                            let shadow_array: &mut *mut nsCSSShadowArray = union.mDropShadow.as_mut();
80
                             *shadow_array = Gecko_NewCSSShadowArray(1);
81
 
82
                             &mut **shadow_array
83
                         }
84
                     }
85
 
86
-                    let mut gecko_shadow = init_shadow(gecko_filter);
87
+                    let gecko_shadow = init_shadow(gecko_filter);
88
                     gecko_shadow.mArray[0].set_from_simple_shadow(shadow);
89
                 },
90
                 Url(ref url) => {
91
@@ -4665,14 +4665,14 @@ fn static_assert() {
92
                     unsafe {
93
                         // We have to be very careful to avoid a copy here!
94
                         let ref mut union = ${ident}.__bindgen_anon_1;
95
-                        let mut shape: &mut *mut StyleBasicShape = union.mBasicShape.as_mut();
96
+                        let shape: &mut *mut StyleBasicShape = union.mBasicShape.as_mut();
97
                         *shape = Gecko_NewBasicShape(ty);
98
                         &mut **shape
99
                     }
100
                 }
101
                 match servo_shape {
102
                     BasicShape::Inset(inset) => {
103
-                        let mut shape = init_shape(${ident}, StyleBasicShapeType::Inset);
104
+                        let shape = init_shape(${ident}, StyleBasicShapeType::Inset);
105
                         unsafe { shape.mCoordinates.set_len(4) };
106
 
107
                         // set_len() can't call constructors, so the coordinates
108
@@ -4694,7 +4694,7 @@ fn static_assert() {
109
                         set_corners_from_radius(inset.round, &mut shape.mRadius);
110
                     }
111
                     BasicShape::Circle(circ) => {
112
-                        let mut shape = init_shape(${ident}, StyleBasicShapeType::Circle);
113
+                        let shape = init_shape(${ident}, StyleBasicShapeType::Circle);
114
                         unsafe { shape.mCoordinates.set_len(1) };
115
                         shape.mCoordinates[0].leaky_set_null();
116
                         circ.radius.to_gecko_style_coord(&mut shape.mCoordinates[0]);
117
@@ -4702,7 +4702,7 @@ fn static_assert() {
118
                         shape.mPosition = circ.position.into();
119
                     }
120
                     BasicShape::Ellipse(el) => {
121
-                        let mut shape = init_shape(${ident}, StyleBasicShapeType::Ellipse);
122
+                        let shape = init_shape(${ident}, StyleBasicShapeType::Ellipse);
123
                         unsafe { shape.mCoordinates.set_len(2) };
124
                         shape.mCoordinates[0].leaky_set_null();
125
                         el.semiaxis_x.to_gecko_style_coord(&mut shape.mCoordinates[0]);
126
@@ -4712,7 +4712,7 @@ fn static_assert() {
127
                         shape.mPosition = el.position.into();
128
                     }
129
                     BasicShape::Polygon(poly) => {
130
-                        let mut shape = init_shape(${ident}, StyleBasicShapeType::Polygon);
131
+                        let shape = init_shape(${ident}, StyleBasicShapeType::Polygon);
132
                         unsafe {
133
                             shape.mCoordinates.set_len(poly.coordinates.len() as u32 * 2);
134
                         }
135
@@ -4797,7 +4797,7 @@ clip-path
136
             bindings::Gecko_nsStyleSVG_SetDashArrayLength(&mut self.gecko, v.len() as u32);
137
         }
138
 
139
-        for (mut gecko, servo) in self.gecko.mStrokeDasharray.iter_mut().zip(v) {
140
+        for (gecko, servo) in self.gecko.mStrokeDasharray.iter_mut().zip(v) {
141
             match servo {
142
                 Either::First(number) => gecko.set_value(CoordDataValue::Factor(number)),
143
                 Either::Second(lop) => gecko.set(lop),
144
@@ -4885,7 +4885,7 @@ clip-path
145
         }
146
 
147
         self.gecko.mContextPropsBits = 0;
148
-        for (mut gecko, servo) in self.gecko.mContextProps.iter_mut().zip(v) {
149
+        for (gecko, servo) in self.gecko.mContextProps.iter_mut().zip(v) {
150
             if servo.0 == atom!("fill") {
151
                 self.gecko.mContextPropsBits |= structs::NS_STYLE_CONTEXT_PROPERTY_FILL as u8;
152
             } else if servo.0 == atom!("stroke") {
153
diff --git servo/components/style/style_adjuster.rs servo/components/style/style_adjuster.rs
154
index 03b15916b237..366641ebe0bc 100644
155
--- servo/components/style/style_adjuster.rs
156
+++ servo/components/style/style_adjuster.rs
157
@@ -167,7 +167,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
158
         // When 'contain: paint', update overflow from 'visible' to 'clip'.
159
         if self.style.get_box().clone_contain().contains(contain::PAINT) {
160
             if self.style.get_box().clone_overflow_x() == overflow::visible {
161
-                let mut box_style = self.style.mutate_box();
162
+                let box_style = self.style.mutate_box();
163
                 box_style.set_overflow_x(overflow::_moz_hidden_unscrollable);
164
                 box_style.set_overflow_y(overflow::_moz_hidden_unscrollable);
165
             }
166
@@ -182,7 +182,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
167
         use properties::longhands::font_style::computed_value::T as font_style;
168
         use properties::longhands::font_weight::computed_value::T as font_weight;
169
         if self.style.get_font().clone__moz_math_variant() != moz_math_variant::none {
170
-            let mut font_style = self.style.mutate_font();
171
+            let font_style = self.style.mutate_font();
172
             // Sadly we don't have a nice name for the computed value
173
             // of "font-weight: normal".
174
             font_style.set_font_weight(font_weight::normal());
175
diff --git servo/ports/geckolib/glue.rs servo/ports/geckolib/glue.rs
176
index 977728286fc3..fa09bee29553 100644
177
--- servo/ports/geckolib/glue.rs
178
+++ servo/ports/geckolib/glue.rs
179
@@ -815,7 +815,7 @@ pub extern "C" fn Servo_StyleSet_AppendStyleSheet(
180
 ) {
181
     let global_style_data = &*GLOBAL_STYLE_DATA;
182
     let mut data = PerDocumentStyleData::from_ffi(raw_data).borrow_mut();
183
-    let mut data = &mut *data;
184
+    let data = &mut *data;
185
     let guard = global_style_data.shared_lock.read();
186
     data.stylesheets.append_stylesheet(
187
         &data.stylist,
188
@@ -867,7 +867,7 @@ pub extern "C" fn Servo_StyleSet_PrependStyleSheet(
189
 ) {
190
     let global_style_data = &*GLOBAL_STYLE_DATA;
191
     let mut data = PerDocumentStyleData::from_ffi(raw_data).borrow_mut();
192
-    let mut data = &mut *data;
193
+    let data = &mut *data;
194
     let guard = global_style_data.shared_lock.read();
195
     data.stylesheets.prepend_stylesheet(
196
         &data.stylist,
197
@@ -885,7 +885,7 @@ pub extern "C" fn Servo_StyleSet_InsertStyleSheetBefore(
198
 ) {
199
     let global_style_data = &*GLOBAL_STYLE_DATA;
200
     let mut data = PerDocumentStyleData::from_ffi(raw_data).borrow_mut();
201
-    let mut data = &mut *data;
202
+    let data = &mut *data;
203
     let guard = global_style_data.shared_lock.read();
204
     data.stylesheets.insert_stylesheet_before(
205
         &data.stylist,
206
@@ -903,7 +903,7 @@ pub extern "C" fn Servo_StyleSet_RemoveStyleSheet(
207
 ) {
208
     let global_style_data = &*GLOBAL_STYLE_DATA;
209
     let mut data = PerDocumentStyleData::from_ffi(raw_data).borrow_mut();
210
-    let mut data = &mut *data;
211
+    let data = &mut *data;
212
     let guard = global_style_data.shared_lock.read();
213
     data.stylesheets.remove_stylesheet(
214
         &data.stylist,
215
@@ -1274,7 +1274,7 @@ pub extern "C" fn Servo_StyleRule_GetSpecificityAtIndex(
216
     specificity: *mut u64
217
 ) {
218
     read_locked_arc(rule, |rule: &StyleRule| {
219
-        let mut specificity =  unsafe { specificity.as_mut().unwrap() };
220
+        let specificity =  unsafe { specificity.as_mut().unwrap() };
221
         let index = index as usize;
222
         if index >= rule.selectors.0.len() {
223
             *specificity = 0;
224
@@ -2775,7 +2775,7 @@ pub extern "C" fn Servo_NoteExplicitHints(element: RawGeckoElementBorrowed,
225
 pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed,
226
                                        was_restyled: *mut bool) -> nsChangeHint
227
 {
228
-    let mut was_restyled =  unsafe { was_restyled.as_mut().unwrap() };
229
+    let was_restyled =  unsafe { was_restyled.as_mut().unwrap() };
230
     let element = GeckoElement(element);
231
 
232
     let damage = match element.mutate_data() {

Return to bug 222693