iigs
2023-12-19 307aff7de82c7cac4ee230e42c84f550241692f3
firefox: update to 121.0

1 files deleted
1 files added
2 files modified
445 ■■■■ changed files
components/web/firefox/Makefile 6 ●●●● patch | view | raw | blame | history
components/web/firefox/patches/09-glean.patch 8 ●●●● patch | view | raw | blame | history
components/web/firefox/patches/19-regression-in-Bug1824906.patch 41 ●●●●● patch | view | raw | blame | history
components/web/firefox/patches/Bug1863952.patch 390 ●●●●● patch | view | raw | blame | history
components/web/firefox/Makefile
@@ -31,7 +31,7 @@
# CANDIDATE_BETA=9
COMPONENT_NAME =    firefox
COMPONENT_VERSION =    120.0.1
COMPONENT_VERSION =    121.0
COMPONENT_SUMMARY=      Mozilla Firefox Web browser
COMPONENT_PROJECT_URL =    https://www.mozilla.com/firefox
COMPONENT_SRC_NAME =    $(COMPONENT_NAME)-$(COMPONENT_VERSION)
@@ -41,7 +41,7 @@
else
COMPONENT_ARCHIVE =    $(COMPONENT_SRC_NAME)$(ESR).source.tar.xz
endif
COMPONENT_ARCHIVE_HASH= sha256:76e7bb2a144880158444d8e9014f4d080d219bd150c3db405b27e4c7e3959ae2
COMPONENT_ARCHIVE_HASH= sha256:edc7a5159d23ff2a23e22bf5abe22231658cee2902b93b5889ee73958aa06aa4
ifndef CANDIDATE_BUILD
MOZILLA_FTP =        https://ftp.mozilla.org/pub/$(COMPONENT_NAME)/releases/$(COMPONENT_VERSION)$(ESR)
else
@@ -55,7 +55,7 @@
COMPONENT_PROJECT_URL = https://www.mozilla.com/en-US/firefox/
COMPONENT_FMRI=        web/browser/firefox
RUST_VERSION = 1.72.0
RUST_VERSION = 1.73.0
# TODO: use remote hashfile to verify
ALLOW_UNVERIFIED_DOWNLOADS=yes
components/web/firefox/patches/09-glean.patch
@@ -1,12 +1,12 @@
Split glean out of the rest of the rust patches since this gets updated every
few weeks and breaks all the time.  The right solution is to have the os
integrated into Mozilla's glean source repo.
--- gecko-dev-master/third_party/rust/glean-core/.cargo-checksum.json.~1~    2023-09-20 09:08:10.204629410 -0400
+++ gecko-dev-master/third_party/rust/glean-core/.cargo-checksum.json    2023-09-20 09:10:24.926809912 -0400
--- gecko-dev-master/third_party/rust/glean-core/.cargo-checksum.json.~1~    2023-11-15 23:20:09.161635865 -0500
+++ gecko-dev-master/third_party/rust/glean-core/.cargo-checksum.json    2023-11-15 23:30:47.851322379 -0500
@@ -1 +1 @@
-{"files":{"Cargo.toml":"03913c3eaa699b7ca8fdd1f95cd924d2761a83bba2218b4100913fc1a11addbe","LICENSE":"1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5","README.md":"026495898699b54608eb4ec16074ffafc57920d80ccb59961c501a1ea28c9985","build.rs":"4857bea99c6b8c08db8818efa9d3738716f52d3acb68159323957ae52892a3eb","src/common_metric_data.rs":"72051c4349885d4a94fc41bb4edda88d31551f2f9ebcdb4e868a98161bc76233","src/core/mod.rs":"23ea133f2cfffa272dde50a779ba6122c7de043162232fa5548ab9a4b08937b7","src/core_metrics.rs":"a877e42e0f8b932adb52a5681ad76fd977808cb48c7eeb29b1e4bbe804f1ea96","src/coverage.rs":"49613fd310bd24d779472720975fbe6c97ec370a95eb55f10afa43f67539c942","src/database/mod.rs":"2585db4fbb9df9f1eeaaf57e8b966ab7c541c2a718b7b55d192b5b9c20382f22","src/debug.rs":"90158cc5d488ba67b60d06647e54e59a1d7bdeb906087e4fe4cfab4373c1cc6c","src/dispatcher/global.rs":"f69cd81a90a37c306d4e0ce8177ea5a3ae2ffda5b431ae46b9a22c9e38891271","src/dispatcher/mod.rs":"440a331a7beeaa6e9824c2fd4306c09ce2a115a358d5beb830dba4d69aec3563","src/error.rs":"b93c7d3e243b21bb9eafc95f17860aba1a942b2f2b0a7f43307690f05fece516","src/error_recording.rs":"d7858647808d81173558e12de88f3fbe4e589969e3bd246bfb388f90f8ff3814","src/event_database/mod.rs":"9d4d3e4b075dc585c00317304401b2c9115f39db8fdbd9f1c93d3fc6fd350fd5","src/fd_logger.rs":"0c9def6fa53db1a2ab93c85795f8a7df57797bcfd3978146923e151752e291a6","src/glean.udl":"2a84a50e61b99b617aed507fa33e2b8078f46945b351cdee4b98b595bc8cd356","src/glean_metrics.rs":"9414fb1453d19f6832df33e4c6ef7383d62203e47026bf5bc9552b083101ddd1","src/histogram/exponential.rs":"58bb1770bae45770d92995515d328eb50a7e78726224f779446ae7d1632a6a3e","src/histogram/functional.rs":"1a63a305b48bcef7bc38136b40d916df4bb8f098dc602514ada54a9b091f6951","src/histogram/linear.rs":"4342a1733175d7f97b2b41adb18100537c206100c9fccb5bd13bd782c9cb3c9a","src/histogram/mod.rs":"eeb7aff80806ab76cdce101dc08887b5552f8b4bdf64683f64f767e0f06a889d","src/internal_metrics.rs":"dac2a1818d15599bf5328a88036fb3675884b230e2a57e9458cbf3e2f51bb2ab","src/internal_pings.rs":"f67e3166623cf354f79ea5aa76289276468cdac6e0fe6e6b6f427dcf3fc5367b","src/lib.rs":"d7a45ea40fc9a66ac281c1fef58d7af96b9ebb1ee7c12fa9c33f8269c89161e4","src/lib_unit_tests.rs":"93bf631775761bfde1c938d8cf2b5197d4c43d8cc86e6ef189b414f6bf06a114","src/metrics/boolean.rs":"0591043a88e81c77b694cc8124b9e4996e81a46df1402e1bdf364d2885d8215e","src/metrics/counter.rs":"0f46083c1c8f1abfab582391478731cdc9f33bc80fffef4a2e0e64592a2253c0","src/metrics/custom_distribution.rs":"9ca60176837e216da3655b2a3ba08a296444aaa7d966ddd498478fdfb2b21049","src/metrics/datetime.rs":"ca12a426fbc564847d64e6ddcaa3f298065ba4bca0372c638058c20909f626d5","src/metrics/denominator.rs":"7bacb81ea2b81da8775f61544022d35d91f159e1aa494944eaf9536cacc18b4d","src/metrics/event.rs":"cc1c90b3da3434cd4fbc93f71f1ac385fc38e1952f5aff24851bdde172cf3c5b","src/metrics/experiment.rs":"48aaf06b32a691500dbc51be95955071947d7760e3b81d30ac8d8d0161c1df3f","src/metrics/labeled.rs":"c6e2200694e3cd623e8369420d3b35759b117ef9e8188fd33afaa81685fdce28","src/metrics/memory_distribution.rs":"e9456afc7759980d06d1e2e3620a3117995d27d16bc3c5a05ea8c023475ae47a","src/metrics/memory_unit.rs":"d7a678e5242febd021283b30c0099a9e62729944816a3f17d2d91e2808bc0570","src/metrics/metrics_enabled_config.rs":"87fed12219c756ecf1e5c8cd6a21f26999b6bbcf3ffc1b5467b0a58ca5ad35d8","src/metrics/mod.rs":"759ba845d4598e3fea4877d2687da958b15480ec453562c48dac7872ab300ee8","src/metrics/numerator.rs":"442236e1d63b31299f3f073bead683101de995845a638834201c6f30fc03ea90","src/metrics/ping.rs":"02bac8664a0d38a3519fa387513e3ecbb4b54e9367d842f6e52594ecaa514b07","src/metrics/quantity.rs":"915ab10cf1e1666fc2c707bc51232843e914d93eea2a249eb15df28b6a74cd2b","src/metrics/rate.rs":"38a6986387ec3927dbd81d8a881e257674e91bb97ccd43eb6285f691d5e06531","src/metrics/recorded_experiment.rs":"33958abee79d8b55dec4cb5d20742640423713010f76314075cefde18b5c118a","src/metrics/string.rs":"f7ffc07c23bedc1b8579121d931468b0713834fc037f7945267257fdbdf9a5d0","src/metrics/string_list.rs":"4eeb320cb24dec60c5551c6c9630dbbb292725a5d4c10df8f6c6e2a111eea25e","src/metrics/text.rs":"d727bcc14d2c4f946a517ac0110f585bfbe4898f813bdbad68756505529300f6","src/metrics/time_unit.rs":"b7578010c6270a45b30342b59189a862b2ede9dd24e9afae3e90fa6b970b3d24","src/metrics/timespan.rs":"ae1a2966f0a5446327ad2b9ca0738992976350ad334a5e11fd4ee611a690394e","src/metrics/timing_distribution.rs":"57d4b3f19e7382f80cc596406d3d1c191f61bc3c81f92bf137a13c2fa174c822","src/metrics/url.rs":"9bec842b7a811f01c1f0a0deb54b2dac2f8488882e7e9251cd91d18e6b500939","src/metrics/uuid.rs":"f824019fe3e8d8945490b7eb0ac1c6b7b2ffc991543f4b6332d12827955cf420","src/ping/mod.rs":"f9ede093f9cc8b15696c4a437117c5da541b7e27fe279288f8e63c7718397a00","src/scheduler.rs":"129863e31205404a3d1708627a62583324c347d143f976216f769893ec541ea0","src/storage/mod.rs":"ad63bb7f432e5ad98bd5cea098104b79320cd9e4964552cde552a45f64be7402","src/system.rs":"e3d1b54e1d39cafe6f4dc7ff5021b08c879733f909951b0e1332b3efa9ed97bd","src/traits/boolean.rs":"be0e130f8043215705becc956d45b126c340568f1b24a396c0af9b4334a41ced","src/traits/counter.rs":"c686d26e131d854cd7a7df83c900ca7c17a03c663a30cf58ab48c7259476ce85","src/traits/custom_distribution.rs":"159a5e26fb2326f5bcdc46979aa9c6481c5f0e93ecf957f668bb3f6988d8b00f","src/traits/datetime.rs":"636ac1456b1b042e38cf5ae6193c5b232ea0b80df62f583a2097891baef9641b","src/traits/event.rs":"3f48aa336854141784d121f7fa9e283f6ff708a9214f9c0aade3a68cc38dda99","src/traits/labeled.rs":"c633c68e70a44e73f8aff88aaab1029c0faded3cad08d822590ed8838f24b4fd","src/traits/memory_distribution.rs":"55bb8f45e948319fbba9d28a50d8742da134b066a42e480887db7c7e435f4096","src/traits/mod.rs":"d0aa19a7cd97326fd2e026635406a5a9403953ced4954443a2bcbca32d868554","src/traits/numerator.rs":"6e4f236bdc448f1bde7a8c249dcd086204c2c69990d3f444e746290929226ed3","src/traits/ping.rs":"8831c106c03afeb458b0b028fa1ce61f056ebf8e82bc0a171a1bff255d920748","src/traits/quantity.rs":"6ffe25c913bef4315573d747308c182de740b2a4e02ba22cd21d0c33ba521f31","src/traits/rate.rs":"f000790440e0f389f0b160526a9a9a266e58d1405915ae56ac550f482858222c","src/traits/string.rs":"0c3c88382ff2e8eba89c7cfe129c4b84e31140af717819533c14919541ad790c","src/traits/string_list.rs":"14e56b62c2c2be1dd8013f12001f235b084abd2a0d5aa2f7932843877af49ac0","src/traits/text.rs":"8af7d3a0c87cfd8c6d33d6ad47532b431055bbdd395f9110da5630222c23cf93","src/traits/timespan.rs":"52be325a9c061916f34c5b638a07a93b4a14aa89fe365783103d2e06b998f547","src/traits/timing_distribution.rs":"76a7b8640128769763a275e831ed1f1e9ba9bfaab5ff10de638d5be3c57b5421","src/traits/url.rs":"c27f7add23214ff051078b65b88120b620560d2841a1056c7214d5237e86b9e4","src/traits/uuid.rs":"81322e71c7e847bacaf827a2cd58f6193bdc208355524207f7f38db039da6aa8","src/upload/directory.rs":"f671abed05d57061b59e12b0c6faccdf6765eb632aed9d28599dfdc3bf0c4546","src/upload/mod.rs":"0ae4150e72f577cc09e4bf804a368e8ed8ff5b50251515fd5038c331245bc89b","src/upload/policy.rs":"c250957a37783e74af8002cd80ba06ef9780a389fb0f61b8b665b79688f0a360","src/upload/request.rs":"a16fbe823228e73a2acc6f4324d6c635be22dfefb19ae71146245d9236baa87a","src/upload/result.rs":"7efbbe50e8d36beb3f23e7bfd172d22e1c003472d2dd8055b06f6050c36437c5","src/util.rs":"ee7500434d9758a320dd410f18d7e18da956591e19d2555db87eef9623e4b916","tests/boolean.rs":"76d6014ff108cb6514d9bceb1b2b14749a55b09921f4595a5e30f1bd3546e9f0","tests/common/mod.rs":"3f61efecf15d228b651c1668dbb7280e687bbe57f51430a9152fb27aea9feed9","tests/counter.rs":"46c82058cb1d7c60b340b6dbce998b4ea57333767ff52635d48a65235180e276","tests/custom_distribution.rs":"53530972243670ef58c85a906b70931d14e81ae2e1f69092c71a27e561edff6c","tests/datetime.rs":"ec3c9760e70bb2cbc61ab23281c891bc1ec493c5c545466c29fd13e4f05c2c96","tests/event.rs":"d1d10cc0357c7a283fdefffa757d5e8a9248c132ce5996c3cc064c48b155e4f7","tests/labeled.rs":"e9ea6dba17059d68114efce0c23373be9ceed922bf5e638a2158a6422c75a1c1","tests/memory_distribution.rs":"a5a7aa955e60823ea29a6f4bc96c61e41f1e41f08958aa4854668cf8fe04cde6","tests/ping.rs":"c8b27e4e3043373a6963fe9ad7e0595cdd5b19a90bd6930070c3e9c9689decc3","tests/ping_maker.rs":"2a807cb93a7302a3f7f274b3cb266db1961ae4733aacd4279c9f0e94679b55ff","tests/quantity.rs":"55e7dca346fd1d27f0974b78ca3fb12427cb5da2ee637afc08a54f360f947361","tests/rate.rs":"1de571b9f0ee9a9006cbc8a31f91352d3ff1190b50840f0f668b470a7cd2a3a5","tests/storage.rs":"f0c8312bd789d7bda502cd45f35fef6b8591652bd194d07da4d81935ebe69b48","tests/string.rs":"7ece988a4b8efe6932ccb90bfe2f3c8aaea983777e99d7de6028bf6a29459ee6","tests/string_list.rs":"77188a2b90663c3f8dac5da89a6cb6b1d16a9f8c66ccd032d02966dfd14a3486","tests/text.rs":"1d43f6b90a43124311cacf0a6ee16f9e1e9263bcd11fee8b996d6efd81633638","tests/timespan.rs":"d50d75c7d75da3a878d67331cb0df8ae5e6a099ffab474361f71a408e02528d7","tests/timing_distribution.rs":"dbe2c8efa5dfb8037765b50433568c04ba111953822584da1c4931837fdfc060","tests/uuid.rs":"052ad26a6927c56272219340211cf4a059d200f14287b482fe8621d7bce3cc54","uniffi.toml":"6ddc98b686b0925a81abd9d1c769e5c98ac29771b210a1c535931a46dec9a8e3"},"package":"d07e342f3f81264ddd21a0cdd37888052d501fa76cdff73948e972731009708e"}
-{"files":{"Cargo.toml":"94f602cd27c1d6f0a138df3c9c6dbebb5b7ba07a40055863007afb31297dba17","LICENSE":"1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5","README.md":"026495898699b54608eb4ec16074ffafc57920d80ccb59961c501a1ea28c9985","build.rs":"4857bea99c6b8c08db8818efa9d3738716f52d3acb68159323957ae52892a3eb","src/common_metric_data.rs":"72051c4349885d4a94fc41bb4edda88d31551f2f9ebcdb4e868a98161bc76233","src/core/mod.rs":"856745dbfc3f457859be0d6d38f1c9ae9a6b7f2329daccc6557ee771c7c67010","src/core_metrics.rs":"a877e42e0f8b932adb52a5681ad76fd977808cb48c7eeb29b1e4bbe804f1ea96","src/coverage.rs":"49613fd310bd24d779472720975fbe6c97ec370a95eb55f10afa43f67539c942","src/database/mod.rs":"2585db4fbb9df9f1eeaaf57e8b966ab7c541c2a718b7b55d192b5b9c20382f22","src/debug.rs":"90158cc5d488ba67b60d06647e54e59a1d7bdeb906087e4fe4cfab4373c1cc6c","src/dispatcher/global.rs":"f69cd81a90a37c306d4e0ce8177ea5a3ae2ffda5b431ae46b9a22c9e38891271","src/dispatcher/mod.rs":"440a331a7beeaa6e9824c2fd4306c09ce2a115a358d5beb830dba4d69aec3563","src/error.rs":"b93c7d3e243b21bb9eafc95f17860aba1a942b2f2b0a7f43307690f05fece516","src/error_recording.rs":"d7858647808d81173558e12de88f3fbe4e589969e3bd246bfb388f90f8ff3814","src/event_database/mod.rs":"9d4d3e4b075dc585c00317304401b2c9115f39db8fdbd9f1c93d3fc6fd350fd5","src/fd_logger.rs":"0c9def6fa53db1a2ab93c85795f8a7df57797bcfd3978146923e151752e291a6","src/glean.udl":"e4d1922656ccc2f93aac2dbe233e097e41901631c2e2ed2752e7901c7afd7f73","src/glean_metrics.rs":"9414fb1453d19f6832df33e4c6ef7383d62203e47026bf5bc9552b083101ddd1","src/histogram/exponential.rs":"58bb1770bae45770d92995515d328eb50a7e78726224f779446ae7d1632a6a3e","src/histogram/functional.rs":"1a63a305b48bcef7bc38136b40d916df4bb8f098dc602514ada54a9b091f6951","src/histogram/linear.rs":"4342a1733175d7f97b2b41adb18100537c206100c9fccb5bd13bd782c9cb3c9a","src/histogram/mod.rs":"eeb7aff80806ab76cdce101dc08887b5552f8b4bdf64683f64f767e0f06a889d","src/internal_metrics.rs":"b374baf6d8590705cd057c568bb665fca1011dff87a176258e6b19c870110c94","src/internal_pings.rs":"f7a3a3aef3661ae0066ba1d2890a5e8e6871a7a8016b5f7b4da077663bc0c0d0","src/lib.rs":"24e30142be15add12348b4d1390c32cf1933ae1b535f4483826d60114eb78a07","src/lib_unit_tests.rs":"0b22f97edbd2a5eb9b6106a9fc8ada1803cf9f44e768f479affc629b872d2aaa","src/metrics/boolean.rs":"0591043a88e81c77b694cc8124b9e4996e81a46df1402e1bdf364d2885d8215e","src/metrics/counter.rs":"57544e9fa971086b89a4844ab9cbc55ee5b79c9d391c7d9d9ac74a7bc844b076","src/metrics/custom_distribution.rs":"9ca60176837e216da3655b2a3ba08a296444aaa7d966ddd498478fdfb2b21049","src/metrics/datetime.rs":"ca12a426fbc564847d64e6ddcaa3f298065ba4bca0372c638058c20909f626d5","src/metrics/denominator.rs":"7bacb81ea2b81da8775f61544022d35d91f159e1aa494944eaf9536cacc18b4d","src/metrics/event.rs":"cc1c90b3da3434cd4fbc93f71f1ac385fc38e1952f5aff24851bdde172cf3c5b","src/metrics/experiment.rs":"48aaf06b32a691500dbc51be95955071947d7760e3b81d30ac8d8d0161c1df3f","src/metrics/labeled.rs":"c6e2200694e3cd623e8369420d3b35759b117ef9e8188fd33afaa81685fdce28","src/metrics/memory_distribution.rs":"e9456afc7759980d06d1e2e3620a3117995d27d16bc3c5a05ea8c023475ae47a","src/metrics/memory_unit.rs":"d7a678e5242febd021283b30c0099a9e62729944816a3f17d2d91e2808bc0570","src/metrics/metrics_enabled_config.rs":"87fed12219c756ecf1e5c8cd6a21f26999b6bbcf3ffc1b5467b0a58ca5ad35d8","src/metrics/mod.rs":"759ba845d4598e3fea4877d2687da958b15480ec453562c48dac7872ab300ee8","src/metrics/numerator.rs":"442236e1d63b31299f3f073bead683101de995845a638834201c6f30fc03ea90","src/metrics/ping.rs":"5a7b483450fdc145ee8e73f7efef27a9e2b8b551ef5682fc08fcb445a92b5c0d","src/metrics/quantity.rs":"915ab10cf1e1666fc2c707bc51232843e914d93eea2a249eb15df28b6a74cd2b","src/metrics/rate.rs":"38a6986387ec3927dbd81d8a881e257674e91bb97ccd43eb6285f691d5e06531","src/metrics/recorded_experiment.rs":"33958abee79d8b55dec4cb5d20742640423713010f76314075cefde18b5c118a","src/metrics/string.rs":"f7ffc07c23bedc1b8579121d931468b0713834fc037f7945267257fdbdf9a5d0","src/metrics/string_list.rs":"4eeb320cb24dec60c5551c6c9630dbbb292725a5d4c10df8f6c6e2a111eea25e","src/metrics/text.rs":"d727bcc14d2c4f946a517ac0110f585bfbe4898f813bdbad68756505529300f6","src/metrics/time_unit.rs":"b7578010c6270a45b30342b59189a862b2ede9dd24e9afae3e90fa6b970b3d24","src/metrics/timespan.rs":"ae1a2966f0a5446327ad2b9ca0738992976350ad334a5e11fd4ee611a690394e","src/metrics/timing_distribution.rs":"57d4b3f19e7382f80cc596406d3d1c191f61bc3c81f92bf137a13c2fa174c822","src/metrics/url.rs":"9bec842b7a811f01c1f0a0deb54b2dac2f8488882e7e9251cd91d18e6b500939","src/metrics/uuid.rs":"f824019fe3e8d8945490b7eb0ac1c6b7b2ffc991543f4b6332d12827955cf420","src/ping/mod.rs":"6d1ec904ef2c417f418ebce3ff2678c1b82666c95c78203ea91eadf9316ce495","src/scheduler.rs":"129863e31205404a3d1708627a62583324c347d143f976216f769893ec541ea0","src/storage/mod.rs":"04dc1a94be1d59097cd87b14386952a6ec8b9115bc06397ae389a323f6f55dcc","src/system.rs":"e3d1b54e1d39cafe6f4dc7ff5021b08c879733f909951b0e1332b3efa9ed97bd","src/traits/boolean.rs":"be0e130f8043215705becc956d45b126c340568f1b24a396c0af9b4334a41ced","src/traits/counter.rs":"c686d26e131d854cd7a7df83c900ca7c17a03c663a30cf58ab48c7259476ce85","src/traits/custom_distribution.rs":"159a5e26fb2326f5bcdc46979aa9c6481c5f0e93ecf957f668bb3f6988d8b00f","src/traits/datetime.rs":"636ac1456b1b042e38cf5ae6193c5b232ea0b80df62f583a2097891baef9641b","src/traits/event.rs":"3f48aa336854141784d121f7fa9e283f6ff708a9214f9c0aade3a68cc38dda99","src/traits/labeled.rs":"c633c68e70a44e73f8aff88aaab1029c0faded3cad08d822590ed8838f24b4fd","src/traits/memory_distribution.rs":"55bb8f45e948319fbba9d28a50d8742da134b066a42e480887db7c7e435f4096","src/traits/mod.rs":"d0aa19a7cd97326fd2e026635406a5a9403953ced4954443a2bcbca32d868554","src/traits/numerator.rs":"6e4f236bdc448f1bde7a8c249dcd086204c2c69990d3f444e746290929226ed3","src/traits/ping.rs":"8831c106c03afeb458b0b028fa1ce61f056ebf8e82bc0a171a1bff255d920748","src/traits/quantity.rs":"6ffe25c913bef4315573d747308c182de740b2a4e02ba22cd21d0c33ba521f31","src/traits/rate.rs":"f000790440e0f389f0b160526a9a9a266e58d1405915ae56ac550f482858222c","src/traits/string.rs":"0c3c88382ff2e8eba89c7cfe129c4b84e31140af717819533c14919541ad790c","src/traits/string_list.rs":"14e56b62c2c2be1dd8013f12001f235b084abd2a0d5aa2f7932843877af49ac0","src/traits/text.rs":"8af7d3a0c87cfd8c6d33d6ad47532b431055bbdd395f9110da5630222c23cf93","src/traits/timespan.rs":"52be325a9c061916f34c5b638a07a93b4a14aa89fe365783103d2e06b998f547","src/traits/timing_distribution.rs":"76a7b8640128769763a275e831ed1f1e9ba9bfaab5ff10de638d5be3c57b5421","src/traits/url.rs":"c27f7add23214ff051078b65b88120b620560d2841a1056c7214d5237e86b9e4","src/traits/uuid.rs":"81322e71c7e847bacaf827a2cd58f6193bdc208355524207f7f38db039da6aa8","src/upload/directory.rs":"5fa2c64a2bc561883ec01ed274179d91ff86d40d4d9837661be1b85cd067177c","src/upload/mod.rs":"d281050d7ab29980d48a44240256c21e82858dd795b60549fb46cfd5ce7a0214","src/upload/policy.rs":"c250957a37783e74af8002cd80ba06ef9780a389fb0f61b8b665b79688f0a360","src/upload/request.rs":"a16fbe823228e73a2acc6f4324d6c635be22dfefb19ae71146245d9236baa87a","src/upload/result.rs":"7efbbe50e8d36beb3f23e7bfd172d22e1c003472d2dd8055b06f6050c36437c5","src/util.rs":"ee7500434d9758a320dd410f18d7e18da956591e19d2555db87eef9623e4b916","tests/boolean.rs":"76d6014ff108cb6514d9bceb1b2b14749a55b09921f4595a5e30f1bd3546e9f0","tests/common/mod.rs":"c1d980a9cff0b64f452ebbe43f24d70aa685b80b48db08fc4338a60466b07a5e","tests/counter.rs":"3663a3f5ec5c0bd2b758a9920cd20cc619a12566b445e4421ec7c98232bf5a32","tests/custom_distribution.rs":"53530972243670ef58c85a906b70931d14e81ae2e1f69092c71a27e561edff6c","tests/datetime.rs":"ec3c9760e70bb2cbc61ab23281c891bc1ec493c5c545466c29fd13e4f05c2c96","tests/event.rs":"bf5b8d3ee9d12d12e91b71dd46a813a2cf17f0544f6d2e3b14f6f931ce276fa1","tests/labeled.rs":"e9ea6dba17059d68114efce0c23373be9ceed922bf5e638a2158a6422c75a1c1","tests/memory_distribution.rs":"a5a7aa955e60823ea29a6f4bc96c61e41f1e41f08958aa4854668cf8fe04cde6","tests/ping.rs":"a0fbaed178459c6e3ed3363d966d4a9119cbbcf94574f336f2e7c37eb4b59324","tests/ping_maker.rs":"40dfa0f45af6a35364c068bc53f540b27c95483204104377e0f619a9b10bc711","tests/quantity.rs":"55e7dca346fd1d27f0974b78ca3fb12427cb5da2ee637afc08a54f360f947361","tests/rate.rs":"1de571b9f0ee9a9006cbc8a31f91352d3ff1190b50840f0f668b470a7cd2a3a5","tests/storage.rs":"f0c8312bd789d7bda502cd45f35fef6b8591652bd194d07da4d81935ebe69b48","tests/string.rs":"7ece988a4b8efe6932ccb90bfe2f3c8aaea983777e99d7de6028bf6a29459ee6","tests/string_list.rs":"77188a2b90663c3f8dac5da89a6cb6b1d16a9f8c66ccd032d02966dfd14a3486","tests/text.rs":"1d43f6b90a43124311cacf0a6ee16f9e1e9263bcd11fee8b996d6efd81633638","tests/timespan.rs":"d50d75c7d75da3a878d67331cb0df8ae5e6a099ffab474361f71a408e02528d7","tests/timing_distribution.rs":"dbe2c8efa5dfb8037765b50433568c04ba111953822584da1c4931837fdfc060","tests/uuid.rs":"052ad26a6927c56272219340211cf4a059d200f14287b482fe8621d7bce3cc54","uniffi.toml":"6ddc98b686b0925a81abd9d1c769e5c98ac29771b210a1c535931a46dec9a8e3"},"package":"ed16f55045cb3e210e6ce19c03597a77a2a086a36733eea9c332dcd696962995"}
\ No newline at end of file
+{"files":{"Cargo.toml":"03913c3eaa699b7ca8fdd1f95cd924d2761a83bba2218b4100913fc1a11addbe","LICENSE":"1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5","README.md":"026495898699b54608eb4ec16074ffafc57920d80ccb59961c501a1ea28c9985","build.rs":"4857bea99c6b8c08db8818efa9d3738716f52d3acb68159323957ae52892a3eb","src/common_metric_data.rs":"72051c4349885d4a94fc41bb4edda88d31551f2f9ebcdb4e868a98161bc76233","src/core/mod.rs":"23ea133f2cfffa272dde50a779ba6122c7de043162232fa5548ab9a4b08937b7","src/core_metrics.rs":"a877e42e0f8b932adb52a5681ad76fd977808cb48c7eeb29b1e4bbe804f1ea96","src/coverage.rs":"49613fd310bd24d779472720975fbe6c97ec370a95eb55f10afa43f67539c942","src/database/mod.rs":"2585db4fbb9df9f1eeaaf57e8b966ab7c541c2a718b7b55d192b5b9c20382f22","src/debug.rs":"90158cc5d488ba67b60d06647e54e59a1d7bdeb906087e4fe4cfab4373c1cc6c","src/dispatcher/global.rs":"f69cd81a90a37c306d4e0ce8177ea5a3ae2ffda5b431ae46b9a22c9e38891271","src/dispatcher/mod.rs":"440a331a7beeaa6e9824c2fd4306c09ce2a115a358d5beb830dba4d69aec3563","src/error.rs":"b93c7d3e243b21bb9eafc95f17860aba1a942b2f2b0a7f43307690f05fece516","src/error_recording.rs":"d7858647808d81173558e12de88f3fbe4e589969e3bd246bfb388f90f8ff3814","src/event_database/mod.rs":"9d4d3e4b075dc585c00317304401b2c9115f39db8fdbd9f1c93d3fc6fd350fd5","src/fd_logger.rs":"0c9def6fa53db1a2ab93c85795f8a7df57797bcfd3978146923e151752e291a6","src/glean.udl":"2a84a50e61b99b617aed507fa33e2b8078f46945b351cdee4b98b595bc8cd356","src/glean_metrics.rs":"9414fb1453d19f6832df33e4c6ef7383d62203e47026bf5bc9552b083101ddd1","src/histogram/exponential.rs":"58bb1770bae45770d92995515d328eb50a7e78726224f779446ae7d1632a6a3e","src/histogram/functional.rs":"1a63a305b48bcef7bc38136b40d916df4bb8f098dc602514ada54a9b091f6951","src/histogram/linear.rs":"4342a1733175d7f97b2b41adb18100537c206100c9fccb5bd13bd782c9cb3c9a","src/histogram/mod.rs":"eeb7aff80806ab76cdce101dc08887b5552f8b4bdf64683f64f767e0f06a889d","src/internal_metrics.rs":"dac2a1818d15599bf5328a88036fb3675884b230e2a57e9458cbf3e2f51bb2ab","src/internal_pings.rs":"f67e3166623cf354f79ea5aa76289276468cdac6e0fe6e6b6f427dcf3fc5367b","src/lib.rs":"d7a45ea40fc9a66ac281c1fef58d7af96b9ebb1ee7c12fa9c33f8269c89161e4","src/lib_unit_tests.rs":"93bf631775761bfde1c938d8cf2b5197d4c43d8cc86e6ef189b414f6bf06a114","src/metrics/boolean.rs":"0591043a88e81c77b694cc8124b9e4996e81a46df1402e1bdf364d2885d8215e","src/metrics/counter.rs":"0f46083c1c8f1abfab582391478731cdc9f33bc80fffef4a2e0e64592a2253c0","src/metrics/custom_distribution.rs":"9ca60176837e216da3655b2a3ba08a296444aaa7d966ddd498478fdfb2b21049","src/metrics/datetime.rs":"ca12a426fbc564847d64e6ddcaa3f298065ba4bca0372c638058c20909f626d5","src/metrics/denominator.rs":"7bacb81ea2b81da8775f61544022d35d91f159e1aa494944eaf9536cacc18b4d","src/metrics/event.rs":"cc1c90b3da3434cd4fbc93f71f1ac385fc38e1952f5aff24851bdde172cf3c5b","src/metrics/experiment.rs":"48aaf06b32a691500dbc51be95955071947d7760e3b81d30ac8d8d0161c1df3f","src/metrics/labeled.rs":"c6e2200694e3cd623e8369420d3b35759b117ef9e8188fd33afaa81685fdce28","src/metrics/memory_distribution.rs":"e9456afc7759980d06d1e2e3620a3117995d27d16bc3c5a05ea8c023475ae47a","src/metrics/memory_unit.rs":"d7a678e5242febd021283b30c0099a9e62729944816a3f17d2d91e2808bc0570","src/metrics/metrics_enabled_config.rs":"87fed12219c756ecf1e5c8cd6a21f26999b6bbcf3ffc1b5467b0a58ca5ad35d8","src/metrics/mod.rs":"759ba845d4598e3fea4877d2687da958b15480ec453562c48dac7872ab300ee8","src/metrics/numerator.rs":"442236e1d63b31299f3f073bead683101de995845a638834201c6f30fc03ea90","src/metrics/ping.rs":"02bac8664a0d38a3519fa387513e3ecbb4b54e9367d842f6e52594ecaa514b07","src/metrics/quantity.rs":"915ab10cf1e1666fc2c707bc51232843e914d93eea2a249eb15df28b6a74cd2b","src/metrics/rate.rs":"38a6986387ec3927dbd81d8a881e257674e91bb97ccd43eb6285f691d5e06531","src/metrics/recorded_experiment.rs":"33958abee79d8b55dec4cb5d20742640423713010f76314075cefde18b5c118a","src/metrics/string.rs":"f7ffc07c23bedc1b8579121d931468b0713834fc037f7945267257fdbdf9a5d0","src/metrics/string_list.rs":"4eeb320cb24dec60c5551c6c9630dbbb292725a5d4c10df8f6c6e2a111eea25e","src/metrics/text.rs":"d727bcc14d2c4f946a517ac0110f585bfbe4898f813bdbad68756505529300f6","src/metrics/time_unit.rs":"b7578010c6270a45b30342b59189a862b2ede9dd24e9afae3e90fa6b970b3d24","src/metrics/timespan.rs":"ae1a2966f0a5446327ad2b9ca0738992976350ad334a5e11fd4ee611a690394e","src/metrics/timing_distribution.rs":"57d4b3f19e7382f80cc596406d3d1c191f61bc3c81f92bf137a13c2fa174c822","src/metrics/url.rs":"9bec842b7a811f01c1f0a0deb54b2dac2f8488882e7e9251cd91d18e6b500939","src/metrics/uuid.rs":"f824019fe3e8d8945490b7eb0ac1c6b7b2ffc991543f4b6332d12827955cf420","src/ping/mod.rs":"f9ede093f9cc8b15696c4a437117c5da541b7e27fe279288f8e63c7718397a00","src/scheduler.rs":"129863e31205404a3d1708627a62583324c347d143f976216f769893ec541ea0","src/storage/mod.rs":"ad63bb7f432e5ad98bd5cea098104b79320cd9e4964552cde552a45f64be7402","src/system.rs":"21b9a18edb906b438064d486605f0b11953ac2e3c5a2d14405d01674ff23c77a","src/traits/boolean.rs":"be0e130f8043215705becc956d45b126c340568f1b24a396c0af9b4334a41ced","src/traits/counter.rs":"c686d26e131d854cd7a7df83c900ca7c17a03c663a30cf58ab48c7259476ce85","src/traits/custom_distribution.rs":"159a5e26fb2326f5bcdc46979aa9c6481c5f0e93ecf957f668bb3f6988d8b00f","src/traits/datetime.rs":"636ac1456b1b042e38cf5ae6193c5b232ea0b80df62f583a2097891baef9641b","src/traits/event.rs":"3f48aa336854141784d121f7fa9e283f6ff708a9214f9c0aade3a68cc38dda99","src/traits/labeled.rs":"c633c68e70a44e73f8aff88aaab1029c0faded3cad08d822590ed8838f24b4fd","src/traits/memory_distribution.rs":"55bb8f45e948319fbba9d28a50d8742da134b066a42e480887db7c7e435f4096","src/traits/mod.rs":"d0aa19a7cd97326fd2e026635406a5a9403953ced4954443a2bcbca32d868554","src/traits/numerator.rs":"6e4f236bdc448f1bde7a8c249dcd086204c2c69990d3f444e746290929226ed3","src/traits/ping.rs":"8831c106c03afeb458b0b028fa1ce61f056ebf8e82bc0a171a1bff255d920748","src/traits/quantity.rs":"6ffe25c913bef4315573d747308c182de740b2a4e02ba22cd21d0c33ba521f31","src/traits/rate.rs":"f000790440e0f389f0b160526a9a9a266e58d1405915ae56ac550f482858222c","src/traits/string.rs":"0c3c88382ff2e8eba89c7cfe129c4b84e31140af717819533c14919541ad790c","src/traits/string_list.rs":"14e56b62c2c2be1dd8013f12001f235b084abd2a0d5aa2f7932843877af49ac0","src/traits/text.rs":"8af7d3a0c87cfd8c6d33d6ad47532b431055bbdd395f9110da5630222c23cf93","src/traits/timespan.rs":"52be325a9c061916f34c5b638a07a93b4a14aa89fe365783103d2e06b998f547","src/traits/timing_distribution.rs":"76a7b8640128769763a275e831ed1f1e9ba9bfaab5ff10de638d5be3c57b5421","src/traits/url.rs":"c27f7add23214ff051078b65b88120b620560d2841a1056c7214d5237e86b9e4","src/traits/uuid.rs":"81322e71c7e847bacaf827a2cd58f6193bdc208355524207f7f38db039da6aa8","src/upload/directory.rs":"f671abed05d57061b59e12b0c6faccdf6765eb632aed9d28599dfdc3bf0c4546","src/upload/mod.rs":"0ae4150e72f577cc09e4bf804a368e8ed8ff5b50251515fd5038c331245bc89b","src/upload/policy.rs":"c250957a37783e74af8002cd80ba06ef9780a389fb0f61b8b665b79688f0a360","src/upload/request.rs":"a16fbe823228e73a2acc6f4324d6c635be22dfefb19ae71146245d9236baa87a","src/upload/result.rs":"7efbbe50e8d36beb3f23e7bfd172d22e1c003472d2dd8055b06f6050c36437c5","src/util.rs":"ee7500434d9758a320dd410f18d7e18da956591e19d2555db87eef9623e4b916","tests/boolean.rs":"76d6014ff108cb6514d9bceb1b2b14749a55b09921f4595a5e30f1bd3546e9f0","tests/common/mod.rs":"3f61efecf15d228b651c1668dbb7280e687bbe57f51430a9152fb27aea9feed9","tests/counter.rs":"46c82058cb1d7c60b340b6dbce998b4ea57333767ff52635d48a65235180e276","tests/custom_distribution.rs":"53530972243670ef58c85a906b70931d14e81ae2e1f69092c71a27e561edff6c","tests/datetime.rs":"ec3c9760e70bb2cbc61ab23281c891bc1ec493c5c545466c29fd13e4f05c2c96","tests/event.rs":"d1d10cc0357c7a283fdefffa757d5e8a9248c132ce5996c3cc064c48b155e4f7","tests/labeled.rs":"e9ea6dba17059d68114efce0c23373be9ceed922bf5e638a2158a6422c75a1c1","tests/memory_distribution.rs":"a5a7aa955e60823ea29a6f4bc96c61e41f1e41f08958aa4854668cf8fe04cde6","tests/ping.rs":"c8b27e4e3043373a6963fe9ad7e0595cdd5b19a90bd6930070c3e9c9689decc3","tests/ping_maker.rs":"2a807cb93a7302a3f7f274b3cb266db1961ae4733aacd4279c9f0e94679b55ff","tests/quantity.rs":"55e7dca346fd1d27f0974b78ca3fb12427cb5da2ee637afc08a54f360f947361","tests/rate.rs":"1de571b9f0ee9a9006cbc8a31f91352d3ff1190b50840f0f668b470a7cd2a3a5","tests/storage.rs":"f0c8312bd789d7bda502cd45f35fef6b8591652bd194d07da4d81935ebe69b48","tests/string.rs":"7ece988a4b8efe6932ccb90bfe2f3c8aaea983777e99d7de6028bf6a29459ee6","tests/string_list.rs":"77188a2b90663c3f8dac5da89a6cb6b1d16a9f8c66ccd032d02966dfd14a3486","tests/text.rs":"1d43f6b90a43124311cacf0a6ee16f9e1e9263bcd11fee8b996d6efd81633638","tests/timespan.rs":"d50d75c7d75da3a878d67331cb0df8ae5e6a099ffab474361f71a408e02528d7","tests/timing_distribution.rs":"dbe2c8efa5dfb8037765b50433568c04ba111953822584da1c4931837fdfc060","tests/uuid.rs":"052ad26a6927c56272219340211cf4a059d200f14287b482fe8621d7bce3cc54","uniffi.toml":"6ddc98b686b0925a81abd9d1c769e5c98ac29771b210a1c535931a46dec9a8e3"},"package":"d07e342f3f81264ddd21a0cdd37888052d501fa76cdff73948e972731009708e"}
+{"files":{"Cargo.toml":"94f602cd27c1d6f0a138df3c9c6dbebb5b7ba07a40055863007afb31297dba17","LICENSE":"1f256ecad192880510e84ad60474eab7589218784b9a50bc7ceee34c2b91f1d5","README.md":"026495898699b54608eb4ec16074ffafc57920d80ccb59961c501a1ea28c9985","build.rs":"4857bea99c6b8c08db8818efa9d3738716f52d3acb68159323957ae52892a3eb","src/common_metric_data.rs":"72051c4349885d4a94fc41bb4edda88d31551f2f9ebcdb4e868a98161bc76233","src/core/mod.rs":"856745dbfc3f457859be0d6d38f1c9ae9a6b7f2329daccc6557ee771c7c67010","src/core_metrics.rs":"a877e42e0f8b932adb52a5681ad76fd977808cb48c7eeb29b1e4bbe804f1ea96","src/coverage.rs":"49613fd310bd24d779472720975fbe6c97ec370a95eb55f10afa43f67539c942","src/database/mod.rs":"2585db4fbb9df9f1eeaaf57e8b966ab7c541c2a718b7b55d192b5b9c20382f22","src/debug.rs":"90158cc5d488ba67b60d06647e54e59a1d7bdeb906087e4fe4cfab4373c1cc6c","src/dispatcher/global.rs":"f69cd81a90a37c306d4e0ce8177ea5a3ae2ffda5b431ae46b9a22c9e38891271","src/dispatcher/mod.rs":"440a331a7beeaa6e9824c2fd4306c09ce2a115a358d5beb830dba4d69aec3563","src/error.rs":"b93c7d3e243b21bb9eafc95f17860aba1a942b2f2b0a7f43307690f05fece516","src/error_recording.rs":"d7858647808d81173558e12de88f3fbe4e589969e3bd246bfb388f90f8ff3814","src/event_database/mod.rs":"9d4d3e4b075dc585c00317304401b2c9115f39db8fdbd9f1c93d3fc6fd350fd5","src/fd_logger.rs":"0c9def6fa53db1a2ab93c85795f8a7df57797bcfd3978146923e151752e291a6","src/glean.udl":"e4d1922656ccc2f93aac2dbe233e097e41901631c2e2ed2752e7901c7afd7f73","src/glean_metrics.rs":"9414fb1453d19f6832df33e4c6ef7383d62203e47026bf5bc9552b083101ddd1","src/histogram/exponential.rs":"58bb1770bae45770d92995515d328eb50a7e78726224f779446ae7d1632a6a3e","src/histogram/functional.rs":"1a63a305b48bcef7bc38136b40d916df4bb8f098dc602514ada54a9b091f6951","src/histogram/linear.rs":"4342a1733175d7f97b2b41adb18100537c206100c9fccb5bd13bd782c9cb3c9a","src/histogram/mod.rs":"eeb7aff80806ab76cdce101dc08887b5552f8b4bdf64683f64f767e0f06a889d","src/internal_metrics.rs":"b374baf6d8590705cd057c568bb665fca1011dff87a176258e6b19c870110c94","src/internal_pings.rs":"f7a3a3aef3661ae0066ba1d2890a5e8e6871a7a8016b5f7b4da077663bc0c0d0","src/lib.rs":"24e30142be15add12348b4d1390c32cf1933ae1b535f4483826d60114eb78a07","src/lib_unit_tests.rs":"0b22f97edbd2a5eb9b6106a9fc8ada1803cf9f44e768f479affc629b872d2aaa","src/metrics/boolean.rs":"0591043a88e81c77b694cc8124b9e4996e81a46df1402e1bdf364d2885d8215e","src/metrics/counter.rs":"57544e9fa971086b89a4844ab9cbc55ee5b79c9d391c7d9d9ac74a7bc844b076","src/metrics/custom_distribution.rs":"9ca60176837e216da3655b2a3ba08a296444aaa7d966ddd498478fdfb2b21049","src/metrics/datetime.rs":"ca12a426fbc564847d64e6ddcaa3f298065ba4bca0372c638058c20909f626d5","src/metrics/denominator.rs":"7bacb81ea2b81da8775f61544022d35d91f159e1aa494944eaf9536cacc18b4d","src/metrics/event.rs":"cc1c90b3da3434cd4fbc93f71f1ac385fc38e1952f5aff24851bdde172cf3c5b","src/metrics/experiment.rs":"48aaf06b32a691500dbc51be95955071947d7760e3b81d30ac8d8d0161c1df3f","src/metrics/labeled.rs":"c6e2200694e3cd623e8369420d3b35759b117ef9e8188fd33afaa81685fdce28","src/metrics/memory_distribution.rs":"e9456afc7759980d06d1e2e3620a3117995d27d16bc3c5a05ea8c023475ae47a","src/metrics/memory_unit.rs":"d7a678e5242febd021283b30c0099a9e62729944816a3f17d2d91e2808bc0570","src/metrics/metrics_enabled_config.rs":"87fed12219c756ecf1e5c8cd6a21f26999b6bbcf3ffc1b5467b0a58ca5ad35d8","src/metrics/mod.rs":"759ba845d4598e3fea4877d2687da958b15480ec453562c48dac7872ab300ee8","src/metrics/numerator.rs":"442236e1d63b31299f3f073bead683101de995845a638834201c6f30fc03ea90","src/metrics/ping.rs":"5a7b483450fdc145ee8e73f7efef27a9e2b8b551ef5682fc08fcb445a92b5c0d","src/metrics/quantity.rs":"915ab10cf1e1666fc2c707bc51232843e914d93eea2a249eb15df28b6a74cd2b","src/metrics/rate.rs":"38a6986387ec3927dbd81d8a881e257674e91bb97ccd43eb6285f691d5e06531","src/metrics/recorded_experiment.rs":"33958abee79d8b55dec4cb5d20742640423713010f76314075cefde18b5c118a","src/metrics/string.rs":"f7ffc07c23bedc1b8579121d931468b0713834fc037f7945267257fdbdf9a5d0","src/metrics/string_list.rs":"4eeb320cb24dec60c5551c6c9630dbbb292725a5d4c10df8f6c6e2a111eea25e","src/metrics/text.rs":"d727bcc14d2c4f946a517ac0110f585bfbe4898f813bdbad68756505529300f6","src/metrics/time_unit.rs":"b7578010c6270a45b30342b59189a862b2ede9dd24e9afae3e90fa6b970b3d24","src/metrics/timespan.rs":"ae1a2966f0a5446327ad2b9ca0738992976350ad334a5e11fd4ee611a690394e","src/metrics/timing_distribution.rs":"57d4b3f19e7382f80cc596406d3d1c191f61bc3c81f92bf137a13c2fa174c822","src/metrics/url.rs":"9bec842b7a811f01c1f0a0deb54b2dac2f8488882e7e9251cd91d18e6b500939","src/metrics/uuid.rs":"f824019fe3e8d8945490b7eb0ac1c6b7b2ffc991543f4b6332d12827955cf420","src/ping/mod.rs":"6d1ec904ef2c417f418ebce3ff2678c1b82666c95c78203ea91eadf9316ce495","src/scheduler.rs":"129863e31205404a3d1708627a62583324c347d143f976216f769893ec541ea0","src/storage/mod.rs":"04dc1a94be1d59097cd87b14386952a6ec8b9115bc06397ae389a323f6f55dcc","src/system.rs":"21b9a18edb906b438064d486605f0b11953ac2e3c5a2d14405d01674ff23c77a","src/traits/boolean.rs":"be0e130f8043215705becc956d45b126c340568f1b24a396c0af9b4334a41ced","src/traits/counter.rs":"c686d26e131d854cd7a7df83c900ca7c17a03c663a30cf58ab48c7259476ce85","src/traits/custom_distribution.rs":"159a5e26fb2326f5bcdc46979aa9c6481c5f0e93ecf957f668bb3f6988d8b00f","src/traits/datetime.rs":"636ac1456b1b042e38cf5ae6193c5b232ea0b80df62f583a2097891baef9641b","src/traits/event.rs":"3f48aa336854141784d121f7fa9e283f6ff708a9214f9c0aade3a68cc38dda99","src/traits/labeled.rs":"c633c68e70a44e73f8aff88aaab1029c0faded3cad08d822590ed8838f24b4fd","src/traits/memory_distribution.rs":"55bb8f45e948319fbba9d28a50d8742da134b066a42e480887db7c7e435f4096","src/traits/mod.rs":"d0aa19a7cd97326fd2e026635406a5a9403953ced4954443a2bcbca32d868554","src/traits/numerator.rs":"6e4f236bdc448f1bde7a8c249dcd086204c2c69990d3f444e746290929226ed3","src/traits/ping.rs":"8831c106c03afeb458b0b028fa1ce61f056ebf8e82bc0a171a1bff255d920748","src/traits/quantity.rs":"6ffe25c913bef4315573d747308c182de740b2a4e02ba22cd21d0c33ba521f31","src/traits/rate.rs":"f000790440e0f389f0b160526a9a9a266e58d1405915ae56ac550f482858222c","src/traits/string.rs":"0c3c88382ff2e8eba89c7cfe129c4b84e31140af717819533c14919541ad790c","src/traits/string_list.rs":"14e56b62c2c2be1dd8013f12001f235b084abd2a0d5aa2f7932843877af49ac0","src/traits/text.rs":"8af7d3a0c87cfd8c6d33d6ad47532b431055bbdd395f9110da5630222c23cf93","src/traits/timespan.rs":"52be325a9c061916f34c5b638a07a93b4a14aa89fe365783103d2e06b998f547","src/traits/timing_distribution.rs":"76a7b8640128769763a275e831ed1f1e9ba9bfaab5ff10de638d5be3c57b5421","src/traits/url.rs":"c27f7add23214ff051078b65b88120b620560d2841a1056c7214d5237e86b9e4","src/traits/uuid.rs":"81322e71c7e847bacaf827a2cd58f6193bdc208355524207f7f38db039da6aa8","src/upload/directory.rs":"5fa2c64a2bc561883ec01ed274179d91ff86d40d4d9837661be1b85cd067177c","src/upload/mod.rs":"d281050d7ab29980d48a44240256c21e82858dd795b60549fb46cfd5ce7a0214","src/upload/policy.rs":"c250957a37783e74af8002cd80ba06ef9780a389fb0f61b8b665b79688f0a360","src/upload/request.rs":"a16fbe823228e73a2acc6f4324d6c635be22dfefb19ae71146245d9236baa87a","src/upload/result.rs":"7efbbe50e8d36beb3f23e7bfd172d22e1c003472d2dd8055b06f6050c36437c5","src/util.rs":"ee7500434d9758a320dd410f18d7e18da956591e19d2555db87eef9623e4b916","tests/boolean.rs":"76d6014ff108cb6514d9bceb1b2b14749a55b09921f4595a5e30f1bd3546e9f0","tests/common/mod.rs":"c1d980a9cff0b64f452ebbe43f24d70aa685b80b48db08fc4338a60466b07a5e","tests/counter.rs":"3663a3f5ec5c0bd2b758a9920cd20cc619a12566b445e4421ec7c98232bf5a32","tests/custom_distribution.rs":"53530972243670ef58c85a906b70931d14e81ae2e1f69092c71a27e561edff6c","tests/datetime.rs":"ec3c9760e70bb2cbc61ab23281c891bc1ec493c5c545466c29fd13e4f05c2c96","tests/event.rs":"bf5b8d3ee9d12d12e91b71dd46a813a2cf17f0544f6d2e3b14f6f931ce276fa1","tests/labeled.rs":"e9ea6dba17059d68114efce0c23373be9ceed922bf5e638a2158a6422c75a1c1","tests/memory_distribution.rs":"a5a7aa955e60823ea29a6f4bc96c61e41f1e41f08958aa4854668cf8fe04cde6","tests/ping.rs":"a0fbaed178459c6e3ed3363d966d4a9119cbbcf94574f336f2e7c37eb4b59324","tests/ping_maker.rs":"40dfa0f45af6a35364c068bc53f540b27c95483204104377e0f619a9b10bc711","tests/quantity.rs":"55e7dca346fd1d27f0974b78ca3fb12427cb5da2ee637afc08a54f360f947361","tests/rate.rs":"1de571b9f0ee9a9006cbc8a31f91352d3ff1190b50840f0f668b470a7cd2a3a5","tests/storage.rs":"f0c8312bd789d7bda502cd45f35fef6b8591652bd194d07da4d81935ebe69b48","tests/string.rs":"7ece988a4b8efe6932ccb90bfe2f3c8aaea983777e99d7de6028bf6a29459ee6","tests/string_list.rs":"77188a2b90663c3f8dac5da89a6cb6b1d16a9f8c66ccd032d02966dfd14a3486","tests/text.rs":"1d43f6b90a43124311cacf0a6ee16f9e1e9263bcd11fee8b996d6efd81633638","tests/timespan.rs":"d50d75c7d75da3a878d67331cb0df8ae5e6a099ffab474361f71a408e02528d7","tests/timing_distribution.rs":"dbe2c8efa5dfb8037765b50433568c04ba111953822584da1c4931837fdfc060","tests/uuid.rs":"052ad26a6927c56272219340211cf4a059d200f14287b482fe8621d7bce3cc54","uniffi.toml":"6ddc98b686b0925a81abd9d1c769e5c98ac29771b210a1c535931a46dec9a8e3"},"package":"ed16f55045cb3e210e6ce19c03597a77a2a086a36733eea9c332dcd696962995"}
--- a/third_party/rust/glean-core/src/system.rs
+++ b/third_party/rust/glean-core/src/system.rs
@@ -63,7 +63,7 @@ pub const OS: &str = "NetBSD";
components/web/firefox/patches/19-regression-in-Bug1824906.patch
File was deleted
components/web/firefox/patches/Bug1863952.patch
New file
@@ -0,0 +1,390 @@
diff --git a/toolkit/components/processtools/ProcInfo_linux.cpp b/toolkit/components/processtools/ProcInfo_solaris.cpp
copy from toolkit/components/processtools/ProcInfo_linux.cpp
copy to toolkit/components/processtools/ProcInfo_solaris.cpp
--- a/toolkit/components/processtools/ProcInfo_linux.cpp
+++ b/toolkit/components/processtools/ProcInfo_solaris.cpp
@@ -3,206 +3,46 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 #include "mozilla/ProcInfo.h"
-#include "mozilla/ProcInfo_linux.h"
 #include "mozilla/Sprintf.h"
 #include "mozilla/Logging.h"
 #include "mozilla/ScopeExit.h"
 #include "mozilla/ipc/GeckoChildProcessHost.h"
 #include "nsMemoryReporterManager.h"
 #include "nsWhitespaceTokenizer.h"
+#include <cerrno>
 #include <cstdio>
 #include <cstring>
+#include <fcntl.h>
+#include <procfs.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
 #include <unistd.h>
-#include <dirent.h>
-#define NANOPERSEC 1000000000.
+// Maximal length on /proc filename
+//  "/proc/999999/lwp/999999/lwpsinfo"
+//  "/proc/999999/psinfo"
+#define FNMAX_PROCFS "/proc/999999/lwp/999999/lwpsinfo"
 namespace mozilla {
 int GetCycleTimeFrequencyMHz() { return 0; }
-// StatReader can parse and tokenize a POSIX stat file.
-// see http://man7.org/linux/man-pages/man5/proc.5.html
-//
-// Its usage is quite simple:
-//
-// StatReader reader(pid);
-// ProcInfo info;
-// rv = reader.ParseProc(info);
-// if (NS_FAILED(rv)) {
-//     // the reading of the file or its parsing failed.
-// }
-//
-class StatReader {
- public:
-  explicit StatReader(const base::ProcessId aPid)
-      : mPid(aPid), mMaxIndex(15), mTicksPerSec(sysconf(_SC_CLK_TCK)) {}
-
-  nsresult ParseProc(ProcInfo& aInfo) {
-    nsAutoString fileContent;
-    nsresult rv = ReadFile(fileContent);
-    NS_ENSURE_SUCCESS(rv, rv);
-    // We first extract the file or thread name
-    int32_t startPos = fileContent.RFindChar('(');
-    if (startPos == -1) {
-      return NS_ERROR_FAILURE;
-    }
-    int32_t endPos = fileContent.RFindChar(')');
-    if (endPos == -1) {
-      return NS_ERROR_FAILURE;
-    }
-    int32_t len = endPos - (startPos + 1);
-    mName.Assign(Substring(fileContent, startPos + 1, len));
-
-    // now we can use the tokenizer for the rest of the file
-    nsWhitespaceTokenizer tokenizer(Substring(fileContent, endPos + 2));
-    int32_t index = 2;  // starting at third field
-    while (tokenizer.hasMoreTokens() && index < mMaxIndex) {
-      const nsAString& token = tokenizer.nextToken();
-      rv = UseToken(index, token, aInfo);
-      NS_ENSURE_SUCCESS(rv, rv);
-      index++;
-    }
-    return NS_OK;
-  }
-
- protected:
-  // Called for each token found in the stat file.
-  nsresult UseToken(int32_t aIndex, const nsAString& aToken, ProcInfo& aInfo) {
-    // We're using a subset of what stat has to offer for now.
-    nsresult rv = NS_OK;
-    // see the proc documentation for fields index references.
-    switch (aIndex) {
-      case 13:
-        // Amount of time that this process has been scheduled
-        // in user mode, measured in clock ticks
-        aInfo.cpuTime += GetCPUTime(aToken, &rv);
-        NS_ENSURE_SUCCESS(rv, rv);
-        break;
-      case 14:
-        // Amount of time that this process has been scheduled
-        // in kernel mode, measured in clock ticks
-        aInfo.cpuTime += GetCPUTime(aToken, &rv);
-        NS_ENSURE_SUCCESS(rv, rv);
-        break;
-    }
-    return rv;
-  }
-
-  // Converts a token into a int64_t
-  uint64_t Get64Value(const nsAString& aToken, nsresult* aRv) {
-    // We can't use aToken.ToInteger64() since it returns a signed 64.
-    // and that can result into an overflow.
-    nsresult rv = NS_OK;
-    uint64_t out = 0;
-    if (sscanf(NS_ConvertUTF16toUTF8(aToken).get(), "%" PRIu64, &out) == 0) {
-      rv = NS_ERROR_FAILURE;
-    }
-    *aRv = rv;
-    return out;
-  }
-
-  // Converts a token into CPU time in nanoseconds.
-  uint64_t GetCPUTime(const nsAString& aToken, nsresult* aRv) {
-    nsresult rv;
-    uint64_t value = Get64Value(aToken, &rv);
-    *aRv = rv;
-    if (NS_FAILED(rv)) {
-      return 0;
-    }
-    if (value) {
-      value = (value * NANOPERSEC) / mTicksPerSec;
-    }
-    return value;
-  }
-
-  base::ProcessId mPid;
-  int32_t mMaxIndex;
-  nsCString mFilepath;
-  nsString mName;
-
- private:
-  // Reads the stat file and puts its content in a nsString.
-  nsresult ReadFile(nsAutoString& aFileContent) {
-    if (mFilepath.IsEmpty()) {
-      if (mPid == 0) {
-        mFilepath.AssignLiteral("/proc/self/stat");
-      } else {
-        mFilepath.AppendPrintf("/proc/%u/stat", unsigned(mPid));
-      }
-    }
-    FILE* fstat = fopen(mFilepath.get(), "r");
-    if (!fstat) {
-      return NS_ERROR_FAILURE;
-    }
-    // /proc is a virtual file system and all files are
-    // of size 0, so GetFileSize() and related functions will
-    // return 0 - so the way to read the file is to fill a buffer
-    // of an arbitrary big size and look for the end of line char.
-    char buffer[2048];
-    char* end;
-    char* start = fgets(buffer, 2048, fstat);
-    fclose(fstat);
-    if (start == nullptr) {
-      return NS_ERROR_FAILURE;
-    }
-    // let's find the end
-    end = strchr(buffer, '\n');
-    if (!end) {
-      return NS_ERROR_FAILURE;
-    }
-    aFileContent.AssignASCII(buffer, size_t(end - start));
-    return NS_OK;
-  }
-
-  int64_t mTicksPerSec;
-};
-
-// Threads have the same stat file. The only difference is its path
-// and we're getting less info in the ThreadInfo structure.
-class ThreadInfoReader final : public StatReader {
- public:
-  ThreadInfoReader(const base::ProcessId aPid, const base::ProcessId aTid)
-      : StatReader(aPid) {
-    mFilepath.AppendPrintf("/proc/%u/task/%u/stat", unsigned(aPid),
-                           unsigned(aTid));
-  }
-
-  nsresult ParseThread(ThreadInfo& aInfo) {
-    ProcInfo info;
-    nsresult rv = StatReader::ParseProc(info);
-    NS_ENSURE_SUCCESS(rv, rv);
-
-    // Copying over the data we got from StatReader::ParseProc()
-    aInfo.cpuTime = info.cpuTime;
-    aInfo.name.Assign(mName);
-    return NS_OK;
-  }
-};
-
 nsresult GetCpuTimeSinceProcessStartInMs(uint64_t* aResult) {
   timespec t;
   if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &t) == 0) {
     uint64_t cpuTime =
         uint64_t(t.tv_sec) * 1'000'000'000u + uint64_t(t.tv_nsec);
     *aResult = cpuTime / PR_NSEC_PER_MSEC;
     return NS_OK;
   }
-  StatReader reader(0);
-  ProcInfo info;
-  nsresult rv = reader.ParseProc(info);
-  if (NS_FAILED(rv)) {
-    return rv;
-  }
-
-  *aResult = info.cpuTime / PR_NSEC_PER_MSEC;
-  return NS_OK;
+  return NS_ERROR_FAILURE;
 }
 nsresult GetGpuTimeSinceProcessStartInMs(uint64_t* aResult) {
   return NS_ERROR_NOT_IMPLEMENTED;
 }
@@ -217,118 +57,55 @@
     return result;
   }
   for (const auto& request : aRequests) {
     ProcInfo info;
-    timespec t;
-    clockid_t clockid = MAKE_PROCESS_CPUCLOCK(request.pid, CPUCLOCK_SCHED);
-    if (clock_gettime(clockid, &t) == 0) {
-      info.cpuTime = uint64_t(t.tv_sec) * 1'000'000'000u + uint64_t(t.tv_nsec);
-    } else {
-      // Fallback to parsing /proc/<pid>/stat
-      StatReader reader(request.pid);
-      nsresult rv = reader.ParseProc(info);
-      if (NS_FAILED(rv)) {
-        // Can't read data for this proc.
-        // Probably either a sandboxing issue or a race condition, e.g.
-        // the process has been just been killed. Regardless, skip process.
-        continue;
-      }
+    int fd;
+    char filename[sizeof(FNMAX_PROCFS) + 1];
+    psinfo_t psinfo;
+    snprintf(filename, sizeof(FNMAX_PROCFS), "/proc/%d/psinfo", request.pid);
+    if ((fd = open(filename, O_RDONLY)) == -1) {
+      result.SetReject(NS_ERROR_FAILURE);
+      return result;
     }
-
-    // The 'Memory' value displayed in the system monitor is resident -
-    // shared. statm contains more fields, but we're only interested in
-    // the first three.
-    static const int MAX_FIELD = 3;
-    size_t VmSize, resident, shared;
-    info.memory = 0;
-    FILE* f = fopen(nsPrintfCString("/proc/%u/statm", request.pid).get(), "r");
-    if (f) {
-      int nread = fscanf(f, "%zu %zu %zu", &VmSize, &resident, &shared);
-      fclose(f);
-      if (nread == MAX_FIELD) {
-        info.memory = (resident - shared) * getpagesize();
-      }
+    if (read(fd, &psinfo, sizeof(psinfo_t)) != sizeof(psinfo_t)) {
+      result.SetReject(NS_ERROR_FAILURE);
+      return result;
     }
+    close(fd);
+    info.cpuTime =
+        psinfo.pr_time.tv_sec * 1'000'000'000u + psinfo.pr_time.tv_nsec;
+    info.memory = psinfo.pr_rssize * 1024;
     // Extra info
     info.pid = request.pid;
     info.childId = request.childId;
     info.type = request.processType;
     info.origin = request.origin;
     info.windows = std::move(request.windowInfo);
     info.utilityActors = std::move(request.utilityInfo);
     // Let's look at the threads
-    nsCString taskPath;
-    taskPath.AppendPrintf("/proc/%u/task", unsigned(request.pid));
-    DIR* dirHandle = opendir(taskPath.get());
-    if (!dirHandle) {
-      // For some reason, we have no data on the threads for this process.
-      // Most likely reason is that we have just lost a race condition and
-      // the process is dead.
-      // Let's stop here and ignore the entire process.
-      continue;
-    }
-    auto cleanup = mozilla::MakeScopeExit([&] { closedir(dirHandle); });
-
-    // If we can't read some thread info, we ignore that thread.
-    dirent* entry;
-    while ((entry = readdir(dirHandle)) != nullptr) {
-      if (entry->d_name[0] == '.') {
-        continue;
-      }
-      nsAutoCString entryName(entry->d_name);
-      nsresult rv;
-      int32_t tid = entryName.ToInteger(&rv);
-      if (NS_FAILED(rv)) {
+    for (int lwp = 1, lwp_max = psinfo.pr_nlwp; lwp <= lwp_max; lwp++) {
+      lwpsinfo_t lwpsinfo;
+      snprintf(filename, sizeof(FNMAX_PROCFS), "/proc/%d/lwp/%d/lwpsinfo",
+               request.pid, lwp);
+      if ((fd = open(filename, O_RDONLY)) == -1) {
+        // Some LWPs might no longer exist. That just means that there are
+        // probably others with bigger LWP id. But we need to limit the search
+        // because of possible race condition.
+        if (lwp_max < 2 * psinfo.pr_nlwp) lwp_max++;
         continue;
       }
-
+      if (read(fd, &lwpsinfo, sizeof(lwpsinfo_t)) != sizeof(lwpsinfo_t))
+        continue;
+      close(fd);
       ThreadInfo threadInfo;
-      threadInfo.tid = tid;
-
-      timespec ts;
-      if (clock_gettime(MAKE_THREAD_CPUCLOCK(tid, CPUCLOCK_SCHED), &ts) == 0) {
-        threadInfo.cpuTime =
-            uint64_t(ts.tv_sec) * 1'000'000'000u + uint64_t(ts.tv_nsec);
-
-        nsCString path;
-        path.AppendPrintf("/proc/%u/task/%u/comm", unsigned(request.pid),
-                          unsigned(tid));
-        FILE* fstat = fopen(path.get(), "r");
-        if (fstat) {
-          // /proc is a virtual file system and all files are
-          // of size 0, so GetFileSize() and related functions will
-          // return 0 - so the way to read the file is to fill a buffer
-          // of an arbitrary big size and look for the end of line char.
-          // The size of the buffer needs to be as least 16, which is the
-          // value of TASK_COMM_LEN in the Linux kernel.
-          char buffer[32];
-          char* start = fgets(buffer, sizeof(buffer), fstat);
-          fclose(fstat);
-          if (start) {
-            // The thread name should always be smaller than our buffer,
-            // so we should find a newline character.
-            char* end = strchr(buffer, '\n');
-            if (end) {
-              threadInfo.name.AssignASCII(buffer, size_t(end - start));
-              info.threads.AppendElement(threadInfo);
-              continue;
-            }
-          }
-        }
-      }
-
-      // Fallback to parsing /proc/<pid>/task/<tid>/stat
-      // This is needed for child processes, as access to the per-thread
-      // CPU clock is restricted to the process owning the thread.
-      ThreadInfoReader reader(request.pid, tid);
-      rv = reader.ParseThread(threadInfo);
-      if (NS_FAILED(rv)) {
-        continue;
-      }
+      threadInfo.tid = lwpsinfo.pr_lwpid;
+      threadInfo.cpuTime =
+          lwpsinfo.pr_time.tv_sec * 1'000'000'000u + lwpsinfo.pr_time.tv_nsec;
+      threadInfo.name.AssignASCII(lwpsinfo.pr_name, strlen(lwpsinfo.pr_name));
       info.threads.AppendElement(threadInfo);
     }
     if (!gathered.put(request.pid, std::move(info))) {
       result.SetReject(NS_ERROR_OUT_OF_MEMORY);
diff --git a/toolkit/components/processtools/moz.build b/toolkit/components/processtools/moz.build
--- a/toolkit/components/processtools/moz.build
+++ b/toolkit/components/processtools/moz.build
@@ -39,10 +39,12 @@
 # Platform-specific implementations of `ProcInfo`.
 toolkit = CONFIG["MOZ_WIDGET_TOOLKIT"]
 if toolkit == "gtk" or toolkit == "android":
     if CONFIG["OS_TARGET"] == "OpenBSD":
         UNIFIED_SOURCES += ["ProcInfo_bsd.cpp"]
+    elif CONFIG["OS_TARGET"] == "SunOS":
+        UNIFIED_SOURCES += ["ProcInfo_solaris.cpp"]
     else:
         UNIFIED_SOURCES += ["ProcInfo_linux.cpp"]
 elif toolkit == "windows":
     UNIFIED_SOURCES += ["ProcInfo_win.cpp"]
 elif toolkit == "cocoa":