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 "CompositorWidgetChild.h"
7 #include "mozilla/Unused.h"
8 #include "gfxPlatform.h"
9 
10 namespace mozilla {
11 namespace widget {
12 
CompositorWidgetChild(RefPtr<CompositorVsyncDispatcher> aVsyncDispatcher,RefPtr<CompositorWidgetVsyncObserver> aVsyncObserver,const CompositorWidgetInitData &)13 CompositorWidgetChild::CompositorWidgetChild(
14     RefPtr<CompositorVsyncDispatcher> aVsyncDispatcher,
15     RefPtr<CompositorWidgetVsyncObserver> aVsyncObserver,
16     const CompositorWidgetInitData&)
17     : mVsyncDispatcher(aVsyncDispatcher), mVsyncObserver(aVsyncObserver) {
18   MOZ_ASSERT(XRE_IsParentProcess());
19   MOZ_ASSERT(!gfxPlatform::IsHeadless());
20 }
21 
22 CompositorWidgetChild::~CompositorWidgetChild() = default;
23 
Initialize()24 bool CompositorWidgetChild::Initialize() { return true; }
25 
RecvObserveVsync()26 mozilla::ipc::IPCResult CompositorWidgetChild::RecvObserveVsync() {
27   mVsyncDispatcher->SetCompositorVsyncObserver(mVsyncObserver);
28   return IPC_OK();
29 }
30 
RecvUnobserveVsync()31 mozilla::ipc::IPCResult CompositorWidgetChild::RecvUnobserveVsync() {
32   mVsyncDispatcher->SetCompositorVsyncObserver(nullptr);
33   return IPC_OK();
34 }
35 
NotifyClientSizeChanged(const LayoutDeviceIntSize & aClientSize)36 void CompositorWidgetChild::NotifyClientSizeChanged(
37     const LayoutDeviceIntSize& aClientSize) {
38   Unused << SendNotifyClientSizeChanged(aClientSize);
39 }
40 
41 }  // namespace widget
42 }  // namespace mozilla
43