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/. */
7 #include "HeadlessScreenHelper.h"
10 #include "mozilla/dom/DOMTypes.h"
11 #include "mozilla/RefPtr.h"
18 LayoutDeviceIntRect
HeadlessScreenHelper::GetScreenRect() {
19 char* ev
= PR_GetEnv("MOZ_HEADLESS_WIDTH");
24 ev
= PR_GetEnv("MOZ_HEADLESS_HEIGHT");
29 return LayoutDeviceIntRect(0, 0, width
, height
);
32 HeadlessScreenHelper::HeadlessScreenHelper() {
33 AutoTArray
<RefPtr
<Screen
>, 1> screenList
;
34 LayoutDeviceIntRect rect
= GetScreenRect();
36 MakeRefPtr
<Screen
>(rect
, rect
, 24, 24, 0, DesktopToLayoutDeviceScale(),
37 CSSToLayoutDeviceScale(), 96.0f
,
38 Screen::IsPseudoDisplay::No
, Screen::IsHDR::No
);
39 screenList
.AppendElement(ret
.forget());
40 ScreenManager::Refresh(std::move(screenList
));
44 } // namespace mozilla