Bug 1861709 replace AudioCallbackDriver::ThreadRunning() assertions that mean to...
[gecko.git] / widget / gtk / CompositorWidgetParent.h
blob2bbc70af3ee230e4da7db5a98365f35db7665271
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef widget_gtk_CompositorWidgetParent_h
7 #define widget_gtk_CompositorWidgetParent_h
9 #include "GtkCompositorWidget.h"
10 #include "mozilla/VsyncDispatcher.h"
11 #include "mozilla/widget/PCompositorWidgetParent.h"
13 namespace mozilla {
14 namespace widget {
16 class CompositorWidgetParent final : public PCompositorWidgetParent,
17 public GtkCompositorWidget {
18 public:
19 explicit CompositorWidgetParent(const CompositorWidgetInitData& aInitData,
20 const layers::CompositorOptions& aOptions);
21 ~CompositorWidgetParent() override;
23 void ActorDestroy(ActorDestroyReason aWhy) override {}
25 void ObserveVsync(VsyncObserver* aObserver) override;
26 RefPtr<VsyncObserver> GetVsyncObserver() const override;
28 mozilla::ipc::IPCResult RecvNotifyClientSizeChanged(
29 const LayoutDeviceIntSize& aClientSize) override;
31 mozilla::ipc::IPCResult RecvDisableRendering() override;
32 mozilla::ipc::IPCResult RecvEnableRendering(const uintptr_t& aXWindow,
33 const bool& aShaped) override;
35 private:
36 RefPtr<VsyncObserver> mVsyncObserver;
39 } // namespace widget
40 } // namespace mozilla
42 #endif // widget_gtk_CompositorWidgetParent_h