no bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
[gecko.git] / widget / uikit / GfxInfo.cpp
blobd797e4f4a02ece4b6b7219f8165350528eed0db2
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/. */
6 #include "GfxInfo.h"
7 #include "nsServiceManagerUtils.h"
9 namespace mozilla {
10 namespace widget {
12 #ifdef DEBUG
13 NS_IMPL_ISUPPORTS_INHERITED(GfxInfo, GfxInfoBase, nsIGfxInfoDebug)
14 #endif
16 GfxInfo::GfxInfo() {}
18 GfxInfo::~GfxInfo() {}
20 nsresult GfxInfo::GetD2DEnabled(bool* aEnabled) { return NS_ERROR_FAILURE; }
22 nsresult GfxInfo::GetDWriteEnabled(bool* aEnabled) { return NS_ERROR_FAILURE; }
24 NS_IMETHODIMP
25 GfxInfo::GetDWriteVersion(nsAString& aDwriteVersion) {
26 return NS_ERROR_FAILURE;
29 NS_IMETHODIMP
30 GfxInfo::GetCleartypeParameters(nsAString& aCleartypeParams) {
31 return NS_ERROR_FAILURE;
34 NS_IMETHODIMP
35 GfxInfo::GetAdapterDescription(nsAString& aAdapterDescription) {
36 return NS_ERROR_FAILURE;
39 NS_IMETHODIMP
40 GfxInfo::GetAdapterDescription2(nsAString& aAdapterDescription) {
41 return NS_ERROR_FAILURE;
44 NS_IMETHODIMP
45 GfxInfo::GetAdapterRAM(uint32_t* aAdapterRAM) { return NS_ERROR_FAILURE; }
47 NS_IMETHODIMP
48 GfxInfo::GetAdapterRAM2(uint32_t* aAdapterRAM) { return NS_ERROR_FAILURE; }
50 NS_IMETHODIMP
51 GfxInfo::GetAdapterDriver(nsAString& aAdapterDriver) {
52 return NS_ERROR_FAILURE;
55 NS_IMETHODIMP
56 GfxInfo::GetAdapterDriver2(nsAString& aAdapterDriver) {
57 return NS_ERROR_FAILURE;
60 NS_IMETHODIMP
61 GfxInfo::GetAdapterDriverVersion(nsAString& aAdapterDriverVersion) {
62 return NS_ERROR_FAILURE;
65 NS_IMETHODIMP
66 GfxInfo::GetAdapterDriverVersion2(nsAString& aAdapterDriverVersion) {
67 return NS_ERROR_FAILURE;
70 NS_IMETHODIMP
71 GfxInfo::GetAdapterDriverDate(nsAString& aAdapterDriverDate) {
72 return NS_ERROR_FAILURE;
75 NS_IMETHODIMP
76 GfxInfo::GetAdapterDriverDate2(nsAString& aAdapterDriverDate) {
77 return NS_ERROR_FAILURE;
80 NS_IMETHODIMP
81 GfxInfo::GetAdapterVendorID(nsAString& aAdapterVendorID) {
82 return NS_ERROR_FAILURE;
85 NS_IMETHODIMP
86 GfxInfo::GetAdapterVendorID2(nsAString& aAdapterVendorID) {
87 return NS_ERROR_FAILURE;
90 NS_IMETHODIMP
91 GfxInfo::GetAdapterDeviceID(nsAString& aAdapterDeviceID) {
92 return NS_ERROR_FAILURE;
93 return NS_OK;
96 NS_IMETHODIMP
97 GfxInfo::GetAdapterDeviceID2(nsAString& aAdapterDeviceID) {
98 return NS_ERROR_FAILURE;
101 NS_IMETHODIMP
102 GfxInfo::GetAdapterSubsysID(nsAString& aAdapterSubsysID) {
103 return NS_ERROR_FAILURE;
106 NS_IMETHODIMP
107 GfxInfo::GetAdapterSubsysID2(nsAString& aAdapterSubsysID) {
108 return NS_ERROR_FAILURE;
111 NS_IMETHODIMP
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);
122 return *sDriverInfo;
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) {
135 return NS_OK;
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;
144 return NS_OK;
147 return GfxInfoBase::GetFeatureStatusImpl(
148 aFeature, aStatus, aSuggestedDriverVersion, aDriverInfo, aOS);
151 #ifdef DEBUG
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;
171 #endif
173 } // namespace widget
174 } // namespace mozilla