Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  PWindowGlobal.ipdl   Sprache: unbekannt

 
Spracherkennung für: .ipdl vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

include "ipc/ErrorIPCUtils.h";
include "ipc/MediaControlIPC.h";
include "mozilla/dom/DocShellMessageUtils.h";
include "mozilla/dom/IdentityCredentialSerializationHelpers.h";
include "mozilla/dom/PermissionMessageUtils.h";
include "mozilla/dom/SessionStoreMessageUtils.h";
include "mozilla/ipc/URIUtils.h";

include protocol PBrowser;
include protocol PInProcess;
include protocol PBrowserBridge;
include protocol PDigitalCredential;
include protocol PSerialManager;
include protocol PWebAuthnTransaction;
include protocol PWebIdentity;

include DOMTypes;
include ClientIPCTypes;
include JSIPCValue;
include NeckoChannelParams;
include SessionStoreTypes;
include ModelContextTypes;

include "mozilla/layers/LayersMessageUtils.h";

using mozilla::dom::JSActorMessageKind from "mozilla/dom/JSActor.h";
using mozilla::gfx::IntRect from "mozilla/gfx/Rect.h";
using mozilla::gfx::CrossProcessPaintFlags from "mozilla/gfx/CrossProcessPaint.h";
[MoveOnly] using mozilla::gfx::PaintFragment from "mozilla/gfx/CrossProcessPaint.h";
using nscolor from "nsColor.h";
using mozilla::dom::XPCOMPermitUnloadAction from "nsIDocumentViewer.h";
using mozilla::dom::TabId from "mozilla/dom/ipc/IdType.h";
using mozilla::layers::LayersId from "mozilla/layers/LayersTypes.h";
using mozilla::UseCounters from "mozilla/UseCounter.h";
using mozilla::dom::MaybeDiscardedWindowContext from "mozilla/dom/WindowContext.h";
[RefCounted] using mozilla::dom::SessionStoreRestoreData from "mozilla/dom/SessionStoreRestoreData.h";
using mozilla::dom::AudioSessionType from "mozilla/dom/AudioSessionBinding.h";
using mozilla::dom::AudioSessionState from "mozilla/dom/AudioSessionBinding.h";
using mozilla::dom::CredentialMediationRequirement from "mozilla/dom/CredentialManagementBinding.h";
using mozilla::dom::IdentityCredentialDisconnectOptions from "mozilla/dom/IdentityCredentialBinding.h";
using mozilla::dom::IdentityCredentialRequestOptions from "mozilla/dom/IdentityCredentialBinding.h";
using mozilla::dom::LoginStatus from "mozilla/dom/LoginStatusBinding.h";
using mozilla::CopyableErrorResult from "mozilla/ErrorResult.h";
[RefCounted] using mozilla::dom::ParentProcessChannelHandle from "mozilla/dom/ParentProcessChannelHandle.h";

namespace mozilla {
namespace dom {

struct JSActorMessageMeta {
  nsCString actorName;
  nsString messageName;
  uint64_t queryId;
  JSActorMessageKind kind;
};

struct IPCWebShareData
{
  nsCString title;
  nsCString text;
  nullable nsIURI url;
};

/**
 * A PWindowGlobal actor has a lifetime matching that of a single Window Global,
 * specifically a |nsGlobalWindowInner|. These actors will form a parent/child
 * link either between the chrome/content process, or will be in-process, for
 * documents which are loaded in the chrome process.
 */
async protocol PWindowGlobal
{
  manager PBrowser or PInProcess;
  manages PDigitalCredential;
  manages PSerialManager;
  manages PWebAuthnTransaction;
  manages PWebIdentity;

child:
  async __delete__();

  async MakeFrameLocal(MaybeDiscardedBrowsingContext aFrameContext,
                       uint64_t aSwitchId);
  async MakeFrameRemote(MaybeDiscardedBrowsingContext aFrameContext,
                        ManagedEndpoint<PBrowserBridgeChild> aEndpoint,
                        TabId aTabId, LayersId aLayersId) returns (bool success);

  async DrawSnapshot(IntRect? aRect, float aScale, nscolor aBackgroundColor,
                     CrossProcessPaintFlags aFlags) returns (PaintFragment retval);

  async DispatchSecurityPolicyViolation(nsString aViolationEventJSON,
                                        nsString aReportGroupName);

  async SaveStorageAccessPermissionGranted();

  async AddBlockedFrameNodeByClassifier(MaybeDiscardedBrowsingContext aNode);

  /**
   * Request from UI to reset the scaling zoom that is controlled by APZ.
   */
  async ResetScalingZoom();

  async RestoreDocShellState(DocShellRestoreState aState)
    returns (bool success);

  async RestoreTabContent(nullable SessionStoreRestoreData aData) returns (bool success);

both:
  async RawMessage(JSActorMessageMeta aMetadata, JSIPCValue aData,
                   nullable StructuredCloneData aStack);

parent:
  // Load the given URI load state into the current owner process of the given
  // BrowsingContext. aTargetBC must be in the same BrowsingContextGroup as this
  // window global.
  async LoadURI(MaybeDiscardedBrowsingContext aTargetBC,
                nsDocShellLoadState aLoadState, bool aSetNavigating);

  async InternalLoad(nsDocShellLoadState aLoadState);

  /// Update the URI of the document in this WindowGlobal.
  [LazySend] async UpdateDocumentURI(nsIURI aUri);

  // We expose frameAncestors to web-extensions and they extract URIs from the
  // principals collected. In order to be compatible with that API, we need to
  // update the document's principal. This is only allowed if the principals are
  // `equals` to each other.
  [LazySend] async UpdateDocumentPrincipal(nullable nsIPrincipal aPrincipal,
                                           nullable nsIPrincipal aStoragePrincipal);

  // Update document's `documentHasLoaded` bit in this WindowGlobal.
  [LazySend] async UpdateDocumentHasLoaded(bool aDocumentHasLoaded);

  // Update document's 'documentHasUserInteracted' bit in this WindowGlobal.
  [LazySend] async UpdateDocumentHasUserInteracted(bool aDocumentHasUserInteracted);

  // Update document's sandbox flags in this WindowGlobal.
  [LazySend] async UpdateSandboxFlags(uint32_t aSandboxFlags);

  // Update document csp's fields in this WindowGlobal.
  [LazySend] async UpdateDocumentCspSettings(bool aBlockAllMixedContent, bool aUpgradeInsecureRequests);

  // Update document's cookie settings in this WindowGlobal.
  [LazySend] async UpdateCookieJarSettings(CookieJarSettingsArgs cookieJarSettings);

  // Update the title of the document in this WindowGlobal.
  [LazySend] async UpdateDocumentTitle(nsString aTitle);

  [LazySend] async UpdateChannels(nullable ParentProcessChannelHandle aDocumentHandle,
                                  nullable ParentProcessChannelHandle aFailedHandle);

  // Update the document's HTTPS-Only Mode flags in this WindowGlobal.
  [LazySend] async UpdateHttpsOnlyStatus(uint32_t aHttpsOnlyStatus);

  /// Send down initial document bit to the parent.
  [LazySend] async SetIsInitialDocument(bool aIsInitialDocument);

  /// Indicate that the initial document is being navigated to.
  [LazySend] async CommitToInitialDocument();

  // Attempts to perform a "Web Share".
  async Share(IPCWebShareData aData) returns (nsresult rv);

  // Get content blocking events from the parent process.
  async GetContentBlockingEvents() returns (uint32_t events);

  // Send the ClientInfo associated with a top-level document load.
  [LazySend] async SetClientInfo(IPCClientInfo aClientInfo);

  // Checks whether any "beforeunload" event listener in the document subtree
  // wants to block unload, and prompts the user to allow if any does (depending
  // on the action specified, using nsIDocumentViewer::PermitUnloadAction
  // values). The sender is responsible for checking documents in its own
  // process, and passing true for `aHasInProcessBlocker` if any exist. Windows
  // hosted outside of the caller process will be checked automatically.
  async CheckPermitUnload(bool aHasInProcessBlocker, XPCOMPermitUnloadAction aAction)
    returns (bool permitUnload);

  /**
   * Informs the parent process that the document in aTop should expect to
   * receive page use counter contributions from the document in this
   * WindowGlobal.
   */
  async ExpectPageUseCounters(MaybeDiscardedWindowContext aTop);

  /**
   * Accumulates use counter data from the document in this WindowGlobal into
   * the document previously passed into the ExpectPageUseCounters call.
   */
  async AccumulatePageUseCounters(UseCounters aUseCounters);

  async RequestRestoreTabContent();

  // Add the flags in aOnFlags to the current BFCache status and remove the
  // flags in aOffFlags from the current BFCache status. See the BFCacheStatus
  // enum for the valid flags.
  async UpdateBFCacheStatus(uint32_t aOnFlags, uint32_t aOffFlags);

  // Signal whether the first connection is added (aIsAdded = true) or
  // the last connection is removed (aIsAdded = false).
  async UpdateActivePeerConnectionStatus(bool aIsAdded);

  /**
   * Used to notify the parent when there's a change in the number of requests
   * in the loadgroup. If there are no requests this will be set to Nothing().
   * If there is one request this will be set to the ID of that request, if it
   * implements nsIIdentChannel. If there are more than one requests this will
   * be set to 0.
   * Note that some requests are ignored (eg. favicon loads).
   */
  async SetSingleChannelId(uint64_t? singleChannelId);

  async SetDocumentDomain(nsIURI aDomain);

  async SetSiteIntegrityProtected(nsIURI aSourceURI, uint64_t aMaxAge);

  async Destroy();

  async AddCertException(bool aTemporary) returns(nsresult success);

  async ReloadWithHttpsOnlyException();

  async GetStorageAccessPermission(bool aIncludeIdentityCredential) returns(uint32_t permission_action);


  async SetCookies(nsCString baseDomain,
                                      OriginAttributes attrs,
                                      nullable nsIURI host,
                                      bool isThirdParty,
                                      CookieStruct[] cookies);

  // User activation notifications for BounceTrackingProtection.
  async RecordUserActivationForBTP();

  // User interaction notification for permission expiry tracking.
  async RecordUserInteractionForPermissions();

  // The content-side `navigator.audioSession.type` setter routes here so the
  // parent's MediaController can record the per-browsing-context override.
  async NotifyAudioSessionTypeOverride(AudioSessionType aType);

  async PDigitalCredential();
  async PSerialManager();
  async PWebAuthnTransaction();
  async PWebIdentity();

child:
  async NotifyAudioSessionStateChanged(AudioSessionState aState);

  async NotifyPermissionChange(nsCString type, uint32_t permission);

  async ProcessCloseRequest(MaybeDiscardedBrowsingContext aFocused);

  async GetModelContextTools() returns (nsresult rv, IPCModelContextToolDefinition[] tools);

  async InvokeModelContextTool(nsCString toolName, StructuredCloneData input)
      returns (CopyableErrorResult rv, nullable StructuredCloneData output);
};

} // namespace dom
} // namespace mozilla

[Dauer der Verarbeitung: 0.31 Sekunden, vorverarbeitet 2026-08-24]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002