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/. */ 5 6 #include "CompositorWidgetParent.h" 7 #include "mozilla/Unused.h" 8 #include "mozilla/widget/PlatformWidgetTypes.h" 9 10 namespace mozilla { 11 namespace widget { 12 CompositorWidgetParent(const CompositorWidgetInitData & aInitData,const layers::CompositorOptions & aOptions)13CompositorWidgetParent::CompositorWidgetParent( 14 const CompositorWidgetInitData& aInitData, 15 const layers::CompositorOptions& aOptions) 16 : GtkCompositorWidget(aInitData.get_GtkCompositorWidgetInitData(), aOptions, 17 nullptr) { 18 MOZ_ASSERT(XRE_GetProcessType() == GeckoProcessType_GPU); 19 } 20 21 CompositorWidgetParent::~CompositorWidgetParent() = default; 22 ObserveVsync(VsyncObserver * aObserver)23void CompositorWidgetParent::ObserveVsync(VsyncObserver* aObserver) { 24 if (aObserver) { 25 Unused << SendObserveVsync(); 26 } else { 27 Unused << SendUnobserveVsync(); 28 } 29 mVsyncObserver = aObserver; 30 } 31 GetVsyncObserver() const32RefPtr<VsyncObserver> CompositorWidgetParent::GetVsyncObserver() const { 33 MOZ_ASSERT(XRE_GetProcessType() == GeckoProcessType_GPU); 34 return mVsyncObserver; 35 } 36 RecvNotifyClientSizeChanged(const LayoutDeviceIntSize & aClientSize)37mozilla::ipc::IPCResult CompositorWidgetParent::RecvNotifyClientSizeChanged( 38 const LayoutDeviceIntSize& aClientSize) { 39 NotifyClientSizeChanged(aClientSize); 40 return IPC_OK(); 41 } 42 43 } // namespace widget 44 } // namespace mozilla 45