commit 0d3216443c749fc4ff7d2fd3d033c3d37fdd4083 parent d65b134d971ae57249d9dc93749a7a37c1f8b6c9 Author: serge-sans-paille <sguelton@mozilla.com> Date: Mon, 6 Oct 2025 06:31:57 +0000 Bug 1992162 - Make Maybe type constinit compatible r=emilio Differential Revision: https://phabricator.services.mozilla.com/D267245 Diffstat:
5 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/accessible/base/nsAccessibilityService.cpp b/accessible/base/nsAccessibilityService.cpp @@ -1564,7 +1564,7 @@ LocalAccessible* nsAccessibilityService::CreateAccessible( # include "mozilla/Monitor.h" # include "mozilla/Maybe.h" -MOZ_RUNINIT static Maybe<Monitor> sAndroidMonitor; +MOZ_CONSTINIT static Maybe<Monitor> sAndroidMonitor; mozilla::Monitor& nsAccessibilityService::GetAndroidMonitor() { if (!sAndroidMonitor.isSome()) { diff --git a/dom/events/IMEStateManager.cpp b/dom/events/IMEStateManager.cpp @@ -81,7 +81,7 @@ bool IMEStateManager::sInstalledMenuKeyboardListener = false; bool IMEStateManager::sIsGettingNewIMEState = false; bool IMEStateManager::sCleaningUpForStoppingIMEStateManagement = false; bool IMEStateManager::sIsActive = false; -MOZ_RUNINIT Maybe<IMEStateManager::PendingFocusedBrowserSwitchingData> +MOZ_CONSTINIT Maybe<IMEStateManager::PendingFocusedBrowserSwitchingData> IMEStateManager::sPendingFocusedBrowserSwitchingData; class PseudoFocusChangeRunnable : public Runnable { diff --git a/dom/ipc/BrowserParent.cpp b/dom/ipc/BrowserParent.cpp @@ -259,7 +259,7 @@ class RequestingAccessKeyEventData { static int32_t sBrowserParentCount; }; int32_t RequestingAccessKeyEventData::sBrowserParentCount = 0; -MOZ_RUNINIT Maybe<RequestingAccessKeyEventData::Data> +MOZ_CONSTINIT Maybe<RequestingAccessKeyEventData::Data> RequestingAccessKeyEventData::sData; namespace dom { diff --git a/dom/media/webrtc/jsapi/WebrtcGlobalInformation.cpp b/dom/media/webrtc/jsapi/WebrtcGlobalInformation.cpp @@ -535,7 +535,7 @@ void WebrtcGlobalInformation::GetLogging( } static bool sLastAECDebug = false; -MOZ_RUNINIT static Maybe<nsCString> sAecDebugLogDir; +MOZ_CONSTINIT static Maybe<nsCString> sAecDebugLogDir; void WebrtcGlobalInformation::SetAecDebug(const GlobalObject& aGlobal, bool aEnable) { diff --git a/mfbt/MaybeStorageBase.h b/mfbt/MaybeStorageBase.h @@ -31,7 +31,7 @@ struct MaybeStorageBase<T, false> { using NonConstT = std::remove_const_t<T>; union Union { - Union() {} + constexpr Union() : empty{} {} explicit Union(const T& aVal) : val{aVal} {} template <typename U, typename = std::enable_if_t<std::is_move_constructible_v<U>>> @@ -43,6 +43,7 @@ struct MaybeStorageBase<T, false> { ~Union() {} NonConstT val; + char empty; // needed to make default constructor constexpr } mStorage; public: