servo/components/script/dom/bindings
webbeef 139774e6b5
Add an about:memory page (#35728)
This patch exposes a servo internal DOM API that is only made available to about:
pages on the navigator object to request memory reports. The about:memory page itself is
loaded like other html resources (eg. bad cert, net error) and makes use of this new API.

On the implementation side, notable changes:
- components/script/routed_promise.rs abstracts the setup used to fulfill a promise when the
  work needs to be routed through the constellation. The goal is to migrate other similar
  promise APIs in followup (eg. dom/webgpu/gpu.rs, bluetooth.rs).
- a new message is added to request a report from the memory reporter, and the memory reporter
  creates a json representation of the set of memory reports.
- the post-processing of memory reports is done in Javascript in the about-memory.html page,
  providing the same results as the current Rust code that outputs to stdout. We can decide
  later if we want to remove the current output.

Signed-off-by: webbeef <me@webbeef.org>
2025-03-07 05:25:08 +00:00
..
buffer_source.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
callback.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
cell.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
constructor.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
conversions.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
error.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
finalize.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
frozenarray.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
function.rs Dom: Re-implement ReadableStream Part 1 : Default Reader and Controller (#34064) 2024-12-17 21:14:00 +00:00
guard.rs api: Flatten and simplify Servo preferences (#34966) 2025-01-14 13:54:06 +00:00
import.rs script: Mark callback methods with CanGc. (#35753) 2025-03-03 12:17:25 +00:00
inheritance.rs Move more foundational types to script_bindings (#35280) 2025-02-04 10:36:30 +00:00
interface.rs Add an about:memory page (#35728) 2025-03-07 05:25:08 +00:00
iterable.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
like.rs Move more bindings types to script_bindings (#35620) 2025-02-23 14:25:46 +00:00
mod.rs Move more bindings code to script_bindings (#35578) 2025-02-22 04:46:56 +00:00
namespace.rs Move more bindings code to script_bindings (#35578) 2025-02-22 04:46:56 +00:00
num.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
principals.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
proxyhandler.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
record.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
refcounted.rs refactor: add CanGc as argument to Promise::reject_error (#35646) 2025-02-25 10:12:58 +00:00
reflector.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
root.rs Move more bindings code to script_bindings (#35578) 2025-02-22 04:46:56 +00:00
serializable.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
settings_stack.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
str.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
structuredclone.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
trace.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
transferable.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
utils.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
weakref.rs Move more bindings types to script_bindings (#35620) 2025-02-23 14:25:46 +00:00
xmlname.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00