tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 7439ba9c6ed242d5f93d5e706baeaa6e141c9cfd
parent 20a23bdc4250219a2ab290038b17338d365729fa
Author: Lee Salzman <lsalzman@mozilla.com>
Date:   Thu, 23 Oct 2025 17:27:42 +0000

Bug 1995874 - Remove direct2d prefs. r=aosmond,taskgraph-reviewers,toolkit-telemetry-reviewers,bhearsum

Differential Revision: https://phabricator.services.mozilla.com/D269672

Diffstat:
Mbrowser/components/preferences/tests/browser_layersacceleration.js | 5+----
Mgfx/src/DriverCrashGuard.cpp | 5-----
Mgfx/thebes/D3D11Checks.cpp | 6++----
Mgfx/thebes/DeviceManagerDx.cpp | 12------------
Mgfx/thebes/gfxPlatform.cpp | 21++-------------------
Mgfx/thebes/gfxWindowsPlatform.cpp | 24++----------------------
Mmodules/libpref/init/StaticPrefList.yaml | 18------------------
Mmodules/libpref/init/all.js | 14++++----------
Mtaskcluster/gecko_taskgraph/transforms/test/other.py | 5-----
Mtoolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs | 2--
10 files changed, 11 insertions(+), 101 deletions(-)

diff --git a/browser/components/preferences/tests/browser_layersacceleration.js b/browser/components/preferences/tests/browser_layersacceleration.js @@ -6,10 +6,7 @@ add_task(async function () { set: [["preferences.force-disable.check.once.policy", true]], }); await SpecialPowers.pushPrefEnv({ - set: [ - ["gfx.direct2d.disabled", false], - ["layers.acceleration.disabled", false], - ], + set: [["layers.acceleration.disabled", false]], }); let prefs = await openPreferencesViaOpenPreferencesAPI("paneGeneral", { diff --git a/gfx/src/DriverCrashGuard.cpp b/gfx/src/DriverCrashGuard.cpp @@ -409,11 +409,6 @@ bool D3D11LayersCrashGuard::UpdateEnvironment() { bool changed = false; // Feature status. #if defined(XP_WIN) - bool d2dEnabled = StaticPrefs::gfx_direct2d_force_enabled_AtStartup() || - (!StaticPrefs::gfx_direct2d_disabled_AtStartup() && - FeatureEnabled(nsIGfxInfo::FEATURE_DIRECT2D)); - changed |= CheckAndUpdateBoolPref("feature-d2d", d2dEnabled); - bool d3d11Enabled = gfxConfig::IsEnabled(Feature::D3D11_COMPOSITING); changed |= CheckAndUpdateBoolPref("feature-d3d11", d3d11Enabled); if (changed) { diff --git a/gfx/thebes/D3D11Checks.cpp b/gfx/thebes/D3D11Checks.cpp @@ -144,8 +144,7 @@ bool D3D11Checks::DoesDeviceWork() { if (checked) return result; checked = true; - if (StaticPrefs::gfx_direct2d_force_enabled_AtStartup() || - gfxConfig::IsForcedOnByUser(Feature::HW_COMPOSITING)) { + if (gfxConfig::IsForcedOnByUser(Feature::HW_COMPOSITING)) { result = true; return true; } @@ -205,8 +204,7 @@ static bool DoesTextureSharingWorkInternal(ID3D11Device* device, return false; } - if (StaticPrefs::gfx_direct2d_force_enabled_AtStartup() || - gfxConfig::IsForcedOnByUser(Feature::HW_COMPOSITING)) { + if (gfxConfig::IsForcedOnByUser(Feature::HW_COMPOSITING)) { return true; } diff --git a/gfx/thebes/DeviceManagerDx.cpp b/gfx/thebes/DeviceManagerDx.cpp @@ -504,18 +504,6 @@ bool DeviceManagerDx::CreateCanvasDeviceLocked() { return false; } - if (StaticPrefs:: - gfx_direct2d_target_independent_rasterization_disabled_AtStartup()) { - int creationFlags = 0x2; // disable target independent rasterization - const GUID D2D_INTERNAL_DEVICE_CREATION_OPTIONS = { - 0xfb3a8e1a, - 0x2e3c, - 0x4de1, - {0x84, 0x42, 0x40, 0x43, 0xe0, 0xb0, 0x94, 0x95}}; - mCanvasDevice->SetPrivateData(D2D_INTERNAL_DEVICE_CREATION_OPTIONS, - sizeof(creationFlags), &creationFlags); - } - if (FAILED(hr) || !mCanvasDevice) { NS_WARNING("Failed to acquire a D3D11 device for Canvas"); return false; diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp @@ -862,10 +862,6 @@ void gfxPlatform::Init() { // interpret these cryptic strings. { nsAutoCString forcedPrefs; - // D2D prefs - forcedPrefs.AppendPrintf( - "FP(D%d%d", StaticPrefs::gfx_direct2d_disabled_AtStartup(), - StaticPrefs::gfx_direct2d_force_enabled_AtStartup()); // Layers prefs forcedPrefs.AppendPrintf( "-L%d%d%d%d", @@ -1796,8 +1792,6 @@ already_AddRefed<DrawTarget> gfxPlatform::CreateDrawTargetForData( BackendType gfxPlatform::BackendTypeForName(const nsCString& aName) { if (aName.EqualsLiteral("cairo")) return BackendType::CAIRO; if (aName.EqualsLiteral("skia")) return BackendType::SKIA; - if (aName.EqualsLiteral("direct2d")) return BackendType::DIRECT2D; - if (aName.EqualsLiteral("direct2d1.1")) return BackendType::DIRECT2D1_1; return BackendType::NONE; } @@ -2494,20 +2488,9 @@ void gfxPlatform::InitAcceleration() { "FEATURE_REMOTE_CANVAS_NO_GPU_PROCESS"_ns); } -#ifdef XP_WIN - // If D2D is explicitly disabled on Windows, then don't use remote canvas. - // This prevents it from interfering with Accelerated Canvas2D. - if (StaticPrefs::gfx_direct2d_disabled_AtStartup() && - !StaticPrefs::gfx_direct2d_force_enabled_AtStartup()) { - gfxConfig::ForceDisable(Feature::REMOTE_CANVAS, FeatureStatus::Blocked, - "Disabled without Direct2D", - "FEATURE_REMOTE_CANVAS_NO_DIRECT2D"_ns); - } -#else gfxConfig::ForceDisable(Feature::REMOTE_CANVAS, FeatureStatus::Blocked, - "Platform not supported", - "FEATURE_REMOTE_CANVAS_NOT_WINDOWS"_ns); -#endif + "Remote Canvas not supported", + "FEATURE_REMOTE_CANVAS_NOT_SUPPORTED"_ns); gfxVars::SetRemoteCanvasEnabled(feature.IsEnabled()); } diff --git a/gfx/thebes/gfxWindowsPlatform.cpp b/gfx/thebes/gfxWindowsPlatform.cpp @@ -1583,28 +1583,8 @@ void gfxWindowsPlatform::InitializeD3D11() { void gfxWindowsPlatform::InitializeD2DConfig() { FeatureState& d2d1 = gfxConfig::GetFeature(Feature::DIRECT2D); - if (!gfxConfig::IsEnabled(Feature::D3D11_COMPOSITING)) { - d2d1.DisableByDefault(FeatureStatus::Unavailable, - "Direct2D requires Direct3D 11 compositing", - "FEATURE_FAILURE_D2D_D3D11_COMP"_ns); - return; - } - - d2d1.SetDefaultFromPref(StaticPrefs::GetPrefName_gfx_direct2d_disabled(), - false, - StaticPrefs::GetPrefDefault_gfx_direct2d_disabled()); - - nsCString message; - nsCString failureId; - if (!gfxPlatform::IsGfxInfoStatusOkay(nsIGfxInfo::FEATURE_DIRECT2D, &message, - failureId)) { - d2d1.Disable(FeatureStatus::Blocklisted, message.get(), failureId); - } - - if (!d2d1.IsEnabled() && - StaticPrefs::gfx_direct2d_force_enabled_AtStartup()) { - d2d1.UserForceEnable("Force-enabled via user-preference"); - } + d2d1.DisableByDefault(FeatureStatus::Unavailable, "Direct2D is not supported", + "FEATURE_FAILURE_DIRECT2D_NOT_SUPPORTED"_ns); } void gfxWindowsPlatform::InitializeD2D() { diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml @@ -7022,24 +7022,6 @@ mirror: once -# Whether to disable the automatic detection and use of direct2d. -- name: gfx.direct2d.disabled - type: bool - value: true - mirror: once - -# Whether to attempt to enable Direct2D regardless of automatic detection or -# blacklisting. -- name: gfx.direct2d.force-enabled - type: bool - value: false - mirror: once - -- name: gfx.direct2d.target-independent-rasterization.disabled - type: bool - value: false - mirror: once - - name: gfx.direct3d11.reuse-decoder-device type: bool value: true diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js @@ -397,15 +397,9 @@ pref("gfx.downloadable_fonts.fallback_delay_short", 100); pref("gfx.font_rendering.directwrite.use_gdi_table_loading", true); #endif -#if defined(XP_WIN) - // comma separated list of backends to use in order of preference - // e.g., pref("gfx.canvas.azure.backends", "direct2d,skia"); - pref("gfx.canvas.azure.backends", "direct2d1.1,skia"); -#elif defined(XP_MACOSX) - pref("gfx.canvas.azure.backends", "skia"); -#else - pref("gfx.canvas.azure.backends", "skia"); -#endif +// comma separated list of backends to use in order of preference +// e.g., pref("gfx.canvas.azure.backends", "direct2d,skia"); +pref("gfx.canvas.azure.backends", "skia"); pref("gfx.content.azure.backends", "skia"); #ifdef XP_WIN @@ -2236,7 +2230,7 @@ pref("font.size.monospace.x-math", 13); pref("font.name-list.monospace.x-math", "Consolas"); pref("font.name-list.cursive.x-math", "Comic Sans MS"); - // ClearType tuning parameters for directwrite/d2d. + // ClearType tuning parameters for directwrite. // // Allows overriding of underlying registry values in: // HKCU/Software/Microsoft/Avalon.Graphics/<display> (contrast and level) diff --git a/taskcluster/gecko_taskgraph/transforms/test/other.py b/taskcluster/gecko_taskgraph/transforms/test/other.py @@ -111,11 +111,6 @@ def setup_talos(config, tasks): ) extra_options.append("--use-talos-json") - # win7 needs to test skip - if task["build-platform"].startswith("win32"): - extra_options.append("--add-option") - extra_options.append("--setpref,gfx.direct2d.disabled=true") - if config.params.get("project", None): extra_options.append("--project=%s" % config.params["project"]) diff --git a/toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs b/toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs @@ -297,8 +297,6 @@ const DEFAULT_ENVIRONMENT_PREFS = new Map([ ["extensions.update.background.url", { what: RECORD_PREF_VALUE }], ["general.config.filename", { what: RECORD_DEFAULTPREF_STATE }], ["general.smoothScroll", { what: RECORD_PREF_VALUE }], - ["gfx.direct2d.disabled", { what: RECORD_PREF_VALUE }], - ["gfx.direct2d.force-enabled", { what: RECORD_PREF_VALUE }], ["gfx.webrender.all", { what: RECORD_PREF_VALUE }], ["layers.acceleration.disabled", { what: RECORD_PREF_VALUE }], ["layers.acceleration.force-enabled", { what: RECORD_PREF_VALUE }],