profile
viewpoint
Josh Matthews jdm @mozilla Toronto, ON http://www.joshmatthews.net/blog/ Cette danse n'est pas pour tout le monde.

jdm/asknot 218

Ask not what Mozilla can do for you but what you can do for Mozilla.

glennw/servo-shell 181

Proof of concept HTML/CSS/JS browser UI for Servo

brson/rust-sdl 167

SDL bindings for Rust

jdm/bugsahoy 68

A landing page to make finding relevant bugs easier for new Mozilla contributors.

jdm/accountable-refcell 12

std::cell::RefCell with more useful error messages.

jdm/bindings-workshop 8

Exercises and slides for "Fluent Rust Bindings for C APIs" workshop from Rust Belt Rust

brson/llvm 7

Temporary fork of LLVM for Rust

jdm/accessible 2

Abstraction layer over platform accessibility APIs for Rust programs.

jdm/blackhole-dashboard 2

*distracting flailing motions*

pull request commentservo/servo

Replace IRC link with Matrix

@bors-servo r+

camelid

comment created time in an hour

pull request commentservo/servo

build(deps): bump gstreamer from 0.15.5 to 0.15.6

@bors-servo retry

  • #23290
dependabot-preview[bot]

comment created time in 3 hours

pull request commentservo/servo

Reduce scope of generic code in script

@bors-servo r=SimonSapin

jdm

comment created time in 3 hours

push eventjdm/servo

dependabot-preview[bot]

commit sha 9788c5c7f45d237fe15d7ce40285596d87034b48

build(deps): bump unicode-normalization from 0.1.5 to 0.1.12 Bumps [unicode-normalization](https://github.com/unicode-rs/unicode-normalization) from 0.1.5 to 0.1.12. - [Release notes](https://github.com/unicode-rs/unicode-normalization/releases) - [Commits](https://github.com/unicode-rs/unicode-normalization/compare/v0.1.5...v0.1.12) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

view details

Josh Matthews

commit sha 6dc4488bc7bee559021b8d0d780f0734d7cf5723

Remove unnecessary generic from private_from_proto_check.

view details

Josh Matthews

commit sha ec0b5d55d719b36cacc6b7e0c2b4e78df126defa

Move thread state checks out of generic methods to reduce generated code duplication.

view details

Josh Matthews

commit sha a5d0e0b1c12b3bd60d1ad3e71139de2c6b493e50

Extract some thread local use from generic code.

view details

push time in 3 hours

pull request commentservo/servo

[WIP] Don't create empty stacking contexts in display lists

@bors-servo try=wpt

jdm

comment created time in 4 hours

push eventjdm/servo

Josh Matthews

commit sha 92bc29173351985a09ca2dc9972220930afcc1e7

get more 2013 tests passing.

view details

push time in 4 hours

issue commentservo/servo

No content loads on mixer.com

My latest investigations are focused on a missing HLS manifest. The network panel in Firefox shows an XHR for a URL that includes HlsManifest; this load is never started in Servo, and the code that leads to the load in Firefox isn't invoked according to my console logs.

jdm

comment created time in 5 hours

pull request commentservo/servo

[WIP] Don't create empty stacking contexts in display lists

@bors-servo try=wpt

jdm

comment created time in 6 hours

push eventjdm/servo

Josh Matthews

commit sha 85caca193f364a945360345145a6a49e9a49bc98

get more 2013 tests passing.

view details

push time in 6 hours

issue commentservo/servo

No content loads on mixer.com

Nevermind, when I load mixer.com in a private window in firefox we observe the same CORS failure for the same reason (no Access-Control-Allow-Origins header in the preflight repsonse), so that's a red herring.

jdm

comment created time in 7 hours

issue commentservo/servo

No content loads on mixer.com

I do get some content loading in the latest Servo revisions. There is now a CORS network error for https://uhf.microsoft.com/en-CA/shell/api/mscc?sitename=mixer&domain=mixer.com&&mscc_eudomain=true&country=CA. When I load this URL in Firefox the network monitor shows that it returns an access-control-allow-origin: * header, but that doesn't appear in the CORS preflight response in servo.

jdm

comment created time in 7 hours

pull request commentservo/servo

[WIP] Don't create empty stacking contexts in display lists

Weird, some tests run fine in headed mode, but panic in headless mode.

jdm

comment created time in 8 hours

issue commentnical/lyon

Behaviour change related to arcs in lyon_geom between 0.15.0 and 0.15.2

Test output before adf530bd6b9d67d719f88cfc41abc721742b8998: Screen Shot 2020-06-04 at 3 53 51 PM Test output after adf530bd6b9d67d719f88cfc41abc721742b8998: Screen Shot 2020-06-04 at 4 04 00 PM

jdm

comment created time in 8 hours

issue commentnical/lyon

Behaviour change related to arcs in lyon_geom between 0.15.0 and 0.15.2

This behaviour change was introduced in 21fe9cb1c6d8e939050712a93e965b06aab6fb5e.

jdm

comment created time in 8 hours

pull request commentservo/servo

Prefix `on` for function name of inline events

@bors-servo retry

  • #24622
CYBAI

comment created time in 8 hours

pull request commentservo/servo

[WIP] Don't create empty stacking contexts in display lists

@bors-servo try=wpt

jdm

comment created time in 9 hours

push eventjdm/servo

Josh Matthews

commit sha 90bbc1fe09a7964b3e64aee77f5aeead5f99fa34

get more 2013 tests passing.

view details

push time in 9 hours

issue commentnical/lyon

Behaviour change related to arcs in lyon_geom between 0.15.0 and 0.15.2

Test contents:

ctx.fillStyle = '#0f0';
ctx.fillRect(0, 0, 100, 50);
ctx.lineWidth = 50;
ctx.strokeStyle = '#f00';
ctx.beginPath();
ctx.arc(50, 50, 50, 0, Math.PI, false);
ctx.stroke();

We use Arc from lyon_geom for the arc API in this code.

jdm

comment created time in 9 hours

issue commentnical/lyon

Behaviour change related to arcs in lyon_geom between 0.15.0 and 0.15.2

cc @atouchet

jdm

comment created time in 9 hours

issue openednical/lyon

Behaviour change related to arcs in lyon_geom between 0.15.0 and 0.15.2

When I update Servo to use 0.15.2 in https://github.com/servo/servo/blob/master/components/canvas/Cargo.toml#L30 instead of 0.15.0, we get a new test failure in the WPT canvas tests:

/html/canvas/element/path-objects/2d.path.arc.shape.1.html
  FAIL arc() from 0 to pi does not draw anything in the wrong half - assert_equals: Red channel of the pixel at (20, 48) expected 0 but got 63
_assertPixel@http://web-platform.test:8000/html/canvas/resources/canvas-tests.js:38:18
@http://web-platform.test:8000/html/canvas/element/path-objects/2d.path.arc.shape.1.html:33:13
Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1977:25
_addTest/</<@http://web-platform.test:8000/html/canvas/resources/canvas-tests.js:66:15
Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1977:25
_addTest/<@http://web-platform.test:8000/html/canvas/resources/canvas-tests.js:63:11

I'll try and figure out what the test is doing and how lyon_geom is used in it.

created time in 9 hours

push eventjdm/servo

Josh Matthews

commit sha 948fb3eee515fdb14720d2de5ece82a774a5def6

Move thread state checks out of generic methods to reduce generated code duplication.

view details

Josh Matthews

commit sha 862d5c036e91adb49bf6cafcb11e12fe6dd4d268

Extract some thread local use from generic code.

view details

push time in 10 hours

pull request commentservo/servo

Reduce scope of generic code in script

llvm-lines output diff:

<details>

--- full-lines	2020-06-04 12:13:14.000000000 -0400
+++ full-lines4	2020-06-04 13:33:26.000000000 -0400
@@ -2,8 +2,8 @@
   -----           ------         -------------
-  7062488 (100%)  181492 (100%)  (TOTAL)
-   176895 (2.5%)   15330 (8.4%)  core::ptr::drop_in_place
-   150282 (2.1%)    6600 (3.6%)  core::ops::function::FnOnce::call_once
-   123312 (1.7%)    1016 (0.6%)  <<&mut bincode::de::Deserializer<R,O> as serde::de::Deserializer>::deserialize_tuple::Access<R,O> as serde::de::SeqAccess>::next_element_seed
-   102976 (1.5%)    1670 (0.9%)  core::option::Option<T>::map
-    87479 (1.2%)     782 (0.4%)  core::iter::traits::iterator::Iterator::try_fold
+  6979695 (100%)  180582 (100%)  (TOTAL)
+   176898 (2.5%)   15330 (8.5%)  core::ptr::drop_in_place
+   150282 (2.2%)    6600 (3.7%)  core::ops::function::FnOnce::call_once
+   123312 (1.8%)    1016 (0.6%)  <<&mut bincode::de::Deserializer<R,O> as serde::de::Deserializer>::deserialize_tuple::Access<R,O> as serde::de::SeqAccess>::next_element_seed
+   102977 (1.5%)    1670 (0.9%)  core::option::Option<T>::map
+    87479 (1.3%)     782 (0.4%)  core::iter::traits::iterator::Iterator::try_fold
     81546 (1.2%)    1185 (0.7%)  core::result::Result<T,E>::map
@@ -11,5 +11,5 @@
     47048 (0.7%)       4 (0.0%)  <keyboard_types::key::_IMPL_DESERIALIZE_FOR_Key::<impl serde::de::Deserialize for keyboard_types::key::Key>::deserialize::__Visitor as serde::de::Visitor>::visit_enum
-    45499 (0.6%)     615 (0.3%)  std::thread::local::LocalKey<T>::try_with
     44500 (0.6%)     296 (0.2%)  <&mut bincode::de::Deserializer<R,O> as serde::de::Deserializer>::deserialize_enum::<impl serde::de::EnumAccess for &mut bincode::de::Deserializer<R,O>>::variant_seed
     44173 (0.6%)     645 (0.4%)  core::result::Result<T,E>::map_err
+    37831 (0.5%)     512 (0.3%)  std::thread::local::LocalKey<T>::try_with
     35640 (0.5%)     216 (0.1%)  alloc::raw_vec::RawVec<T,A>::grow_amortized
@@ -17,3 +17,2 @@
     34585 (0.5%)     609 (0.3%)  crossbeam_channel::context::Context::with::{{closure}}
-    34041 (0.5%)     637 (0.4%)  core::result::Result<T,E>::expect
     33009 (0.5%)     643 (0.4%)  core::ptr::swap_nonoverlapping_one
@@ -22,2 +21,3 @@
     31816 (0.5%)     776 (0.4%)  script::dom::bindings::root::Root<T>::new
+    31288 (0.4%)     586 (0.3%)  core::result::Result<T,E>::expect
     30104 (0.4%)     116 (0.1%)  <<script_traits::webdriver_msg::_IMPL_DESERIALIZE_FOR_WebDriverScriptCommand::<impl serde::de::Deserialize for script_traits::webdriver_msg::WebDriverScriptCommand>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq
@@ -32,3 +32,2 @@
     20808 (0.3%)     289 (0.2%)  core::alloc::layout::Layout::array
-    19998 (0.3%)     101 (0.1%)  script::dom::bindings::conversions::private_from_proto_check::{{closure}}
     19467 (0.3%)     304 (0.2%)  core::option::Option<T>::ok_or_else
@@ -38,3 +37,3 @@
     18592 (0.3%)       8 (0.0%)  canvas_traits::canvas::_IMPL_SERIALIZE_FOR_Canvas2dMsg::<impl serde::ser::Serialize for canvas_traits::canvas::Canvas2dMsg>::serialize
-    18167 (0.3%)     478 (0.3%)  core::option::Option<T>::unwrap
+    18168 (0.3%)     478 (0.3%)  core::option::Option<T>::unwrap
     17892 (0.3%)     180 (0.1%)  <&mut bincode::de::Deserializer<R,O> as serde::de::Deserializer>::deserialize_option
@@ -52,3 +51,2 @@
     15177 (0.2%)      92 (0.1%)  ipc_channel::ipc::OpaqueIpcMessage::to::{{closure}}::{{closure}}
-    15053 (0.2%)     101 (0.1%)  script::dom::bindings::conversions::private_from_proto_check
     14975 (0.2%)      48 (0.0%)  <alloc::vec::Vec<T> as mozjs::conversions::FromJSValConvertible>::from_jsval
@@ -64,3 +62,2 @@
     13416 (0.2%)     237 (0.1%)  core::iter::traits::iterator::Iterator::find::check::{{closure}}
-    13189 (0.2%)     116 (0.1%)  script::dom::bindings::root::MutNullableDom<T>::or_init
     13168 (0.2%)       8 (0.0%)  bluetooth_traits::_IMPL_SERIALIZE_FOR_BluetoothRequest::<impl serde::ser::Serialize for bluetooth_traits::BluetoothRequest>::serialize
@@ -69,2 +66,3 @@
     13065 (0.2%)      65 (0.0%)  crossbeam_channel::flavors::array::Channel<T>::start_recv
+    12609 (0.2%)     116 (0.1%)  script::dom::bindings::root::MutNullableDom<T>::or_init
     12204 (0.2%)     152 (0.1%)  <alloc::vec::Vec<T> as alloc::vec::SpecExtend<T,I>>::from_iter
@@ -80,4 +78,3 @@
     10864 (0.2%)     776 (0.4%)  <script::dom::bindings::root::Root<T> as core::ops::drop::Drop>::drop
-    10764 (0.2%)      52 (0.0%)  script::dom::bindings::refcounted::LiveDOMReferences::addref
-    10557 (0.1%)      69 (0.0%)  hashbrown::raw::RawTable<T>::try_with_capacity
+    10557 (0.2%)      69 (0.0%)  hashbrown::raw::RawTable<T>::try_with_capacity
     10304 (0.1%)    1278 (0.7%)  <core::marker::PhantomData<T> as serde::de::DeserializeSeed>::deserialize
@@ -90,3 +87,2 @@
      9912 (0.1%)      57 (0.0%)  <[T] as mozjs::conversions::ToJSValConvertible>::to_jsval
-     9900 (0.1%)     996 (0.5%)  <core::result::Result<T,E> as core::ops::try::Try>::from_error
      9644 (0.1%)      76 (0.0%)  <serde::de::impls::<impl serde::de::Deserialize for alloc::vec::Vec<T>>::deserialize::VecVisitor<T> as serde::de::Visitor>::visit_seq
@@ -97,2 +93,3 @@
      9306 (0.1%)     132 (0.1%)  bincode::internal::serialized_size
+     9186 (0.1%)     945 (0.5%)  <core::result::Result<T,E> as core::ops::try::Try>::from_error
      9174 (0.1%)      33 (0.0%)  ipc_channel::ipc::IpcSender<T>::send::{{closure}}::{{closure}}
@@ -108,3 +105,3 @@
      8008 (0.1%)      28 (0.0%)  indexmap::map::OrderMapCore<K,V>::double_capacity
-     7929 (0.1%)     350 (0.2%)  core::option::Option<T>::as_ref
+     7931 (0.1%)     350 (0.2%)  core::option::Option<T>::as_ref
      7917 (0.1%)      87 (0.0%)  alloc::raw_vec::RawVec<T,A>::allocate_in
@@ -132,3 +129,2 @@
      6884 (0.1%)      65 (0.0%)  crossbeam_channel::flavors::list::Channel<T>::read
-     6647 (0.1%)     391 (0.2%)  script::dom::bindings::root::Dom<T>::from_ref
      6536 (0.1%)      72 (0.0%)  <serde::de::impls::<impl serde::de::Deserialize for core::result::Result<T,E>>::deserialize::ResultVisitor<T,E> as serde::de::Visitor>::visit_enum
@@ -147,5 +143,2 @@
      5922 (0.1%)      63 (0.0%)  crossbeam_channel::counter::new
-     5865 (0.1%)     391 (0.2%)  <script::dom::bindings::root::Dom<T> as core::ops::deref::Deref>::deref
-     5865 (0.1%)     391 (0.2%)  <script::dom::bindings::root::Root<T> as core::ops::deref::Deref>::deref
-     5858 (0.1%)     101 (0.1%)  core::result::Result<T,E>::or_else
      5845 (0.1%)    1169 (0.6%)  core::mem::size_of
@@ -159,3 +152,2 @@
      5621 (0.1%)     591 (0.3%)  core::cell::UnsafeCell<T>::new
-     5619 (0.1%)     412 (0.2%)  std::thread::local::LocalKey<T>::with
      5616 (0.1%)      53 (0.0%)  hashbrown::map::HashMap<K,V,S>::insert
@@ -201,2 +193,3 @@
      4308 (0.1%)     359 (0.2%)  core::ptr::mut_ptr::<impl *mut T>::offset
+     4301 (0.1%)     391 (0.2%)  script::dom::bindings::root::Dom<T>::from_ref
      4276 (0.1%)      62 (0.0%)  <core::slice::Iter<T> as core::iter::traits::iterator::Iterator>::size_hint
@@ -206,2 +199,3 @@
      4205 (0.1%)      47 (0.0%)  <core::slice::Iter<T> as core::iter::traits::iterator::Iterator>::position
+     4180 (0.1%)     309 (0.2%)  std::thread::local::LocalKey<T>::with
      4064 (0.1%)       8 (0.0%)  canvas_traits::canvas::_IMPL_SERIALIZE_FOR_CanvasMsg::<impl serde::ser::Serialize for canvas_traits::canvas::CanvasMsg>::serialize
@@ -211,7 +205,5 @@
      4017 (0.1%)      19 (0.0%)  crossbeam_channel::flavors::zero::Channel<T>::send::{{closure}}
-     4016 (0.1%)     213 (0.1%)  script::dom::bindings::cell::DomRefCell<T>::try_borrow_mut
      4016 (0.1%)       8 (0.0%)  devtools_traits::_IMPL_SERIALIZE_FOR_ComputedNodeLayout::<impl serde::ser::Serialize for devtools_traits::ComputedNodeLayout>::serialize
      3999 (0.1%)     129 (0.1%)  canvas_traits::webgl_channel::webgl_channel::{{closure}}
-     3980 (0.1%)     398 (0.2%)  core::ptr::const_ptr::<impl core::cmp::PartialEq for *const T>::eq
-     3978 (0.1%)     211 (0.1%)  script::dom::bindings::cell::DomRefCell<T>::try_borrow
+     3990 (0.1%)     399 (0.2%)  core::ptr::const_ptr::<impl core::cmp::PartialEq for *const T>::eq
      3971 (0.1%)      19 (0.0%)  crossbeam_channel::flavors::array::Channel<T>::start_send
@@ -238,6 +230,8 @@
      3560 (0.1%)       8 (0.0%)  <webxr_api::hand::_IMPL_DESERIALIZE_FOR_Finger::<impl serde::de::Deserialize for webxr_api::hand::Finger<J>>::deserialize::__Visitor<J> as serde::de::Visitor>::visit_seq
-     3528 (0.0%)     392 (0.2%)  core::ptr::const_ptr::<impl *const T>::add
-     3525 (0.0%)     235 (0.1%)  alloc::vec::Vec<T>::as_mut_ptr
-     3517 (0.0%)     238 (0.1%)  core::iter::traits::iterator::Iterator::find
-     3507 (0.0%)     167 (0.1%)  script::dom::bindings::inheritance::Castable::is
+     3528 (0.1%)     392 (0.2%)  core::ptr::const_ptr::<impl *const T>::add
+     3525 (0.1%)     235 (0.1%)  alloc::vec::Vec<T>::as_mut_ptr
+     3519 (0.1%)     391 (0.2%)  <script::dom::bindings::root::Dom<T> as core::ops::deref::Deref>::deref
+     3519 (0.1%)     391 (0.2%)  <script::dom::bindings::root::Root<T> as core::ops::deref::Deref>::deref
+     3517 (0.1%)     238 (0.1%)  core::iter::traits::iterator::Iterator::find
+     3507 (0.1%)     167 (0.1%)  script::dom::bindings::inheritance::Castable::is
      3468 (0.0%)       4 (0.0%)  <bluetooth_traits::_IMPL_DESERIALIZE_FOR_BluetoothCharacteristicMsg::<impl serde::de::Deserialize for bluetooth_traits::BluetoothCharacteristicMsg>::deserialize::__Visitor as serde::de::Visitor>::visit_seq
@@ -248,3 +242,2 @@
      3396 (0.0%)       4 (0.0%)  <serde::de::impls::ArrayVisitor<[T; 8]> as serde::de::Visitor>::visit_seq
-     3380 (0.0%)      52 (0.0%)  script::dom::bindings::refcounted::Trusted<T>::new::{{closure}}
      3360 (0.0%)      56 (0.0%)  <&mut bincode::ser::Serializer<W,O> as serde::ser::Serializer>::serialize_some
@@ -300,4 +293,5 @@
      2784 (0.0%)      16 (0.0%)  serde::ser::impls::<impl serde::ser::Serialize for (T0,T1,T2)>::serialize
-     2756 (0.0%)      53 (0.0%)  script::dom::bindings::refcounted::Trusted<T>::root::{{closure}}
      2755 (0.0%)      33 (0.0%)  <std::collections::hash::map::HashMap<K,V,S> as malloc_size_of::MallocSizeOf>::size_of
+     2738 (0.0%)     213 (0.1%)  script::dom::bindings::cell::DomRefCell<T>::try_borrow_mut
+     2712 (0.0%)     211 (0.1%)  script::dom::bindings::cell::DomRefCell<T>::try_borrow
      2702 (0.0%)     386 (0.2%)  script::dom::bindings::conversions::native_from_object_static::{{closure}}
@@ -329,3 +323,2 @@
      2441 (0.0%)       1 (0.0%)  script::dom::create::create_native_html_element
-     2415 (0.0%)     105 (0.1%)  script::dom::bindings::root::MutNullableDom<T>::get
      2412 (0.0%)      29 (0.0%)  alloc::sync::Arc<T>::new
@@ -334,2 +327,3 @@
      2409 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::PaintRenderingContext2DBinding::PaintRenderingContext2DBinding::drawImage::{{closure}}::{{closure}}
+     2400 (0.0%)     100 (0.1%)  script::dom::bindings::conversions::native_from_object
      2382 (0.0%)      26 (0.0%)  std::sys_common::poison::map_result
@@ -366,3 +360,2 @@
      2168 (0.0%)       4 (0.0%)  <webxr_api::frame::_IMPL_DESERIALIZE_FOR_Frame::<impl serde::de::Deserialize for webxr_api::frame::Frame>::deserialize::__Visitor as serde::de::Visitor>::visit_seq
-     2163 (0.0%)     103 (0.1%)  script::dom::bindings::root::MutNullableDom<T>::set
      2160 (0.0%)       8 (0.0%)  serde::ser::impls::<impl serde::ser::Serialize for (T0,T1,T2,T3,T4,T5)>::serialize
@@ -424,3 +417,2 @@
      1828 (0.0%)     181 (0.1%)  <core::iter::LoopState<C,B> as core::ops::try::Try>::from_error
-     1800 (0.0%)     100 (0.1%)  script::dom::bindings::conversions::native_from_object
      1800 (0.0%)     100 (0.1%)  script::dom::bindings::conversions::root_from_object
@@ -432,2 +424,3 @@
      1788 (0.0%)       4 (0.0%)  <net_traits::filemanager_thread::_IMPL_DESERIALIZE_FOR_SelectedFile::<impl serde::de::Deserialize for net_traits::filemanager_thread::SelectedFile>::deserialize::__Visitor as serde::de::Visitor>::visit_seq
+     1785 (0.0%)     105 (0.1%)  script::dom::bindings::root::MutNullableDom<T>::get
      1778 (0.0%)      61 (0.0%)  core::alloc::layout::Layout::for_value
@@ -493,2 +486,3 @@
      1561 (0.0%)      24 (0.0%)  <script::task_source::networking::NetworkingTaskSource as script::task_source::TaskSource>::queue_with_canceller
+     1560 (0.0%)      52 (0.0%)  script::dom::bindings::refcounted::Trusted<T>::new
      1560 (0.0%)      39 (0.0%)  script::dom::virtualmethods::VirtualMethods::cloning_steps
@@ -502,2 +496,3 @@
      1548 (0.0%)       4 (0.0%)  <net_traits::blob_url_store::_IMPL_DESERIALIZE_FOR_BlobBuf::<impl serde::de::Deserialize for net_traits::blob_url_store::BlobBuf>::deserialize::__Visitor as serde::de::Visitor>::visit_seq
+     1545 (0.0%)     103 (0.1%)  script::dom::bindings::root::MutNullableDom<T>::set
      1544 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::MouseEventBinding::MouseEventInit::new
@@ -508,3 +503,3 @@
      1528 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::PerformanceResourceTimingBinding::PerformanceResourceTimingBinding::CollectJSONAttributes
-     1518 (0.0%)      52 (0.0%)  <core::option::Option<T> as core::clone::Clone>::clone
+     1520 (0.0%)      52 (0.0%)  <core::option::Option<T> as core::clone::Clone>::clone
      1516 (0.0%)       4 (0.0%)  <script_traits::serializable::_IMPL_DESERIALIZE_FOR_FileBlob::<impl serde::de::Deserialize for script_traits::serializable::FileBlob>::deserialize::__Visitor as serde::de::Visitor>::visit_seq
@@ -514,3 +509,2 @@
      1504 (0.0%)       4 (0.0%)  <script_traits::_IMPL_DESERIALIZE_FOR_ConstellationControlMsg::<impl serde::de::Deserialize for script_traits::ConstellationControlMsg>::deserialize::__Visitor as serde::de::Visitor>::visit_enum
-     1499 (0.0%)     119 (0.1%)  core::ops::function::Fn::call
      1499 (0.0%)      60 (0.0%)  <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::next::{{closure}}
@@ -541,3 +535,2 @@
      1432 (0.0%)       4 (0.0%)  <script_traits::webdriver_msg::_IMPL_DESERIALIZE_FOR_WebDriverScriptCommand::<impl serde::de::Deserialize for script_traits::webdriver_msg::WebDriverScriptCommand>::deserialize::__Visitor as serde::de::Visitor>::visit_enum
-     1431 (0.0%)      53 (0.0%)  script::dom::bindings::refcounted::Trusted<T>::root
      1425 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::GPUCommandEncoderBinding::GPURenderPassDepthStencilAttachmentDescriptor::new
@@ -587,4 +580,4 @@
      1307 (0.0%)       1 (0.0%)  script::webdriver_handlers::jsval_to_webdriver
+     1305 (0.0%)       1 (0.0%)  <script::dom::servoparser::ParserContext as net_traits::FetchResponseListener>::process_response
      1304 (0.0%)       8 (0.0%)  script_traits::script_msg::_IMPL_SERIALIZE_FOR_ServiceWorkerMsg::<impl serde::ser::Serialize for script_traits::script_msg::ServiceWorkerMsg>::serialize
-     1304 (0.0%)       1 (0.0%)  <script::dom::servoparser::ParserContext as net_traits::FetchResponseListener>::process_response
      1300 (0.0%)      20 (0.0%)  core::sync::atomic::AtomicPtr<T>::compare_exchange
@@ -595,3 +588,2 @@
      1280 (0.0%)      16 (0.0%)  <&mut bincode::de::Deserializer<R,O> as serde::de::Deserializer>::deserialize_map
-     1278 (0.0%)      71 (0.0%)  <script::dom::bindings::root::MutNullableDom<T> as core::default::Default>::default
      1276 (0.0%)      34 (0.0%)  alloc::vec::Vec<T>::truncate
@@ -720,2 +712,3 @@
      1062 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextBinding::bufferData::{{closure}}::{{closure}}
+     1060 (0.0%)      53 (0.0%)  script::dom::bindings::refcounted::Trusted<T>::root
      1060 (0.0%)      18 (0.0%)  script::task_source::networking::NetworkingTaskSource::queue_unconditionally
@@ -870,2 +863,3 @@
       853 (0.0%)       3 (0.0%)  std::sync::mpsc::shared::Packet<T>::try_recv
+      852 (0.0%)      71 (0.0%)  <script::dom::bindings::root::MutNullableDom<T> as core::default::Default>::default
       851 (0.0%)       1 (0.0%)  script::dom::serviceworkerglobalscope::ServiceWorkerGlobalScope::run_serviceworker_scope::{{closure}}
@@ -922,3 +916,2 @@
       798 (0.0%)      57 (0.0%)  <alloc::vec::Vec<T> as core::ops::deref::DerefMut>::deref_mut
-      798 (0.0%)      42 (0.0%)  script::dom::bindings::root::MutNullableDom<T>::new
       798 (0.0%)       1 (0.0%)  <style::values::generics::transform::GenericTransformOperation<Angle,Number,Length,Integer,LoP> as style::values::generics::transform::ToMatrix>::to_3d_matrix
@@ -951,3 +944,2 @@
       784 (0.0%)       4 (0.0%)  <canvas_traits::webgl::_IMPL_DESERIALIZE_FOR_WebGLMsgSender::<impl serde::de::Deserialize for canvas_traits::webgl::WebGLMsgSender>::deserialize::__Visitor as serde::de::Visitor>::visit_seq
-      780 (0.0%)      52 (0.0%)  script::dom::bindings::refcounted::Trusted<T>::new
       780 (0.0%)       4 (0.0%)  <net_traits::filemanager_thread::_IMPL_DESERIALIZE_FOR_RelativePos::<impl serde::de::Deserialize for net_traits::filemanager_thread::RelativePos>::deserialize::__Visitor as serde::de::Visitor>::visit_seq
@@ -1120,3 +1112,3 @@
       670 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextBinding::uniform4i::{{closure}}::{{closure}}
-      668 (0.0%)       1 (0.0%)  <script::stylesheet_loader::StylesheetContext as net_traits::FetchResponseListener>::process_response_eof
+      669 (0.0%)       1 (0.0%)  <script::stylesheet_loader::StylesheetContext as net_traits::FetchResponseListener>::process_response_eof
       667 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::WorkerBinding::WorkerOptions::new
@@ -1371,2 +1363,3 @@
       547 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::HTMLTextAreaElementBinding::HTMLTextAreaElementBinding::setSelectionRange::{{closure}}::{{closure}}
+      546 (0.0%)      42 (0.0%)  script::dom::bindings::root::MutNullableDom<T>::new
       546 (0.0%)      30 (0.0%)  <alloc::sync::Arc<T> as core::ops::drop::Drop>::drop
@@ -1748,2 +1741,3 @@
       432 (0.0%)      48 (0.0%)  serde::ser::impls::<impl serde::ser::Serialize for alloc::vec::Vec<T>>::serialize
+      432 (0.0%)      18 (0.0%)  <script::dom::bindings::refcounted::Trusted<T> as core::clone::Clone>::clone
       432 (0.0%)       4 (0.0%)  <keyboard_types::modifiers::_IMPL_DESERIALIZE_FOR_Modifiers::<impl serde::de::Deserialize for keyboard_types::modifiers::Modifiers>::deserialize::__Visitor as serde::de::Visitor>::visit_seq
@@ -1829,3 +1823,2 @@
       417 (0.0%)       1 (0.0%)  script::script_module::ModuleTree::compile_module_script
-      416 (0.0%)      52 (0.0%)  script::dom::bindings::refcounted::TrustedReference::new
       416 (0.0%)       2 (0.0%)  script::dom::gpu::response_async
@@ -1905,3 +1898,2 @@
       396 (0.0%)      33 (0.0%)  <std::collections::hash::map::HashMap<K,V,S> as malloc_size_of::MallocShallowSizeOf>::shallow_size_of::{{closure}}
-      396 (0.0%)      18 (0.0%)  <script::dom::bindings::refcounted::Trusted<T> as core::clone::Clone>::clone
       396 (0.0%)       3 (0.0%)  html5ever::tokenizer::Tokenizer<Sink>::process_char_ref
@@ -2173,2 +2165,3 @@
       344 (0.0%)       4 (0.0%)  <<alloc::vec::DrainFilter<T,F> as core::ops::drop::Drop>::drop::BackshiftOnDrop<T,F> as core::ops::drop::Drop>::drop
+      344 (0.0%)       1 (0.0%)  <script::dom::dedicatedworkerglobalscope::DedicatedWorkerScriptMsg as script::task_queue::QueuedTaskConversion>::into_queued_task
       344 (0.0%)       1 (0.0%)  <script::dom::xrsession::XRSession as script::dom::bindings::codegen::Bindings::XRSessionBinding::XRSessionBinding::XRSessionMethods>::UpdateRenderState
@@ -2177,3 +2170,2 @@
       343 (0.0%)       3 (0.0%)  <headers::common::content_range::ContentRange as headers_core::Header>::decode::{{closure}}
-      343 (0.0%)       1 (0.0%)  <script::dom::dedicatedworkerglobalscope::DedicatedWorkerScriptMsg as script::task_queue::QueuedTaskConversion>::into_queued_task
       343 (0.0%)       1 (0.0%)  script::dom::windowproxy::WindowProxy::new_dissimilar_origin
@@ -2536,3 +2528,2 @@
       301 (0.0%)       1 (0.0%)  script::dom::globalscope::GlobalScope::broadcast_message_event
-      300 (0.0%)      15 (0.0%)  script::dom::bindings::root::LayoutDom<T>::upcast
       300 (0.0%)      10 (0.0%)  alloc::raw_vec::RawVec<T,A>::shrink::{{closure}}
@@ -2542,2 +2533,3 @@
       299 (0.0%)      23 (0.0%)  <alloc::boxed::Box<T> as script::dom::bindings::trace::JSTraceable>::trace
+      299 (0.0%)      19 (0.0%)  core::ops::function::Fn::call
       299 (0.0%)       1 (0.0%)  <script::dom::bindings::codegen::Bindings::MediaDevicesBinding::MediaTrackConstraintSet as mozjs::conversions::ToJSValConvertible>::to_jsval
@@ -3579,2 +3571,3 @@
       238 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::XMLHttpRequestBinding::XMLHttpRequestBinding::getResponseHeader::{{closure}}::{{closure}}
+      238 (0.0%)       1 (0.0%)  script::dom::bindings::utils::generic_call
       238 (0.0%)       1 (0.0%)  script::dom::htmlimageelement::HTMLImageElement::handle_loaded_image
@@ -3607,3 +3600,2 @@
       235 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::WheelEventBinding::WheelEventBinding::CreateInterfaceObjects
-      235 (0.0%)       1 (0.0%)  script::dom::bindings::utils::generic_call
       235 (0.0%)       1 (0.0%)  script::script_module::ModuleTree::resolve_requested_modules
@@ -3903,3 +3895,2 @@
       222 (0.0%)       1 (0.0%)  script::dom::nodelist::ChildrenList::children_changed::replace
-      221 (0.0%)      13 (0.0%)  <script::dom::bindings::root::Dom<T> as core::clone::Clone>::clone
       221 (0.0%)      13 (0.0%)  alloc::collections::vec_deque::VecDeque<T>::cap
@@ -4128,2 +4119,3 @@
       211 (0.0%)       1 (0.0%)  script::script_thread::ScriptThread::handle_visibility_change_msg
+      210 (0.0%)      15 (0.0%)  script::dom::bindings::root::LayoutDom<T>::upcast
       210 (0.0%)       7 (0.0%)  alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<BorrowType,K,V,alloc::collections::btree::node::marker::Internal>,alloc::collections::btree::node::marker::Edge>::descend
@@ -4444,3 +4436,2 @@
       209 (0.0%)      19 (0.0%)  <ipc_channel::ipc::IpcSender<T> as core::clone::Clone>::clone
-      209 (0.0%)      11 (0.0%)  script::dom::bindings::root::LayoutDom<T>::downcast
       209 (0.0%)       5 (0.0%)  core::option::Option<T>::unwrap_or_default
@@ -4549,2 +4540,3 @@
       206 (0.0%)       1 (0.0%)  script::dom::bindings::interface::create_named_constructors
+      206 (0.0%)       1 (0.0%)  script::dom::bindings::refcounted::LiveDOMReferences::addref
       206 (0.0%)       1 (0.0%)  script::dom::globalscope::GlobalScope::get_blob_bytes_or_file_id
@@ -4689,2 +4681,3 @@
       198 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::XRSubImageBinding::XRSubImageBinding::CreateInterfaceObjects
+      198 (0.0%)       1 (0.0%)  script::dom::bindings::conversions::private_from_proto_check::{{closure}}
       198 (0.0%)       1 (0.0%)  script::dom::stereopannernode::StereoPannerNode::new_inherited
@@ -4934,3 +4927,2 @@
       196 (0.0%)       1 (0.0%)  script::textinput::TextInput<T>::assert_ok_selection
-      195 (0.0%)      15 (0.0%)  script::dom::bindings::root::LayoutDom<T>::unsafe_get
       195 (0.0%)       5 (0.0%)  alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<BorrowType,K,V,NodeType>,alloc::collections::btree::node::marker::Edge>::right_kv
@@ -5190,2 +5182,3 @@
       188 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::XRWebGLLayerBinding::XRWebGLLayerBinding::getViewport::{{closure}}::{{closure}}
+      188 (0.0%)       1 (0.0%)  script::dom::bindings::conversions::private_from_proto_check
       188 (0.0%)       1 (0.0%)  script::dom::element::Element::nearest_activable_element
@@ -6511,4 +6504,6 @@
       144 (0.0%)       1 (0.0%)  xml5ever::tokenizer::XmlTokenizer<Sink>::run
+      143 (0.0%)      13 (0.0%)  <script::dom::bindings::root::Dom<T> as core::clone::Clone>::clone
       143 (0.0%)      13 (0.0%)  script::dom::bindings::trace::RootedVec<T>::new
       143 (0.0%)      11 (0.0%)  mozjs::rust::CustomAutoRooterGuard<T>::new
+      143 (0.0%)      11 (0.0%)  script::dom::bindings::root::LayoutDom<T>::downcast
       143 (0.0%)       7 (0.0%)  core::iter::adapters::Peekable<I>::new
@@ -6689,4 +6684,2 @@
       136 (0.0%)       1 (0.0%)  script::dom::webglframebuffer::WebGLFramebuffer::detach_binding
-      135 (0.0%)       8 (0.0%)  script::dom::bindings::cell::DomRefCell<T>::borrow_for_layout
-      135 (0.0%)       3 (0.0%)  script::dom::bindings::root::DomOnceCell<T>::init_once
       135 (0.0%)       3 (0.0%)  script::task_queue::TaskQueue<T>::release_tasks_for_fully_active_documents
@@ -7059,2 +7052,3 @@
       120 (0.0%)       5 (0.0%)  <core::ops::range::Range<usize> as core::slice::SliceIndex<[T]>>::get_unchecked
+      120 (0.0%)       3 (0.0%)  script::dom::bindings::root::DomOnceCell<T>::init_once
       120 (0.0%)       2 (0.0%)  script::dom::node::Node::delete_cell_or_row::{{closure}}
@@ -7471,2 +7465,3 @@
       106 (0.0%)       1 (0.0%)  xml5ever::tokenizer::char_ref::CharRefTokenizer::do_named
+      105 (0.0%)      15 (0.0%)  script::dom::bindings::root::LayoutDom<T>::unsafe_get
       105 (0.0%)       7 (0.0%)  script::dom::webgl_extensions::extensions::WebGLExtensions::is_enabled::{{closure}}
@@ -7499,3 +7494,2 @@
       104 (0.0%)       5 (0.0%)  ipc_channel::router::RouterProxy::route_ipc_receiver_to_crossbeam_sender::{{closure}}
-      104 (0.0%)       4 (0.0%)  script::dom::bindings::root::MutDom<T>::get
       104 (0.0%)       2 (0.0%)  alloc::collections::btree::node::Handle<alloc::collections::btree::node::NodeRef<alloc::collections::btree::node::marker::Mut,K,V,NodeType>,alloc::collections::btree::node::marker::KV>::kv_mut
@@ -8021,3 +8015,2 @@
        90 (0.0%)       9 (0.0%)  std::collections::hash::map::HashMap<K,V,S>::get_mut
-       90 (0.0%)       5 (0.0%)  script::dom::bindings::root::Dom<T>::to_layout
        90 (0.0%)       4 (0.0%)  <boxfnonce::send::SendBoxFnOnce<(A1,),Result> as core::convert::From<F>>::from
@@ -8153,2 +8146,3 @@
        87 (0.0%)       9 (0.0%)  <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::next
+       87 (0.0%)       8 (0.0%)  script::dom::bindings::cell::DomRefCell<T>::borrow_for_layout
        87 (0.0%)       4 (0.0%)  lazy_static::lazy::Lazy<T>::get::{{closure}}
@@ -9228,2 +9222,3 @@
        80 (0.0%)       4 (0.0%)  mozjs_sys::jsimpls::<impl mozjs_sys::jsgc::Rooted<T>>::add_to_root_stack
+       80 (0.0%)       4 (0.0%)  script::dom::bindings::root::MutDom<T>::get
        80 (0.0%)       3 (0.0%)  hashbrown::rustc_entry::RustcOccupiedEntry<K,V>::remove_entry
@@ -9843,3 +9838,2 @@
        76 (0.0%)       4 (0.0%)  mozjs_sys::jsimpls::<impl mozjs_sys::jsgc::Rooted<T>>::remove_from_root_stack
-       76 (0.0%)       4 (0.0%)  script::dom::bindings::root::MutDom<T>::new
        76 (0.0%)       2 (0.0%)  <script::dom::htmlinputelement::HTMLInputElement as script::dom::activation::Activatable>::activation_behavior::{{closure}}
@@ -9909,2 +9903,3 @@
        75 (0.0%)       1 (0.0%)  script::dom::customelementregistry::CustomElementDefinition::new
+       75 (0.0%)       1 (0.0%)  script::dom::dedicatedworkerglobalscope::AutoWorkerReset::new
        75 (0.0%)       1 (0.0%)  script::dom::document::Document::asap_script_loaded
@@ -9936,3 +9931,2 @@
        74 (0.0%)       1 (0.0%)  script::dom::customelementregistry::CustomElementReactionStack::enqueue_element
-       74 (0.0%)       1 (0.0%)  script::dom::dedicatedworkerglobalscope::AutoWorkerReset::new
        74 (0.0%)       1 (0.0%)  script::dom::domexception::DOMException::new
@@ -11792,2 +11786,3 @@
        63 (0.0%)       1 (0.0%)  script::dom::bindings::interface::create_callback_interface_object
+       63 (0.0%)       1 (0.0%)  script::dom::bindings::refcounted::Trusted<T>::new::add_live_reference::{{closure}}
        63 (0.0%)       1 (0.0%)  script::dom::broadcastchannel::BroadcastChannel::new_inherited
@@ -12596,2 +12591,3 @@
        60 (0.0%)       6 (0.0%)  core::slice::<impl [T]>::is_empty
+       60 (0.0%)       5 (0.0%)  script::dom::bindings::root::Dom<T>::to_layout
        60 (0.0%)       5 (0.0%)  script::dom::node::containing_shadow_root
@@ -12998,2 +12994,3 @@
        58 (0.0%)       1 (0.0%)  <style::stylesheet_set::DocumentStylesheetSet<S> as script::dom::bindings::trace::JSTraceable>::trace
+       58 (0.0%)       1 (0.0%)  core::result::Result<T,E>::or_else
        58 (0.0%)       1 (0.0%)  mozjs::rust::wrappers::JS_ForwardGetPropertyTo
@@ -13597,3 +13594,2 @@
        57 (0.0%)       1 (0.0%)  script::dom::bindings::refcounted::LiveDOMReferences::addref_promise
-       57 (0.0%)       1 (0.0%)  script::dom::bindings::root::RootCollection::unroot
        57 (0.0%)       1 (0.0%)  script::dom::bluetoothpermissionresult::BluetoothPermissionResult::new_inherited
@@ -14149,2 +14145,3 @@
        52 (0.0%)       4 (0.0%)  script::dom::bindings::iterable::IterableIterator<T>::Next::{{closure}}
+       52 (0.0%)       4 (0.0%)  script::dom::bindings::root::MutDom<T>::new
        52 (0.0%)       2 (0.0%)  <script::dom::bindings::weakref::DOMTracker<T> as malloc_size_of::MallocSizeOf>::size_of
@@ -14383,2 +14380,3 @@
        51 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::TextMetricsBinding::TextMetricsBinding::ConstructorEnabled
+       51 (0.0%)       1 (0.0%)  script::dom::bindings::root::RootCollection::unroot
        51 (0.0%)       1 (0.0%)  script::dom::bindings::trace::RootedTraceableSet::trace
@@ -14760,2 +14758,3 @@
        48 (0.0%)       1 (0.0%)  script::dom::bindings::proxyhandler::get_expando_object
+       48 (0.0%)       1 (0.0%)  script::dom::bindings::refcounted::Trusted<T>::root::validate::{{closure}}
        48 (0.0%)       1 (0.0%)  script::dom::document::update_with_current_time_ms
@@ -16100,3 +16099,2 @@
        42 (0.0%)       6 (0.0%)  alloc::collections::vec_deque::VecDeque<T>::capacity
-       42 (0.0%)       3 (0.0%)  <script::dom::bindings::root::DomOnceCell<T> as core::default::Default>::default
        42 (0.0%)       3 (0.0%)  <std::collections::hash::map::HashMap<K,V,S> as core::iter::traits::collect::IntoIterator>::into_iter
@@ -16487,3 +16485,2 @@
        40 (0.0%)       2 (0.0%)  core::iter::adapters::copy_try_fold::{{closure}}
-       40 (0.0%)       2 (0.0%)  script::dom::bindings::root::MutDom<T>::set
        40 (0.0%)       2 (0.0%)  script::dom::htmlformelement::HTMLFormElement::set_url_query_pairs::{{closure}}
@@ -16736,3 +16733,2 @@
        38 (0.0%)       2 (0.0%)  html5ever::tree_builder::TreeBuilder<Handle,Sink>::is_marker_or_open::{{closure}}
-       38 (0.0%)       2 (0.0%)  script::dom::bindings::root::MutNullableDom<T>::get_inner_as_layout
        38 (0.0%)       2 (0.0%)  script::dom::textcontrol::TextControlSelection<E>::new
@@ -24328,2 +24324,3 @@
        28 (0.0%)       2 (0.0%)  mozjs_sys::jsgc::<impl core::convert::From<T> for mozjs_sys::generated::root::JS::Handle<<T as mozjs_sys::jsgc::IntoHandle>::Target>>::from
+       28 (0.0%)       2 (0.0%)  script::dom::bindings::root::MutDom<T>::set
        28 (0.0%)       2 (0.0%)  script::dom::htmllinkelement::HTMLLinkElement::handle_stylesheet_url::{{closure}}
@@ -24848,2 +24845,3 @@
        26 (0.0%)       2 (0.0%)  script::dom::bindings::num::Finite<T>::wrap
+       26 (0.0%)       2 (0.0%)  script::dom::bindings::root::MutNullableDom<T>::get_inner_as_layout
        26 (0.0%)       2 (0.0%)  script::dom::document::Document::get_anchor_by_name::{{closure}}::{{closure}}
@@ -30121,3 +30119,2 @@
        26 (0.0%)       1 (0.0%)  script::dom::bindings::root::ThreadLocalStackRoots::new::{{closure}}
-       26 (0.0%)       1 (0.0%)  script::dom::bindings::utils::generic_call::{{closure}}
        26 (0.0%)       1 (0.0%)  script::dom::biquadfilternode::<impl core::convert::From<script::dom::bindings::codegen::Bindings::BiquadFilterNodeBinding::BiquadFilterType> for servo_media_audio::biquad_filter_node::FilterType>::from
@@ -30410,2 +30407,3 @@
        24 (0.0%)       3 (0.0%)  <core::ptr::non_null::NonNull<T> as core::convert::From<core::ptr::unique::Unique<T>>>::from
+       24 (0.0%)       3 (0.0%)  <script::dom::bindings::root::DomOnceCell<T> as core::default::Default>::default
        24 (0.0%)       3 (0.0%)  hashbrown::rustc_entry::RustcOccupiedEntry<K,V>::get_mut
@@ -30581,3 +30579,2 @@
        23 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::RTCPeerConnectionBinding::RTCConfiguration::empty
-       23 (0.0%)       1 (0.0%)  script::dom::bindings::root::RootCollection::root
        23 (0.0%)       1 (0.0%)  script::dom::cssrulelist::CSSRuleList::new
@@ -30733,4 +30730,2 @@
        22 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::PrototypeList::proto_id_to_name
-       22 (0.0%)       1 (0.0%)  script::dom::bindings::root::LayoutDom<T>::get_jsobject
-       22 (0.0%)       1 (0.0%)  script::dom::bindings::root::Root<T>::new::add_to_root_list
        22 (0.0%)       1 (0.0%)  script::dom::document::Document::get_anchor_by_name::{{closure}}
@@ -31457,3 +31452,2 @@
        20 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLContextAttributes::empty
-       20 (0.0%)       1 (0.0%)  script::dom::bindings::root::LayoutDom<script::dom::node::Node>::from_trusted_node_address
        20 (0.0%)       1 (0.0%)  script::dom::canvasgradient::CanvasGradient::new
@@ -32224,3 +32218,2 @@
        19 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::RTCPeerConnectionBinding::RTCOfferOptions::empty
-       19 (0.0%)       1 (0.0%)  script::dom::bindings::root::RootCollection::new
        19 (0.0%)       1 (0.0%)  script::dom::customelementregistry::CustomElementReaction::invoke::{{closure}}
@@ -32327,3 +32320,2 @@
        18 (0.0%)       1 (0.0%)  <script::dom::bindings::codegen::Bindings::PopStateEventBinding::PopStateEventInit as core::default::Default>::default
-       18 (0.0%)       1 (0.0%)  <script::dom::bindings::root::LayoutDom<T> as core::clone::Clone>::clone
        18 (0.0%)       1 (0.0%)  <script::dom::bindings::root::LayoutDom<script::dom::element::Element> as script::dom::element::LayoutElementHelpers>::get_attr_val_for_layout
@@ -32606,2 +32598,3 @@
        17 (0.0%)       1 (0.0%)  script::dom::bindings::reflector::Reflector::get_jsobject
+       17 (0.0%)       1 (0.0%)  script::dom::bindings::root::RootCollection::root
        17 (0.0%)       1 (0.0%)  script::dom::client::Client::new
@@ -32995,3 +32988,2 @@
        16 (0.0%)       1 (0.0%)  script::dom::audionode::<impl core::convert::From<script::dom::bindings::codegen::Bindings::AudioNodeBinding::ChannelCountMode> for servo_media_audio::node::ChannelCountMode>::from
-       16 (0.0%)       1 (0.0%)  script::dom::bindings::cell::DomRefCell<T>::borrow_for_script_deallocation
        16 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::ANGLEInstancedArraysBinding::ANGLEInstancedArraysBinding::_trace
@@ -33386,2 +33378,4 @@
        16 (0.0%)       1 (0.0%)  script::dom::bindings::reflector::Reflector::new
+       16 (0.0%)       1 (0.0%)  script::dom::bindings::root::LayoutDom<T>::get_jsobject
+       16 (0.0%)       1 (0.0%)  script::dom::bindings::root::Root<T>::new::add_to_root_list
        16 (0.0%)       1 (0.0%)  script::dom::bindings::structuredclone::free_transfer_callback
@@ -33684,2 +33678,4 @@
        15 (0.0%)       1 (0.0%)  script::dom::bindings::proxyhandler::is_extensible
+       15 (0.0%)       1 (0.0%)  script::dom::bindings::refcounted::Trusted<T>::new::add_live_reference
+       15 (0.0%)       1 (0.0%)  script::dom::bindings::refcounted::Trusted<T>::root::validate
        15 (0.0%)       1 (0.0%)  script::dom::bindings::settings_stack::AutoEntryScript::new
@@ -33974,2 +33970,3 @@
        14 (0.0%)       1 (0.0%)  script::dom::bindings::refcounted::TrustedPromise::root
+       14 (0.0%)       1 (0.0%)  script::dom::bindings::root::LayoutDom<script::dom::node::Node>::from_trusted_node_address
        14 (0.0%)       1 (0.0%)  script::dom::bindings::root::STACK_ROOTS::__init
@@ -35425,2 +35422,3 @@
        13 (0.0%)       1 (0.0%)  script::dom::bindings::conversions::<impl mozjs::conversions::ToJSValConvertible for script::dom::bindings::str::USVString>::to_jsval
+       13 (0.0%)       1 (0.0%)  script::dom::bindings::root::RootCollection::new
        13 (0.0%)       1 (0.0%)  script::dom::bindings::str::DOMString::is_valid_email_address_string
@@ -35568,2 +35566,3 @@
        12 (0.0%)       1 (0.0%)  <script::dom::bindings::num::Finite<T> as core::clone::Clone>::clone
+       12 (0.0%)       1 (0.0%)  <script::dom::bindings::root::LayoutDom<T> as core::clone::Clone>::clone
        12 (0.0%)       1 (0.0%)  <script::dom::bindings::root::LayoutDom<script::dom::attr::Attr> as script::dom::attr::AttrHelpersForLayout>::as_str
@@ -37610,3 +37609,2 @@
        10 (0.0%)       1 (0.0%)  style::stylesheet_set::AuthorStylesheetSet<S>::get
-       10 (0.0%)       1 (0.0%)  style::thread_state::ThreadState::contains
        10 (0.0%)       1 (0.0%)  style::values::specified::<impl core::convert::From<style::values::specified::Number> for f64>::from
@@ -38220,2 +38218,4 @@
         9 (0.0%)       1 (0.0%)  script::dom::bindings::root::LayoutDom<T>::to_layout_slice
+        9 (0.0%)       1 (0.0%)  script::dom::bindings::root::assert_in_layout
+        9 (0.0%)       1 (0.0%)  script::dom::bindings::root::assert_in_script
         9 (0.0%)       1 (0.0%)  script::dom::bindings::str::<impl core::convert::From<script::dom::bindings::str::DOMString> for string_cache::atom::Atom<markup5ever::LocalNameStaticSet>>::from
@@ -38529,2 +38529,3 @@
         8 (0.0%)       1 (0.0%)  script::dom::bindings::callback::CallbackInterface::new
+        8 (0.0%)       1 (0.0%)  script::dom::bindings::cell::DomRefCell<T>::borrow_for_script_deallocation
         8 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::BlobBinding::BlobPropertyBag::empty
@@ -39538,2 +39539,3 @@
         7 (0.0%)       1 (0.0%)  script::dom::bindings::codegen::Bindings::GPURenderPipelineBinding::GPUBlendDescriptor::empty
+        7 (0.0%)       1 (0.0%)  script::dom::bindings::refcounted::TrustedReference::new
         7 (0.0%)       1 (0.0%)  script::dom::bindings::str::ByteString::len

</details>

jdm

comment created time in 10 hours

pull request commentservo/servo

Prefix `on` for function name of inline events

@bors-servo retry

  • #23290
CYBAI

comment created time in 10 hours

issue commentservo/servo

Investigate possibly-pathological amounts of LLVM IR with cargo-llvm-lines

I suspect at least part of the LocalKey::with/LocalKey::try_with comes from code like https://github.com/servo/ipc-channel/blob/7e0b39ce7f9c6275eb640ceea68c11c764d94acb/src/ipc.rs#L595-L613. I've removed all of the uses of thread locals defined in script from generic code in #26790.

SimonSapin

comment created time in 10 hours

pull request commentservo/servo

Reduce scope of generic code in script

r? @SimonSapin

jdm

comment created time in 10 hours

PR opened servo/servo

Reduce scope of generic code in script

Combined, these changes account for almost 100k lines of generated code in a debug build for the script crate.


  • [x] ./mach build -d does not report any errors
  • [x] ./mach test-tidy does not report any errors
  • [x] There are tests for these changes
+111 -65

0 comment

5 changed files

pr created time in 10 hours

push eventjdm/servo

Josh Matthews

commit sha 30c35bc100de97b595f951f27f7f52aded4ee9fb

Remove unnecessary generic from private_from_proto_check.

view details

Josh Matthews

commit sha 5d5deb0040bdb84ad52375fecacf2303b00ae252

Move thread state checks out of generic methods to reduce generated code duplication.

view details

Josh Matthews

commit sha c6201168916b6a35b668588cc5ad75085609d74f

Extract some thread local use from generic code.

view details

push time in 10 hours

create barnchjdm/servo

branch : fewer-generics

created branch time in 10 hours

pull request commentservo/servo

Update raqote and associated dependencies

@bors-servo r+ It sounds like we should file an issue on lyon_geom.

atouchet

comment created time in 11 hours

Pull request review commentservo/servo

Improvements to animation keyframe computation

 impl Animation {             None => return,         }; -        let update_with_single_keyframe_style = |style, computed_style: &Arc<ComputedValues>| {+        let update_with_single_keyframe_style = |style, keyframe: &ComputedKeyframe| {             let mutable_style = Arc::make_mut(style);-            for property in self.properties_changed.iter().filter_map(|longhand| {-                AnimationValue::from_computed_values(longhand, &**computed_style)-            }) {-                property.set_in_style_for_servo(mutable_style);+            for value in keyframe.values.iter() {+                value.set_in_style_for_servo(mutable_style);             }         }; -        // TODO: How could we optimise it? Is it such a big deal?-        let prev_keyframe_style = &prev_keyframe.style;-        let next_keyframe_style = &next_keyframe.style;         if total_progress <= 0.0 {-            update_with_single_keyframe_style(style, &prev_keyframe_style);+            update_with_single_keyframe_style(style, &prev_keyframe);             return;         }          if total_progress >= 1.0 {-            update_with_single_keyframe_style(style, &next_keyframe_style);+            update_with_single_keyframe_style(style, &next_keyframe);             return;         }          let relative_timespan =-            (next_keyframe.step.start_percentage.0 - prev_keyframe.step.start_percentage.0).abs();+            (next_keyframe.start_percentage - prev_keyframe.start_percentage).abs();         let relative_duration = relative_timespan as f64 * duration;         let last_keyframe_ended_at = match self.current_direction {             AnimationDirection::Normal => {-                self.started_at + (duration * prev_keyframe.step.start_percentage.0 as f64)+                self.started_at + (duration * prev_keyframe.start_percentage as f64)             },             AnimationDirection::Reverse => {-                self.started_at + (duration * (1. - prev_keyframe.step.start_percentage.0 as f64))+                self.started_at + (duration * (1. - prev_keyframe.start_percentage as f64))             },             _ => unreachable!(),         };-        let relative_progress = (now - last_keyframe_ended_at) / relative_duration; +        let relative_progress = (now - last_keyframe_ended_at) / relative_duration;         let mut new_style = (**style).clone();-        let mut update_style_for_longhand = |longhand| {-            let from = AnimationValue::from_computed_values(longhand, &prev_keyframe_style)?;-            let to = AnimationValue::from_computed_values(longhand, &next_keyframe_style)?;+        for (index, from) in prev_keyframe.values.iter().enumerate() {             PropertyAnimation {-                from,-                to,+                from: from.clone(),+                to: next_keyframe.values[index].clone(),

Is there any benefit to writing this as:

for (from, to) in prev_keyframe.values.iter().zip(next_keyframe.values.iter()) {
    PropertyAnimation {
        from: from.clone(),
        to: to.clone(),
        ...
    }
    ...
}
mrobinson

comment created time in 12 hours

pull request commentservo/servo

Prefix `on` for function name of inline events

@bors-servo r+ I love small patches that fix tests.

CYBAI

comment created time in 12 hours

pull request commentservo/servo

Introduce ElementCSSInlineStyle for SVGElement

@bors-servo r+

CYBAI

comment created time in 12 hours

pull request commentservo/servo

build(deps): bump proc-macro2 from 0.4.26 to 0.4.30

@bors-servo retry

dependabot-preview[bot]

comment created time in 12 hours

Pull request review commentservo/servo

Move away from Promise.all way and check if we need to finish manually

 impl HTMLScriptElement {         let global = window.upcast::<GlobalScope>();         let _aes = AutoEntryScript::new(&global); -        if script.external {+        let module_tree = if script.external {             let module_map = global.get_module_map().borrow();--            if let Some(module_tree) = module_map.get(&script.url) {-                // Step 6.-                {-                    let module_error = module_tree.get_error().borrow();-                    if module_error.is_some() {-                        module_tree.report_error(&global);-                        return;-                    }-                }--                let module_record = module_tree.get_record().borrow();-                if let Some(record) = &*module_record {-                    let evaluated = module_tree.execute_module(global, record.handle());--                    if let Err(exception) = evaluated {-                        module_tree.set_error(Some(exception.clone()));-                        module_tree.report_error(&global);-                        return;-                    }-                }+            match module_map.get(&script.url) {+                Some(tree) => tree.clone(),+                None => unreachable!(+                    "We should have the module in module map when we're going to run it"+                ),             }         } else {             let inline_module_map = global.get_inline_module_map().borrow();+            match inline_module_map.get(&self.id.clone()) {+                Some(tree) => tree.clone(),+                None => unreachable!(+                    "We should have the module in module map when we're going to run it"+                ),+            }+        }; -            if let Some(module_tree) = inline_module_map.get(&self.id.clone()) {-                // Step 6.-                {-                    let module_error = module_tree.get_error().borrow();-                    if module_error.is_some() {-                        module_tree.report_error(&global);-                        return;-                    }-                }+        // Step 6.+        {+            let module_error = module_tree.get_rethrow_error().borrow();+            let network_error = module_tree.get_network_error().borrow();+            if module_error.is_some() && network_error.is_none() {+                module_tree.report_error(&global);+                return;+            }+        } -                let module_record = module_tree.get_record().borrow();-                if let Some(record) = &*module_record {-                    let evaluated = module_tree.execute_module(global, record.handle());+        let module_record = module_tree.get_record().borrow();+        if let Some(record) = &*module_record {+            let evaluated = module_tree.execute_module(global, record.handle());

I think it would be useful to avoid having this borrow active while calling execute_module. You can see how I accomplished this in https://github.com/jdm/servo/commit/108664df20d5eaa429868ebdd62d9d29181360eb#diff-d171ba3dd3bb533163840f0c787a3095R840.

CYBAI

comment created time in 12 hours

pull request commentservo/servo

[WIP] Add support for WebGL2 TexImage2D

I'm getting INVALID_OPERATION from the GL side on every call. I'm stuck and not sure about the current implementation. Looking for some advice.

The reason this occurs is the pixel unpack buffer is bound when we invoke glTexImage2d. This causes us to treat the pointer passed as the pixel data buffer to be used as an offset into the bound pixel unpack buffer, instead.

The following patch works around this:

diff --git a/components/canvas/webgl_thread.rs b/components/canvas/webgl_thread.rs
index 9b7b4ed468..da9a502d1d 100644
--- a/components/canvas/webgl_thread.rs
+++ b/components/canvas/webgl_thread.rs
@@ -1586,6 +1586,11 @@ impl WebGLImpl {
                 );

                 gl.pixel_store_i(gl::UNPACK_ALIGNMENT, unpacking_alignment as i32);
+                let mut buffer = [0];
+                unsafe {
+                    gl.get_integer_v(gl::PIXEL_UNPACK_BUFFER_BINDING, &mut buffer);
+                }
+                gl.bind_buffer(gl::PIXEL_UNPACK_BUFFER, 0);
                 gl.tex_image_2d(
                     target,
                     level as i32,
@@ -1597,6 +1602,7 @@ impl WebGLImpl {
                     effective_data_type,
                     Some(&pixels),
                 );
+                gl.bind_buffer(gl::PIXEL_UNPACK_BUFFER, buffer[0] as u32);
             },
             WebGLCommand::TexSubImage2D {
                 target,

However, it would be more efficient to use a different model - instead of retrieving the pixels from the unpack buffer, then sending those pixels to be treated like any other 2d texture, I think we should make the WebGLRenderingContext::tex_image_2d take an enum argument like:

enum TexSource {
    Pixels(TexPixels),
    BufferOffset(i64),
}

and modify WebGLThread to handle that case appropriately.

imiklos

comment created time in 12 hours

pull request commentservo/servo

Remove support for energy and heartbeats profiling

@bors-servo r+

SimonSapin

comment created time in 13 hours

pull request commentservo/servo

build(deps): bump unicode-normalization from 0.1.5 to 0.1.12

@bors-servo retry

  • #26717
dependabot-preview[bot]

comment created time in 13 hours

Pull request review commentservo/servo

Remove support for energy and heartbeats profiling

 This crate hosts the Servo profiler. Its APIs can be found in the `profile_traits` crate. --# Heartbeats--Heartbeats allow fine-grained timing and energy profiling of Servo tasks specified in the `ProfilerCategory` enum (see the `profile_traits::time` module).-When enabled, a heartbeat is issued for each profiler category event.-They also compute the average performance and power for three levels of granularity:--* Global: the entire runtime.-* Window: the category's last `N` events, where `N` is the size of a sliding window.-* Instant: the category's most recent event.--## Enabling--Heartbeats are enabled for categories by setting proper environment variables prior to launching Servo.--For each desired category, set the `SERVO_HEARTBEAT_ENABLE_MyCategory` environment variable to any value (an empty string will do) where `MyCategory` is the `ProfilerCategory` name exactly as it appears in the enum.-For example:--```-SERVO_HEARTBEAT_ENABLE_LayoutPerform=""-```--Then set the `SERVO_HEARTBEAT_LOG_MyCategory` environment variable so Servo knows where to write the results.-For example:--```-SERVO_HEARTBEAT_LOG_LayoutPerform="/tmp/heartbeat-LayoutPerform.log"-```--The target directory must already exist and be writeable.-Results are written to the log file every `N` heartbeats and when the profiler shuts down.--You can optionally specify the size of the sliding window by setting `SERVO_HEARTBEAT_WINDOW_MyCategory` to a positive integer value.-The default value is `20`.-For example:--```-SERVO_HEARTBEAT_WINDOW_LayoutPerform=20-```--The window size is also how many heartbeats will be stored in memory.- ## Log Files

This whole file can be removed; it only documents the logs for heartbeat profiling.

SimonSapin

comment created time in 14 hours

pull request commentservo/servo

Remove support for energy and heartbeats profiling

error[E0061]: this function takes 5 arguments but 7 arguments were supplied
    --> components/layout_thread/lib.rs:1453:13
     |
1453 |             profile_time::send_profile_data(
     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 5 arguments
1454 |                 profile_time::ProfilerCategory::LayoutTextShaping,
     |                 -------------------------------------------------
1455 |                 self.profiler_metadata(),
     |                 ------------------------
1456 |                 &self.time_profiler_chan,
     |                 ------------------------
1457 |                 0,
     |                 -
1458 |                 text_shaping_time as u64,
     |                 ------------------------
1459 |                 0,
     |                 -
1460 |                 0,
     |                 - supplied 7 arguments
error: aborting due to previous error
For more information about this error, try `rustc --explain E0061`.
error: could not compile `layout_thread_2013`.
SimonSapin

comment created time in 14 hours

Pull request review commentservo/tendril

Resolve UB found by miri

 where             }         }     }++    unsafe fn raw_len(&self) -> u32 {+        (*self.buf.get()).heap.len+    }++    unsafe fn set_len(&mut self, len: u32) {+        (*self.buf.get()).heap.len = len;+    }++    unsafe fn aux(&self) -> u32 {+        (*self.buf.get()).heap.aux+    }++    unsafe fn set_aux(&self, aux: u32) {

Should this be &mut self like set_len?

xfix

comment created time in 14 hours

issue commentservo/servo

Implement SVGElement.style

Yes, that should help.

CYBAI

comment created time in 15 hours

issue commentservo/servo

Implement SVGElement.style

I have a suspicion that the element returned from createElementNS is a generic Element, rather than an SVGElement. It's worth checking if that is the case.

CYBAI

comment created time in 15 hours

pull request commentservo/servo

build(deps): bump proc-macro-nested from 0.1.3 to 0.1.4

@bors-servo r+

dependabot-preview[bot]

comment created time in 15 hours

pull request commentservo/servo

build(deps): bump unicode-normalization from 0.1.5 to 0.1.12

@bors-servo r+

dependabot-preview[bot]

comment created time in 15 hours

PR closed servo/servo

build(deps): bump energy-monitor from 0.2.0 to 0.2.1 S-awaiting-review dependencies

Bumps energy-monitor from 0.2.0 to 0.2.1. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/energymon/energy-monitor-rs/commit/a77d8eb5e39075fb6e449a09d5b9bb78a8878957"><code>a77d8eb</code></a> Push version to 0.2.1; fix license field syntax in Cargo.toml</li> <li><a href="https://github.com/energymon/energy-monitor-rs/commit/2d30cf72fc27890c7b0a229f14d85d31e0d78ef5"><code>2d30cf7</code></a> Add info about project source; update dependency example</li> <li><a href="https://github.com/energymon/energy-monitor-rs/commit/5aa313ee3199454cbaecc3d006c78f1bc8765001"><code>5aa313e</code></a> Add AppVeyor config</li> <li>See full diff in <a href="https://github.com/energymon/energy-monitor-rs/compare/v0.2.0...v0.2.1">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

</details>

+2 -2

0 comment

1 changed file

dependabot-preview[bot]

pr closed time in 15 hours

PR closed servo/servo

build(deps): bump nodrop from 0.1.12 to 0.1.14 S-awaiting-review dependencies

Bumps nodrop from 0.1.12 to 0.1.14. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/bluss/arrayvec/commit/c110696a963b7f3be9410b1a421a2c32a0015ed2"><code>c110696</code></a> nodrop, nodrop-union: Mark deprecated</li> <li><a href="https://github.com/bluss/arrayvec/commit/87ad71366c7452bfabf9bcd0f9f1714e279a4016"><code>87ad713</code></a> DOC: Update README</li> <li><a href="https://github.com/bluss/arrayvec/commit/ea591bc2de5202790c600638c96efa392413001c"><code>ea591bc</code></a> 0.5.0</li> <li><a href="https://github.com/bluss/arrayvec/commit/70a9ad67af52de0c429badbf7af9b2e9c1eb12a1"><code>70a9ad6</code></a> DOC: Copyedit the Array doc comment again</li> <li><a href="https://github.com/bluss/arrayvec/commit/abf1bb5a0a792c32ea176c5d9cd32ccb1b8f6c3f"><code>abf1bb5</code></a> TEST: Update .travis for serde-1 to serde rename</li> <li><a href="https://github.com/bluss/arrayvec/commit/46ba20ed38372f6dc98be3ba6e24a2691634dc66"><code>46ba20e</code></a> DOC: Update Readme for 0.5</li> <li><a href="https://github.com/bluss/arrayvec/commit/babae41d21e9ed03bbf7503ddfa0125d4158eef3"><code>babae41</code></a> DOC: Add safety documentation on Array trait</li> <li><a href="https://github.com/bluss/arrayvec/commit/ba4d98c5c70ce89798cf0fb9acdfaeb4cf5aa713"><code>ba4d98c</code></a> TEST: Update tests for passing without std feature</li> <li><a href="https://github.com/bluss/arrayvec/commit/cac792e6336975a979221aad062777574358d196"><code>cac792e</code></a> API: Rename feature flag serde-1 to serde</li> <li><a href="https://github.com/bluss/arrayvec/commit/8c3dfbc2b8cbcfdbb32ba935fba0fb447d91767a"><code>8c3dfbc</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/bluss/arrayvec/issues/132">#132</a> from bluss/range-bounds</li> <li>Additional commits viewable in <a href="https://github.com/bluss/arrayvec/compare/nodrop-0.1.12...nodrop-0.1.14">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

</details>

+2 -2

0 comment

1 changed file

dependabot-preview[bot]

pr closed time in 15 hours

PR closed servo/servo

build(deps): bump libflate from 0.1.26 to 0.1.27 S-awaiting-review dependencies

Bumps libflate from 0.1.26 to 0.1.27. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sile/libflate/commit/193fd65e34bf325826bb314fff835d9d14d7addf"><code>193fd65</code></a> Bump version to v0.1.27</li> <li><a href="https://github.com/sile/libflate/commit/0170b0cf843dc46d3b1cc47498412f40162c4883"><code>0170b0c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/sile/libflate/issues/43">#43</a> from sile/apply-cargo-fix</li> <li><a href="https://github.com/sile/libflate/commit/de4dbee45e359f49b666b6e0c092208b5ade4fd6"><code>de4dbee</code></a> Apply <code>cargo fix</code></li> <li>See full diff in <a href="https://github.com/sile/libflate/compare/0.1.26...0.1.27">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

</details>

+2 -2

0 comment

1 changed file

dependabot-preview[bot]

pr closed time in 15 hours

pull request commentservo/servo

build(deps): bump proc-macro2 from 0.4.26 to 0.4.30

@bors-servo r+

dependabot-preview[bot]

comment created time in 15 hours

pull request commentservo/servo

build(deps): bump gstreamer from 0.15.5 to 0.15.6

@bors-servo r+

dependabot-preview[bot]

comment created time in 15 hours

pull request commentservo/servo

build(deps): bump tokio-io from 0.1.8 to 0.1.13

@bors-servo r+

dependabot-preview[bot]

comment created time in 15 hours

pull request commentservo/servo

Implement GPURenderPassEncoder

@bors-servo retry

kunalmohan

comment created time in a day

pull request commentservo/font-kit

Bump version from 0.7.1 to 0.8.0

Published.

twilco

comment created time in a day

created tagservo/font-kit

tagv0.8.0

A cross-platform font loading library written in Rust

created time in a day

issue commentservo/servo

Body IDL harness tests failing while interfaces appear implemented

I tried commenting out some of the metadata entries for blob/formdata etc.

  FAIL Response interface: operation blob() - assert_unreached: Throws "TypeError: "this" object does not implement interface Response." instead of rejecting promise Reached unreachable code
throwOrReject/<@http://web-platform.test:8000/resources/idlharness.js:116:33
Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1977:25
throwOrReject@http://web-platform.test:8000/resources/idlharness.js:115:20
IdlInterface.prototype.do_member_operation_asserts@http://web-platform.test:8000/resources/idlharness.js:2551:26
IdlInterface.prototype.test_member_operation/<@http://web-platform.test:8000/resources/idlharness.js:2471:14
Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1977:25
IdlInterface.prototype.test_member_operation@http://web-platform.test:8000/resources/idlharness.js:2419:12
IdlInterface.prototype.test_members@http://web-platform.test:8000/resources/idlharness.js:2729:26
IdlInterface.prototype.test@http://web-platform.test:8000/resources/idlharness.js:1587:10
IdlArray.prototype.test@http://web-platform.test:8000/resources/idlharness.js:906:28
idl_test/</<@http://web-platform.test:8000/resources/idlharness.js:3470:31
  FAIL Response interface: operation formData() - assert_unreached: Throws "TypeError: "this" object does not implement interface Response." instead of rejecting promise Reached unreachable code
throwOrReject/<@http://web-platform.test:8000/resources/idlharness.js:116:33
Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1977:25
throwOrReject@http://web-platform.test:8000/resources/idlharness.js:115:20
IdlInterface.prototype.do_member_operation_asserts@http://web-platform.test:8000/resources/idlharness.js:2551:26
IdlInterface.prototype.test_member_operation/<@http://web-platform.test:8000/resources/idlharness.js:2471:14
Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1977:25
IdlInterface.prototype.test_member_operation@http://web-platform.test:8000/resources/idlharness.js:2419:12
IdlInterface.prototype.test_members@http://web-platform.test:8000/resources/idlharness.js:2729:26
IdlInterface.prototype.test@http://web-platform.test:8000/resources/idlharness.js:1587:10
IdlArray.prototype.test@http://web-platform.test:8000/resources/idlharness.js:906:28
idl_test/</<@http://web-platform.test:8000/resources/idlharness.js:3470:31

I suspect that this is another example of a test failure caused by #26774, given those error messages.

gterzian

comment created time in a day

issue openedservo/servo

IDL methods and attributes returning promises should return rejected promises if they would throw an exception

https://heycam.github.io/webidl/#dfn-attribute-getter (if an exception E was thrown) https://heycam.github.io/webidl/#dfn-create-operation-function (if an exception E was thrown) https://heycam.github.io/webidl/#invoke-a-callback-function (step 14.5)

An example of a test that fails without this is the idlharness tests for fetch() in fetch/api/idlharness.any.js

created time in a day

pull request commentservo/servo

Run only a supported set of WPT test types by default.

Personally, as the person who interacts most with wptrunner internals, I am interested in the following use cases:

  • enabling the default behaviour of wptrunner on-demand, but disabled by default because it can break running tests (--no-default-test-types)
  • running an explicit subset of test types on a per-run basis, to test specific harness behaviours (--no-default-test-types --test-types foo bar)
  • running with a known-good configuration on CI and locally so that nobody else has to think about this (``)
jdm

comment created time in a day

pull request commentservo/servo

Run only a supported set of WPT test types by default.

No, --no-default-test-types causes the set of all known test types from wptrunner to be run. It can be thought of as enabling the behaviour that currently exists on master.

jdm

comment created time in a day

issue commentservo/servo

Body IDL harness tests failing while interfaces appear implemented

Which specific test failures in the ini file are you referring to here?

gterzian

comment created time in a day

pull request commentservo/libfontconfig

Add force_system_lib feature

@bors-servo r+

kchibisov

comment created time in a day

issue openedservo/servo

Intermittent error in /webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html

  ▶ ERROR [expected OK] /webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html
  │   → input_source.setSupportedButtons is not a function
  │ 
  └ testFunction/</<@https://web-platform.test:8443/webxr/gamepads-module/xrInputSource_gamepad_disconnect.https.html:136:20

created time in a day

pull request commentservo/servo

Extract some of CGClassConstructHook to utils.rs

@bors-servo retry

warren-fisher

comment created time in a day

pull request commentservo/font-kit

Bump version from 0.7.1 to 0.8.0

@bors-servo r+

twilco

comment created time in a day

push eventtwilco/font-kit

Josh Matthews

commit sha 858ecdd93a185d6cc93a3a32f74711c0b04a46a8

Update version to 0.8.0.

view details

push time in a day

pull request commentservo/servo

Run only a supported set of WPT test types by default.

Done.

jdm

comment created time in a day

push eventjdm/servo

Josh Matthews

commit sha 21b670fad8cb43e28922f539f571875c15d6a2f4

Run only a supported set of WPT test types by default.

view details

push time in a day

Pull request review commentservo/servo

Implement readablestream support

 use js::rust::wrappers::JS_ParseJSON; use js::rust::HandleValue; use js::typedarray::{ArrayBuffer, CreateWith}; use mime::{self, Mime};-use net_traits::request::{BodyChunkRequest, BodySource, RequestBody};+use net_traits::request::{BodyChunkRequest, BodySource as NetBodySource, RequestBody}; use script_traits::serializable::BlobImpl; use std::ptr; use std::rc::Rc; use std::str; use url::form_urlencoded; +/// The Dom object, or ReadableStream, that is the source of a body.+/// <https://fetch.spec.whatwg.org/#concept-body-source>+#[derive(Clone)]+pub enum BodySource {+    /// A ReadableStream comes with a null-source.+    Null,+    /// Another Dom object as source,+    /// TODO: store the actual object+    /// and re-exctact a stream on re-direct.

Please file an issue for this if there isn't one already.

gterzian

comment created time in a day

issue commentservo/servo

github user page triggers crash in debug build

I have verified that the same overflow does not occur in a release build. We're going to need to figure out some way of dealing with the explosion of stack frames in debug builds :/

jdm

comment created time in a day

pull request commentservo/servo

[WIP] Don't create empty stacking contexts in display lists

@bors-servo try

jdm

comment created time in a day

push eventjdm/servo

Josh Matthews

commit sha 6c44bb208f9d8f926779d5ab2351491b31bac1fd

fixup! Add reftest for empty stacking contexts.

view details

Josh Matthews

commit sha f449dbc28b8d671b51a041d578fee4158ceb2615

fixup! layout: Don't built stacking contexts or display lists for empty blocks.

view details

Josh Matthews

commit sha d4e1a3287e1c22bf593bd09a344de6e794a67e0d

fixup! layout2020: Don't create stacking contexts for empty fragments and boxes.

view details

push time in a day

pull request commentservo/servo

Bump tokio-current-thread from 0.1.6 to 0.1.7

@bors-servo retry

  • #24622
dependabot-preview[bot]

comment created time in a day

pull request commentservo/servo

Implement GPURenderPassEncoder

@bors-servo r=kvark

kunalmohan

comment created time in a day

pull request commentservo/servo

Update raqote and associated dependencies

@bors-servo try=wpt

atouchet

comment created time in a day

pull request commentservo/servo

Extract some of CGClassConstructHook to utils.rs

@bors-servo r+

warren-fisher

comment created time in a day

push eventwarren-fisher/servo

Warren Fisher

commit sha 2da07ed164b71c679813b4c319a6e069a2910b25

Reduce code duplication. Move some of CodegenRust.py to htmlconstructor.rs

view details

push time in a day

pull request commentservo/servo

Run only a supported set of WPT test types by default.

So, I like the current argument name because it also allows --no-default-test-types --test-types reftest print-reftest. I find that easier to reason about than --all-test-types --test-types reftest print-reftest.

jdm

comment created time in a day

pull request commentservo/servo

Run only a supported set of WPT test types by default.

@SimonSapin I tried a different description.

jdm

comment created time in a day

push eventjdm/servo

Josh Matthews

commit sha da1b77de0386f91b345ac7e0bbb8e40f9b5002fb

Run only a supported set of WPT test types by default.

view details

push time in a day

Pull request review commentservo/servo

Run only a supported set of WPT test types by default.

 def create_parser_wpt():                         help="Servo's JSON logger of unexpected results")     parser.add_argument('--always-succeed', default=False, action="store_true",                         help="Always yield exit code of zero")+    parser.add_argument('--no-default-test-types', default=False, action="store_true",+                        help="Run the default set of test types provided by wptrunner"),

It's true - the default in the command name refers to the user experience and the flags selected by test-wpt. The default in the description refers to the flags selected by wptrunner without any other input.

jdm

comment created time in a day

Pull request review commentservo/servo

Run only a supported set of WPT test types by default.

 def create_parser_wpt():                         help="Servo's JSON logger of unexpected results")     parser.add_argument('--always-succeed', default=False, action="store_true",                         help="Always yield exit code of zero")+    parser.add_argument('--no-default-test-types', default=False, action="store_true",+                        help="Run the default set of test types provided by wptrunner"),

Default in this case refers to the test of test types that are selected by wptrunner when this flag is not present. Is there a better way to describe it?

jdm

comment created time in a day

pull request commentservo/servo

Update raqote and associated dependencies

@bors-servo try=wpt

atouchet

comment created time in a day

issue closedservo/surfman

Are there parts that could use glutin?

#30 made me think that maybe it's time to consolidate and focus on the pieces of this repo that don't make sense in glutin.

closed time in a day

jdm

issue commentservo/surfman

Are there parts that could use glutin?

Nope.

jdm

comment created time in a day

pull request commentservo/servo

Run only a supported set of WPT test types by default.

r? @Manishearth

jdm

comment created time in a day

issue commentservo/servo

WPT nightly sync is busted

This will be fixed by a combination of https://github.com/servo/servo/pull/26772 and https://github.com/web-platform-tests/wpt/pull/23956.

jdm

comment created time in a day

PR opened servo/servo

Run only a supported set of WPT test types by default.

wptrunner introduced a new test type for print reftests, and by default any unsupported type causes the test runner to report an unexpected error, even if none of those tests are run. These changes avoid similar breakage by limiting the default test types to ones that are supported by our test runners.

+10 -0

0 comment

1 changed file

pr created time in a day

create barnchjdm/servo

branch : wpt-test-types

created branch time in a day

PR opened web-platform-tests/wpt

Don't assert there is no viewport override for reftests.

Servo has reftests that provide a viewport override. This change allows us to continue running those tests and unbreaks our nightly sync process.

+1 -2

0 comment

1 changed file

pr created time in a day

create barnchweb-platform-tests/wpt

branch : jdm-patch-4

created branch time in a day

issue commentservo/servo

WPT nightly sync is busted

This is triggered by our existing tests like https://github.com/servo/servo/blob/master/tests/wpt/mozilla/tests/css/pixel_snapping_border_a.html#L7 which have a viewport-size override.

jdm

comment created time in a day

push eventwarren-fisher/servo

Josh Matthews

commit sha 3a3397fbce728c79aa5edf469a1a7763c3efcbde

webgl: Ignore webgl communication errors when dropping vertex array objects.

view details

Simon Sapin

commit sha fa625a73882abbbf6f521a9d19eb84217dc99f68

Index tasks by git tree hash instead of parent commits hashes

view details

bors-servo

commit sha c76a995ba2f201a413827a375186e1b5d082ffc7

Auto merge of #25992 - servo:tree-sha, r=jdm Index tasks by git tree hash instead of parent commits hashes This makes it (sligthly) easier to query the index and find those tasks from other scripts.

view details

WPT Sync Bot

commit sha 96fc7662dcacb0656908f19f16d3c203d64f6592

Update web-platform-tests to revision a587550f729c270ae55b56a92c94605461cc919a

view details

bors-servo

commit sha 98e13c3d2183bb52931932d4ee3f3a15507e4ba2

Auto merge of #25999 - servo-wpt-sync:wpt_update_20-03-2020, r=servo-wpt-sync Sync WPT with upstream (20-03-2020) Automated downstream sync of changes from upstream as of 20-03-2020. [no-wpt-sync] r? @servo-wpt-sync

view details

bors-servo

commit sha 7ef4c65ac32071612ba2981d6fb5a6b2431c205d

Auto merge of #25980 - servo:jdm-patch-44, r=paulrouget Enable windows unit tests Fixes #25961.

view details

Simon Sapin

commit sha 95cd67bb951fee1d7bbf4b903c61b87f9d3d9cda

Rename `CONFIG.task_id()` to `tree_hash`

view details

Simon Sapin

commit sha 44c72413f9cc9a17aaed890b7c94af848b411e69

Add Layout 2020 reftests regression report This shows WPT reftests that fail in Servo with Layout 2020 but pass with Layout 2013, together with screenshots of the corresponding runs and HTML source code for the test and its reference. https://community-tc.services.mozilla.com/api/index/v1/task/project.servo.layout-2020-regressions-report/artifacts/public/regressions.html redirects to the latest report for the `master` branch.

view details

Tipowol

commit sha 6b0b90767e461ee133146798a3a6b2fce45e3e68

Add missing same-origin referrer policy

view details

bors-servo

commit sha 5ce2fd0882860641b2affe16607f2dee83a1851f

Auto merge of #26006 - tipowol:fix-25680, r=Manishearth Add missing same-origin referrer policy <!-- Please describe your changes on the following line: --> These changes add missing same-origin ReferrerPolicy in Request.webidl. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #25680 (GitHub issue number if applicable) <!-- Either: --> - [X] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

view details

bors-servo

commit sha ca29399babcf05048ce5e222efede5f655e0a760

Auto merge of #26002 - servo:regressions, r=jdm Add Layout 2020 reftests regression report This shows WPT reftests that fail in Servo with Layout 2020 but pass with Layout 2013, together with screenshots of the corresponding runs and HTML source code for the test and its reference. https://community-tc.services.mozilla.com/api/index/v1/task/project.servo.layout-2020-regressions-report/artifacts/public/regressions.html redirects to the latest report for the `master` branch.

view details

YUAN LYU

commit sha 3ea6d87bcc37167464e856949a4b9b77d0e9318a

Add trait DomObjectWrap to provide WRAP function

view details

WPT Sync Bot

commit sha 76af5dbf1f27fc230e4493f52f2c332450875365

Update web-platform-tests to revision f2c1dfe9ae186350086dbe505c4baaab63ace1cc

view details

bors-servo

commit sha 67b433648c79a8b397213605311011e22d707cec

Auto merge of #25624 - lyuyuan:issue-8576, r=jdm Add trait DomObjectWrap to provide WRAP function <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [ ] These changes fix #8576 (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

view details

Josh Matthews

commit sha 283259f68daa9313d647f46d89c4ba466b8a9076

Add failing layout-2020 result.

view details

bors-servo

commit sha 19d6b7b38056a332f76d56560be329920084c15d

Auto merge of #26008 - servo-wpt-sync:wpt_update_21-03-2020, r=jdm Sync WPT with upstream (21-03-2020) Automated downstream sync of changes from upstream as of 21-03-2020. [no-wpt-sync] r? @servo-wpt-sync

view details

Martin Robinson

commit sha 811c08c5a524769b07267180fc50171f9a985fb1

layout_2020: Use the containing block more when calculating scrolling overflow When calculating scrolling overflow calculation we cannot currently use the actual containing block in all cases. This change increases the amount that we do use the containing block.

view details

Fernando Jiménez Moreno

commit sha 74d9fec9cf8269857aac38ef4b7c04154907b380

Enable text-decoration tests

view details

Fernando Jiménez Moreno

commit sha e3c8597ccb4e230568aed90edc245347c1ab64ca

Store required font metrics on TextFragment

view details

Fernando Jiménez Moreno

commit sha e3b97730feb80d2974f6454ac32fce7df0fdf360

Enable text-decoration on layout 2020

view details

push time in a day

pull request commentservo/servo

Extract some of CGClassConstructHook to utils.rs

@bors-servo r+

warren-fisher

comment created time in a day

pull request commentservo/servo

Extract some of CGClassConstructHook to utils.rs

I still am not clear on how these changes changed the behaviour that caused tests to start failing, and I've read through them really closely many times. However, while reading through them I discovered a pre-existing bug, and correcting that bug made all of the new test failures disappear as well as fixed a couple of additional failures. I'm calling it a win!

warren-fisher

comment created time in a day

pull request commentservo/servo

Update raqote and associated dependencies

@bors-servo try=wpt

atouchet

comment created time in a day

pull request commentservo/servo

Implement GPURenderPassEncoder

As a possible workaround, does anything change if you make a typedef for that union and import the typedef name in rust instead?

kunalmohan

comment created time in a day

pull request commentservo/servo

Improve worker shutdown

That's #23290.

gterzian

comment created time in a day

pull request commentservo/servo

Implement GPURenderPassEncoder

@bors-servo try=mac retry

kunalmohan

comment created time in a day

pull request commentservo/servo

Implement GPURenderPassEncoder

Super weird. I built your branch locally and don't see the build error. What OS are you using?

kunalmohan

comment created time in a day

pull request commentservo/servo

Bump xdg from 2.1.0 to 2.2.0

@bors-servo retry

dependabot-preview[bot]

comment created time in a day

pull request commentservo/servo

Implement GPURenderPassEncoder

It makes no sense to me that your local build does not reproduce this build error. My only advice at this point is to do the following:

  • make a build error occur in one of gpuadapter.rs by removing an argument from one of the trait methods
  • using the path to the generated file that is present in the error message you receive, find the generated UnionTypes.rs that is in the generated bindings' parent directory
  • gist that file so we can better understand if GPULoadOpOrRangeEnforcedUnsignedLong is actually present or not
kunalmohan

comment created time in 2 days

pull request commentservo/servo

Make to_shmem Gecko-only

@bors-servo r+

SimonSapin

comment created time in 2 days

more