RemoteCompositorSession.h (1541B)
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 8 9 #include "CompositorSession.h" 10 #include "mozilla/gfx/Point.h" 11 #include "Units.h" 12 13 class nsIWidget; 14 15 namespace mozilla { 16 namespace layers { 17 18 class APZCTreeManagerChild; 19 20 class RemoteCompositorSession final : public CompositorSession { 21 public: 22 RemoteCompositorSession(nsIWidget* aWidget, CompositorBridgeChild* aChild, 23 CompositorWidgetDelegate* aWidgetDelegate, 24 APZCTreeManagerChild* aAPZ, 25 const LayersId& aRootLayerTreeId); 26 virtual ~RemoteCompositorSession(); 27 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; 34 35 void NotifySessionLost(); 36 37 private: 38 RefPtr<APZCTreeManagerChild> mAPZ; 39 RefPtr<GeckoContentController> mContentController; 40 }; 41 42 } // namespace layers 43 } // namespace mozilla 44 45 #endif // include_mozilla_gfx_ipc_RemoteCompositorSession_h