gecko-dev/ipc/ipdl/sync-messages.ini
Andrew Osmond 25c238ea4e Bug 1845946 - Part 1. Switch GMP process launching IPDL messages from sync to async. r=ipc-reviewers,media-playback-reviewers,alwu,mccr8
When launching the GMP process, or querying its state, via PGMPService,
the design was already asynchronous. As such we can remove the sync
requirement quite easily and allow more flexibility on the parent
process side.

Differential Revision: https://phabricator.services.mozilla.com/D185335
2023-08-15 16:46:12 +00:00

307 lines
15 KiB
INI

#############################################################
# #
# AVOID ADDING NEW MESSAGES TO THIS FILE #
# #
# New sync IPC messages will only be approved in #
# exceptional circumstances, and must be reviewed by an IPC #
# peer. Please be prepared with a detailed justification #
# before requesting IPC peer review. #
# #
#############################################################
# gtests
[PQuotaTest::Try_Success_CustomErr_QmIpcFail]
description = Only used by gtests
[PQuotaTest::Try_Success_CustomErr_IpcFail]
description = Only used by gtests
[PQuotaTest::TryInspect_Success_CustomErr_QmIpcFail]
description = Only used by gtests
[PQuotaTest::TryInspect_Success_CustomErr_IpcFail]
description = Only used by gtests
# The rest
[PHeapSnapshotTempFileHelper::OpenHeapSnapshotTempFile]
description = legacy sync IPC - please add detailed description
[PBackgroundMutableFile::GetFileId]
description = legacy sync IPC - please add detailed description
[PBackgroundIndexedDBUtils::GetFileReferences]
description = legacy sync IPC - please add detailed description
[PBrowser::SyncMessage]
description = JS MessageManager implementation
[PBrowser::NotifyIMEMouseButtonEvent]
description = legacy sync IPC - please add detailed description
[PBrowser::RequestIMEToCommitComposition]
description = legacy sync IPC - please add detailed description
[PBrowser::GetInputContext]
description = legacy sync IPC - please add detailed description
[PBrowser::RequestNativeKeyBindings]
description = legacy sync IPC - please add detailed description
[PBrowser::DispatchWheelEvent]
description = Only used by automation tests
[PBrowser::DispatchMouseEvent]
description = Only used by automation tests
[PBrowser::DispatchKeyboardEvent]
description = Only used by automation tests
[PBrowser::DispatchTouchEvent]
description = Only used by automation tests
[PBrowser::EnsureLayersConnected]
description = legacy sync IPC - please add detailed description
[PBrowser::SetSystemFont]
description = test only
[PBrowser::GetSystemFont]
description = test only
[PContent::SyncMessage]
description = JS MessageManager implementation
[PContent::IsSecureURI]
description = legacy sync IPC - please add detailed description
[PContent::PURLClassifier]
description = legacy sync IPC - please add detailed description
[PContent::GetGfxVars]
description = legacy sync IPC - please add detailed description
[PContent::GetClipboard]
description = Legacy synchronous clipboard API
[PContent::ClipboardHasType]
description = Legacy synchronous clipboard API
[PContent::GetExternalClipboardFormats]
description = Retrieve supported clipboard formats synchronously
[PContent::GetIconForExtension]
description = legacy sync IPC - please add detailed description
[PContent::BeginDriverCrashGuard]
description = legacy sync IPC - please add detailed description
[PContent::EndDriverCrashGuard]
description = legacy sync IPC - please add detailed description
[PContent::GetGraphicsDeviceInitData]
description = Retrieve information needed to initialize the graphics device in the content process
[PContent::GetOutputColorProfileData]
description = Retrieve the contents of the output color profile file
[PContent::GetFontListShmBlock]
description = for bug 1514869 - layout code needs synchronous access to font list, but this is used only once per block, after which content directly reads the shared memory
[PContent::InitializeFamily]
description = for bug 1514869 - layout is blocked on needing sync access to a specific font family - used once per family, then the data is cached in shared memory
[PContent::InitOtherFamilyNames]
description = for bug 1514869 - layout is blocked on font lookup, needs complete family-name information - not used after loading is complete
[PContent::GetHyphDict]
description = for bug 1487212 - layout requires hyphenation data from a given omnijar resource - only called once per locale by a given content process
[PGMP::StartPlugin]
description = legacy sync IPC - please add detailed description
[PGMPVideoDecoder::NeedShmem]
description = legacy sync IPC - please add detailed description
[PGMPVideoEncoder::NeedShmem]
description = legacy sync IPC - please add detailed description
[PRemoteDecoderManager::Readback]
description = legacy sync IPC - please add detailed description
[PBackgroundStorage::Preload]
description = legacy sync IPC - please add detailed description
[PBackgroundLSDatabase::PBackgroundLSSnapshot]
description = See corresponding comment in PBackgroundLSDatabase.ipdl
[PBackgroundLSSnapshot::SyncCheckpoint]
description = See corresponding comment in PBackgroundLSSnapshot.ipdl
[PBackgroundLSSnapshot::SyncCheckpointAndNotify]
description = See corresponding comment in PBackgroundLSSnapshot.ipdl
[PBackgroundLSSnapshot::SyncFinish]
description = See corresponding comment in PBackgroundLSSnapshot.ipdl
[PBackgroundLSSnapshot::LoadValueAndMoreItems]
description = See corresponding comment in PBackgroundLSSnapshot.ipdl
[PBackgroundLSSnapshot::LoadKeys]
description = See corresponding comment in PBackgroundLSSnapshot.ipdl
[PBackgroundLSSnapshot::IncreasePeakUsage]
description = See corresponding comment in PBackgroundLSSnapshot.ipdl
[PBackgroundSessionStorageCache::Load]
description = See corresponding comment in PBackgroundSessionStorageCache.ipdl
[PRemoteSpellcheckEngine::SetDictionary]
description = legacy sync IPC - please add detailed description
[PGPU::AddLayerTreeIdMapping]
description = legacy sync IPC - please add detailed description
[PGPU::GetDeviceStatus]
description = legacy sync IPC - please add detailed description
[PAPZInputBridge::ReceiveMultiTouchInputEvent]
description = legacy sync IPC - please add detailed description
[PAPZInputBridge::ReceiveMouseInputEvent]
description = legacy sync IPC - please add detailed description
[PAPZInputBridge::ReceivePanGestureInputEvent]
description = legacy sync IPC - please add detailed description
[PAPZInputBridge::ReceivePinchGestureInputEvent]
description = legacy sync IPC - please add detailed description
[PAPZInputBridge::ReceiveTapGestureInputEvent]
description = legacy sync IPC - please add detailed description
[PAPZInputBridge::ReceiveScrollWheelInputEvent]
description = legacy sync IPC - please add detailed description
[PAPZInputBridge::ProcessUnhandledEvent]
description = legacy sync IPC - please add detailed description
[PAPZInputBridge::ReceiveKeyboardInputEvent]
description = legacy sync IPC - please add detailed description
[PCanvasManager::GetSnapshot]
description = Retrieving canvas contents is synchronous (see also, PWebGL::GetFrontBufferSnapshot).
[PCompositorBridge::Initialize]
description = legacy sync IPC - please add detailed description
[PCompositorBridge::WillClose]
description = legacy sync IPC - please add detailed description
[PCompositorBridge::Pause]
description = legacy sync IPC - please add detailed description
[PCompositorBridge::Resume]
description = legacy sync IPC - please add detailed description
[PCompositorBridge::NotifyChildCreated]
description = legacy sync IPC - please add detailed description
[PCompositorBridge::MapAndNotifyChildCreated]
description = bug 1350660
[PCompositorBridge::NotifyChildRecreated]
description = legacy sync IPC - please add detailed description
[PCompositorBridge::FlushRendering]
description = legacy sync IPC - please add detailed description
[PCompositorBridge::WaitOnTransactionProcessed]
description = bug 1364626
[PCompositorBridge::StartFrameTimeRecording]
description = legacy sync IPC - please add detailed description
[PCompositorBridge::StopFrameTimeRecording]
description = legacy sync IPC - please add detailed description
[PCompositorBridge::SyncWithCompositor]
description = legacy sync IPC - please add detailed description
[PCompositorBridge::CheckContentOnlyTDR]
description = legacy sync IPC - please add detailed description
[PCompositorWidget::Initialize]
description = Fallable initialization for the widget. Must be called right after construction before any other messages are sent
platform = win
[PCompositorWidget::EnterPresentLock]
description = Obtain exclusive access to the widget surface. Used to ensure events don't change the surface while it's being used as a render target
platform = win
[PCompositorWidget::LeavePresentLock]
description = Release the exclusive lock that EnterPresentLock obtained
platform = win
[PCompositorWidget::ClearTransparentWindow]
description = Synchronously clear the widget surface. Does not rely on (Enter|Leave)PresentLock. When call returns, window surface has been fully updated with cleared pixel values.
platform = win
[PImageBridge::NewCompositable]
description = legacy sync IPC - please add detailed description
[PUiCompositorController::Pause]
description = legacy sync IPC - please add detailed description
[PUiCompositorController::Resume]
description = legacy sync IPC - please add detailed description
[PUiCompositorController::ResumeAndResize]
description = legacy sync IPC - please add detailed description
[PWebRenderBridge::EnsureConnected]
description = legacy sync IPC - please add detailed description
[PWebRenderBridge::GetSnapshot]
description = legacy sync IPC - please add detailed description
[PWebRenderBridge::SetTestSampleTime]
description = test only
[PWebRenderBridge::LeaveTestMode]
description = test only
[PWebRenderBridge::GetAnimationValue]
description = test only
[PWebRenderBridge::SetAsyncScrollOffset]
description = test only
[PWebRenderBridge::SetAsyncZoom]
description = test only
[PWebRenderBridge::GetAPZTestData]
description = test only
[PWebRenderBridge::GetFrameUniformity]
description = test only
[PWebRenderBridge::ShutdownSync]
description = bug 1377024
[PWebRenderBridge::SyncWithCompositor]
description = WebRender equivalent for PCompositorBridge::SyncWithCompositor
[PHal::GetCurrentBatteryInformation]
description = legacy sync IPC - please add detailed description
[PHal::GetCurrentNetworkInformation]
description = legacy sync IPC - please add detailed description
[PHal::GetWakeLockInfo]
description = legacy sync IPC - please add detailed description
[PHandlerService::FillHandlerInfo]
description = legacy sync IPC - please add detailed description
[PHandlerService::GetMIMEInfoFromOS]
description = Lets unprivileged child processes synchronously get MIME type/handler information from the OS
[PHandlerService::ExistsForProtocolOS]
description = bug 1382323
[PHandlerService::ExistsForProtocol]
description = legacy sync IPC - please add detailed description
[PHandlerService::Exists]
description = legacy sync IPC - please add detailed description
[PHandlerService::GetTypeFromExtension]
description = legacy sync IPC - please add detailed description
[PHandlerService::GetApplicationDescription]
description = Lets unprivileged child processes synchronously get a description of the app that handles a given protocol scheme
[PClientSource::WorkerSyncPing]
description = Synchronous ping allowing worker thread to confirm actor is created. Necessary to avoid racing with ClientHandle actors on main thread.
[PRemoteSandboxBroker::LaunchApp]
description = Synchronous launch of a child process that in turn launches and sandboxes another process. Called on a dedicated thread and targets a dedicated process, so this shouldn't block anything.
[PSandboxTesting::GetSpecialDirectory]
description = Testing only - get a special directory path.
# WebGL internals
[PWebGL::Initialize]
description = Initialization of WebGL contexts is synchronous by spec.
[PWebGL::GetFrontBuffer]
description = Publishing a WebGL frame for compositing is synchronous for now to ensure DOM transaction atomicity.
[PWebGL::OnMemoryPressure]
description = Synchronous to ensure immediate memory pressure relief.
# WebGL spec-synchronous functions
[PWebGL::CheckFramebufferStatus]
description = Checking framebuffer completenss must ask the driver.
[PWebGL::ClientWaitSync]
description = Checking fence-sync completenss must ask the driver.
[PWebGL::CreateOpaqueFramebuffer]
description = Must synchronously check for allocation success.
[PWebGL::DrawingBufferSize]
description = The returned size might be smaller than requested due to allocation failure.
[PWebGL::Finish]
description = Synchronous by spec, but not generally used.
[PWebGL::GetBufferSubData]
description = Retrieving buffer contents is synchronous in the worst case.
[PWebGL::GetFrontBufferSnapshot]
description = Retrieving canvas contents is synchronous.
[PWebGL::ReadPixels]
description = Retrieving WebGL framebuffer contents is synchronous.
# WebGL reflection functions
[PWebGL::GetBufferParameter]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetCompileResult]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetError]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetFragDataLocation]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetFramebufferAttachmentParameter]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetIndexedParameter]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetInternalformatParameter]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetLinkResult]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetNumber]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetQueryParameter]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetRenderbufferParameter]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetSamplerParameter]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetShaderPrecisionFormat]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetString]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetTexParameter]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetUniform]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::GetVertexAttrib]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::IsEnabled]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::ValidateProgram]
description = Reflection is cold code, but synchronous by spec.
[PWebGL::SyncPing]
description = Used to throttle a lot of async WebGL command messages.
# -
[PIPCClientCerts::FindObjects]
description = Finds certificates and private keys in the parent process. As this is called from PKCS#11, there is no way to make this asynchronous.
[PIPCClientCerts::Sign]
description = Performs a signature on given data with a key corresponding to the given identifier. This is called from PKCS#11, so there is no way to make this asynchronous.
# -
[PRemoteQuotaObject::MaybeUpdateSize]
description = This must be synchronous until quota file streams become non-blocking. The synchronous message is never used on the main thread or the PBackground thread or a DOM worker threed.
#############################################################
# AVOID ADDING NEW MESSAGES TO THIS FILE #
# see comment at top of file #
#############################################################