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/. */
7 #include "nsServiceManagerUtils.h"
13 NS_IMPL_ISUPPORTS_INHERITED(GfxInfo
, GfxInfoBase
, nsIGfxInfoDebug
)
18 GfxInfo::~GfxInfo() {}
20 nsresult
GfxInfo::GetD2DEnabled(bool* aEnabled
) { return NS_ERROR_FAILURE
; }
22 nsresult
GfxInfo::GetDWriteEnabled(bool* aEnabled
) { return NS_ERROR_FAILURE
; }
25 GfxInfo::GetDWriteVersion(nsAString
& aDwriteVersion
) {
26 return NS_ERROR_FAILURE
;
30 GfxInfo::GetCleartypeParameters(nsAString
& aCleartypeParams
) {
31 return NS_ERROR_FAILURE
;
35 GfxInfo::GetAdapterDescription(nsAString
& aAdapterDescription
) {
36 return NS_ERROR_FAILURE
;
40 GfxInfo::GetAdapterDescription2(nsAString
& aAdapterDescription
) {
41 return NS_ERROR_FAILURE
;
45 GfxInfo::GetAdapterRAM(uint32_t* aAdapterRAM
) { return NS_ERROR_FAILURE
; }
48 GfxInfo::GetAdapterRAM2(uint32_t* aAdapterRAM
) { return NS_ERROR_FAILURE
; }
51 GfxInfo::GetAdapterDriver(nsAString
& aAdapterDriver
) {
52 return NS_ERROR_FAILURE
;
56 GfxInfo::GetAdapterDriver2(nsAString
& aAdapterDriver
) {
57 return NS_ERROR_FAILURE
;
61 GfxInfo::GetAdapterDriverVersion(nsAString
& aAdapterDriverVersion
) {
62 return NS_ERROR_FAILURE
;
66 GfxInfo::GetAdapterDriverVersion2(nsAString
& aAdapterDriverVersion
) {
67 return NS_ERROR_FAILURE
;
71 GfxInfo::GetAdapterDriverDate(nsAString
& aAdapterDriverDate
) {
72 return NS_ERROR_FAILURE
;
76 GfxInfo::GetAdapterDriverDate2(nsAString
& aAdapterDriverDate
) {
77 return NS_ERROR_FAILURE
;
81 GfxInfo::GetAdapterVendorID(nsAString
& aAdapterVendorID
) {
82 return NS_ERROR_FAILURE
;
86 GfxInfo::GetAdapterVendorID2(nsAString
& aAdapterVendorID
) {
87 return NS_ERROR_FAILURE
;
91 GfxInfo::GetAdapterDeviceID(nsAString
& aAdapterDeviceID
) {
92 return NS_ERROR_FAILURE
;
97 GfxInfo::GetAdapterDeviceID2(nsAString
& aAdapterDeviceID
) {
98 return NS_ERROR_FAILURE
;
102 GfxInfo::GetAdapterSubsysID(nsAString
& aAdapterSubsysID
) {
103 return NS_ERROR_FAILURE
;
107 GfxInfo::GetAdapterSubsysID2(nsAString
& aAdapterSubsysID
) {
108 return NS_ERROR_FAILURE
;
112 GfxInfo::GetIsGPU2Active(bool* aIsGPU2Active
) { return NS_ERROR_FAILURE
; }
114 const nsTArray
<GfxDriverInfo
>& GfxInfo::GetGfxDriverInfo() {
115 if (sDriverInfo
->IsEmpty()) {
116 APPEND_TO_DRIVER_BLOCKLIST2(
117 OperatingSystem::Ios
, DeviceFamily::All
,
118 nsIGfxInfo::FEATURE_OPENGL_LAYERS
, nsIGfxInfo::FEATURE_STATUS_OK
,
119 DRIVER_COMPARISON_IGNORED
, GfxDriverInfo::allDriverVersions
);
125 nsresult
GfxInfo::GetFeatureStatusImpl(
126 int32_t aFeature
, int32_t* aStatus
, nsAString
& aSuggestedDriverVersion
,
127 const nsTArray
<GfxDriverInfo
>& aDriverInfo
,
128 OperatingSystem
* aOS
/* = nullptr */) {
129 NS_ENSURE_ARG_POINTER(aStatus
);
130 aSuggestedDriverVersion
.SetIsVoid(true);
131 *aStatus
= nsIGfxInfo::FEATURE_STATUS_UNKNOWN
;
132 if (aOS
) *aOS
= OperatingSystem::Ios
;
134 if (sShutdownOccurred
) {
138 // OpenGL layers are never blocklisted on iOS.
139 // This early return is so we avoid potentially slow
140 // GLStrings initialization on startup when we initialize GL layers.
141 if (aFeature
== nsIGfxInfo::FEATURE_OPENGL_LAYERS
||
142 aFeature
== nsIGfxInfo::FEATURE_WEBGL_OPENGL
) {
143 *aStatus
= nsIGfxInfo::FEATURE_STATUS_OK
;
147 return GfxInfoBase::GetFeatureStatusImpl(
148 aFeature
, aStatus
, aSuggestedDriverVersion
, aDriverInfo
, aOS
);
153 // Implement nsIGfxInfoDebug
155 NS_IMETHODIMP
GfxInfo::SpoofVendorID(const nsAString
& aVendorID
) {
156 return NS_ERROR_FAILURE
;
159 NS_IMETHODIMP
GfxInfo::SpoofDeviceID(const nsAString
& aDeviceID
) {
160 return NS_ERROR_FAILURE
;
163 NS_IMETHODIMP
GfxInfo::SpoofDriverVersion(const nsAString
& aDriverVersion
) {
164 return NS_ERROR_FAILURE
;
167 NS_IMETHODIMP
GfxInfo::SpoofOSVersion(uint32_t aVersion
) {
168 return NS_ERROR_FAILURE
;
173 } // namespace widget
174 } // namespace mozilla