firefox 57.0.4-1 (i586;x86_64) 2018-3604
0

Status rejected
Submitter tpgxyz [@T] gmail.com
Platform 3.0
Repository main
URL https://abf.openmandriva.org/build_lists/145586
Packages
firefox-57.0.4-1.i586.binary
firefox-57.0.4-1.i586.source
firefox-af-57.0.4-1.i586.binary
firefox-ar-57.0.4-1.i586.binary
firefox-as-57.0.4-1.i586.binary
firefox-ast-57.0.4-1.i586.binary
firefox-bg-57.0.4-1.i586.binary
firefox-bn_BD-57.0.4-1.i586.binary
firefox-bn_IN-57.0.4-1.i586.binary
firefox-br-57.0.4-1.i586.binary
firefox-bs-57.0.4-1.i586.binary
firefox-ca-57.0.4-1.i586.binary
firefox-cs-57.0.4-1.i586.binary
firefox-cy-57.0.4-1.i586.binary
firefox-da-57.0.4-1.i586.binary
firefox-de-57.0.4-1.i586.binary
firefox-devel-57.0.4-1.i586.binary
firefox-el-57.0.4-1.i586.binary
firefox-en_GB-57.0.4-1.i586.binary
firefox-en_ZA-57.0.4-1.i586.binary
firefox-eo-57.0.4-1.i586.binary
firefox-es_AR-57.0.4-1.i586.binary
firefox-es_CL-57.0.4-1.i586.binary
firefox-es_ES-57.0.4-1.i586.binary
firefox-es_MX-57.0.4-1.i586.binary
firefox-et-57.0.4-1.i586.binary
firefox-eu-57.0.4-1.i586.binary
firefox-fa-57.0.4-1.i586.binary
firefox-fi-57.0.4-1.i586.binary
firefox-fr-57.0.4-1.i586.binary
firefox-fy-57.0.4-1.i586.binary
firefox-ga_IE-57.0.4-1.i586.binary
firefox-gd-57.0.4-1.i586.binary
firefox-gl-57.0.4-1.i586.binary
firefox-gu_IN-57.0.4-1.i586.binary
firefox-he-57.0.4-1.i586.binary
firefox-hi-57.0.4-1.i586.binary
firefox-hr-57.0.4-1.i586.binary
firefox-hu-57.0.4-1.i586.binary
firefox-hy-57.0.4-1.i586.binary
firefox-id-57.0.4-1.i586.binary
firefox-is-57.0.4-1.i586.binary
firefox-it-57.0.4-1.i586.binary
firefox-ja-57.0.4-1.i586.binary
firefox-kk-57.0.4-1.i586.binary
firefox-km-57.0.4-1.i586.binary
firefox-kn-57.0.4-1.i586.binary
firefox-ko-57.0.4-1.i586.binary
firefox-lt-57.0.4-1.i586.binary
firefox-lv-57.0.4-1.i586.binary
firefox-mai-57.0.4-1.i586.binary
firefox-mk-57.0.4-1.i586.binary
firefox-ml-57.0.4-1.i586.binary
firefox-mr-57.0.4-1.i586.binary
firefox-nb_NO-57.0.4-1.i586.binary
firefox-nl-57.0.4-1.i586.binary
firefox-nn_NO-57.0.4-1.i586.binary
firefox-or-57.0.4-1.i586.binary
firefox-pa_IN-57.0.4-1.i586.binary
firefox-pl-57.0.4-1.i586.binary
firefox-pt_BR-57.0.4-1.i586.binary
firefox-pt_PT-57.0.4-1.i586.binary
firefox-ro-57.0.4-1.i586.binary
firefox-ru-57.0.4-1.i586.binary
firefox-si-57.0.4-1.i586.binary
firefox-sk-57.0.4-1.i586.binary
firefox-sl-57.0.4-1.i586.binary
firefox-sq-57.0.4-1.i586.binary
firefox-sr-57.0.4-1.i586.binary
firefox-sv_SE-57.0.4-1.i586.binary
firefox-ta-57.0.4-1.i586.binary
firefox-te-57.0.4-1.i586.binary
firefox-th-57.0.4-1.i586.binary
firefox-tr-57.0.4-1.i586.binary
firefox-uk-57.0.4-1.i586.binary
firefox-vi-57.0.4-1.i586.binary
firefox-zh_CN-57.0.4-1.i586.binary
firefox-zh_TW-57.0.4-1.i586.binary
firefox-57.0.4-1.x86_64.binary
firefox-57.0.4-1.x86_64.source
firefox-af-57.0.4-1.x86_64.binary
firefox-ar-57.0.4-1.x86_64.binary
firefox-as-57.0.4-1.x86_64.binary
firefox-ast-57.0.4-1.x86_64.binary
firefox-bg-57.0.4-1.x86_64.binary
firefox-bn_BD-57.0.4-1.x86_64.binary
firefox-bn_IN-57.0.4-1.x86_64.binary
firefox-br-57.0.4-1.x86_64.binary
firefox-bs-57.0.4-1.x86_64.binary
firefox-ca-57.0.4-1.x86_64.binary
firefox-cs-57.0.4-1.x86_64.binary
firefox-cy-57.0.4-1.x86_64.binary
firefox-da-57.0.4-1.x86_64.binary
firefox-de-57.0.4-1.x86_64.binary
firefox-devel-57.0.4-1.x86_64.binary
firefox-el-57.0.4-1.x86_64.binary
firefox-en_GB-57.0.4-1.x86_64.binary
firefox-en_ZA-57.0.4-1.x86_64.binary
firefox-eo-57.0.4-1.x86_64.binary
firefox-es_AR-57.0.4-1.x86_64.binary
firefox-es_CL-57.0.4-1.x86_64.binary
firefox-es_ES-57.0.4-1.x86_64.binary
firefox-es_MX-57.0.4-1.x86_64.binary
firefox-et-57.0.4-1.x86_64.binary
firefox-eu-57.0.4-1.x86_64.binary
firefox-fa-57.0.4-1.x86_64.binary
firefox-fi-57.0.4-1.x86_64.binary
firefox-fr-57.0.4-1.x86_64.binary
firefox-fy-57.0.4-1.x86_64.binary
firefox-ga_IE-57.0.4-1.x86_64.binary
firefox-gd-57.0.4-1.x86_64.binary
firefox-gl-57.0.4-1.x86_64.binary
firefox-gu_IN-57.0.4-1.x86_64.binary
firefox-he-57.0.4-1.x86_64.binary
firefox-hi-57.0.4-1.x86_64.binary
firefox-hr-57.0.4-1.x86_64.binary
firefox-hu-57.0.4-1.x86_64.binary
firefox-hy-57.0.4-1.x86_64.binary
firefox-id-57.0.4-1.x86_64.binary
firefox-is-57.0.4-1.x86_64.binary
firefox-it-57.0.4-1.x86_64.binary
firefox-ja-57.0.4-1.x86_64.binary
firefox-kk-57.0.4-1.x86_64.binary
firefox-km-57.0.4-1.x86_64.binary
firefox-kn-57.0.4-1.x86_64.binary
firefox-ko-57.0.4-1.x86_64.binary
firefox-lt-57.0.4-1.x86_64.binary
firefox-lv-57.0.4-1.x86_64.binary
firefox-mai-57.0.4-1.x86_64.binary
firefox-mk-57.0.4-1.x86_64.binary
firefox-ml-57.0.4-1.x86_64.binary
firefox-mr-57.0.4-1.x86_64.binary
firefox-nb_NO-57.0.4-1.x86_64.binary
firefox-nl-57.0.4-1.x86_64.binary
firefox-nn_NO-57.0.4-1.x86_64.binary
firefox-or-57.0.4-1.x86_64.binary
firefox-pa_IN-57.0.4-1.x86_64.binary
firefox-pl-57.0.4-1.x86_64.binary
firefox-pt_BR-57.0.4-1.x86_64.binary
firefox-pt_PT-57.0.4-1.x86_64.binary
firefox-ro-57.0.4-1.x86_64.binary
firefox-ru-57.0.4-1.x86_64.binary
firefox-si-57.0.4-1.x86_64.binary
firefox-sk-57.0.4-1.x86_64.binary
firefox-sl-57.0.4-1.x86_64.binary
firefox-sq-57.0.4-1.x86_64.binary
firefox-sr-57.0.4-1.x86_64.binary
firefox-sv_SE-57.0.4-1.x86_64.binary
firefox-ta-57.0.4-1.x86_64.binary
firefox-te-57.0.4-1.x86_64.binary
firefox-th-57.0.4-1.x86_64.binary
firefox-tr-57.0.4-1.x86_64.binary
firefox-uk-57.0.4-1.x86_64.binary
firefox-vi-57.0.4-1.x86_64.binary
firefox-zh_CN-57.0.4-1.x86_64.binary
firefox-zh_TW-57.0.4-1.x86_64.binary
Build Date 2018-01-16 22:50:09 +0000 UTC
Last Updated 2018-01-18 23:17:09.327501482 +0000 UTC
$ git diff --patch-with-stat --summary 2891fbbf846bdc44d5593cf596b3990e4336b295..36c3241c7c09233a591f5f79fa243a6faf11db9d

 .abf.yml                         |  152 +++---
 firefox.spec                     |   24 +-
 mozilla-57.0-kde.patch           |    8 +-
 mozilla-bindgen-systemlibs.patch |  102 ++++
 mozilla-rust-1.23.patch          | 1083 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 1277 insertions(+), 92 deletions(-)
 create mode 100644 mozilla-bindgen-systemlibs.patch
 create mode 100644 mozilla-rust-1.23.patch

diff --git a/.abf.yml b/.abf.yml
index cd8c37a..2651a08 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,78 +1,78 @@
 sources:
   autoconf-2.13.tar.gz: e4826c8bd85325067818f19b2b2ad2b625da66fc
-  firefox-57.0.3.source.tar.xz: 09b3dac606ae6185079bc4d47bf543545f7cff94
-  af.xpi: 8dfd2504b23e5b015b2869389cc5bd4e14a81dea
-  ar.xpi: 5bc0f7e18f35b29d69fa10a0ae358c77d5e0b3cb
-  ast.xpi: aad9277a71840b5ed55601dc232fb61fb4e3d251
-  as.xpi: e362a48997732c569b9cbb50cf4b8b9784f7913a
-  bg.xpi: 5e64199d73982ba9865557de8bc1b236e1e1ecfb
-  bn-BD.xpi: 27c5ee0464fea2ccef0d3789b85f93dfb34a4756
-  bn-IN.xpi: 74503af9667c402fdb2bf217f791d5d3e99066c9
-  br.xpi: 073533ae65544832c900e51a86005957a8fcdb1a
-  bs.xpi: bc72a54899b0d099be4e7d57b93942317f9aca37
-  ca.xpi: 3551c7046cfe4ae7a591029896b623780dda1522
-  cs.xpi: 849979a85e13ffdd7c804aa63b7c74e38fef59af
-  cy.xpi: 7718b75210a816a6aeacd21cbe6c37b56133c056
-  da.xpi: 9b11858216c8d5202c78a4cb830cb959a5593e48
-  de.xpi: ca8bd3e22af2d88585be40960db520908d2c80e5
-  el.xpi: 6f96b0af467dd4e6ed0bfb1015eb83cfe4d1d3ff
-  en-GB.xpi: 870a2975ac137ac60d59be76189fb5cb64669fa1
-  en-ZA.xpi: a140370da979a244416a6a156cdcf7d7d733e4f5
-  eo.xpi: 1e87fd82029a4d53666b8a314a620c06a1223188
-  es-AR.xpi: be3daaace2c52ab0dcaab5b2429e980bed07f496
-  es-CL.xpi: 0559629f8a96f4b5ff77a6d6774e70f38aab0bbd
-  es-ES.xpi: f5dd3f9fc5139957d52e2a5ef0537c2086b44f4a
-  es-MX.xpi: b39e616cc7834bbfc54f5742388674662cc168f6
-  et.xpi: 5a15692bac67477acb9599b1f9f482f1fa64d5de
-  eu.xpi: d759fd61c303a90f335964c4ec495e9ad8be0737
-  fa.xpi: df656b42860831194530c8f35f19392fc843baf1
-  fi.xpi: b1bec47a3b8c8326ab9b7888c80532c794c01099
-  fr.xpi: cda6734b481d800ab0c096c9d11586c40f563f85
-  fy-NL.xpi: 77fd49f09a29a6f5c7679b7fcac5753431299df6
-  ga-IE.xpi: 3739228b7c757876914ad7d1f807dead8ed8edf6
-  gd.xpi: dda273666d226b2de12a06663e13a8fe4cb60e5b
-  gl.xpi: b3644fdd5774c7b34a3f8859d994224f815a7bf3
-  gu-IN.xpi: 3ee51645d8e64cab4d7b4fa8e875646dc9b08bc1
-  he.xpi: 9a0531a3ae81e60c27041c213e4c747978d3171a
-  hi-IN.xpi: 586117b71dbbf9134e43f28e78af19b7188840ea
-  hr.xpi: 6d385af1c295a927ba539d8f74a4966b767279cb
-  hu.xpi: 3a7bfc23cd1de4eea3a8be3829f261a58ea4f2e9
-  hy-AM.xpi: ef5a93240e82859d7c59f398cac70636f65cdb54
-  id.xpi: 1f8c1422c9eba3b16a587a334025214fc72e7814
-  is.xpi: 6c72df1330eb1c28f4a9e169271feb8f2c2ee2ab
-  it.xpi: 14cf57c03aa0592e8510ebfdc8d5148094f50a77
-  ja.xpi: 4e4ebb580fc621c0d4ab83e3cf98576bf517b369
-  kk.xpi: a046c33c1abe1315f6bba7e8a222a5977213e8d9
-  km.xpi: 394585242a2d0d9abc997fdb4f53d26a1c4073bd
-  kn.xpi: eaae5459cce18d20c5aedb90c4bc30334ecd3ad6
-  ko.xpi: c477138eee598e9fa898d49b47dd80b7c68a730b
-  lt.xpi: a42cfeb30f6b1a6c6214e1b0ecdfd3adce9eaa32
-  lv.xpi: 5a380ea42369bfb316e5b449ae73202a5dba5de3
-  mai.xpi: 7ddcb99784ecfc99f5c4decc3872d56dbab2175b
-  mk.xpi: 66276c899f453947125b9a508a9a04f4ab0e6eeb
-  ml.xpi: 162682c3a491b81370f78e18ce46a3a1733d993a
-  mr.xpi: 6963a3ba35284ac5b77ad9d9e57956af8691f2e4
-  nb-NO.xpi: 9691039e79918347d95cc8453605fc1d0117fa2c
-  nl.xpi: 8d7520727b613239594c76240deb126f8d4b61fa
-  nn-NO.xpi: 1afe2511beecb3d1d8fa46db6db03f5f4ff0f430
-  or.xpi: 808ce5fcb893ab596ca814e4e97e0d6430711fa7
-  pa-IN.xpi: ce8af5fd2fd9311077ca630aca62fe67e1580af8
-  pl.xpi: 79ec60879dff3ca9161e04467db69be26461430a
-  pt-BR.xpi: 8fad349b6fddd3dbdad510b6da572a323f931c39
-  pt-PT.xpi: f02ab4ea3f63138b074d63f3371ff9c20905aec1
-  ro.xpi: c49a10fed7c738262bffbe912e69920929a997d6
-  ru.xpi: 84ed0c1ca89bd5dd4f2df522fb66697726555bd5
-  si.xpi: ebe222a155b50c739796c2e4d3c1ac63e9843361
-  sk.xpi: 4c36c0936a16ca5eca0d5a0a5d9ceab3cd9bea81
-  sl.xpi: 41469d5e72f8c5ef17e637de7e187a3c5cbb52b3
-  sq.xpi: a19df7b1a3e2922f0324c55672bef7a24407991e
-  sr.xpi: 596841981d81d8f709f58d8191846d38c4fbbeda
-  sv-SE.xpi: 618437aac2a5a3c71614a63b48fe752b4d44cc5a
-  ta.xpi: cd85f0551b92560088302c09b29d2a56cdbf4af6
-  te.xpi: 6d6522a23941fb116bf785dbefaa0290803ef292
-  th.xpi: df487cdf0d75c4ae09e730c5398900660da6d2f7
-  tr.xpi: 86e7fa9f35ee162121cbc73bb37c06af9d3c3f3e
-  uk.xpi: dc62c3d44fce78338f33c37d05226c412dde9f27
-  vi.xpi: f5c9b19ec13c6f08b399502fc7db1369dab92d5e
-  zh-CN.xpi: 00084a709fbcbb39d4a265a68814075eb88f0ace
-  zh-TW.xpi: e3ba44d5cba229e854dce419484e2872b5fea5fc
+  firefox-57.0.4.source.tar.xz: c7e3aa5db3c711b9bc3e82224fae49c829cc857d
+  af.xpi: 878816a6a6dcdf1b7ae514448a2db13e1c51969a
+  ar.xpi: f6202977959286880876629d3c6141be58d627e4
+  ast.xpi: ed1abc1610584025a2bd8cf9a169ec931a315772
+  as.xpi: 39ca60b150907211b9efdc9d6d4592f2c1e82305
+  bg.xpi: 00ff241685df755716423d576f0a57af2a432923
+  bn-BD.xpi: 0087a52152e3de3b6a7eb9b6b92cd0ce1e0f93e6
+  bn-IN.xpi: e02d9b55a92288ae74c7ac93ac1b2b90d1ad7025
+  br.xpi: 2b39fe1b46c03712daff197c0b1a15147d77f459
+  bs.xpi: 19e41bac567ddd74d8d39140afc747da36204add
+  ca.xpi: 9e7ff447ca42e6c3174560fd87aa544c0010b1ac
+  cs.xpi: ccb95d24dd9ae43a2d214655efd561bdaabec402
+  cy.xpi: e8a886dae1089fcfc995e1b8cdc10b68f7412327
+  da.xpi: 43dc9ba8a1d5f746936fde31aabc04e153b7d918
+  de.xpi: c0fba2689d3bba51388faf7cfd764b24d901ac2d
+  el.xpi: 3d9c3f7e797af9e8dc968bdd36a7041ecdce4e47
+  en-GB.xpi: e8081a305046634dd4790dd317a733efdc87790c
+  en-ZA.xpi: eea3d4a7a5583000b0127854ea5c1560d2c4c9d5
+  eo.xpi: 10a3eb5c8ecdf6c039f674e7812b96978a22a51c
+  es-AR.xpi: c015e630bbb6e7b7397d4a2fe4df30e4dc359b04
+  es-CL.xpi: 639d64c1791bd7662645cfd571108a346bef3a23
+  es-ES.xpi: 0e59da9fc1b1feac3561447e25940fab8eb6e9a1
+  es-MX.xpi: ecebbf7d2448db2fd68f8d8332fae281209d2bf7
+  et.xpi: 42c79251d42549f24e9dcba7027cfb06bdf4744c
+  eu.xpi: 74a6f791473e7a0e24cdea448398ff7eb22eb0b0
+  fa.xpi: 85aca026f5bdfbd2b4789e40fb55a0d7a7ba88ee
+  fi.xpi: bc0defeb6418e7e5d976a4068410d7710c62099e
+  fr.xpi: a954b8073e29fa61f921a7bed8494e8853b0bf52
+  fy-NL.xpi: a6db44e0cdf68b34ae8847511edadc0cff44a652
+  ga-IE.xpi: 178fe3707318c34cce7983b853b0059e819b3503
+  gd.xpi: 04c231830929966f96c2c13ade1aad02c590f63b
+  gl.xpi: 46cc6aa0137b8197ac19f669f24716f018d7f621
+  gu-IN.xpi: 4befa66ff803432d8f080b3af890c5cd156f1a54
+  he.xpi: 53893aad80dd2cb8f6e61abd1dae3e37d4c6e31e
+  hi-IN.xpi: d043857276dd4b214cd17453f6b14bc1fbcf2843
+  hr.xpi: 8645d49f7707977b10a521e23c6e83eb1fd077f0
+  hu.xpi: c654af078fffd32d14f69330cee135b912e2fe10
+  hy-AM.xpi: ecf217b861541ff162117e6cd67a58ab0d770946
+  id.xpi: 7af4f331fa102ea8d7b4869d072a579ec8d4a2ad
+  is.xpi: 482788e2808fffd18ad516dd5aa71e5996f76723
+  it.xpi: d693c6ef11c107521a6e23cced317815c424c0ac
+  ja.xpi: ac20d5f0e0dcece9ce7677546f3bb774d3a42a05
+  kk.xpi: 009eb2213e1215cd9e4054daf5edc503d828c7f6
+  km.xpi: ea4f9448a2a31e6de6f3e493036149ff4e5f31b4
+  kn.xpi: bdd573a96d8445ec73b9656c5b0fa218d2d1cb4e
+  ko.xpi: 27ca3d2e0d62ce4f627bd1f1c44416952f44f50a
+  lt.xpi: 203f638b53e1802f8f50426b175bc723c1f1e0e2
+  lv.xpi: dd22573068a1a8a19e6774ed8a593fd19c260212
+  mai.xpi: 641addc0f42627e148f9b686f745ba1436042710
+  mk.xpi: 9b148d77f40cc947504fc6ee8241220fba6f4e14
+  ml.xpi: 3c5a7a2e2764178bd867e082f7b9a7ab9289a0f2
+  mr.xpi: 00216f6dd3b5761a131dc82f16c06ade4c3d259b
+  nb-NO.xpi: 814c952a9f43b077422a8ba89b7106210cd7661a
+  nl.xpi: 29e0ed3bc07b613cbb86c61041d3e10f05c88068
+  nn-NO.xpi: 328ea72762ebe2df2e2d434b956f42aa1c1b6b2f
+  or.xpi: 737aef24c8f057e1cb3ad0329d32260647896567
+  pa-IN.xpi: 1c74f76dbd58ab865f108614d8fd5739e78bb062
+  pl.xpi: f289e094ec0c4fe75482cbe9a8afcb3dd0d4eba7
+  pt-BR.xpi: e7e17bc5102dad030512705599f138ea0fb55425
+  pt-PT.xpi: 2868d48c278762c2338bf09caeec24bfaeacf916
+  ro.xpi: 3138a8c6af9cb38b6c2432aaf387565b6eb4adb1
+  ru.xpi: 4469274231174e90aba17e2f7b1e19c9c77875b7
+  si.xpi: f12fcaca91b82bc5c5e9a71a43ee738d1aa0e21c
+  sk.xpi: e5dc87cccd49257ce46af2c7ed8b3b4e7585620e
+  sl.xpi: 6eb9475f387c69c3f7a6ae3b31da776c98d3c837
+  sq.xpi: 4f9237a35ae38dce2315f60e09e1bb828c7f8eae
+  sr.xpi: 4d9cb3c037a229b29d1e8956fe81bc194a05ae3a
+  sv-SE.xpi: 5f49da6e05931d626b7accb452e57c4d8ad9e7be
+  ta.xpi: 350a90b77d8d00213b2af1cd612be3f91b35ba45
+  te.xpi: 3bc77c70c939d135569cdeb10efb21a6ed74df7f
+  th.xpi: 409bf3a6a6d37862e57fe37373c3b89db8728abd
+  tr.xpi: 271b5701a2fe8147c12ef1a084c62ff33d4ae09f
+  uk.xpi: 412e20ed86b58e9b67ec31699013908c311bd50f
+  vi.xpi: cf59e4f608d4e8283af6193f26ba80c578889312
+  zh-CN.xpi: ad117444f5b108b9e344b701c196a332d07c6a88
+  zh-TW.xpi: e179fc913252b0c7ffb39523618aca78861ede79
diff --git a/firefox.spec b/firefox.spec
index 8817e9c..c825539 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -240,7 +240,7 @@ Name:		firefox
 Epoch:		0
 # IMPORTANT: When updating, you MUST also update the l10n files by running
 # download.sh after editing the version number
-Version:	57.0.3
+Version:	57.0.4
 Release:	1
 License:	MPLv1+
 Group:		Networking/WWW
@@ -281,17 +281,16 @@ Patch43:	rhbz-1291190-appchooser-crash.patch
 # Not yet finished, but can't hurt
 #Patch50:	firefox-48.0.1-qt-compile.patch
 
+# (tpg) try to fix build with stylo enabled
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1341234
+Patch100:	mozilla-bindgen-systemlibs.patch
+Patch101:	mozilla-rust-1.23.patch
 #BuildConflicts:	libreoffice-core
 BuildRequires:	doxygen
 BuildRequires:	makedepend
-BuildRequires:	pkgconfig(python2)
-%if %mdvver >= 201500
-BuildRequires:	python2
-BuildRequires:	python2-distribute
-%else
-BuildRequires:  python
-BuildRequires:  python-distribute
-%endif
+BuildRequires:	pkgconfig(python)
+BuildRequires:	python
+BuildRequires:	python-distribute
 #(tpg) this is in contrib
 #BuildRequires:	python-ply
 BuildRequires:	rootcerts >= 1:20110830.00
@@ -541,9 +540,9 @@ ac_add_options --with-google-api-keyfile=../google-api-key
 ac_add_options --enable-release
 ac_add_options --enable-pie
 # stylo wont build at the momemnt, stack dump in bindgen cb 16/11/2017
+#ifarch %{ix86}
 ac_add_options --disable-stylo
-# Workaround for stylo build
-ac_add_options BINDGEN_CFLAGS="$(pkg-config nspr pixman-1 --cflags)"
+#endif
 EOF
 
 # Show the config just for debugging
@@ -556,8 +555,7 @@ mkdir -p obj/ipc/chromium
 cp ipc/chromium/src/base/message_pump_qt.* obj/ipc/chromium/
 %endif
 
-export LDFLAGS="%ldflags"
-export PYTHON=python2
+export LDFLAGS="%{ldflags}"
 
 make -f client.mk build
 
diff --git a/mozilla-57.0-kde.patch b/mozilla-57.0-kde.patch
index 0698455..439efb3 100644
--- a/mozilla-57.0-kde.patch
+++ b/mozilla-57.0-kde.patch
@@ -1,5 +1,5 @@
 # HG changeset patch
-# Parent  87a32e5d11e9d652e331a5f852bb951069b20c4a
+# Parent  2504512f9a9ba7b52dd99745d15f049f2a03f4f4
 Description: Add KDE integration to Firefox (toolkit parts)
 Author: Wolfgang Rosenauer <wolfgang@rosenauer.org>
 Author: Lubos Lunak <lunak@suse.com>
@@ -3275,7 +3275,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
  
    mFilters.AppendElement(filter);
    mFilterNames.AppendElement(name);
-@@ -371,16 +375,37 @@ nsFilePicker::Show(int16_t *aReturn)
+@@ -371,16 +375,39 @@ nsFilePicker::Show(int16_t *aReturn)
  
  NS_IMETHODIMP
  nsFilePicker::Open(nsIFilePickerShownCallback *aCallback)
@@ -3288,6 +3288,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
 +  if( nsKDEUtils::kdeSupport()) {
 +    mCallback = aCallback;
 +    mRunning = true;
++    NS_ADDREF_THIS();
 +    g_idle_add([](gpointer data) -> gboolean {
 +      nsFilePicker* queuedPicker = (nsFilePicker*) data;
 +      int16_t result;
@@ -3299,6 +3300,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
 +        queuedPicker->mResult = result;
 +      }
 +      queuedPicker->mRunning = false;
++      NS_RELEASE(queuedPicker);
 +      return G_SOURCE_REMOVE;
 +    }, this);
 +
@@ -3313,7 +3315,7 @@ diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp
  
    GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
  
-@@ -603,8 +628,233 @@ nsFilePicker::Done(GtkWidget* file_choos
+@@ -603,8 +630,233 @@ nsFilePicker::Done(GtkWidget* file_choos
    if (mCallback) {
      mCallback->Done(result);
      mCallback = nullptr;
diff --git a/mozilla-bindgen-systemlibs.patch b/mozilla-bindgen-systemlibs.patch
new file mode 100644
index 0000000..97a627f
--- /dev/null
+++ b/mozilla-bindgen-systemlibs.patch
@@ -0,0 +1,102 @@
+# HG changeset patch
+# Parent  e85dde0eabf214916c69924aa49192ab412e00a1
+
+diff --git a/build/autoconf/config.status.m4 b/build/autoconf/config.status.m4
+--- a/build/autoconf/config.status.m4
++++ b/build/autoconf/config.status.m4
+@@ -40,16 +40,31 @@ define([AC_SUBST_LIST],
+ [ifdef([AC_SUBST_SET_$1], [m4_fatal([Cannot use AC_SUBST_SET and AC_SUBST_LIST on the same variable ($1)])],
+ [ifdef([AC_SUBST_LIST_$1], ,
+ [define([AC_SUBST_LIST_$1], )dnl
+ AC_DIVERT_PUSH(MOZ_DIVERSION_SUBST)dnl
+     (''' $1 ''', list(r''' [$]$1 '''.split()))
+ AC_DIVERT_POP()dnl
+ ])])])])
+ 
++dnl Like AC_SUBST, but makes the value available as a string of quoted strings
++dnl in python, with values got from the value of the environment variable,
++dnl split on whitespaces. The value is suitable for embedding into a .toml
++dnl list.
++define([AC_SUBST_TOML_LIST],
++[ifdef([AC_SUBST_$1], [m4_fatal([Cannot use AC_SUBST and AC_SUBST_LIST on the same variable ($1)])],
++[ifdef([AC_SUBST_SET_$1], [m4_fatal([Cannot use AC_SUBST_SET and AC_SUBST_LIST on the same variable ($1)])],
++[ifdef([AC_SUBST_LIST_$1], ,
++[define([AC_SUBST_LIST_$1], )dnl
++AC_DIVERT_PUSH(MOZ_DIVERSION_SUBST)dnl
++    (''' $1 ''', r''' %s ''' % str(', '.join("'%s'" % s for s in r''' [$]$1 '''.split())))
++AC_DIVERT_POP()dnl
++])])])])
++
++
+ dnl Ignore AC_SUBSTs for variables we don't have use for but that autoconf
+ dnl itself exports.
+ define([AC_SUBST_CFLAGS], )
+ define([AC_SUBST_CPPFLAGS], )
+ define([AC_SUBST_CXXFLAGS], )
+ define([AC_SUBST_FFLAGS], )
+ define([AC_SUBST_DEFS], )
+ define([AC_SUBST_LDFLAGS], )
+diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
+--- a/build/moz.configure/toolchain.configure
++++ b/build/moz.configure/toolchain.configure
+@@ -897,25 +897,24 @@ def check_have_64_bit(have_64_bit, compi
+         configure_error('The target compiler does not agree with configure '
+                         'about the target bitness.')
+ 
+ option(env='BINDGEN_CFLAGS',
+        nargs=1,
+        help='Options bindgen should pass to the C/C++ parser')
+ 
+ @depends('BINDGEN_CFLAGS')
+-@checking('bindgen cflags', lambda s: s if s and s.strip() else 'no')
++@checking('bindgen cflags', lambda s: s if s and s[0].strip() else 'no')
+ def bindgen_cflags(value):
+     if value and len(value):
+         # Reformat the env value for substitution into a toml list.
+         flags = value[0].split()
+-        return ', '.join('"' + flag + '"' for flag in flags)
+-    return ''
++        return flags
+ 
+-set_config('BINDGEN_CFLAGS', bindgen_cflags)
++add_old_configure_assignment('_BINDGEN_CFLAGS', bindgen_cflags)
+ 
+ @depends(c_compiler)
+ def default_debug_flags(compiler_info):
+     # Debug info is ON by default.
+     if compiler_info.type in ('msvc', 'clang-cl'):
+         return '-Zi'
+     return '-g'
+ 
+diff --git a/layout/style/bindgen.toml.in b/layout/style/bindgen.toml.in
+--- a/layout/style/bindgen.toml.in
++++ b/layout/style/bindgen.toml.in
+@@ -1,4 +1,4 @@
+ [build]
+ args = [
+-    @BINDGEN_CFLAGS@
++    @BINDGEN_SYSTEM_FLAGS@
+ ]
+diff --git a/old-configure.in b/old-configure.in
+--- a/old-configure.in
++++ b/old-configure.in
+@@ -4453,16 +4453,19 @@ android)
+ esac
+ 
+ AC_SUBST(MOZ_TREE_CAIRO)
+ AC_SUBST_LIST(MOZ_CAIRO_CFLAGS)
+ AC_SUBST_LIST(MOZ_CAIRO_LIBS)
+ AC_SUBST_LIST(MOZ_CAIRO_OSLIBS)
+ AC_SUBST(MOZ_TREE_PIXMAN)
+ 
++BINDGEN_SYSTEM_FLAGS="$_BINDGEN_CFLAGS $NSPR_CFLAGS $NSS_CFLAGS $MOZ_PIXMAN_CFLAGS $MOZ_CAIRO_CFLAGS"
++AC_SUBST_TOML_LIST(BINDGEN_SYSTEM_FLAGS)
++
+ dnl ========================================================
+ dnl disable xul
+ dnl ========================================================
+ MOZ_ARG_DISABLE_BOOL(xul,
+ [  --disable-xul           Disable XUL],
+     MOZ_XUL= )
+ if test "$MOZ_XUL"; then
+   AC_DEFINE(MOZ_XUL)
diff --git a/mozilla-rust-1.23.patch b/mozilla-rust-1.23.patch
new file mode 100644
index 0000000..feb49b8
--- /dev/null
+++ b/mozilla-rust-1.23.patch
@@ -0,0 +1,1083 @@
+
+# HG changeset patch
+# User Simon Sapin <simon.sapin@exyr.org>
+# Date 1510231769 21600
+# Node ID 3242ac6fdb3879f723145e6b07fff04a5c960d1e
+# Parent  bf63b9d8f2410464d5f2526588e380f934e937cc
+servo: Merge #19162 - Allow unused imports for AsciiExt in style code (from emilio:ascii-ext); r=emilio
+
+See #19128, this part is cherry-picked so Gecko can build with rust nightly.
+
+Source-Repo: https://github.com/servo/servo
+Source-Revision: e7a654dd13f589e127193267bcb576ffd661c11d
+
+diff --git a/servo/components/gfx/font.rs b/servo/components/gfx/font.rs
+--- a/servo/components/gfx/font.rs
++++ b/servo/components/gfx/font.rs
+@@ -5,17 +5,17 @@
+ use app_units::Au;
+ use euclid::{Point2D, Rect, Size2D};
+ use font_template::FontTemplateDescriptor;
+ use ordered_float::NotNaN;
+ use platform::font::{FontHandle, FontTable};
+ use platform::font_context::FontContextHandle;
+ use platform::font_template::FontTemplateData;
+ use smallvec::SmallVec;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::ToOwned;
+ use std::cell::RefCell;
+ use std::collections::HashMap;
+ use std::rc::Rc;
+ use std::str;
+ use std::sync::Arc;
+ use std::sync::atomic::{ATOMIC_USIZE_INIT, AtomicUsize, Ordering};
+ use style::computed_values::{font_stretch, font_variant_caps, font_weight};
+diff --git a/servo/components/net/fetch/cors_cache.rs b/servo/components/net/fetch/cors_cache.rs
+--- a/servo/components/net/fetch/cors_cache.rs
++++ b/servo/components/net/fetch/cors_cache.rs
+@@ -7,17 +7,17 @@
+ //! For stuff involving `<img>`, `<iframe>`, `<form>`, etc please check what
+ //! the request mode should be and compare with the fetch spec
+ //! This library will eventually become the core of the Fetch crate
+ //! with CORSRequest being expanded into FetchRequest (etc)
+ 
+ use hyper::method::Method;
+ use net_traits::request::{CredentialsMode, Origin, Request};
+ use servo_url::ServoUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use time::{self, Timespec};
+ 
+ /// Union type for CORS cache entries
+ ///
+ /// Each entry might pertain to a header or method
+ #[derive(Clone, Debug)]
+ pub enum HeaderOrMethod {
+     HeaderData(String),
+diff --git a/servo/components/net/fetch/methods.rs b/servo/components/net/fetch/methods.rs
+--- a/servo/components/net/fetch/methods.rs
++++ b/servo/components/net/fetch/methods.rs
+@@ -16,17 +16,17 @@ use hyper::method::Method;
+ use hyper::mime::{Mime, SubLevel, TopLevel};
+ use hyper::status::StatusCode;
+ use mime_guess::guess_mime_type;
+ use net_traits::{FetchTaskTarget, NetworkError, ReferrerPolicy};
+ use net_traits::request::{CredentialsMode, Referrer, Request, RequestMode, ResponseTainting};
+ use net_traits::request::{Type, Origin, Window};
+ use net_traits::response::{Response, ResponseBody, ResponseType};
+ use servo_url::ServoUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::Cow;
+ use std::fmt;
+ use std::fs::File;
+ use std::io::Read;
+ use std::mem;
+ use std::str;
+ use std::sync::Arc;
+ use std::sync::mpsc::{Sender, Receiver};
+diff --git a/servo/components/net/http_loader.rs b/servo/components/net/http_loader.rs
+--- a/servo/components/net/http_loader.rs
++++ b/servo/components/net/http_loader.rs
+@@ -34,17 +34,17 @@ use log;
+ use msg::constellation_msg::PipelineId;
+ use net_traits::{CookieSource, FetchMetadata, NetworkError, ReferrerPolicy};
+ use net_traits::request::{CacheMode, CredentialsMode, Destination, Origin};
+ use net_traits::request::{RedirectMode, Referrer, Request, RequestMode};
+ use net_traits::request::{ResponseTainting, ServiceWorkersMode, Type};
+ use net_traits::response::{HttpsState, Response, ResponseBody, ResponseType};
+ use resource_thread::AuthCache;
+ use servo_url::{ImmutableOrigin, ServoUrl};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::collections::HashSet;
+ use std::error::Error;
+ use std::io::{self, Read, Write};
+ use std::iter::FromIterator;
+ use std::mem;
+ use std::ops::Deref;
+ use std::sync::RwLock;
+ use std::sync::mpsc::{channel, Sender};
+diff --git a/servo/components/net/websocket_loader.rs b/servo/components/net/websocket_loader.rs
+--- a/servo/components/net/websocket_loader.rs
++++ b/servo/components/net/websocket_loader.rs
+@@ -14,17 +14,17 @@ use hyper::http::h1::{LINE_ENDING, parse
+ use hyper::method::Method;
+ use hyper::net::HttpStream;
+ use hyper::status::StatusCode;
+ use hyper::version::HttpVersion;
+ use net_traits::{CookieSource, MessageData, NetworkError, WebSocketCommunicate, WebSocketConnectData};
+ use net_traits::{WebSocketDomAction, WebSocketNetworkEvent};
+ use net_traits::request::{Destination, Type};
+ use servo_url::ServoUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::io::{self, Write};
+ use std::net::TcpStream;
+ use std::sync::{Arc, Mutex};
+ use std::sync::atomic::{AtomicBool, Ordering};
+ use std::thread;
+ use url::Position;
+ use websocket::{Message, Receiver as WSReceiver, Sender as WSSender};
+ use websocket::header::{Origin, WebSocketAccept, WebSocketKey, WebSocketProtocol, WebSocketVersion};
+diff --git a/servo/components/net_traits/response.rs b/servo/components/net_traits/response.rs
+--- a/servo/components/net_traits/response.rs
++++ b/servo/components/net_traits/response.rs
+@@ -4,17 +4,17 @@
+ 
+ //! The [Response](https://fetch.spec.whatwg.org/#responses) object
+ //! resulting from a [fetch operation](https://fetch.spec.whatwg.org/#concept-fetch)
+ use {FetchMetadata, FilteredMetadata, Metadata, NetworkError, ReferrerPolicy};
+ use hyper::header::{AccessControlExposeHeaders, ContentType, Headers};
+ use hyper::status::StatusCode;
+ use hyper_serde::Serde;
+ use servo_url::ServoUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::sync::{Arc, Mutex};
+ 
+ /// [Response type](https://fetch.spec.whatwg.org/#concept-response-type)
+ #[derive(Clone, Debug, Deserialize, HeapSizeOf, PartialEq, Serialize)]
+ pub enum ResponseType {
+     Basic,
+     Cors,
+     Default,
+diff --git a/servo/components/script/dom/bindings/str.rs b/servo/components/script/dom/bindings/str.rs
+--- a/servo/components/script/dom/bindings/str.rs
++++ b/servo/components/script/dom/bindings/str.rs
+@@ -2,17 +2,17 @@
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ //! The `ByteString` struct.
+ 
+ use cssparser::CowRcStr;
+ use html5ever::{LocalName, Namespace};
+ use servo_atoms::Atom;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::{Borrow, Cow, ToOwned};
+ use std::fmt;
+ use std::hash::{Hash, Hasher};
+ use std::marker::PhantomData;
+ use std::ops;
+ use std::ops::{Deref, DerefMut};
+ use std::str;
+ use std::str::{Bytes, FromStr};
+diff --git a/servo/components/script/dom/blob.rs b/servo/components/script/dom/blob.rs
+--- a/servo/components/script/dom/blob.rs
++++ b/servo/components/script/dom/blob.rs
+@@ -11,17 +11,17 @@ use dom::bindings::js::{JS, Root};
+ use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object};
+ use dom::bindings::str::DOMString;
+ use dom::globalscope::GlobalScope;
+ use dom_struct::dom_struct;
+ use ipc_channel::ipc;
+ use net_traits::{CoreResourceMsg, IpcSend};
+ use net_traits::blob_url_store::{BlobBuf, get_blob_origin};
+ use net_traits::filemanager_thread::{FileManagerThreadMsg, ReadFileProgress, RelativePos};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::mem;
+ use std::ops::Index;
+ use std::path::PathBuf;
+ use uuid::Uuid;
+ 
+ /// File-based blob
+ #[derive(JSTraceable)]
+ pub struct FileBlob {
+diff --git a/servo/components/script/dom/cssstyledeclaration.rs b/servo/components/script/dom/cssstyledeclaration.rs
+--- a/servo/components/script/dom/cssstyledeclaration.rs
++++ b/servo/components/script/dom/cssstyledeclaration.rs
+@@ -11,17 +11,17 @@ use dom::bindings::reflector::{DomObject
+ use dom::bindings::str::DOMString;
+ use dom::cssrule::CSSRule;
+ use dom::element::Element;
+ use dom::node::{Node, window_from_node, document_from_node};
+ use dom::window::Window;
+ use dom_struct::dom_struct;
+ use servo_arc::Arc;
+ use servo_url::ServoUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use style::attr::AttrValue;
+ use style::properties::{Importance, PropertyDeclarationBlock, PropertyId, LonghandId, ShorthandId};
+ use style::properties::{parse_one_declaration_into, parse_style_attribute, SourcePropertyDeclaration};
+ use style::selector_parser::PseudoElement;
+ use style::shared_lock::Locked;
+ use style_traits::{PARSING_MODE_DEFAULT, ToCss};
+ 
+ // http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface
+diff --git a/servo/components/script/dom/document.rs b/servo/components/script/dom/document.rs
+--- a/servo/components/script/dom/document.rs
++++ b/servo/components/script/dom/document.rs
+@@ -118,17 +118,17 @@ use script_traits::{AnimationState, Comp
+ use script_traits::{MouseButton, MouseEventType, MozBrowserEvent};
+ use script_traits::{MsDuration, ScriptMsg, TouchpadPressurePhase};
+ use script_traits::{TouchEventType, TouchId};
+ use script_traits::UntrustedNodeAddress;
+ use servo_arc::Arc;
+ use servo_atoms::Atom;
+ use servo_config::prefs::PREFS;
+ use servo_url::{ImmutableOrigin, MutableOrigin, ServoUrl};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::ToOwned;
+ use std::cell::{Cell, Ref, RefMut};
+ use std::collections::{HashMap, HashSet, VecDeque};
+ use std::collections::hash_map::Entry::{Occupied, Vacant};
+ use std::default::Default;
+ use std::iter::once;
+ use std::mem;
+ use std::rc::Rc;
+diff --git a/servo/components/script/dom/element.rs b/servo/components/script/dom/element.rs
+--- a/servo/components/script/dom/element.rs
++++ b/servo/components/script/dom/element.rs
+@@ -90,17 +90,17 @@ use script_layout_interface::message::Re
+ use script_thread::ScriptThread;
+ use selectors::attr::{AttrSelectorOperation, NamespaceConstraint, CaseSensitivity};
+ use selectors::matching::{ElementSelectorFlags, LocalMatchingContext, MatchingContext, MatchingMode};
+ use selectors::matching::{HAS_EDGE_CHILD_SELECTOR, HAS_SLOW_SELECTOR, HAS_SLOW_SELECTOR_LATER_SIBLINGS};
+ use selectors::matching::{RelevantLinkStatus, matches_selector_list};
+ use selectors::sink::Push;
+ use servo_arc::Arc;
+ use servo_atoms::Atom;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::Cow;
+ use std::cell::{Cell, Ref};
+ use std::convert::TryFrom;
+ use std::default::Default;
+ use std::fmt;
+ use std::mem;
+ use std::rc::Rc;
+ use style::CaseSensitivityExt;
+diff --git a/servo/components/script/dom/htmlelement.rs b/servo/components/script/dom/htmlelement.rs
+--- a/servo/components/script/dom/htmlelement.rs
++++ b/servo/components/script/dom/htmlelement.rs
+@@ -25,17 +25,17 @@ use dom::htmlhtmlelement::HTMLHtmlElemen
+ use dom::htmlinputelement::HTMLInputElement;
+ use dom::htmllabelelement::HTMLLabelElement;
+ use dom::node::{Node, SEQUENTIALLY_FOCUSABLE};
+ use dom::node::{document_from_node, window_from_node};
+ use dom::nodelist::NodeList;
+ use dom::virtualmethods::VirtualMethods;
+ use dom_struct::dom_struct;
+ use html5ever::{LocalName, Prefix};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::default::Default;
+ use std::rc::Rc;
+ use style::attr::AttrValue;
+ use style::element_state::*;
+ 
+ #[dom_struct]
+ pub struct HTMLElement {
+     element: Element,
+diff --git a/servo/components/script/dom/htmllinkelement.rs b/servo/components/script/dom/htmllinkelement.rs
+--- a/servo/components/script/dom/htmllinkelement.rs
++++ b/servo/components/script/dom/htmllinkelement.rs
+@@ -21,17 +21,17 @@ use dom::htmlelement::HTMLElement;
+ use dom::node::{Node, UnbindContext, document_from_node, window_from_node};
+ use dom::stylesheet::StyleSheet as DOMStyleSheet;
+ use dom::virtualmethods::VirtualMethods;
+ use dom_struct::dom_struct;
+ use html5ever::{LocalName, Prefix};
+ use net_traits::ReferrerPolicy;
+ use script_traits::{MozBrowserEvent, ScriptMsg};
+ use servo_arc::Arc;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::ToOwned;
+ use std::cell::Cell;
+ use std::default::Default;
+ use style::attr::AttrValue;
+ use style::media_queries::parse_media_query_list;
+ use style::parser::ParserContext as CssParserContext;
+ use style::str::HTML_SPACE_CHARACTERS;
+ use style::stylesheets::{CssRuleType, Stylesheet};
+diff --git a/servo/components/script/dom/htmlmetaelement.rs b/servo/components/script/dom/htmlmetaelement.rs
+--- a/servo/components/script/dom/htmlmetaelement.rs
++++ b/servo/components/script/dom/htmlmetaelement.rs
+@@ -17,17 +17,17 @@ use dom::htmlelement::HTMLElement;
+ use dom::htmlheadelement::HTMLHeadElement;
+ use dom::node::{Node, UnbindContext, document_from_node, window_from_node};
+ use dom::virtualmethods::VirtualMethods;
+ use dom_struct::dom_struct;
+ use html5ever::{LocalName, Prefix};
+ use parking_lot::RwLock;
+ use servo_arc::Arc;
+ use servo_config::prefs::PREFS;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::sync::atomic::AtomicBool;
+ use style::attr::AttrValue;
+ use style::media_queries::MediaList;
+ use style::str::HTML_SPACE_CHARACTERS;
+ use style::stylesheets::{Stylesheet, StylesheetContents, CssRule, CssRules, Origin, ViewportRule};
+ 
+ #[dom_struct]
+ pub struct HTMLMetaElement {
+diff --git a/servo/components/script/dom/htmlscriptelement.rs b/servo/components/script/dom/htmlscriptelement.rs
+--- a/servo/components/script/dom/htmlscriptelement.rs
++++ b/servo/components/script/dom/htmlscriptelement.rs
+@@ -31,17 +31,17 @@ use ipc_channel::ipc;
+ use ipc_channel::router::ROUTER;
+ use js::jsval::UndefinedValue;
+ use net_traits::{FetchMetadata, FetchResponseListener, Metadata, NetworkError};
+ use net_traits::request::{CorsSettings, CredentialsMode, Destination, RequestInit, RequestMode, Type as RequestType};
+ use network_listener::{NetworkListener, PreInvoke};
+ use servo_atoms::Atom;
+ use servo_config::opts;
+ use servo_url::ServoUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::cell::Cell;
+ use std::fs::File;
+ use std::io::{Read, Write};
+ use std::path::PathBuf;
+ use std::process::{Command, Stdio};
+ use std::sync::{Arc, Mutex};
+ use style::str::{HTML_SPACE_CHARACTERS, StaticStringVec};
+ use uuid::Uuid;
+diff --git a/servo/components/script/dom/macros.rs b/servo/components/script/dom/macros.rs
+--- a/servo/components/script/dom/macros.rs
++++ b/servo/components/script/dom/macros.rs
+@@ -144,17 +144,17 @@ macro_rules! make_string_or_document_url
+ );
+ 
+ #[macro_export]
+ macro_rules! make_enumerated_getter(
+     ( $attr:ident, $htmlname:tt, $default:expr, $($choices: pat)|+) => (
+         fn $attr(&self) -> DOMString {
+             use dom::bindings::inheritance::Castable;
+             use dom::element::Element;
+-            use std::ascii::AsciiExt;
++            #[allow(unused_imports)] use std::ascii::AsciiExt;
+             let element = self.upcast::<Element>();
+             let mut val = element.get_string_attribute(&local_name!($htmlname));
+             val.make_ascii_lowercase();
+             // https://html.spec.whatwg.org/multipage/#attr-fs-method
+             match &*val {
+                 $($choices)|+ => val,
+                 _ => DOMString::from($default)
+             }
+diff --git a/servo/components/script/dom/namednodemap.rs b/servo/components/script/dom/namednodemap.rs
+--- a/servo/components/script/dom/namednodemap.rs
++++ b/servo/components/script/dom/namednodemap.rs
+@@ -10,17 +10,17 @@ use dom::bindings::error::{Error, Fallib
+ use dom::bindings::js::{JS, Root};
+ use dom::bindings::reflector::{Reflector, reflect_dom_object};
+ use dom::bindings::str::DOMString;
+ use dom::bindings::xmlname::namespace_from_domstring;
+ use dom::element::Element;
+ use dom::window::Window;
+ use dom_struct::dom_struct;
+ use html5ever::LocalName;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ 
+ #[dom_struct]
+ pub struct NamedNodeMap {
+     reflector_: Reflector,
+     owner: JS<Element>,
+ }
+ 
+ impl NamedNodeMap {
+diff --git a/servo/components/script/dom/serviceworkercontainer.rs b/servo/components/script/dom/serviceworkercontainer.rs
+--- a/servo/components/script/dom/serviceworkercontainer.rs
++++ b/servo/components/script/dom/serviceworkercontainer.rs
+@@ -11,17 +11,17 @@ use dom::bindings::str::USVString;
+ use dom::client::Client;
+ use dom::eventtarget::EventTarget;
+ use dom::globalscope::GlobalScope;
+ use dom::promise::Promise;
+ use dom::serviceworker::ServiceWorker;
+ use dom_struct::dom_struct;
+ use script_thread::ScriptThread;
+ use serviceworkerjob::{Job, JobType};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::default::Default;
+ use std::rc::Rc;
+ 
+ #[dom_struct]
+ pub struct ServiceWorkerContainer {
+     eventtarget: EventTarget,
+     controller: MutNullableJS<ServiceWorker>,
+     client: JS<Client>
+diff --git a/servo/components/script/dom/servoparser/async_html.rs b/servo/components/script/dom/servoparser/async_html.rs
+--- a/servo/components/script/dom/servoparser/async_html.rs
++++ b/servo/components/script/dom/servoparser/async_html.rs
+@@ -22,17 +22,17 @@ use dom::virtualmethods::vtable_for;
+ use html5ever::{Attribute as HtmlAttribute, ExpandedName, LocalName, QualName};
+ use html5ever::buffer_queue::BufferQueue;
+ use html5ever::tendril::{SendTendril, StrTendril, Tendril};
+ use html5ever::tendril::fmt::UTF8;
+ use html5ever::tokenizer::{Tokenizer as HtmlTokenizer, TokenizerOpts, TokenizerResult};
+ use html5ever::tree_builder::{ElementFlags, NodeOrText as HtmlNodeOrText, NextParserState, QuirksMode, TreeSink};
+ use html5ever::tree_builder::{TreeBuilder, TreeBuilderOpts};
+ use servo_url::ServoUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::Cow;
+ use std::cell::Cell;
+ use std::collections::HashMap;
+ use std::collections::vec_deque::VecDeque;
+ use std::sync::mpsc::{channel, Receiver, Sender};
+ use std::thread;
+ use style::context::QuirksMode as ServoQuirksMode;
+ 
+diff --git a/servo/components/script/dom/servoparser/mod.rs b/servo/components/script/dom/servoparser/mod.rs
+--- a/servo/components/script/dom/servoparser/mod.rs
++++ b/servo/components/script/dom/servoparser/mod.rs
+@@ -41,17 +41,17 @@ use net_traits::{FetchMetadata, FetchRes
+ use network_listener::PreInvoke;
+ use profile_traits::time::{TimerMetadata, TimerMetadataFrameType};
+ use profile_traits::time::{TimerMetadataReflowType, ProfilerCategory, profile};
+ use script_thread::ScriptThread;
+ use script_traits::DocumentActivity;
+ use servo_config::prefs::PREFS;
+ use servo_config::resource_files::read_resource_file;
+ use servo_url::ServoUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::Cow;
+ use std::cell::Cell;
+ use std::mem;
+ use style::context::QuirksMode as ServoQuirksMode;
+ 
+ mod async_html;
+ mod html;
+ mod xml;
+diff --git a/servo/components/script/dom/websocket.rs b/servo/components/script/dom/websocket.rs
+--- a/servo/components/script/dom/websocket.rs
++++ b/servo/components/script/dom/websocket.rs
+@@ -27,17 +27,17 @@ use js::jsapi::JSAutoCompartment;
+ use js::jsval::UndefinedValue;
+ use js::typedarray::{ArrayBuffer, CreateWith};
+ use net_traits::{WebSocketCommunicate, WebSocketConnectData, WebSocketDomAction, WebSocketNetworkEvent};
+ use net_traits::CoreResourceMsg::WebsocketConnect;
+ use net_traits::MessageData;
+ use script_runtime::CommonScriptMsg;
+ use script_runtime::ScriptThreadEventCategory::WebSocketEvent;
+ use servo_url::ServoUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::ToOwned;
+ use std::cell::Cell;
+ use std::ptr;
+ use std::thread;
+ use task::{TaskOnce, TaskCanceller};
+ use task_source::TaskSource;
+ use task_source::networking::NetworkingTaskSource;
+ 
+diff --git a/servo/components/script/dom/window.rs b/servo/components/script/dom/window.rs
+--- a/servo/components/script/dom/window.rs
++++ b/servo/components/script/dom/window.rs
+@@ -82,17 +82,17 @@ use script_traits::{ConstellationControl
+ use script_traits::{ScriptToConstellationChan, ScriptMsg, ScrollState, TimerEvent, TimerEventId};
+ use script_traits::{TimerSchedulerMsg, UntrustedNodeAddress, WindowSizeData, WindowSizeType};
+ use script_traits::webdriver_msg::{WebDriverJSError, WebDriverJSResult};
+ use selectors::attr::CaseSensitivity;
+ use servo_config::opts;
+ use servo_config::prefs::PREFS;
+ use servo_geometry::{f32_rect_to_au_rect, max_rect};
+ use servo_url::{Host, MutableOrigin, ImmutableOrigin, ServoUrl};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::ToOwned;
+ use std::cell::Cell;
+ use std::collections::{HashMap, HashSet};
+ use std::collections::hash_map::Entry;
+ use std::default::Default;
+ use std::env;
+ use std::fs;
+ use std::io::{Write, stderr, stdout};
+diff --git a/servo/components/script/dom/xmlhttprequest.rs b/servo/components/script/dom/xmlhttprequest.rs
+--- a/servo/components/script/dom/xmlhttprequest.rs
++++ b/servo/components/script/dom/xmlhttprequest.rs
+@@ -57,17 +57,17 @@ use net_traits::{FetchResponseListener, 
+ use net_traits::CoreResourceMsg::Fetch;
+ use net_traits::request::{CredentialsMode, Destination, RequestInit, RequestMode};
+ use net_traits::trim_http_whitespace;
+ use network_listener::{NetworkListener, PreInvoke};
+ use script_traits::DocumentActivity;
+ use servo_atoms::Atom;
+ use servo_config::prefs::PREFS;
+ use servo_url::ServoUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::ToOwned;
+ use std::cell::Cell;
+ use std::default::Default;
+ use std::str;
+ use std::sync::{Arc, Mutex};
+ use task_source::networking::NetworkingTaskSource;
+ use time;
+ use timers::{OneshotTimerCallback, OneshotTimerHandle};
+diff --git a/servo/components/selectors/attr.rs b/servo/components/selectors/attr.rs
+--- a/servo/components/selectors/attr.rs
++++ b/servo/components/selectors/attr.rs
+@@ -1,15 +1,15 @@
+ /* This Source Code Form is subject to the terms of the Mozilla Public
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ use cssparser::ToCss;
+ use parser::SelectorImpl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] #[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::fmt;
+ 
+ #[derive(Clone, Eq, PartialEq)]
+ pub struct AttrSelectorWithNamespace<Impl: SelectorImpl> {
+     pub namespace: NamespaceConstraint<(Impl::NamespacePrefix, Impl::NamespaceUrl)>,
+     pub local_name: Impl::LocalName,
+     pub local_name_lower: Impl::LocalName,
+     pub operation: ParsedAttrSelectorOperation<Impl::AttrValue>,
+diff --git a/servo/components/selectors/parser.rs b/servo/components/selectors/parser.rs
+--- a/servo/components/selectors/parser.rs
++++ b/servo/components/selectors/parser.rs
+@@ -8,17 +8,17 @@ use bloom::BLOOM_HASH_MASK;
+ use builder::{SelectorBuilder, SpecificityAndFlags};
+ use context::QuirksMode;
+ use cssparser::{ParseError, BasicParseError, CowRcStr, Delimiter};
+ use cssparser::{Token, Parser as CssParser, parse_nth, ToCss, serialize_identifier, CssStringWriter};
+ use precomputed_hash::PrecomputedHash;
+ use servo_arc::ThinArc;
+ use sink::Push;
+ use smallvec::SmallVec;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::{Borrow, Cow};
+ use std::fmt::{self, Display, Debug, Write};
+ use std::iter::Rev;
+ use std::slice;
+ use visitor::SelectorVisitor;
+ 
+ /// A trait that represents a pseudo-element.
+ pub trait PseudoElement : Sized + ToCss {
+diff --git a/servo/components/style/attr.rs b/servo/components/style/attr.rs
+--- a/servo/components/style/attr.rs
++++ b/servo/components/style/attr.rs
+@@ -11,17 +11,17 @@ use app_units::Au;
+ use cssparser::{self, Color, RGBA};
+ use euclid::num::Zero;
+ use num_traits::ToPrimitive;
+ use properties::PropertyDeclarationBlock;
+ use selectors::attr::AttrSelectorOperation;
+ use servo_arc::Arc;
+ use servo_url::ServoUrl;
+ use shared_lock::Locked;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] #[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::str::FromStr;
+ use str::{HTML_SPACE_CHARACTERS, read_exponent, read_fraction};
+ use str::{read_numbers, split_commas, split_html_space_chars};
+ use str::str_join;
+ use values::specified::Length;
+ 
+ // Duplicated from script::dom::values.
+ const UNSIGNED_LONG_MAX: u32 = 2147483647;
+diff --git a/servo/components/style/counter_style/mod.rs b/servo/components/style/counter_style/mod.rs
+--- a/servo/components/style/counter_style/mod.rs
++++ b/servo/components/style/counter_style/mod.rs
+@@ -10,17 +10,17 @@ use Atom;
+ use cssparser::{AtRuleParser, DeclarationListParser, DeclarationParser};
+ use cssparser::{Parser, Token, serialize_identifier, BasicParseError, CowRcStr};
+ use error_reporting::{ContextualParseError, ParseErrorReporter};
+ #[cfg(feature = "gecko")] use gecko::rules::CounterStyleDescriptors;
+ #[cfg(feature = "gecko")] use gecko_bindings::structs::nsCSSCounterDesc;
+ use parser::{ParserContext, ParserErrorContext, Parse};
+ use selectors::parser::SelectorParseError;
+ use shared_lock::{SharedRwLockReadGuard, ToCssWithGuard};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::Cow;
+ use std::fmt;
+ use std::ops::Range;
+ use style_traits::{Comma, OneOrMoreSeparated, ParseError, StyleParseError, ToCss};
+ use values::CustomIdent;
+ 
+ /// Parse the prelude of an @counter-style rule
+ pub fn parse_counter_style_name<'i, 't>(input: &mut Parser<'i, 't>) -> Result<CustomIdent, ParseError<'i>> {
+diff --git a/servo/components/style/custom_properties.rs b/servo/components/style/custom_properties.rs
+--- a/servo/components/style/custom_properties.rs
++++ b/servo/components/style/custom_properties.rs
+@@ -9,17 +9,17 @@
+ use Atom;
+ use cssparser::{Delimiter, Parser, ParserInput, SourcePosition, Token, TokenSerializationType};
+ use parser::ParserContext;
+ use precomputed_hash::PrecomputedHash;
+ use properties::{CSSWideKeyword, DeclaredValue};
+ use selector_map::{PrecomputedHashSet, PrecomputedHashMap};
+ use selectors::parser::SelectorParseError;
+ use servo_arc::Arc;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::{Borrow, Cow};
+ use std::fmt;
+ use std::hash::Hash;
+ use style_traits::{ToCss, StyleParseError, ParseError};
+ 
+ /// A custom property name is just an `Atom`.
+ ///
+ /// Note that this does not include the `--` prefix
+diff --git a/servo/components/style/gecko/generated/pseudo_element_definition.rs b/servo/components/style/gecko/generated/pseudo_element_definition.rs
+--- a/servo/components/style/gecko/generated/pseudo_element_definition.rs
++++ b/servo/components/style/gecko/generated/pseudo_element_definition.rs
+@@ -1262,17 +1262,17 @@ None
+     /// user-agent stylesheet.
+     ///
+     /// If we're not in a user-agent stylesheet, we will never parse anonymous
+     /// box pseudo-elements.
+     ///
+     /// Returns `None` if the pseudo-element is not recognised.
+     #[inline]
+     pub fn from_slice(s: &str, in_ua_stylesheet: bool) -> Option<Self> {
+-        use std::ascii::AsciiExt;
++        #[allow(unused_imports)] #[allow(unused_imports)] use std::ascii::AsciiExt;
+ 
+         // We don't need to support tree pseudos because functional
+         // pseudo-elements needs arguments, and thus should be created
+         // via other methods.
+             if in_ua_stylesheet || PseudoElement::After.exposed_in_non_ua_sheets() {
+                 if s.eq_ignore_ascii_case("after") {
+                     return Some(PseudoElement::After);
+                 }
+@@ -1632,17 +1632,17 @@ None
+     }
+ 
+     /// Constructs a tree pseudo-element from the given name and arguments.
+     /// "name" must start with "-moz-tree-".
+     ///
+     /// Returns `None` if the pseudo-element is not recognized.
+     #[inline]
+     pub fn tree_pseudo_element(name: &str, args: Box<[String]>) -> Option<Self> {
+-        use std::ascii::AsciiExt;
++        #[allow(unused_imports)] use std::ascii::AsciiExt;
+         debug_assert!(name.starts_with("-moz-tree-"));
+         let tree_part = &name[10..];
+             if tree_part.eq_ignore_ascii_case("column") {
+                 return Some(PseudoElement::MozTreeColumn(args));
+             }
+             if tree_part.eq_ignore_ascii_case("row") {
+                 return Some(PseudoElement::MozTreeRow(args));
+             }
+diff --git a/servo/components/style/gecko/pseudo_element_definition.mako.rs b/servo/components/style/gecko/pseudo_element_definition.mako.rs
+--- a/servo/components/style/gecko/pseudo_element_definition.mako.rs
++++ b/servo/components/style/gecko/pseudo_element_definition.mako.rs
+@@ -181,17 +181,17 @@ impl PseudoElement {
+     /// user-agent stylesheet.
+     ///
+     /// If we're not in a user-agent stylesheet, we will never parse anonymous
+     /// box pseudo-elements.
+     ///
+     /// Returns `None` if the pseudo-element is not recognised.
+     #[inline]
+     pub fn from_slice(s: &str, in_ua_stylesheet: bool) -> Option<Self> {
+-        use std::ascii::AsciiExt;
++        #[allow(unused_imports)] #[allow(unused_imports)] use std::ascii::AsciiExt;
+ 
+         // We don't need to support tree pseudos because functional
+         // pseudo-elements needs arguments, and thus should be created
+         // via other methods.
+         % for pseudo in SIMPLE_PSEUDOS:
+             if in_ua_stylesheet || ${pseudo_element_variant(pseudo)}.exposed_in_non_ua_sheets() {
+                 if s.eq_ignore_ascii_case("${pseudo.value[1:]}") {
+                     return Some(${pseudo_element_variant(pseudo)});
+@@ -203,17 +203,17 @@ impl PseudoElement {
+     }
+ 
+     /// Constructs a tree pseudo-element from the given name and arguments.
+     /// "name" must start with "-moz-tree-".
+     ///
+     /// Returns `None` if the pseudo-element is not recognized.
+     #[inline]
+     pub fn tree_pseudo_element(name: &str, args: Box<[String]>) -> Option<Self> {
+-        use std::ascii::AsciiExt;
++        #[allow(unused_imports)] use std::ascii::AsciiExt;
+         debug_assert!(name.starts_with("-moz-tree-"));
+         let tree_part = &name[10..];
+         % for pseudo in TREE_PSEUDOS:
+             if tree_part.eq_ignore_ascii_case("${pseudo.value[11:]}") {
+                 return Some(${pseudo_element_variant(pseudo, "args")});
+             }
+         % endfor
+         None
+diff --git a/servo/components/style/gecko_string_cache/mod.rs b/servo/components/style/gecko_string_cache/mod.rs
+--- a/servo/components/style/gecko_string_cache/mod.rs
++++ b/servo/components/style/gecko_string_cache/mod.rs
+@@ -8,17 +8,17 @@
+ 
+ use gecko_bindings::bindings::Gecko_AddRefAtom;
+ use gecko_bindings::bindings::Gecko_Atomize;
+ use gecko_bindings::bindings::Gecko_Atomize16;
+ use gecko_bindings::bindings::Gecko_ReleaseAtom;
+ use gecko_bindings::structs::{nsIAtom, nsIAtom_AtomKind};
+ use nsstring::{nsAString, nsString};
+ use precomputed_hash::PrecomputedHash;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::{Cow, Borrow};
+ use std::char::{self, DecodeUtf16};
+ use std::fmt::{self, Write};
+ use std::hash::{Hash, Hasher};
+ use std::iter::Cloned;
+ use std::mem;
+ use std::ops::Deref;
+ use std::slice;
+diff --git a/servo/components/style/properties/longhand/font.mako.rs b/servo/components/style/properties/longhand/font.mako.rs
+--- a/servo/components/style/properties/longhand/font.mako.rs
++++ b/servo/components/style/properties/longhand/font.mako.rs
+@@ -2137,17 +2137,17 @@ https://drafts.csswg.org/css-fonts-4/#lo
+         SpecifiedValue::Normal
+     }
+ 
+     impl ToComputedValue for SpecifiedValue {
+         type ComputedValue = computed_value::T;
+ 
+         #[inline]
+         fn to_computed_value(&self, _context: &Context) -> computed_value::T {
+-            use std::ascii::AsciiExt;
++            #[allow(unused_imports)] #[allow(unused_imports)] use std::ascii::AsciiExt;
+             match *self {
+                 SpecifiedValue::Normal => computed_value::T(0),
+                 SpecifiedValue::Override(ref lang) => {
+                     if lang.is_empty() || lang.len() > 4 || !lang.is_ascii() {
+                         return computed_value::T(0)
+                     }
+                     let mut computed_lang = lang.clone();
+                     while computed_lang.len() < 4 {
+diff --git a/servo/components/style/properties/longhand/pointing.mako.rs b/servo/components/style/properties/longhand/pointing.mako.rs
+--- a/servo/components/style/properties/longhand/pointing.mako.rs
++++ b/servo/components/style/properties/longhand/pointing.mako.rs
+@@ -85,17 +85,17 @@
+             images: vec![],
+             keyword: computed_value::Keyword::Auto
+         }
+     }
+ 
+     impl Parse for computed_value::Keyword {
+         fn parse<'i, 't>(_context: &ParserContext, input: &mut Parser<'i, 't>)
+                          -> Result<computed_value::Keyword, ParseError<'i>> {
+-            use std::ascii::AsciiExt;
++            #[allow(unused_imports)] use std::ascii::AsciiExt;
+             use style_traits::cursor::Cursor;
+             let ident = input.expect_ident()?;
+             if ident.eq_ignore_ascii_case("auto") {
+                 Ok(computed_value::Keyword::Auto)
+             } else {
+                 Cursor::from_css_keyword(&ident)
+                     .map(computed_value::Keyword::Cursor)
+                     .map_err(|()| SelectorParseError::UnexpectedIdent(ident.clone()).into())
+diff --git a/servo/components/style/servo/selector_parser.rs b/servo/components/style/servo/selector_parser.rs
+--- a/servo/components/style/servo/selector_parser.rs
++++ b/servo/components/style/servo/selector_parser.rs
+@@ -16,17 +16,17 @@ use invalidation::element::element_wrapp
+ use properties::ComputedValues;
+ use properties::PropertyFlags;
+ use properties::longhands::display::computed_value as display;
+ use selector_parser::{AttrValue as SelectorAttrValue, ElementExt, PseudoElementCascadeType, SelectorParser};
+ use selectors::Element;
+ use selectors::attr::{AttrSelectorOperation, NamespaceConstraint, CaseSensitivity};
+ use selectors::parser::{SelectorMethods, SelectorParseError};
+ use selectors::visitor::SelectorVisitor;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::fmt;
+ use std::fmt::Debug;
+ use std::mem;
+ use std::ops::{Deref, DerefMut};
+ use style_traits::{ParseError, StyleParseError};
+ 
+ /// A pseudo-element, both public and private.
+ ///
+diff --git a/servo/components/style/str.rs b/servo/components/style/str.rs
+--- a/servo/components/style/str.rs
++++ b/servo/components/style/str.rs
+@@ -2,17 +2,17 @@
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ //! String utils for attributes and similar stuff.
+ 
+ #![deny(missing_docs)]
+ 
+ use num_traits::ToPrimitive;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] #[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::Cow;
+ use std::convert::AsRef;
+ use std::iter::{Filter, Peekable};
+ use std::str::Split;
+ 
+ /// A static slice of characters.
+ pub type StaticCharVec = &'static [char];
+ 
+diff --git a/servo/components/style/stylesheets/viewport_rule.rs b/servo/components/style/stylesheets/viewport_rule.rs
+--- a/servo/components/style/stylesheets/viewport_rule.rs
++++ b/servo/components/style/stylesheets/viewport_rule.rs
+@@ -15,17 +15,17 @@ use error_reporting::{ContextualParseErr
+ use euclid::TypedSize2D;
+ use font_metrics::get_metrics_provider_for_product;
+ use media_queries::Device;
+ use parser::{ParserContext, ParserErrorContext};
+ use properties::StyleBuilder;
+ use rule_cache::RuleCacheConditions;
+ use selectors::parser::SelectorParseError;
+ use shared_lock::{SharedRwLockReadGuard, StylesheetGuards, ToCssWithGuard};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::borrow::Cow;
+ use std::cell::RefCell;
+ use std::fmt;
+ use std::iter::Enumerate;
+ use std::str::Chars;
+ use style_traits::{PinchZoomFactor, ToCss, ParseError, StyleParseError};
+ use style_traits::viewport::{Orientation, UserZoom, ViewportConstraints, Zoom};
+ use stylesheets::{StylesheetInDocument, Origin};
+diff --git a/servo/components/style/values/mod.rs b/servo/components/style/values/mod.rs
+--- a/servo/components/style/values/mod.rs
++++ b/servo/components/style/values/mod.rs
+@@ -7,17 +7,17 @@
+ //! [values]: https://drafts.csswg.org/css-values/
+ 
+ #![deny(missing_docs)]
+ 
+ use Atom;
+ pub use cssparser::{RGBA, Token, Parser, serialize_identifier, BasicParseError, CowRcStr};
+ use parser::{Parse, ParserContext};
+ use selectors::parser::SelectorParseError;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::fmt::{self, Debug};
+ use std::hash;
+ use style_traits::{ToCss, ParseError, StyleParseError};
+ 
+ pub mod animated;
+ pub mod computed;
+ pub mod distance;
+ pub mod generics;
+diff --git a/servo/components/style/values/specified/align.rs b/servo/components/style/values/specified/align.rs
+--- a/servo/components/style/values/specified/align.rs
++++ b/servo/components/style/values/specified/align.rs
+@@ -5,17 +5,17 @@
+ //! Values for CSS Box Alignment properties
+ //!
+ //! https://drafts.csswg.org/css-align/
+ 
+ use cssparser::Parser;
+ use gecko_bindings::structs;
+ use parser::{Parse, ParserContext};
+ use selectors::parser::SelectorParseError;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::fmt;
+ use style_traits::{ToCss, ParseError, StyleParseError};
+ 
+ bitflags! {
+     /// Constants shared by multiple CSS Box Alignment properties
+     ///
+     /// These constants match Gecko's `NS_STYLE_ALIGN_*` constants.
+     #[cfg_attr(feature = "gecko", derive(MallocSizeOf))]
+diff --git a/servo/components/style/values/specified/angle.rs b/servo/components/style/values/specified/angle.rs
+--- a/servo/components/style/values/specified/angle.rs
++++ b/servo/components/style/values/specified/angle.rs
+@@ -1,17 +1,17 @@
+ /* This Source Code Form is subject to the terms of the Mozilla Public
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ //! Specified angles.
+ 
+ use cssparser::{Parser, Token, BasicParseError};
+ use parser::{ParserContext, Parse};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::fmt;
+ use style_traits::{ToCss, ParseError};
+ use values::CSSFloat;
+ use values::computed::{Context, ToComputedValue};
+ use values::computed::angle::Angle as ComputedAngle;
+ use values::specified::calc::CalcNode;
+ 
+ /// A specified angle.
+diff --git a/servo/components/style/values/specified/calc.rs b/servo/components/style/values/specified/calc.rs
+--- a/servo/components/style/values/specified/calc.rs
++++ b/servo/components/style/values/specified/calc.rs
+@@ -3,17 +3,17 @@
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ //! [Calc expressions][calc].
+ //!
+ //! [calc]: https://drafts.csswg.org/css-values/#calc-notation
+ 
+ use cssparser::{Parser, Token, BasicParseError};
+ use parser::ParserContext;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::fmt;
+ use style_traits::{ToCss, ParseError, StyleParseError};
+ use style_traits::values::specified::AllowedNumericType;
+ use values::{CSSInteger, CSSFloat};
+ use values::computed;
+ use values::specified::{Angle, Time};
+ use values::specified::length::{AbsoluteLength, FontRelativeLength, NoCalcLength};
+ use values::specified::length::ViewportPercentageLength;
+diff --git a/servo/components/style/values/specified/grid.rs b/servo/components/style/values/specified/grid.rs
+--- a/servo/components/style/values/specified/grid.rs
++++ b/servo/components/style/values/specified/grid.rs
+@@ -2,17 +2,17 @@
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ //! CSS handling for the computed value of
+ //! [grids](https://drafts.csswg.org/css-grid/)
+ 
+ use cssparser::{Parser, Token, BasicParseError};
+ use parser::{Parse, ParserContext};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::mem;
+ use style_traits::{ParseError, StyleParseError};
+ use values::{CSSFloat, CustomIdent};
+ use values::computed::{self, Context, ToComputedValue};
+ use values::generics::grid::{GridTemplateComponent, RepeatCount, TrackBreadth, TrackKeyword, TrackRepeat};
+ use values::generics::grid::{LineNameList, TrackSize, TrackList, TrackListType, TrackListValue};
+ use values::specified::{LengthOrPercentage, Integer};
+ 
+diff --git a/servo/components/style/values/specified/length.rs b/servo/components/style/values/specified/length.rs
+--- a/servo/components/style/values/specified/length.rs
++++ b/servo/components/style/values/specified/length.rs
+@@ -7,17 +7,17 @@
+ //! [length]: https://drafts.csswg.org/css-values/#lengths
+ 
+ use app_units::Au;
+ use cssparser::{Parser, Token, BasicParseError};
+ use euclid::Size2D;
+ use font_metrics::FontMetricsQueryResult;
+ use parser::{Parse, ParserContext};
+ use std::{cmp, fmt, mem};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::ops::{Add, Mul};
+ use style_traits::{ToCss, ParseError, StyleParseError};
+ use style_traits::values::specified::AllowedNumericType;
+ use stylesheets::CssRuleType;
+ use super::{AllowQuirks, Number, ToComputedValue, Percentage};
+ use values::{Auto, CSSFloat, Either, FONT_MEDIUM_PX, None_, Normal};
+ use values::{ExtremumLength, serialize_dimension};
+ use values::computed::{self, CSSPixelLength, Context};
+diff --git a/servo/components/style/values/specified/mod.rs b/servo/components/style/values/specified/mod.rs
+--- a/servo/components/style/values/specified/mod.rs
++++ b/servo/components/style/values/specified/mod.rs
+@@ -6,17 +6,17 @@
+ //!
+ //! TODO(emilio): Enhance docs.
+ 
+ use Namespace;
+ use context::QuirksMode;
+ use cssparser::{Parser, Token, serialize_identifier, BasicParseError};
+ use parser::{ParserContext, Parse};
+ use self::url::SpecifiedUrl;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::f32;
+ use std::fmt;
+ use style_traits::{ToCss, ParseError, StyleParseError};
+ use style_traits::values::specified::AllowedNumericType;
+ use super::{Auto, CSSFloat, CSSInteger, Either, None_};
+ use super::computed::{Context, ToComputedValue};
+ use super::generics::{GreaterThanOrEqualToOne, NonNegative};
+ use super::generics::grid::{GridLine as GenericGridLine, TrackBreadth as GenericTrackBreadth};
+diff --git a/servo/components/style/values/specified/percentage.rs b/servo/components/style/values/specified/percentage.rs
+--- a/servo/components/style/values/specified/percentage.rs
++++ b/servo/components/style/values/specified/percentage.rs
+@@ -1,17 +1,17 @@
+ /* This Source Code Form is subject to the terms of the Mozilla Public
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ //! Specified percentages.
+ 
+ use cssparser::{BasicParseError, Parser, Token};
+ use parser::{Parse, ParserContext};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::fmt;
+ use style_traits::{ParseError, ToCss};
+ use style_traits::values::specified::AllowedNumericType;
+ use values::{CSSFloat, serialize_percentage};
+ use values::computed::{Context, ToComputedValue};
+ use values::computed::percentage::Percentage as ComputedPercentage;
+ use values::specified::calc::CalcNode;
+ 
+diff --git a/servo/components/style/values/specified/text.rs b/servo/components/style/values/specified/text.rs
+--- a/servo/components/style/values/specified/text.rs
++++ b/servo/components/style/values/specified/text.rs
+@@ -2,17 +2,17 @@
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ //! Specified types for text properties.
+ 
+ use cssparser::Parser;
+ use parser::{Parse, ParserContext};
+ use selectors::parser::SelectorParseError;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use style_traits::ParseError;
+ use values::computed::{Context, ToComputedValue};
+ use values::computed::text::LineHeight as ComputedLineHeight;
+ use values::generics::text::InitialLetter as GenericInitialLetter;
+ use values::generics::text::LineHeight as GenericLineHeight;
+ use values::generics::text::Spacing;
+ use values::specified::{AllowQuirks, Integer, NonNegativeNumber, Number};
+ use values::specified::length::{FontRelativeLength, Length, LengthOrPercentage, NoCalcLength};
+diff --git a/servo/components/style/values/specified/time.rs b/servo/components/style/values/specified/time.rs
+--- a/servo/components/style/values/specified/time.rs
++++ b/servo/components/style/values/specified/time.rs
+@@ -1,17 +1,17 @@
+ /* This Source Code Form is subject to the terms of the Mozilla Public
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ //! Specified time values.
+ 
+ use cssparser::{Parser, Token, BasicParseError};
+ use parser::{ParserContext, Parse};
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::fmt;
+ use style_traits::{ToCss, ParseError, StyleParseError};
+ use style_traits::values::specified::AllowedNumericType;
+ use values::CSSFloat;
+ use values::computed::{Context, ToComputedValue};
+ use values::computed::time::Time as ComputedTime;
+ use values::specified::calc::CalcNode;
+ 
+diff --git a/servo/components/style_traits/viewport.rs b/servo/components/style_traits/viewport.rs
+--- a/servo/components/style_traits/viewport.rs
++++ b/servo/components/style_traits/viewport.rs
+@@ -2,17 +2,17 @@
+  * License, v. 2.0. If a copy of the MPL was not distributed with this
+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ 
+ //! Helper types for the `@viewport` rule.
+ 
+ use {CSSPixel, PinchZoomFactor, ParseError};
+ use cssparser::{Parser, ToCss, ParseError as CssParseError, BasicParseError};
+ use euclid::TypedSize2D;
+-use std::ascii::AsciiExt;
++#[allow(unused_imports)] use std::ascii::AsciiExt;
+ use std::fmt;
+ 
+ define_css_keyword_enum!(UserZoom:
+                          "zoom" => Zoom,
+                          "fixed" => Fixed);
+ 
+ define_css_keyword_enum!(Orientation:
+                          "auto" => Auto,
Not Available

itchka [@T] compuserve.comNo Comment.2505d 19hrs