
This CL adds a script to print detailed info about Mojo messages given a trace file. Below are some examples of what the script shows (taken from https://docs.google.com/presentation/d/1D2riladajllLuNHkQgiJhEZVlaXavV4KJjldouGVgBo/edit?usp=sharing) For a drag and drop (summary view): ``` ts_delta process_name name ... 0.890756 Renderer Send viz::mojom::CompositorFrameSink::SubmitCompositorFrame 0.891466 GPU Process Receive viz::mojom::CompositorFrameSink::SubmitCompositorFrame 0.892181 Browser Send blink::mojom::FrameWidget::DragTargetDragEnter 0.892277 GPU Process Send viz::mojom::FrameSinkManagerClient::OnFrameTokenChanged 0.892521 Browser Send blink::mojom::FrameWidget::DragTargetDragOver 0.893285 Renderer Receive blink::mojom::FrameWidget::DragTargetDragEnter 0.893322 Browser Send blink::mojom::FrameWidget::DragTargetDrop 0.893826 Renderer Send content::mojom::ChildProcessHost::BindHostReceiver 0.893971 Renderer Call blink::mojom::MimeRegistry::GetMimeTypeFromExtension (sync) ... ``` For a CreateURLLoaderFactory call (detailed view): ``` ts_delta process_name pid thread_name name ... 0.764298 Browser 1 CrBrowserMain Send network::mojom::NetworkContext::CreateURLLoaderFactory input_parameters: url_loader_factory: <value of type ::mojo::PendingReceiver<::network::mojom::URLLoaderFactory>> params.process_id: 5 params.request_initiator_origin_lock: http://127.0.0.1:34789 params.is_corb_enabled: 1 params.ignore_isolated_world_origin: 1 params.unsafe_non_webby_initiator: 0 params.disable_web_security: 0 params.header_client: <value of type ::mojo::PendingRemote<TrustedURLLoaderHeaderClient>> params.isolation_info: <value of type const ::net::IsolationInfo&> params.disable_secure_dns: 0 params.is_trusted: 0 params.automatically_assign_isolation_info: 0 params.provide_loading_state_updates: 1 params.top_frame_id: EDDCF5B62240FE18E3A2899304FFD89F params.factory_override: 0 params.coep_reporter: <value of type ::mojo::PendingRemote<::network::mojom::CrossOriginEmbedderPolicyReporter>> params.cookie_observer: <value of type ::mojo::PendingRemote<::network::mojom::CookieAccessObserver>> params.url_loader_network_observer: <value of type ::mojo::PendingRemote<::network::mojom::URLLoaderNetworkServiceObserver>> params.devtools_observer: <value of type ::mojo::PendingRemote<::network::mojom::DevToolsObserver>> params.trust_token_redemption_policy: kPotentiallyPermit params.debug_tag: RFHI::CommitNavigation params.client_security_state.cross_origin_embedder_policy: <value of type const ::network::CrossOriginEmbedderPolicy&> params.client_security_state.is_web_secure_context: 1 params.client_security_state.ip_address_space: kLocal params.client_security_state.private_network_request_policy: kPreflightBlock ... ``` Bug: 336984033 Change-Id: I0140dcd052e63975d1bea045584462d5f684f4ed Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3370782 Reviewed-by: Alexander Timin <altimin@chromium.org> Commit-Queue: Andrew Williams <awillia@chromium.org> Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Cr-Commit-Position: refs/heads/main@{#1292760}
Chromium
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead,
follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.