Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/widget/headless/HeadlessCompositorWidget.h
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
#ifndef widget_headless_HeadlessCompositorWidget_h
7
#define widget_headless_HeadlessCompositorWidget_h
8
9
#include "mozilla/widget/CompositorWidget.h"
10
11
#include "HeadlessWidget.h"
12
13
namespace mozilla {
14
namespace widget {
15
16
class HeadlessCompositorWidgetInitData;
17
18
class HeadlessCompositorWidget final
19
  : public CompositorWidget
20
  , public CompositorWidgetDelegate
21
{
22
public:
23
  HeadlessCompositorWidget(const HeadlessCompositorWidgetInitData& aInitData,
24
                           const layers::CompositorOptions& aOptions,
25
                           HeadlessWidget* aWindow);
26
27
  void NotifyClientSizeChanged(const LayoutDeviceIntSize& aClientSize);
28
29
  // CompositorWidget Overrides
30
31
  uintptr_t GetWidgetKey() override;
32
33
  LayoutDeviceIntSize GetClientSize() override;
34
35
  nsIWidget* RealWidget() override;
36
0
  CompositorWidgetDelegate* AsDelegate() override { return this; }
37
38
  void ObserveVsync(VsyncObserver* aObserver) override;
39
40
  // CompositorWidgetDelegate Overrides
41
42
0
  HeadlessCompositorWidget* AsHeadlessCompositorWidget() override {
43
0
    return this;
44
0
  }
45
46
private:
47
  HeadlessWidget* mWidget;
48
49
  LayoutDeviceIntSize mClientSize;
50
};
51
52
} // namespace widget
53
} // namespace mozilla
54
55
#endif // widget_headless_HeadlessCompositor_h