| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module mojom; |
| |
| import "url/mojom/url.mojom"; |
| |
| // Basic information describing a SiteInstance. |
| struct SiteInstanceInfo { |
| int32 id; |
| |
| // Boolean indicating whether the SiteInstance's process is locked to a |
| // specific URL. |
| bool locked; |
| |
| url.mojom.Url? site_url; |
| |
| // The URL to which the SiteInstance's process is locked. |
| url.mojom.Url? process_lock_url; |
| |
| // Specifies whether the SiteInstance is origin-keyed. This is true for |
| // opt-in origin isolation, false otherwise. |
| bool is_origin_keyed; |
| }; |
| |
| // Basic information describing a frame and all of its subframes. |
| struct FrameInfo { |
| int32 routing_id; |
| int32 agent_scheduling_group_id; |
| int32 process_id; |
| |
| SiteInstanceInfo site_instance; |
| url.mojom.Url? last_committed_url; |
| |
| array<FrameInfo> subframes; |
| |
| bool is_bfcached; |
| }; |
| |
| // Basic information describing a WebContents object and all frames that are |
| // in it. |
| struct WebContentsInfo { |
| string title; |
| FrameInfo root_frame; |
| array<FrameInfo> bfcached_root_frames; |
| }; |
| |
| // Information about a currently active isolated origin, including the origin |
| // itself and a |source| string that describes how the origin was added. |
| struct IsolatedOriginInfo { |
| string origin; |
| string source; |
| }; |
| |
| // Interface used by chrome://process-internals to query data from the |
| // browser process. |
| interface ProcessInternalsHandler { |
| |
| // Returns a string containing the currently active isolation modes. |
| GetIsolationMode() => (string mode); |
| |
| // Returns a list of user-triggered isolated origins, which are typically |
| // saved when the user types a password into a corresponding site. These |
| // origins apply within the current profile only, they are preserved across |
| // restarts, and they are cleared when the user clears browsing data. |
| GetUserTriggeredIsolatedOrigins() => (array<string> isolated_origins); |
| |
| // Returns a list of isolated origins that apply globally in all profiles. |
| GetGloballyIsolatedOrigins() => (array<IsolatedOriginInfo> isolated_origins); |
| |
| // Returns an array of WebContentsInfo structs for all WebContents |
| // associated with the profile in which this call is made. |
| GetAllWebContentsInfo() => (array<WebContentsInfo> infos); |
| }; |