Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/widget/gtk/InProcessGtkCompositorWidget.cpp
Line
Count
Source (jump to first uncovered line)
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 "HeadlessCompositorWidget.h"
7
#include "HeadlessWidget.h"
8
#include "mozilla/widget/PlatformWidgetTypes.h"
9
10
#include "InProcessGtkCompositorWidget.h"
11
#include "nsWindow.h"
12
13
namespace mozilla {
14
namespace widget {
15
16
/* static */ RefPtr<CompositorWidget>
17
CompositorWidget::CreateLocal(const CompositorWidgetInitData& aInitData,
18
                              const layers::CompositorOptions& aOptions,
19
                              nsIWidget* aWidget)
20
0
{
21
0
  if (aInitData.type() == CompositorWidgetInitData::THeadlessCompositorWidgetInitData) {
22
0
    return new HeadlessCompositorWidget(aInitData.get_HeadlessCompositorWidgetInitData(),
23
0
                                        aOptions, static_cast<HeadlessWidget*>(aWidget));
24
0
  } else {
25
0
    return new InProcessGtkCompositorWidget(aInitData.get_GtkCompositorWidgetInitData(),
26
0
                                            aOptions, static_cast<nsWindow*>(aWidget));
27
0
  }
28
0
}
29
30
InProcessGtkCompositorWidget::InProcessGtkCompositorWidget(const GtkCompositorWidgetInitData& aInitData,
31
                                                           const layers::CompositorOptions& aOptions,
32
                                                           nsWindow* aWindow)
33
  : GtkCompositorWidget(aInitData, aOptions, aWindow)
34
0
{
35
0
}
36
37
void
38
InProcessGtkCompositorWidget::ObserveVsync(VsyncObserver* aObserver)
39
0
{
40
0
  if (RefPtr<CompositorVsyncDispatcher> cvd = mWidget->GetCompositorVsyncDispatcher()) {
41
0
    cvd->SetCompositorVsyncObserver(aObserver);
42
0
  }
43
0
}
44
45
} // namespace widget
46
} // namespace mozilla