Bug 1861709 replace AudioCallbackDriver::ThreadRunning() assertions that mean to...
[gecko.git] / widget / windows / PCompositorWidget.ipdl
blob89ea575a471faf44a2aabf3c43745742db5330b7
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=99: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this
5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 include protocol PCompositorBridge;
9 include "mozilla/dom/TabMessageUtils.h";
10 include "mozilla/widget/WidgetMessageUtils.h";
12 using mozilla::gfx::IntSize from "mozilla/gfx/Point.h";
13 using mozilla::WindowsHandle from "mozilla/ipc/IPCTypes.h";
14 using mozilla::widget::TransparencyMode from "nsIWidget.h";
15 using nsSizeMode from "nsIWidget.h";
17 namespace mozilla {
18 namespace widget {
20 struct RemoteBackbufferHandles {
21   FileDescriptor fileMapping;
22   FileDescriptor requestReadyEvent;
23   FileDescriptor responseReadyEvent;
26 [ManualDealloc, ChildImpl=virtual, ParentImpl=virtual]
27 sync protocol PCompositorWidget
29   manager PCompositorBridge;
31 parent:
32   sync Initialize(RemoteBackbufferHandles aRemoteHandles);
33   
34   sync EnterPresentLock();
35   sync LeavePresentLock();
36   async UpdateTransparency(TransparencyMode aMode);
37   async NotifyVisibilityUpdated(nsSizeMode aSizeMode, bool aIsFullyOccluded);
38   sync ClearTransparentWindow();
39   async __delete__();
41 child:
42   async ObserveVsync();
43   async UnobserveVsync();
44   async UpdateCompositorWnd(WindowsHandle aCompositorWnd, WindowsHandle aParentWnd)
45     returns (bool success);
48 } // namespace widget
49 } // namespace mozilla