Bug 1890689 accumulate input in LargerReceiverBlockSizeThanDesiredBuffering GTest...
[gecko.git] / gfx / ipc / RemoteCompositorSession.h
blobd55d56e07a12795b11ccc56a51b95dfa82f18b51
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
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/. */
6 #ifndef include_mozilla_gfx_ipc_RemoteCompositorSession_h
7 #define include_mozilla_gfx_ipc_RemoteCompositorSession_h
9 #include "CompositorSession.h"
10 #include "mozilla/gfx/Point.h"
11 #include "Units.h"
13 class nsIWidget;
15 namespace mozilla {
16 namespace layers {
18 class APZCTreeManagerChild;
20 class RemoteCompositorSession final : public CompositorSession {
21 public:
22 RemoteCompositorSession(nsBaseWidget* aWidget, CompositorBridgeChild* aChild,
23 CompositorWidgetDelegate* aWidgetDelegate,
24 APZCTreeManagerChild* aAPZ,
25 const LayersId& aRootLayerTreeId);
26 virtual ~RemoteCompositorSession();
28 CompositorBridgeParent* GetInProcessBridge() const override;
29 void SetContentController(GeckoContentController* aController) override;
30 GeckoContentController* GetContentController();
31 nsIWidget* GetWidget() const;
32 RefPtr<IAPZCTreeManager> GetAPZCTreeManager() const override;
33 void Shutdown() override;
35 void NotifySessionLost();
37 private:
38 RefPtr<APZCTreeManagerChild> mAPZ;
39 RefPtr<GeckoContentController> mContentController;
42 } // namespace layers
43 } // namespace mozilla
45 #endif // include_mozilla_gfx_ipc_RemoteCompositorSession_h