diff options
author | ryoon <ryoon@pkgsrc.org> | 2017-11-03 22:07:27 +0000 |
---|---|---|
committer | ryoon <ryoon@pkgsrc.org> | 2017-11-03 22:07:27 +0000 |
commit | 20b80270ac1e693f499ef4023a0747432394a05b (patch) | |
tree | fc0dc46fbaee582b8cce8c5b6d86d23386f79b2d /www/firefox | |
parent | 9b243c92da67c3efd83065095e790099655a39f3 (diff) | |
download | pkgsrc-20b80270ac1e693f499ef4023a0747432394a05b.tar.gz |
Fix build with lang-rust-1.21.0 from 57 via FreeBSD Ports. Bump PKGREVISION
Diffstat (limited to 'www/firefox')
51 files changed, 1155 insertions, 3 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile index a293b7df622..853e50fbbdc 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.309 2017/10/29 09:47:57 ryoon Exp $ +# $NetBSD: Makefile,v 1.310 2017/11/03 22:07:27 ryoon Exp $ FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR} MOZ_BRANCH= 56.0 @@ -6,7 +6,7 @@ MOZ_BRANCH_MINOR= .2 DISTNAME= firefox-${FIREFOX_VER}.source PKGNAME= firefox-${MOZ_BRANCH}${MOZ_BRANCH_MINOR:S/b/beta/:S/esr//} -PKGREVISION= 1 +PKGREVISION= 2 CATEGORIES= www MASTER_SITES+= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/} MASTER_SITES+= ${MASTER_SITE_MOZILLA_ALL:=firefox/releases/${FIREFOX_VER}/source/} diff --git a/www/firefox/distinfo b/www/firefox/distinfo index 7accb57fbfc..ffaf3192272 100644 --- a/www/firefox/distinfo +++ b/www/firefox/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.299 2017/10/27 13:21:28 ryoon Exp $ +$NetBSD: distinfo,v 1.300 2017/11/03 22:07:27 ryoon Exp $ SHA1 (firefox-56.0.2.source.tar.xz) = 1b7310adea833a7c74498505f1207416690c9748 RMD160 (firefox-56.0.2.source.tar.xz) = 7bd0f871aab8dea2a76b98d8b5260b5fa3082808 @@ -48,6 +48,10 @@ SHA1 (patch-js_src_build_moz.build) = 4597a427262d0eb6ce8d14c0f557bfbe3f053e61 SHA1 (patch-js_src_jit_arm_Architecture-arm.cpp) = f0b554c169643b8447b4f29168d61ea257b18782 SHA1 (patch-js_xpconnect_src_XPCConvert.cpp) = 915777e9bb5366be41866cdb6ea0ad2b1c006dde SHA1 (patch-js_xpconnect_src_xpcprivate.h) = 97a221c76593be712f670aa409f2f1ad5dc20628 +SHA1 (patch-layout_style_ServoBindingList.h) = 5f30fd7a44e39a3b584f906bfc7f0b65d609a605 +SHA1 (patch-layout_style_ServoBindingTypes.h) = 3f10b0b9c49029cf494dd691825372ffb769ec58 +SHA1 (patch-layout_style_ServoBindings.h) = e3a308625b4f690133fea25591e95c29d40a9faa +SHA1 (patch-layout_style_ServoBindings.toml) = c1675a75a52307f9e033839ae4fae28a0ced1aa9 SHA1 (patch-media_libcubeb_gtest_moz.build) = ebb4be6e6bca4a0ed6858516ec9fdb7828bbe2e1 SHA1 (patch-media_libcubeb_src_cubeb.c) = 1b1b8d57eb710cad13518ded79a0ddee2681881b SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = b19e380278ca875600e49b76021b20f1f9e81980 @@ -72,7 +76,52 @@ SHA1 (patch-mozglue_build_arm.h) = 5e272f4e19b9681d43a63c45d78b0e44a392c7dc SHA1 (patch-netwerk_dns_moz.build) = d4ad35ee7152ca206156403954cbd247d1252ab0 SHA1 (patch-netwerk_srtp_src_crypto_hash_hmac.c) = 8ba57212adca077fb5cfa50d752a97b0e3becc6d SHA1 (patch-netwerk_srtp_src_crypto_kernel_crypto__kernel.c) = 08f3a347745b5529749328ad3a070fb78a75c1e9 +SHA1 (patch-servo_Cargo.lock) = 6a9f65467263f2309706d821d888651b4f98943f +SHA1 (patch-servo_components_devtools_lib.rs) = c20fb0907ef863b60ec8b4e7a70a745717e8da07 +SHA1 (patch-servo_components_layout_animation.rs) = eace4e2cc01c0f56ea3101d2add91f2ce4444f93 +SHA1 (patch-servo_components_layout_construct.rs) = 69b15cbc22fad1de93bbb1c262619bfd6b1fa8fa +SHA1 (patch-servo_components_layout_display__list__builder.rs) = c48b367fe704ee5cc39afdd819fd8638261abcf8 +SHA1 (patch-servo_components_layout_flex.rs) = 2a692a5e80c7383e7266c23a9efe7ce8c637b6f2 +SHA1 (patch-servo_components_layout_inline.rs) = 9dc6a4a5e0090c1acec49531566ee1fad49f9c77 +SHA1 (patch-servo_components_layout_sequential.rs) = 3a3e685547ab65c6e87f59c4a5e21c95e4605811 +SHA1 (patch-servo_components_layout_table__cell.rs) = b1175887c47d2f9a4e7bff1e7caf34fedcedef2f +SHA1 (patch-servo_components_layout_text.rs) = 72bd50cfd977450ae1e22e7cf82b0f979e33ff3b +SHA1 (patch-servo_components_net_cookie__storage.rs) = b9581e6c15677b8d9456a9aec22bf86f752731f9 +SHA1 (patch-servo_components_profile_heartbeats.rs) = a119218ef6a4eb66487781bdd959a7ef0a564d73 +SHA1 (patch-servo_components_script__plugins_unrooted__must__root.rs) = 7a837c7ef70aef297a5257fa229acf2a88f0b3f9 +SHA1 (patch-servo_components_script_dom_bindings_js.rs) = 27afe3ed74c058de66cffccc388493db980b1811 +SHA1 (patch-servo_components_script_dom_cssstyledeclaration.rs) = abe9bb5d98ceff868e18fbcb981243ed8f0fc641 +SHA1 (patch-servo_components_script_dom_cssstylerule.rs) = 5ac6a76b4a6965a8b3e77ca1d8cd4bc2fd2f7582 +SHA1 (patch-servo_components_script_dom_document.rs) = ae12fa6e0e900ac1e35b412aae4c54a30a955c78 +SHA1 (patch-servo_components_script_dom_medialist.rs) = 1093cd2a661923952de825ce02ebb58764dcec34 +SHA1 (patch-servo_components_script_dom_range.rs) = 14458d0477623850259bf6cb8e832994d1255c1e +SHA1 (patch-servo_components_script_dom_servoparser_async__html.rs) = 41f57e1e03be18d9ba2db693e6f5dd223324c7bf +SHA1 (patch-servo_components_script_dom_url.rs) = 91f420421b9dcab3b9a9a6c08e18d36d6222779b +SHA1 (patch-servo_components_script_dom_vrdisplay.rs) = cbff0dec0ef5a1a24aed76dfd213b548162ef017 +SHA1 (patch-servo_components_script_dom_webglrenderingcontext.rs) = 5cf56d3295c3d5f823e64da9a1248e9e25489e8a +SHA1 (patch-servo_components_script_dom_xmlhttprequest.rs) = a4c26e854aa2ca7032d28380bd60157202895acd +SHA1 (patch-servo_components_script_lib.rs) = 127e5c0ca8de489ca56ef4a578faccce89b6daa0 +SHA1 (patch-servo_components_selectors_matching.rs) = d5f1912ecc7591ef27e8b41965984e79a85b862f +SHA1 (patch-servo_components_selectors_parser.rs) = 61b7cfcb3e4519886f72123aa1a5f0ebae0cf896 SHA1 (patch-servo_components_style_build__gecko.rs) = fca2260a70b496fc010f165ff4d68788b7e28632 +SHA1 (patch-servo_components_style_gecko__bindings_sugar_ns__t__array.rs) = 5f413c476443420ac2e6bb43d256793739421980 +SHA1 (patch-servo_components_style_gecko_conversions.rs) = 8da244d315fe7b0477d601083622ce7d5f9453fc +SHA1 (patch-servo_components_style_gecko_generated_bindings.rs) = aa244497e54ffee7904bfebbad24b8eca12ebeff +SHA1 (patch-servo_components_style_gecko_wrapper.rs) = 37dc203204578b0d2e776ad4d6b66c3554ec9876 +SHA1 (patch-servo_components_style_invalidation_element_invalidator.rs) = a2abed736fa311201d6f0ef3ad9b2b82fd4c93b4 +SHA1 (patch-servo_components_style_matching.rs) = beec15440f1d8aa0c6a2ff5e45a4825d502097d4 +SHA1 (patch-servo_components_style_properties_gecko.mako.rs) = a653c701cf92e37f5e4fd9f30756a316c93994b1 +SHA1 (patch-servo_components_style_properties_properties.mako.rs) = e3c40e527b60c2112a9b2c5139b2eb0053841c20 +SHA1 (patch-servo_components_style_style__adjuster.rs) = 4fa07ba093cbe8472dd4ea8406d99ddd8ade0250 +SHA1 (patch-servo_components_style_style__resolver.rs) = 2ae238f2498922ed032df54f82d93cc9c8f4b3eb +SHA1 (patch-servo_components_style_stylesheets_rule__list.rs) = 6f6edea8b79122baf77afd1ddfcf6b4afd19a505 +SHA1 (patch-servo_components_style_stylesheets_rule__parser.rs) = 97298c34781e126d43ef5db229f5665013a9a59d +SHA1 (patch-servo_components_style_stylesheets_rules__iterator.rs) = ae366280676f6f3df85d158334a41771686262bf +SHA1 (patch-servo_components_style_values_specified_image.rs) = 8c13e3402902425ff1a5dac7f06d78115cea4bf5 +SHA1 (patch-servo_components_webdriver__server_lib.rs) = af2dbc95cfc3d19d3ec5bf613507700a58f275d1 +SHA1 (patch-servo_ports_geckolib_glue.rs) = a6f63947d27c657aa9c9371dabef89000758e6dc +SHA1 (patch-servo_rust-commit-hash) = 17078828535bb3ecc029e0c337438507b7d52bf4 +SHA1 (patch-servo_tests_unit_style_stylist.rs) = b6ce7a199519a898b7392f27d517e18050804056 SHA1 (patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h) = 5ffb0782bbbff2fd17ad71e98b349b4ec3dc6c8c SHA1 (patch-toolkit_components_terminator_nsTerminator.cpp) = 5b6d2e5c9f685d32894898d3ef3aec09a1a1e5ce SHA1 (patch-toolkit_crashreporter_google-breakpad_src_third_party_curl_curlbuild.h) = 0730c0c5d8e0865aa8a2f311b27559a3f6793a52 diff --git a/www/firefox/patches/patch-layout_style_ServoBindingList.h b/www/firefox/patches/patch-layout_style_ServoBindingList.h new file mode 100644 index 00000000000..e094b22b9bc --- /dev/null +++ b/www/firefox/patches/patch-layout_style_ServoBindingList.h @@ -0,0 +1,17 @@ +$NetBSD: patch-layout_style_ServoBindingList.h,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- layout/style/ServoBindingList.h.orig 2017-09-14 20:16:05.000000000 +0000 ++++ layout/style/ServoBindingList.h +@@ -377,10 +377,10 @@ SERVO_BINDING_FUNC(Servo_DeclarationBloc + nsCSSPropertyID property) + // Compose animation value for a given property. + // |base_values| is nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>. +-// We use void* to avoid exposing nsRefPtrHashtable in FFI. ++// We use RawServoAnimationValueTableBorrowed to avoid exposing nsRefPtrHashtable in FFI. + SERVO_BINDING_FUNC(Servo_AnimationCompose, void, + RawServoAnimationValueMapBorrowedMut animation_values, +- void* base_values, ++ RawServoAnimationValueTableBorrowed base_values, + nsCSSPropertyID property, + RawGeckoAnimationPropertySegmentBorrowed animation_segment, + RawGeckoAnimationPropertySegmentBorrowed last_segment, diff --git a/www/firefox/patches/patch-layout_style_ServoBindingTypes.h b/www/firefox/patches/patch-layout_style_ServoBindingTypes.h new file mode 100644 index 00000000000..69515b40b0f --- /dev/null +++ b/www/firefox/patches/patch-layout_style_ServoBindingTypes.h @@ -0,0 +1,13 @@ +$NetBSD: patch-layout_style_ServoBindingTypes.h,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- layout/style/ServoBindingTypes.h.orig 2017-09-14 20:16:05.000000000 +0000 ++++ layout/style/ServoBindingTypes.h +@@ -54,6 +54,8 @@ class nsXBLBinding; + using mozilla::dom::StyleChildrenIterator; + using mozilla::ServoElementSnapshot; + ++typedef void* RawServoAnimationValueTableBorrowed; ++ + typedef nsINode RawGeckoNode; + typedef mozilla::dom::Element RawGeckoElement; + typedef nsIDocument RawGeckoDocument; diff --git a/www/firefox/patches/patch-layout_style_ServoBindings.h b/www/firefox/patches/patch-layout_style_ServoBindings.h new file mode 100644 index 00000000000..1da1b6d58b3 --- /dev/null +++ b/www/firefox/patches/patch-layout_style_ServoBindings.h @@ -0,0 +1,16 @@ +$NetBSD: patch-layout_style_ServoBindings.h,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- layout/style/ServoBindings.h.orig 2017-09-14 20:16:05.000000000 +0000 ++++ layout/style/ServoBindings.h +@@ -267,9 +267,9 @@ double Gecko_GetPositionInSegment( + // Get servo's AnimationValue for |aProperty| from the cached base style + // |aBaseStyles|. + // |aBaseStyles| is nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>. +-// We use void* to avoid exposing nsRefPtrHashtable in FFI. ++// We use RawServoAnimationValueTableBorrowed to avoid exposing nsRefPtrHashtable in FFI. + RawServoAnimationValueBorrowedOrNull Gecko_AnimationGetBaseStyle( +- void* aBaseStyles, ++ RawServoAnimationValueTableBorrowed aBaseStyles, + nsCSSPropertyID aProperty); + void Gecko_StyleTransition_SetUnsupportedProperty( + mozilla::StyleTransition* aTransition, diff --git a/www/firefox/patches/patch-layout_style_ServoBindings.toml b/www/firefox/patches/patch-layout_style_ServoBindings.toml new file mode 100644 index 00000000000..769da7eaa38 --- /dev/null +++ b/www/firefox/patches/patch-layout_style_ServoBindings.toml @@ -0,0 +1,29 @@ +$NetBSD: patch-layout_style_ServoBindings.toml,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- layout/style/ServoBindings.toml.orig 2017-09-14 20:16:05.000000000 +0000 ++++ layout/style/ServoBindings.toml +@@ -353,6 +353,7 @@ raw-lines = [ + "pub type ServoStyleContextBorrowed<'a> = &'a ::properties::ComputedValues;", + "pub type ServoStyleContextBorrowedOrNull<'a> = Option<&'a ::properties::ComputedValues>;", + "pub type ServoComputedDataBorrowed<'a> = &'a ServoComputedData;", ++ "pub type RawServoAnimationValueTableBorrowed<'a> = &'a ();" + ] + whitelist-functions = ["Servo_.*", "Gecko_.*"] + structs-types = [ +@@ -385,7 +386,7 @@ structs-types = [ + "RawGeckoPresContext", + "RawGeckoPresContextOwned", + "RawGeckoStyleAnimationList", +- "RawGeckoStyleChildrenIteratorBorrowedMut", ++ "RawGeckoStyleChildrenIterator", + "RawGeckoServoStyleRuleList", + "RawGeckoURLExtraData", + "RawGeckoXBLBinding", +@@ -520,6 +521,7 @@ servo-borrow-types = [ + "RawGeckoFontFaceRuleList", + "RawGeckoServoStyleRuleList", + "RawGeckoServoAnimationValueList", ++ "RawGeckoStyleChildrenIterator", + ] + fixups = [ + # hack for gecko-owned string diff --git a/www/firefox/patches/patch-servo_Cargo.lock b/www/firefox/patches/patch-servo_Cargo.lock new file mode 100644 index 00000000000..2b209748125 --- /dev/null +++ b/www/firefox/patches/patch-servo_Cargo.lock @@ -0,0 +1,31 @@ +$NetBSD: patch-servo_Cargo.lock,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/Cargo.lock.orig 2017-09-14 20:15:55.000000000 +0000 ++++ servo/Cargo.lock +@@ -3577,7 +3577,7 @@ version = "0.1.4" + source = "registry+https://github.com/rust-lang/crates.io-index" + dependencies = [ + "error-chain 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", +- "xcb 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)", ++ "xcb 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)", + ] + + [[package]] +@@ -3592,7 +3592,7 @@ dependencies = [ + + [[package]] + name = "xcb" +-version = "0.7.6" ++version = "0.7.7" + source = "registry+https://github.com/rust-lang/crates.io-index" + dependencies = [ + "libc 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", +@@ -3918,7 +3918,7 @@ dependencies = [ + "checksum x11 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "db27c597c187da52194a4b8232e7d869503911aab9ff726fefb76d7a830f78ed" + "checksum x11-clipboard 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "731230b8edcbb9d99247105e4c9ec0a538594d50ad68d2afa8662195f9db2973" + "checksum x11-dl 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "326c500cdc166fd7c70dd8c8a829cd5c0ce7be5a5d98c25817de2b9bdc67faf8" +-"checksum xcb 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "63e3a849b73e4e1905e4f4d48f1750429bc86ea9f473632ab382a6f69ecb6b33" ++"checksum xcb 0.7.7 (registry+https://github.com/rust-lang/crates.io-index)" = "7cede38417fcdf2f0a9d8abf1cea1c1b066320a8a316e9583a0d717c334fafb2" + "checksum xdg 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a66b7c2281ebde13cf4391d70d4c7e5946c3c25e72a7b859ca8f677dcd0b0c61" + "checksum xi-unicode 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "12ea8eda4b1eb72f02d148402e23832d56a33f55d8c1b2d5bcdde91d79d47cb1" + "checksum xml-rs 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7ec6c39eaa68382c8e31e35239402c0a9489d4141a8ceb0c716099a0b515b562" diff --git a/www/firefox/patches/patch-servo_components_devtools_lib.rs b/www/firefox/patches/patch-servo_components_devtools_lib.rs new file mode 100644 index 00000000000..ef38bf86ea2 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_devtools_lib.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_devtools_lib.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/devtools/lib.rs.orig 2017-09-14 20:15:55.000000000 +0000 ++++ servo/components/devtools/lib.rs +@@ -306,7 +306,7 @@ fn run_server(sender: Sender<DevtoolsCon + columnNumber: console_message.columnNumber, + }, + }; +- for mut stream in &mut *console_actor.streams.borrow_mut() { ++ for stream in &mut *console_actor.streams.borrow_mut() { + stream.write_json_packet(&msg); + } + } diff --git a/www/firefox/patches/patch-servo_components_layout_animation.rs b/www/firefox/patches/patch-servo_components_layout_animation.rs new file mode 100644 index 00000000000..ae4e6546eac --- /dev/null +++ b/www/firefox/patches/patch-servo_components_layout_animation.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_layout_animation.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/layout/animation.rs.orig 2017-09-14 20:15:55.000000000 +0000 ++++ servo/components/layout/animation.rs +@@ -39,7 +39,7 @@ pub fn update_animation_state(constellat + // run. + if let Some(ref mut animations) = running_animations.get_mut(node) { + // TODO: This being linear is probably not optimal. +- for mut anim in animations.iter_mut() { ++ for anim in animations.iter_mut() { + if let Animation::Keyframes(_, ref anim_name, ref mut anim_state) = *anim { + if *name == *anim_name { + debug!("update_animation_state: Found other animation {}", name); diff --git a/www/firefox/patches/patch-servo_components_layout_construct.rs b/www/firefox/patches/patch-servo_components_layout_construct.rs new file mode 100644 index 00000000000..3a25cc88488 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_layout_construct.rs @@ -0,0 +1,31 @@ +$NetBSD: patch-servo_components_layout_construct.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/layout/construct.rs.orig 2017-09-14 20:15:55.000000000 +0000 ++++ servo/components/layout/construct.rs +@@ -1921,7 +1921,7 @@ impl Legalizer { + /// true for anonymous block children of flex flows. + fn try_to_add_child(&mut self, context: &SharedStyleContext, parent: &mut FlowRef, child: &mut FlowRef) + -> bool { +- let mut parent = self.stack.last_mut().unwrap_or(parent); ++ let parent = self.stack.last_mut().unwrap_or(parent); + let (parent_class, child_class) = (parent.class(), child.class()); + match (parent_class, child_class) { + (FlowClass::TableWrapper, FlowClass::Table) | +@@ -1962,7 +1962,7 @@ impl Legalizer { + } else { + IS_BLOCK_FLEX_ITEM + }; +- let mut block = FlowRef::deref_mut(&mut block_wrapper).as_mut_block(); ++ let block = FlowRef::deref_mut(&mut block_wrapper).as_mut_block(); + block.base.flags.insert(MARGINS_CANNOT_COLLAPSE); + block.fragment.flags.insert(flag); + } +@@ -1979,7 +1979,7 @@ impl Legalizer { + } else { + IS_BLOCK_FLEX_ITEM + }; +- let mut block = FlowRef::deref_mut(child).as_mut_block(); ++ let block = FlowRef::deref_mut(child).as_mut_block(); + block.base.flags.insert(MARGINS_CANNOT_COLLAPSE); + block.fragment.flags.insert(flag); + } diff --git a/www/firefox/patches/patch-servo_components_layout_display__list__builder.rs b/www/firefox/patches/patch-servo_components_layout_display__list__builder.rs new file mode 100644 index 00000000000..0c834827626 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_layout_display__list__builder.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_layout_display__list__builder.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/layout/display_list_builder.rs.orig 2017-09-14 20:15:55.000000000 +0000 ++++ servo/components/layout/display_list_builder.rs +@@ -2718,7 +2718,7 @@ impl InlineFlowDisplayListBuilding for I + self.base.scroll_root_id = Some(state.current_scroll_root_id); + self.base.clip = state.clip_stack.last().cloned().unwrap_or_else(max_rect); + +- for mut fragment in self.fragments.fragments.iter_mut() { ++ for fragment in self.fragments.fragments.iter_mut() { + let previous_containing_block_scroll_root_id = state.containing_block_scroll_root_id; + if establishes_containing_block_for_absolute(fragment.style.get_box().position) { + state.containing_block_scroll_root_id = state.current_scroll_root_id; diff --git a/www/firefox/patches/patch-servo_components_layout_flex.rs b/www/firefox/patches/patch-servo_components_layout_flex.rs new file mode 100644 index 00000000000..f6406df02e0 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_layout_flex.rs @@ -0,0 +1,31 @@ +$NetBSD: patch-servo_components_layout_flex.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/layout/flex.rs.orig 2017-09-14 20:15:55.000000000 +0000 ++++ servo/components/layout/flex.rs +@@ -415,7 +415,7 @@ impl FlexFlow { + + let items = &mut self.items[start..]; + let mut children = self.block_flow.base.children.random_access_mut(); +- for mut item in items { ++ for item in items { + let kid = children.get(item.index); + item.init_sizes(kid, container_size, self.main_mode); + let outer_main_size = item.outer_main_size(kid, self.main_mode); +@@ -607,7 +607,7 @@ impl FlexFlow { + + let mut children = self.block_flow.base.children.random_access_mut(); + for item in items.iter_mut() { +- let mut block = children.get(item.index).as_mut_block(); ++ let block = children.get(item.index).as_mut_block(); + + block.base.block_container_writing_mode = container_mode; + block.base.block_container_inline_size = inline_size; +@@ -659,7 +659,7 @@ impl FlexFlow { + + let mut children = self.block_flow.base.children.random_access_mut(); + for item in &mut self.items { +- let mut base = flow::mut_base(children.get(item.index)); ++ let base = flow::mut_base(children.get(item.index)); + if !self.main_reverse { + base.position.start.b = cur_b; + cur_b = cur_b + base.position.size.block; diff --git a/www/firefox/patches/patch-servo_components_layout_inline.rs b/www/firefox/patches/patch-servo_components_layout_inline.rs new file mode 100644 index 00000000000..da56bca5735 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_layout_inline.rs @@ -0,0 +1,22 @@ +$NetBSD: patch-servo_components_layout_inline.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/layout/inline.rs.orig 2017-09-14 20:15:55.000000000 +0000 ++++ servo/components/layout/inline.rs +@@ -435,7 +435,7 @@ impl LineBreaker { + return + } + let last_fragment_index = self.pending_line.range.end() - FragmentIndex(1); +- let mut fragment = &mut self.new_fragments[last_fragment_index.get() as usize]; ++ let fragment = &mut self.new_fragments[last_fragment_index.get() as usize]; + + let old_fragment_inline_size = fragment.border_box.size.inline; + +@@ -1047,7 +1047,7 @@ impl InlineFlow { + let space_per_expansion_opportunity = slack_inline_size / expansion_opportunities as i32; + for fragment_index in line.range.each_index() { + let fragment = fragments.get_mut(fragment_index.to_usize()); +- let mut scanned_text_fragment_info = match fragment.specific { ++ let scanned_text_fragment_info = match fragment.specific { + SpecificFragmentInfo::ScannedText(ref mut info) if !info.range.is_empty() => info, + _ => continue + }; diff --git a/www/firefox/patches/patch-servo_components_layout_sequential.rs b/www/firefox/patches/patch-servo_components_layout_sequential.rs new file mode 100644 index 00000000000..5c0dad7630c --- /dev/null +++ b/www/firefox/patches/patch-servo_components_layout_sequential.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_layout_sequential.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/layout/sequential.rs.orig 2017-09-14 20:15:55.000000000 +0000 ++++ servo/components/layout/sequential.rs +@@ -133,7 +133,7 @@ pub fn store_overflow(layout_context: &L + return; + } + +- for mut kid in flow::mut_base(flow).child_iter_mut() { ++ for kid in flow::mut_base(flow).child_iter_mut() { + store_overflow(layout_context, kid); + } + diff --git a/www/firefox/patches/patch-servo_components_layout_table__cell.rs b/www/firefox/patches/patch-servo_components_layout_table__cell.rs new file mode 100644 index 00000000000..ff1e2a95685 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_layout_table__cell.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_layout_table__cell.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/layout/table_cell.rs.orig 2017-09-14 20:15:55.000000000 +0000 ++++ servo/components/layout/table_cell.rs +@@ -136,7 +136,7 @@ impl TableCellFlow { + } + + for kid in flow::mut_base(self).children.iter_mut() { +- let mut kid_base = flow::mut_base(kid); ++ let kid_base = flow::mut_base(kid); + if !kid_base.flags.contains(IS_ABSOLUTELY_POSITIONED) { + kid_base.position.start.b += offset + } diff --git a/www/firefox/patches/patch-servo_components_layout_text.rs b/www/firefox/patches/patch-servo_components_layout_text.rs new file mode 100644 index 00000000000..d4525b2e9f9 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_layout_text.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_layout_text.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/layout/text.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/layout/text.rs +@@ -460,7 +460,7 @@ fn split_first_fragment_at_newline_if_ne + } + + let new_fragment = { +- let mut first_fragment = fragments.front_mut().unwrap(); ++ let first_fragment = fragments.front_mut().unwrap(); + let string_before; + let selection_before; + { diff --git a/www/firefox/patches/patch-servo_components_net_cookie__storage.rs b/www/firefox/patches/patch-servo_components_net_cookie__storage.rs new file mode 100644 index 00000000000..7c0dc580e42 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_net_cookie__storage.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_net_cookie__storage.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/net/cookie_storage.rs.orig 2017-07-31 16:20:53.000000000 +0000 ++++ servo/components/net/cookie_storage.rs +@@ -103,7 +103,7 @@ impl CookieStorage { + + // Step 12 + let domain = reg_host(&cookie.cookie.domain().as_ref().unwrap_or(&"")); +- let mut cookies = self.cookies_map.entry(domain).or_insert(vec![]); ++ let cookies = self.cookies_map.entry(domain).or_insert(vec![]); + + if cookies.len() == self.max_per_host { + let old_len = cookies.len(); diff --git a/www/firefox/patches/patch-servo_components_profile_heartbeats.rs b/www/firefox/patches/patch-servo_components_profile_heartbeats.rs new file mode 100644 index 00000000000..33f58aec70e --- /dev/null +++ b/www/firefox/patches/patch-servo_components_profile_heartbeats.rs @@ -0,0 +1,22 @@ +$NetBSD: patch-servo_components_profile_heartbeats.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/profile/heartbeats.rs.orig 2017-06-15 20:51:55.000000000 +0000 ++++ servo/components/profile/heartbeats.rs +@@ -33,7 +33,7 @@ pub fn cleanup() { + ) + ); + if let Some(mut hbs) = hbs_opt_box { +- for (_, mut v) in hbs.iter_mut() { ++ for (_, v) in hbs.iter_mut() { + // log any remaining heartbeat records before dropping + log_heartbeat_records(v); + } +@@ -65,7 +65,7 @@ pub fn maybe_heartbeat(category: &Profil + if !(*hbs_ptr).contains_key(category) { + maybe_create_heartbeat(&mut (*hbs_ptr), category.clone()); + } +- if let Some(mut h) = (*hbs_ptr).get_mut(category) { ++ if let Some(h) = (*hbs_ptr).get_mut(category) { + (*h).heartbeat(0, 1, start_time, end_time, start_energy, end_energy); + } + } diff --git a/www/firefox/patches/patch-servo_components_script__plugins_unrooted__must__root.rs b/www/firefox/patches/patch-servo_components_script__plugins_unrooted__must__root.rs new file mode 100644 index 00000000000..21ffa8eeb29 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script__plugins_unrooted__must__root.rs @@ -0,0 +1,41 @@ +$NetBSD: patch-servo_components_script__plugins_unrooted__must__root.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script_plugins/unrooted_must_root.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script_plugins/unrooted_must_root.rs +@@ -182,7 +182,7 @@ impl<'a, 'b, 'tcx> visit::Visitor<'tcx> + } + + match expr.node { +- /// Trait casts from #[must_root] types are not allowed ++ // Trait casts from #[must_root] types are not allowed + hir::ExprCast(ref subexpr, _) => require_rooted(cx, self.in_new_function, &*subexpr), + // This catches assignments... the main point of this would be to catch mutable + // references to `JS<T>`. +@@ -206,13 +206,21 @@ impl<'a, 'b, 'tcx> visit::Visitor<'tcx> + fn visit_pat(&mut self, pat: &'tcx hir::Pat) { + let cx = self.cx; + +- if let hir::PatKind::Binding(hir::BindingMode::BindByValue(_), _, _, _) = pat.node { +- let ty = cx.tables.pat_ty(pat); +- if is_unrooted_ty(cx, ty, self.in_new_function) { +- cx.span_lint(UNROOTED_MUST_ROOT, +- pat.span, +- &format!("Expression of type {:?} must be rooted", ty)) ++ // We want to detect pattern bindings that move a value onto the stack. ++ // When "default binding modes" https://github.com/rust-lang/rust/issues/42640 ++ // are implemented, the `Unannotated` case could cause false-positives. ++ // These should be fixable by adding an explicit `ref`. ++ match pat.node { ++ hir::PatKind::Binding(hir::BindingAnnotation::Unannotated, _, _, _) | ++ hir::PatKind::Binding(hir::BindingAnnotation::Mutable, _, _, _) => { ++ let ty = cx.tables.pat_ty(pat); ++ if is_unrooted_ty(cx, ty, self.in_new_function) { ++ cx.span_lint(UNROOTED_MUST_ROOT, ++ pat.span, ++ &format!("Expression of type {:?} must be rooted", ty)) ++ } + } ++ _ => {} + } + + visit::walk_pat(self, pat); diff --git a/www/firefox/patches/patch-servo_components_script_dom_bindings_js.rs b/www/firefox/patches/patch-servo_components_script_dom_bindings_js.rs new file mode 100644 index 00000000000..e50086d486e --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_bindings_js.rs @@ -0,0 +1,22 @@ +$NetBSD: patch-servo_components_script_dom_bindings_js.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/bindings/js.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/dom/bindings/js.rs +@@ -469,7 +469,7 @@ impl RootCollection { + /// Start tracking a stack-based root + unsafe fn root(&self, untracked_reflector: *const Reflector) { + debug_assert!(thread_state::get().is_script()); +- let mut roots = &mut *self.roots.get(); ++ let roots = &mut *self.roots.get(); + roots.push(untracked_reflector); + assert!(!(*untracked_reflector).get_jsobject().is_null()) + } +@@ -479,7 +479,7 @@ impl RootCollection { + assert!(!tracked_reflector.is_null()); + assert!(!(*tracked_reflector).get_jsobject().is_null()); + debug_assert!(thread_state::get().is_script()); +- let mut roots = &mut *self.roots.get(); ++ let roots = &mut *self.roots.get(); + match roots.iter().rposition(|r| *r == tracked_reflector) { + Some(idx) => { + roots.remove(idx); diff --git a/www/firefox/patches/patch-servo_components_script_dom_cssstyledeclaration.rs b/www/firefox/patches/patch-servo_components_script_dom_cssstyledeclaration.rs new file mode 100644 index 00000000000..aec3271b0fc --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_cssstyledeclaration.rs @@ -0,0 +1,40 @@ +$NetBSD: patch-servo_components_script_dom_cssstyledeclaration.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/cssstyledeclaration.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/dom/cssstyledeclaration.rs +@@ -238,7 +238,7 @@ impl CSSStyleDeclaration { + return Err(Error::NoModificationAllowed); + } + +- self.owner.mutate_associated_block(|ref mut pdb, mut changed| { ++ self.owner.mutate_associated_block(|pdb, changed| { + if value.is_empty() { + // Step 3 + *changed = pdb.remove_property(&id); +@@ -360,7 +360,7 @@ impl CSSStyleDeclarationMethods for CSSS + _ => return Ok(()), + }; + +- self.owner.mutate_associated_block(|ref mut pdb, mut changed| { ++ self.owner.mutate_associated_block(|pdb, changed| { + // Step 5 & 6 + *changed = pdb.set_importance(&id, importance); + }); +@@ -388,7 +388,7 @@ impl CSSStyleDeclarationMethods for CSSS + }; + + let mut string = String::new(); +- self.owner.mutate_associated_block(|mut pdb, mut changed| { ++ self.owner.mutate_associated_block(|pdb, changed| { + pdb.property_value_to_css(&id, &mut string).unwrap(); + *changed = pdb.remove_property(&id); + }); +@@ -438,7 +438,7 @@ impl CSSStyleDeclarationMethods for CSSS + } + + let quirks_mode = window.Document().quirks_mode(); +- self.owner.mutate_associated_block(|mut pdb, mut _changed| { ++ self.owner.mutate_associated_block(|pdb, _changed| { + // Step 3 + *pdb = parse_style_attribute(&value, + &self.owner.base_url(), diff --git a/www/firefox/patches/patch-servo_components_script_dom_cssstylerule.rs b/www/firefox/patches/patch-servo_components_script_dom_cssstylerule.rs new file mode 100644 index 00000000000..17bcd560b7b --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_cssstylerule.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_script_dom_cssstylerule.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/cssstylerule.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/dom/cssstylerule.rs +@@ -99,7 +99,7 @@ impl CSSStyleRuleMethods for CSSStyleRul + if let Ok(mut s) = SelectorList::parse(&parser, &mut css_parser) { + // This mirrors what we do in CSSStyleOwner::mutate_associated_block. + let mut guard = self.cssrule.shared_lock().write(); +- let mut stylerule = self.stylerule.write_with(&mut guard); ++ let stylerule = self.stylerule.write_with(&mut guard); + mem::swap(&mut stylerule.selectors, &mut s); + // It seems like we will want to avoid having to invalidate all + // stylesheets eventually! diff --git a/www/firefox/patches/patch-servo_components_script_dom_document.rs b/www/firefox/patches/patch-servo_components_script_dom_document.rs new file mode 100644 index 00000000000..5b8e5756727 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_document.rs @@ -0,0 +1,58 @@ +$NetBSD: patch-servo_components_script_dom_document.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/document.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/dom/document.rs +@@ -633,7 +633,7 @@ impl Document { + // reset_form_owner_for_listeners -> reset_form_owner -> GetElementById + { + let mut id_map = self.id_map.borrow_mut(); +- let mut elements = id_map.entry(id.clone()).or_insert(Vec::new()); ++ let elements = id_map.entry(id.clone()).or_insert(Vec::new()); + elements.insert_pre_order(element, root.r().upcast::<Node>()); + } + self.reset_form_owner_for_listeners(&id); +@@ -642,7 +642,7 @@ impl Document { + pub fn register_form_id_listener<T: ?Sized + FormControl>(&self, id: DOMString, listener: &T) { + let mut map = self.form_id_listener_map.borrow_mut(); + let listener = listener.to_element(); +- let mut set = map.entry(Atom::from(id)).or_insert(HashSet::new()); ++ let set = map.entry(Atom::from(id)).or_insert(HashSet::new()); + set.insert(JS::from_ref(listener)); + } + +@@ -1572,7 +1572,7 @@ impl Document { + /// https://html.spec.whatwg.org/multipage/#dom-window-cancelanimationframe + pub fn cancel_animation_frame(&self, ident: u32) { + let mut list = self.animation_frame_list.borrow_mut(); +- if let Some(mut pair) = list.iter_mut().find(|pair| pair.0 == ident) { ++ if let Some(pair) = list.iter_mut().find(|pair| pair.0 == ident) { + pair.1 = None; + } + } +@@ -2399,7 +2399,7 @@ impl Document { + if entry.snapshot.is_none() { + entry.snapshot = Some(Snapshot::new(el.html_element_in_html_document())); + } +- let mut snapshot = entry.snapshot.as_mut().unwrap(); ++ let snapshot = entry.snapshot.as_mut().unwrap(); + if snapshot.state.is_none() { + snapshot.state = Some(el.state()); + } +@@ -2426,7 +2426,7 @@ impl Document { + entry.hint.insert(RESTYLE_SELF); + } + +- let mut snapshot = entry.snapshot.as_mut().unwrap(); ++ let snapshot = entry.snapshot.as_mut().unwrap(); + if attr.local_name() == &local_name!("id") { + snapshot.id_changed = true; + } else if attr.local_name() == &local_name!("class") { +@@ -4028,7 +4028,7 @@ impl PendingInOrderScriptVec { + + fn loaded(&self, element: &HTMLScriptElement, result: ScriptResult) { + let mut scripts = self.scripts.borrow_mut(); +- let mut entry = scripts.iter_mut().find(|entry| &*entry.element == element).unwrap(); ++ let entry = scripts.iter_mut().find(|entry| &*entry.element == element).unwrap(); + entry.loaded(result); + } + diff --git a/www/firefox/patches/patch-servo_components_script_dom_medialist.rs b/www/firefox/patches/patch-servo_components_script_dom_medialist.rs new file mode 100644 index 00000000000..41b694f5615 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_medialist.rs @@ -0,0 +1,22 @@ +$NetBSD: patch-servo_components_script_dom_medialist.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/medialist.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/dom/medialist.rs +@@ -63,7 +63,7 @@ impl MediaListMethods for MediaList { + // https://drafts.csswg.org/cssom/#dom-medialist-mediatext + fn SetMediaText(&self, value: DOMString) { + let mut guard = self.shared_lock().write(); +- let mut media_queries = self.media_queries.write_with(&mut guard); ++ let media_queries = self.media_queries.write_with(&mut guard); + // Step 2 + if value.is_empty() { + // Step 1 +@@ -154,7 +154,7 @@ impl MediaListMethods for MediaList { + // Step 3 + let m_serialized = m.unwrap().to_css_string(); + let mut guard = self.shared_lock().write(); +- let mut media_list = self.media_queries.write_with(&mut guard); ++ let media_list = self.media_queries.write_with(&mut guard); + let new_vec = media_list.media_queries.drain(..) + .filter(|q| m_serialized != q.to_css_string()) + .collect(); diff --git a/www/firefox/patches/patch-servo_components_script_dom_range.rs b/www/firefox/patches/patch-servo_components_script_dom_range.rs new file mode 100644 index 00000000000..902a04c4fcb --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_range.rs @@ -0,0 +1,22 @@ +$NetBSD: patch-servo_components_script_dom_range.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/range.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/dom/range.rs +@@ -1049,7 +1049,7 @@ impl WeakRangeVec { + let offset = context.index(); + let parent = context.parent; + unsafe { +- let mut ranges = &mut *self.cell.get(); ++ let ranges = &mut *self.cell.get(); + + ranges.update(|entry| { + let range = entry.root().unwrap(); +@@ -1076,7 +1076,7 @@ impl WeakRangeVec { + } + + unsafe { +- let mut ranges = &mut *self.cell.get(); ++ let ranges = &mut *self.cell.get(); + + ranges.update(|entry| { + let range = entry.root().unwrap(); diff --git a/www/firefox/patches/patch-servo_components_script_dom_servoparser_async__html.rs b/www/firefox/patches/patch-servo_components_script_dom_servoparser_async__html.rs new file mode 100644 index 00000000000..8ce95d39d52 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_servoparser_async__html.rs @@ -0,0 +1,22 @@ +$NetBSD: patch-servo_components_script_dom_servoparser_async__html.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/servoparser/async_html.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/dom/servoparser/async_html.rs +@@ -568,7 +568,7 @@ impl TreeSink for Sink { + } + let node = self.new_parse_node(); + { +- let mut data = self.get_parse_node_data_mut(&target.id); ++ let data = self.get_parse_node_data_mut(&target.id); + data.contents = Some(node.clone()); + } + self.send_op(ParseOperation::GetTemplateContents { target: target.id, contents: node.id }); +@@ -596,7 +596,7 @@ impl TreeSink for Sink { + let mut node = self.new_parse_node(); + node.qual_name = Some(name.clone()); + { +- let mut node_data = self.get_parse_node_data_mut(&node.id); ++ let node_data = self.get_parse_node_data_mut(&node.id); + node_data.is_integration_point = html_attrs.iter() + .any(|attr| { + let attr_value = &String::from(attr.value.clone()); diff --git a/www/firefox/patches/patch-servo_components_script_dom_url.rs b/www/firefox/patches/patch-servo_components_script_dom_url.rs new file mode 100644 index 00000000000..6ba2512d8a8 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_url.rs @@ -0,0 +1,15 @@ +$NetBSD: patch-servo_components_script_dom_url.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/url.rs.orig 2017-07-31 16:20:53.000000000 +0000 ++++ servo/components/script/dom/url.rs +@@ -96,8 +96,8 @@ impl URL { + + // https://w3c.github.io/FileAPI/#dfn-createObjectURL + pub fn CreateObjectURL(global: &GlobalScope, blob: &Blob) -> DOMString { +- /// XXX: Second field is an unicode-serialized Origin, it is a temporary workaround +- /// and should not be trusted. See issue https://github.com/servo/servo/issues/11722 ++ // XXX: Second field is an unicode-serialized Origin, it is a temporary workaround ++ // and should not be trusted. See issue https://github.com/servo/servo/issues/11722 + let origin = get_blob_origin(&global.get_url()); + + let id = blob.get_blob_url_id(); diff --git a/www/firefox/patches/patch-servo_components_script_dom_vrdisplay.rs b/www/firefox/patches/patch-servo_components_script_dom_vrdisplay.rs new file mode 100644 index 00000000000..14fefe32f2c --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_vrdisplay.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_script_dom_vrdisplay.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/vrdisplay.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/dom/vrdisplay.rs +@@ -268,7 +268,7 @@ impl VRDisplayMethods for VRDisplay { + fn CancelAnimationFrame(&self, handle: u32) { + if self.presenting.get() { + let mut list = self.raf_callback_list.borrow_mut(); +- if let Some(mut pair) = list.iter_mut().find(|pair| pair.0 == handle) { ++ if let Some(pair) = list.iter_mut().find(|pair| pair.0 == handle) { + pair.1 = None; + } + } else { diff --git a/www/firefox/patches/patch-servo_components_script_dom_webglrenderingcontext.rs b/www/firefox/patches/patch-servo_components_script_dom_webglrenderingcontext.rs new file mode 100644 index 00000000000..748ae4f0693 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_webglrenderingcontext.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_script_dom_webglrenderingcontext.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/webglrenderingcontext.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/dom/webglrenderingcontext.rs +@@ -2434,7 +2434,7 @@ impl WebGLRenderingContextMethods for We + } + + typedarray!(in(cx) let mut pixels_data: ArrayBufferView = pixels); +- let (array_type, mut data) = match { pixels_data.as_mut() } { ++ let (array_type, data) = match { pixels_data.as_mut() } { + Ok(data) => (data.get_array_type(), data.as_mut_slice()), + Err(_) => return Err(Error::Type("Not an ArrayBufferView".to_owned())), + }; diff --git a/www/firefox/patches/patch-servo_components_script_dom_xmlhttprequest.rs b/www/firefox/patches/patch-servo_components_script_dom_xmlhttprequest.rs new file mode 100644 index 00000000000..bf7c1a7f1fc --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_dom_xmlhttprequest.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_script_dom_xmlhttprequest.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/dom/xmlhttprequest.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/dom/xmlhttprequest.rs +@@ -627,7 +627,7 @@ impl XMLHttpRequestMethods for XMLHttpRe + + if !content_type_set { + let ct = request.headers.get_mut::<ContentType>(); +- if let Some(mut ct) = ct { ++ if let Some(ct) = ct { + if let Some(encoding) = encoding { + for param in &mut (ct.0).2 { + if param.0 == MimeAttr::Charset { diff --git a/www/firefox/patches/patch-servo_components_script_lib.rs b/www/firefox/patches/patch-servo_components_script_lib.rs new file mode 100644 index 00000000000..8bccf7b54d3 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_script_lib.rs @@ -0,0 +1,12 @@ +$NetBSD: patch-servo_components_script_lib.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/script/lib.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/script/lib.rs +@@ -9,7 +9,6 @@ + #![feature(mpsc_select)] + #![feature(nonzero)] + #![feature(on_unimplemented)] +-#![feature(option_entry)] + #![feature(plugin)] + #![feature(proc_macro)] + #![feature(stmt_expr_attributes)] diff --git a/www/firefox/patches/patch-servo_components_selectors_matching.rs b/www/firefox/patches/patch-servo_components_selectors_matching.rs new file mode 100644 index 00000000000..b0e5df6bd5b --- /dev/null +++ b/www/firefox/patches/patch-servo_components_selectors_matching.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_selectors_matching.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/selectors/matching.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/selectors/matching.rs +@@ -458,7 +458,7 @@ where + /// Matches a complex selector. + pub fn matches_complex_selector<E, F>(mut iter: SelectorIter<E::Impl>, + element: &E, +- mut context: &mut LocalMatchingContext<E::Impl>, ++ context: &mut LocalMatchingContext<E::Impl>, + flags_setter: &mut F) + -> bool + where E: Element, diff --git a/www/firefox/patches/patch-servo_components_selectors_parser.rs b/www/firefox/patches/patch-servo_components_selectors_parser.rs new file mode 100644 index 00000000000..1fab7a080ac --- /dev/null +++ b/www/firefox/patches/patch-servo_components_selectors_parser.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_selectors_parser.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/selectors/parser.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/selectors/parser.rs +@@ -1464,7 +1464,7 @@ fn parse_negation<'i, 't, P, E, Impl>(pa + fn parse_compound_selector<'i, 't, P, E, Impl>( + parser: &P, + input: &mut CssParser<'i, 't>, +- mut builder: &mut SelectorBuilder<Impl>) ++ builder: &mut SelectorBuilder<Impl>) + -> Result<bool, ParseError<'i, SelectorParseError<'i, E>>> + where P: Parser<'i, Impl=Impl, Error=E>, Impl: SelectorImpl + { diff --git a/www/firefox/patches/patch-servo_components_style_gecko__bindings_sugar_ns__t__array.rs b/www/firefox/patches/patch-servo_components_style_gecko__bindings_sugar_ns__t__array.rs new file mode 100644 index 00000000000..09c9a7b7b34 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_gecko__bindings_sugar_ns__t__array.rs @@ -0,0 +1,22 @@ +$NetBSD: patch-servo_components_style_gecko__bindings_sugar_ns__t__array.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/gecko_bindings/sugar/ns_t_array.rs.orig 2017-06-15 20:51:56.000000000 +0000 ++++ servo/components/style/gecko_bindings/sugar/ns_t_array.rs +@@ -90,7 +90,7 @@ impl<T> nsTArray<T> { + // this can leak + debug_assert!(len >= self.len() as u32); + self.ensure_capacity(len as usize); +- let mut header = self.header_mut(); ++ let header = self.header_mut(); + header.mLength = len; + } + +@@ -99,7 +99,7 @@ impl<T> nsTArray<T> { + /// This will not leak since it only works on POD types (and thus doesn't assert) + pub unsafe fn set_len_pod(&mut self, len: u32) where T: Copy { + self.ensure_capacity(len as usize); +- let mut header = unsafe { self.header_mut() }; ++ let header = unsafe { self.header_mut() }; + header.mLength = len; + } + } diff --git a/www/firefox/patches/patch-servo_components_style_gecko_conversions.rs b/www/firefox/patches/patch-servo_components_style_gecko_conversions.rs new file mode 100644 index 00000000000..d9afb191ba2 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_gecko_conversions.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_style_gecko_conversions.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/gecko/conversions.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/style/gecko/conversions.rs +@@ -348,7 +348,7 @@ impl nsStyleImage { + // NB: stops are guaranteed to be none in the gecko side by + // default. + +- let mut gecko_stop = unsafe { ++ let gecko_stop = unsafe { + &mut (*gecko_gradient).mStops[index] + }; + let mut coord = nsStyleCoord::null(); diff --git a/www/firefox/patches/patch-servo_components_style_gecko_generated_bindings.rs b/www/firefox/patches/patch-servo_components_style_gecko_generated_bindings.rs new file mode 100644 index 00000000000..d752b426ecc --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_gecko_generated_bindings.rs @@ -0,0 +1,51 @@ +$NetBSD: patch-servo_components_style_gecko_generated_bindings.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/gecko/generated/bindings.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/style/gecko/generated/bindings.rs +@@ -8,6 +8,7 @@ type nsAString_internal = nsAString; + pub type ServoStyleContextBorrowed<'a> = &'a ::properties::ComputedValues; + pub type ServoStyleContextBorrowedOrNull<'a> = Option<&'a ::properties::ComputedValues>; + pub type ServoComputedDataBorrowed<'a> = &'a ServoComputedData; ++pub type RawServoAnimationValueTableBorrowed<'a> = &'a (); + use gecko_bindings::structs::mozilla::css::GridTemplateAreasValue; + use gecko_bindings::structs::mozilla::css::ErrorReporter; + use gecko_bindings::structs::mozilla::css::ImageValue; +@@ -37,7 +38,7 @@ use gecko_bindings::structs::RawServoSty + use gecko_bindings::structs::RawGeckoPresContext; + use gecko_bindings::structs::RawGeckoPresContextOwned; + use gecko_bindings::structs::RawGeckoStyleAnimationList; +-use gecko_bindings::structs::RawGeckoStyleChildrenIteratorBorrowedMut; ++use gecko_bindings::structs::RawGeckoStyleChildrenIterator; + use gecko_bindings::structs::RawGeckoServoStyleRuleList; + use gecko_bindings::structs::RawGeckoURLExtraData; + use gecko_bindings::structs::RawGeckoXBLBinding; +@@ -316,6 +317,10 @@ pub type RawGeckoServoAnimationValueList + pub type RawGeckoServoAnimationValueListBorrowedOrNull<'a> = Option<&'a RawGeckoServoAnimationValueList>; + pub type RawGeckoServoAnimationValueListBorrowedMut<'a> = &'a mut RawGeckoServoAnimationValueList; + pub type RawGeckoServoAnimationValueListBorrowedMutOrNull<'a> = Option<&'a mut RawGeckoServoAnimationValueList>; ++pub type RawGeckoStyleChildrenIteratorBorrowed<'a> = &'a RawGeckoStyleChildrenIterator; ++pub type RawGeckoStyleChildrenIteratorBorrowedOrNull<'a> = Option<&'a RawGeckoStyleChildrenIterator>; ++pub type RawGeckoStyleChildrenIteratorBorrowedMut<'a> = &'a mut RawGeckoStyleChildrenIterator; ++pub type RawGeckoStyleChildrenIteratorBorrowedMutOrNull<'a> = Option<&'a mut RawGeckoStyleChildrenIterator>; + pub type ServoCssRulesStrong = ::gecko_bindings::sugar::ownership::Strong<ServoCssRules>; + pub type ServoCssRulesBorrowed<'a> = &'a ServoCssRules; + pub type ServoCssRulesBorrowedOrNull<'a> = Option<&'a ServoCssRules>; +@@ -836,7 +841,7 @@ extern "C" { + } + extern "C" { + pub fn Gecko_AnimationGetBaseStyle(aBaseStyles: +- *mut ::std::os::raw::c_void, ++ RawServoAnimationValueTableBorrowed, + aProperty: nsCSSPropertyID) + -> RawServoAnimationValueBorrowedOrNull; + } +@@ -2588,7 +2593,8 @@ extern "C" { + extern "C" { + pub fn Servo_AnimationCompose(animation_values: + RawServoAnimationValueMapBorrowedMut, +- base_values: *mut ::std::os::raw::c_void, ++ base_values: ++ RawServoAnimationValueTableBorrowed, + property: nsCSSPropertyID, + animation_segment: + RawGeckoAnimationPropertySegmentBorrowed, diff --git a/www/firefox/patches/patch-servo_components_style_gecko_wrapper.rs b/www/firefox/patches/patch-servo_components_style_gecko_wrapper.rs new file mode 100644 index 00000000000..b3e67d84456 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_gecko_wrapper.rs @@ -0,0 +1,27 @@ +$NetBSD: patch-servo_components_style_gecko_wrapper.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/gecko/wrapper.rs.orig 2017-09-14 20:15:56.000000000 +0000 ++++ servo/components/style/gecko/wrapper.rs +@@ -386,7 +386,12 @@ impl<'a> Iterator for GeckoChildrenItera + curr + }, + GeckoChildrenIterator::GeckoIterator(ref mut it) => unsafe { +- Gecko_GetNextStyleChild(it).map(GeckoNode) ++ // We do this unsafe lengthening of the lifetime here because ++ // structs::StyleChildrenIterator is actually StyleChildrenIterator<'a>, ++ // however we can't express this easily with bindgen, and it would ++ // introduce functions with two input lifetimes into bindgen, ++ // which would be out of scope for elision. ++ Gecko_GetNextStyleChild(&mut * (it as *mut _)).map(GeckoNode) + } + } + } +@@ -424,7 +429,7 @@ impl<'lb> GeckoXBLBinding<'lb> { + } + } + +- fn each_xbl_stylist<F>(self, mut f: &mut F) ++ fn each_xbl_stylist<F>(self, f: &mut F) + where + F: FnMut(&Stylist), + { diff --git a/www/firefox/patches/patch-servo_components_style_invalidation_element_invalidator.rs b/www/firefox/patches/patch-servo_components_style_invalidation_element_invalidator.rs new file mode 100644 index 00000000000..b60da36e5f9 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_invalidation_element_invalidator.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_style_invalidation_element_invalidator.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/invalidation/element/invalidator.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/style/invalidation/element/invalidator.rs +@@ -154,7 +154,7 @@ impl<'a, 'b: 'a, E> TreeStyleInvalidator + trace!(" > visitedness change, force subtree restyle"); + // We can't just return here because there may also be attribute + // changes as well that imply additional hints. +- let mut data = self.data.as_mut().unwrap(); ++ let data = self.data.as_mut().unwrap(); + data.restyle.hint.insert(RestyleHint::restyle_subtree()); + } + diff --git a/www/firefox/patches/patch-servo_components_style_matching.rs b/www/firefox/patches/patch-servo_components_style_matching.rs new file mode 100644 index 00000000000..b552ddbbf95 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_matching.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_style_matching.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/matching.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/style/matching.rs +@@ -440,7 +440,7 @@ pub trait MatchMethods : TElement { + fn finish_restyle( + &self, + context: &mut StyleContext<Self>, +- mut data: &mut ElementData, ++ data: &mut ElementData, + mut new_styles: ElementStyles, + important_rules_changed: bool, + ) -> ChildCascadeRequirement { diff --git a/www/firefox/patches/patch-servo_components_style_properties_gecko.mako.rs b/www/firefox/patches/patch-servo_components_style_properties_gecko.mako.rs new file mode 100644 index 00000000000..fe95aaf16a0 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_properties_gecko.mako.rs @@ -0,0 +1,92 @@ +$NetBSD: patch-servo_components_style_properties_gecko.mako.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/properties/gecko.mako.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/style/properties/gecko.mako.rs +@@ -2081,7 +2081,7 @@ fn static_assert() { + return (parent_size, parent_unconstrained_size) + } + +- /// XXXManishearth this should also handle text zoom ++ // XXXManishearth this should also handle text zoom + let min = Au(parent.gecko.mScriptMinSize); + + let scale = (parent.gecko.mScriptSizeMultiplier as f32).powi(delta as i32); +@@ -4136,14 +4136,14 @@ fn static_assert() { + fn init_shadow(filter: &mut nsStyleFilter) -> &mut nsCSSShadowArray { + unsafe { + let ref mut union = filter.__bindgen_anon_1; +- let mut shadow_array: &mut *mut nsCSSShadowArray = union.mDropShadow.as_mut(); ++ let shadow_array: &mut *mut nsCSSShadowArray = union.mDropShadow.as_mut(); + *shadow_array = Gecko_NewCSSShadowArray(1); + + &mut **shadow_array + } + } + +- let mut gecko_shadow = init_shadow(gecko_filter); ++ let gecko_shadow = init_shadow(gecko_filter); + gecko_shadow.mArray[0].set_from_simple_shadow(shadow); + }, + Url(ref url) => { +@@ -4665,14 +4665,14 @@ fn static_assert() { + unsafe { + // We have to be very careful to avoid a copy here! + let ref mut union = ${ident}.__bindgen_anon_1; +- let mut shape: &mut *mut StyleBasicShape = union.mBasicShape.as_mut(); ++ let shape: &mut *mut StyleBasicShape = union.mBasicShape.as_mut(); + *shape = Gecko_NewBasicShape(ty); + &mut **shape + } + } + match servo_shape { + BasicShape::Inset(inset) => { +- let mut shape = init_shape(${ident}, StyleBasicShapeType::Inset); ++ let shape = init_shape(${ident}, StyleBasicShapeType::Inset); + unsafe { shape.mCoordinates.set_len(4) }; + + // set_len() can't call constructors, so the coordinates +@@ -4694,7 +4694,7 @@ fn static_assert() { + set_corners_from_radius(inset.round, &mut shape.mRadius); + } + BasicShape::Circle(circ) => { +- let mut shape = init_shape(${ident}, StyleBasicShapeType::Circle); ++ let shape = init_shape(${ident}, StyleBasicShapeType::Circle); + unsafe { shape.mCoordinates.set_len(1) }; + shape.mCoordinates[0].leaky_set_null(); + circ.radius.to_gecko_style_coord(&mut shape.mCoordinates[0]); +@@ -4702,7 +4702,7 @@ fn static_assert() { + shape.mPosition = circ.position.into(); + } + BasicShape::Ellipse(el) => { +- let mut shape = init_shape(${ident}, StyleBasicShapeType::Ellipse); ++ let shape = init_shape(${ident}, StyleBasicShapeType::Ellipse); + unsafe { shape.mCoordinates.set_len(2) }; + shape.mCoordinates[0].leaky_set_null(); + el.semiaxis_x.to_gecko_style_coord(&mut shape.mCoordinates[0]); +@@ -4712,7 +4712,7 @@ fn static_assert() { + shape.mPosition = el.position.into(); + } + BasicShape::Polygon(poly) => { +- let mut shape = init_shape(${ident}, StyleBasicShapeType::Polygon); ++ let shape = init_shape(${ident}, StyleBasicShapeType::Polygon); + unsafe { + shape.mCoordinates.set_len(poly.coordinates.len() as u32 * 2); + } +@@ -4797,7 +4797,7 @@ clip-path + bindings::Gecko_nsStyleSVG_SetDashArrayLength(&mut self.gecko, v.len() as u32); + } + +- for (mut gecko, servo) in self.gecko.mStrokeDasharray.iter_mut().zip(v) { ++ for (gecko, servo) in self.gecko.mStrokeDasharray.iter_mut().zip(v) { + match servo { + Either::First(number) => gecko.set_value(CoordDataValue::Factor(number)), + Either::Second(lop) => gecko.set(lop), +@@ -4885,7 +4885,7 @@ clip-path + } + + self.gecko.mContextPropsBits = 0; +- for (mut gecko, servo) in self.gecko.mContextProps.iter_mut().zip(v) { ++ for (gecko, servo) in self.gecko.mContextProps.iter_mut().zip(v) { + if servo.0 == atom!("fill") { + self.gecko.mContextPropsBits |= structs::NS_STYLE_CONTEXT_PROPERTY_FILL as u8; + } else if servo.0 == atom!("stroke") { diff --git a/www/firefox/patches/patch-servo_components_style_properties_properties.mako.rs b/www/firefox/patches/patch-servo_components_style_properties_properties.mako.rs new file mode 100644 index 00000000000..1c73005f82f --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_properties_properties.mako.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_style_properties_properties.mako.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/properties/properties.mako.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/style/properties/properties.mako.rs +@@ -3364,7 +3364,7 @@ pub fn modify_border_style_for_inline_si + return; + } + } +- let mut style = Arc::make_mut(style); ++ let style = Arc::make_mut(style); + let border = Arc::make_mut(&mut style.border); + match side { + PhysicalSide::Left => { diff --git a/www/firefox/patches/patch-servo_components_style_style__adjuster.rs b/www/firefox/patches/patch-servo_components_style_style__adjuster.rs new file mode 100644 index 00000000000..9e26a3afa20 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_style__adjuster.rs @@ -0,0 +1,31 @@ +$NetBSD: patch-servo_components_style_style__adjuster.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/style_adjuster.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/style/style_adjuster.rs +@@ -167,7 +167,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> { + // When 'contain: paint', update overflow from 'visible' to 'clip'. + if self.style.get_box().clone_contain().contains(contain::PAINT) { + if self.style.get_box().clone_overflow_x() == overflow::visible { +- let mut box_style = self.style.mutate_box(); ++ let box_style = self.style.mutate_box(); + box_style.set_overflow_x(overflow::_moz_hidden_unscrollable); + box_style.set_overflow_y(overflow::_moz_hidden_unscrollable); + } +@@ -182,7 +182,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> { + use properties::longhands::font_style::computed_value::T as font_style; + use properties::longhands::font_weight::computed_value::T as font_weight; + if self.style.get_font().clone__moz_math_variant() != moz_math_variant::none { +- let mut font_style = self.style.mutate_font(); ++ let font_style = self.style.mutate_font(); + // Sadly we don't have a nice name for the computed value + // of "font-weight: normal". + font_style.set_font_weight(font_weight::normal()); +@@ -269,7 +269,7 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> { + + if overflow_x != original_overflow_x || + overflow_y != original_overflow_y { +- let mut box_style = self.style.mutate_box(); ++ let box_style = self.style.mutate_box(); + box_style.set_overflow_x(overflow_x); + box_style.set_overflow_y(overflow_y); + } diff --git a/www/firefox/patches/patch-servo_components_style_style__resolver.rs b/www/firefox/patches/patch-servo_components_style_style__resolver.rs new file mode 100644 index 00000000000..112cd34afc8 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_style__resolver.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_style_style__resolver.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/style_resolver.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/style/style_resolver.rs +@@ -247,7 +247,7 @@ where + Some(&*primary_style.style) + }; + +- for (i, mut inputs) in pseudo_array.iter_mut().enumerate() { ++ for (i, inputs) in pseudo_array.iter_mut().enumerate() { + if let Some(inputs) = inputs.take() { + let pseudo = PseudoElement::from_eager_index(i); + pseudo_styles.set( diff --git a/www/firefox/patches/patch-servo_components_style_stylesheets_rule__list.rs b/www/firefox/patches/patch-servo_components_style_stylesheets_rule__list.rs new file mode 100644 index 00000000000..9f2da7e29ab --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_stylesheets_rule__list.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_style_stylesheets_rule__list.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/stylesheets/rule_list.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/style/stylesheets/rule_list.rs +@@ -150,7 +150,7 @@ impl CssRulesHelpers for RawOffsetArc<Lo + + { + let mut write_guard = lock.write(); +- let mut rules = self.write_with(&mut write_guard); ++ let rules = self.write_with(&mut write_guard); + // Step 5 + // Computes the maximum allowed parser state at a given index. + let rev_state = rules.0.get(index).map_or(State::Body, CssRule::rule_state); diff --git a/www/firefox/patches/patch-servo_components_style_stylesheets_rule__parser.rs b/www/firefox/patches/patch-servo_components_style_stylesheets_rule__parser.rs new file mode 100644 index 00000000000..862078ac085 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_stylesheets_rule__parser.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_style_stylesheets_rule__parser.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/stylesheets/rule_parser.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/style/stylesheets/rule_parser.rs +@@ -209,7 +209,7 @@ impl<'a, 'i> AtRuleParser<'i> for TopLev + let id = register_namespace(&url) + .map_err(|()| StyleParseError::UnspecifiedError)?; + +- let mut namespaces = self.namespaces.as_mut().unwrap(); ++ let namespaces = self.namespaces.as_mut().unwrap(); + + let opt_prefix = if let Ok(prefix) = prefix_result { + let prefix = Prefix::from(prefix.as_ref()); diff --git a/www/firefox/patches/patch-servo_components_style_stylesheets_rules__iterator.rs b/www/firefox/patches/patch-servo_components_style_stylesheets_rules__iterator.rs new file mode 100644 index 00000000000..854ca744dc0 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_stylesheets_rules__iterator.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_style_stylesheets_rules__iterator.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/stylesheets/rules_iterator.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/style/stylesheets/rules_iterator.rs +@@ -70,7 +70,7 @@ impl<'a, 'b, C> Iterator for RulesIterat + + let rule; + let sub_iter = { +- let mut nested_iter = self.stack.last_mut().unwrap(); ++ let nested_iter = self.stack.last_mut().unwrap(); + rule = match nested_iter.next() { + Some(r) => r, + None => { diff --git a/www/firefox/patches/patch-servo_components_style_values_specified_image.rs b/www/firefox/patches/patch-servo_components_style_values_specified_image.rs new file mode 100644 index 00000000000..95a28111815 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_style_values_specified_image.rs @@ -0,0 +1,22 @@ +$NetBSD: patch-servo_components_style_values_specified_image.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/style/values/specified/image.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/style/values/specified/image.rs +@@ -686,14 +686,14 @@ impl LineDirection { + input.try(|i| { + let to_ident = i.try(|i| i.expect_ident_matching("to")); + match *compat_mode { +- /// `to` keyword is mandatory in modern syntax. ++ // `to` keyword is mandatory in modern syntax. + CompatMode::Modern => to_ident?, + // Fall back to Modern compatibility mode in case there is a `to` keyword. + // According to Gecko, `-moz-linear-gradient(to ...)` should serialize like + // `linear-gradient(to ...)`. + CompatMode::Moz if to_ident.is_ok() => *compat_mode = CompatMode::Modern, +- /// There is no `to` keyword in webkit prefixed syntax. If it's consumed, +- /// parsing should throw an error. ++ // There is no `to` keyword in webkit prefixed syntax. If it's consumed, ++ // parsing should throw an error. + CompatMode::WebKit if to_ident.is_ok() => { + return Err(SelectorParseError::UnexpectedIdent("to".into()).into()) + }, diff --git a/www/firefox/patches/patch-servo_components_webdriver__server_lib.rs b/www/firefox/patches/patch-servo_components_webdriver__server_lib.rs new file mode 100644 index 00000000000..fd7bdcc2ae2 --- /dev/null +++ b/www/firefox/patches/patch-servo_components_webdriver__server_lib.rs @@ -0,0 +1,13 @@ +$NetBSD: patch-servo_components_webdriver__server_lib.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/components/webdriver_server/lib.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/components/webdriver_server/lib.rs +@@ -702,7 +702,7 @@ impl Handler { + fn handle_set_timeouts(&mut self, + parameters: &TimeoutsParameters) + -> WebDriverResult<WebDriverResponse> { +- let mut session = self.session ++ let session = self.session + .as_mut() + .ok_or(WebDriverError::new(ErrorStatus::SessionNotCreated, ""))?; + diff --git a/www/firefox/patches/patch-servo_ports_geckolib_glue.rs b/www/firefox/patches/patch-servo_ports_geckolib_glue.rs new file mode 100644 index 00000000000..3d3ffbc3885 --- /dev/null +++ b/www/firefox/patches/patch-servo_ports_geckolib_glue.rs @@ -0,0 +1,75 @@ +$NetBSD: patch-servo_ports_geckolib_glue.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/ports/geckolib/glue.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/ports/geckolib/glue.rs +@@ -62,6 +62,7 @@ use style::gecko_bindings::bindings::Raw + use style::gecko_bindings::bindings::RawServoAnimationValueBorrowed; + use style::gecko_bindings::bindings::RawServoAnimationValueMapBorrowedMut; + use style::gecko_bindings::bindings::RawServoAnimationValueStrong; ++use style::gecko_bindings::bindings::RawServoAnimationValueTableBorrowed; + use style::gecko_bindings::bindings::RawServoStyleRuleBorrowed; + use style::gecko_bindings::bindings::ServoStyleContextBorrowedOrNull; + use style::gecko_bindings::bindings::nsTArrayBorrowed_uintptr_t; +@@ -370,7 +371,7 @@ pub extern "C" fn Servo_AnimationValues_ + + #[no_mangle] + pub extern "C" fn Servo_AnimationCompose(raw_value_map: RawServoAnimationValueMapBorrowedMut, +- base_values: *mut ::std::os::raw::c_void, ++ base_values: RawServoAnimationValueTableBorrowed, + css_property: nsCSSPropertyID, + segment: RawGeckoAnimationPropertySegmentBorrowed, + last_segment: RawGeckoAnimationPropertySegmentBorrowed, +@@ -815,7 +816,7 @@ pub extern "C" fn Servo_StyleSet_AppendS + ) { + let global_style_data = &*GLOBAL_STYLE_DATA; + let mut data = PerDocumentStyleData::from_ffi(raw_data).borrow_mut(); +- let mut data = &mut *data; ++ let data = &mut *data; + let guard = global_style_data.shared_lock.read(); + data.stylesheets.append_stylesheet( + &data.stylist, +@@ -867,7 +868,7 @@ pub extern "C" fn Servo_StyleSet_Prepend + ) { + let global_style_data = &*GLOBAL_STYLE_DATA; + let mut data = PerDocumentStyleData::from_ffi(raw_data).borrow_mut(); +- let mut data = &mut *data; ++ let data = &mut *data; + let guard = global_style_data.shared_lock.read(); + data.stylesheets.prepend_stylesheet( + &data.stylist, +@@ -885,7 +886,7 @@ pub extern "C" fn Servo_StyleSet_InsertS + ) { + let global_style_data = &*GLOBAL_STYLE_DATA; + let mut data = PerDocumentStyleData::from_ffi(raw_data).borrow_mut(); +- let mut data = &mut *data; ++ let data = &mut *data; + let guard = global_style_data.shared_lock.read(); + data.stylesheets.insert_stylesheet_before( + &data.stylist, +@@ -903,7 +904,7 @@ pub extern "C" fn Servo_StyleSet_RemoveS + ) { + let global_style_data = &*GLOBAL_STYLE_DATA; + let mut data = PerDocumentStyleData::from_ffi(raw_data).borrow_mut(); +- let mut data = &mut *data; ++ let data = &mut *data; + let guard = global_style_data.shared_lock.read(); + data.stylesheets.remove_stylesheet( + &data.stylist, +@@ -1274,7 +1275,7 @@ pub extern "C" fn Servo_StyleRule_GetSpe + specificity: *mut u64 + ) { + read_locked_arc(rule, |rule: &StyleRule| { +- let mut specificity = unsafe { specificity.as_mut().unwrap() }; ++ let specificity = unsafe { specificity.as_mut().unwrap() }; + let index = index as usize; + if index >= rule.selectors.0.len() { + *specificity = 0; +@@ -2775,7 +2776,7 @@ pub extern "C" fn Servo_NoteExplicitHint + pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed, + was_restyled: *mut bool) -> nsChangeHint + { +- let mut was_restyled = unsafe { was_restyled.as_mut().unwrap() }; ++ let was_restyled = unsafe { was_restyled.as_mut().unwrap() }; + let element = GeckoElement(element); + + let damage = match element.mutate_data() { diff --git a/www/firefox/patches/patch-servo_rust-commit-hash b/www/firefox/patches/patch-servo_rust-commit-hash new file mode 100644 index 00000000000..0c5ae22664a --- /dev/null +++ b/www/firefox/patches/patch-servo_rust-commit-hash @@ -0,0 +1,7 @@ +$NetBSD: patch-servo_rust-commit-hash,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/rust-commit-hash.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/rust-commit-hash +@@ -1 +1 @@ +-599be0d18f4c6ddf36366d2a5a2ca6dc65886896 ++13d94d5fa8129a34f5c77a1bcd76983f5aed2434 diff --git a/www/firefox/patches/patch-servo_tests_unit_style_stylist.rs b/www/firefox/patches/patch-servo_tests_unit_style_stylist.rs new file mode 100644 index 00000000000..f6a538bfbae --- /dev/null +++ b/www/firefox/patches/patch-servo_tests_unit_style_stylist.rs @@ -0,0 +1,24 @@ +$NetBSD: patch-servo_tests_unit_style_stylist.rs,v 1.1 2017/11/03 22:07:27 ryoon Exp $ + +--- servo/tests/unit/style/stylist.rs.orig 2017-09-14 20:15:57.000000000 +0000 ++++ servo/tests/unit/style/stylist.rs +@@ -51,19 +51,6 @@ fn get_mock_rules(css_selectors: &[&str] + }).collect(), shared_lock) + } + +-fn get_mock_map(selectors: &[&str]) -> (SelectorMap<Rule>, SharedRwLock) { +- let mut map = SelectorMap::<Rule>::new(); +- let (selector_rules, shared_lock) = get_mock_rules(selectors); +- +- for rules in selector_rules.into_iter() { +- for rule in rules.into_iter() { +- map.insert(rule, QuirksMode::NoQuirks) +- } +- } +- +- (map, shared_lock) +-} +- + fn parse_selectors(selectors: &[&str]) -> Vec<Selector<SelectorImpl>> { + selectors.iter() + .map(|x| SelectorParser::parse_author_origin_no_namespace(x).unwrap().0 |