ports/devel/electron34/files/patch-chrome_browser_about__flags.cc
Hiroki Tagato 65178207cf devel/electron34: add port: Build cross-platform desktop apps with JavaScript, HTML, and CSS
Build cross platform desktop apps with JavaScript, HTML, and CSS.

It's easier than you think.

If you can build a website, you can build a desktop app. Electron is a
framework for creating native applications with web technologies like
JavaScript, HTML, and CSS. It takes care of the hard parts so you can
focus on the core of your application.

WWW: https://electronjs.org/
2025-03-14 18:46:06 +09:00

330 lines
15 KiB
C++

--- chrome/browser/about_flags.cc.orig 2025-01-27 17:37:37 UTC
+++ chrome/browser/about_flags.cc
@@ -249,7 +249,7 @@
#include "ui/ui_features.h"
#include "url/url_features.h"
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
#include "base/allocator/buildflags.h"
#endif
@@ -344,7 +344,7 @@
#include "device/vr/public/cpp/features.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)
#include "ui/ozone/public/ozone_switches.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)
@@ -353,7 +353,7 @@
#include "chrome/browser/win/mica_titlebar.h"
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
#include "chrome/browser/contextual_cueing/contextual_cueing_features.h"
#include "chrome/browser/enterprise/profile_management/profile_management_features.h"
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
@@ -364,7 +364,7 @@
#include "components/user_education/common/user_education_features.h" // nogncheck
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
#include "chrome/browser/ui/ui_features.h"
#include "ui/base/ui_base_features.h"
#endif
@@ -510,7 +510,7 @@ const FeatureEntry::FeatureVariation kDXGIWaitableSwap
{"Max 3 Frames", &kDXGIWaitableSwapChain3Frames, 1, nullptr}};
#endif
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
const FeatureEntry::Choice kOzonePlatformHintRuntimeChoices[] = {
{flag_descriptions::kOzonePlatformHintChoiceDefault, "", ""},
{flag_descriptions::kOzonePlatformHintChoiceAuto,
@@ -780,6 +780,26 @@ const FeatureEntry::FeatureVariation
std::size(kWebIdentityDigitalIdentityCredentialHighRiskDialogParam),
nullptr}};
+#if BUILDFLAG(IS_BSD)
+const FeatureEntry::FeatureParam kAudioBackendPulseAudio[] = {
+ { "audio-backend", "pulseaudio" }};
+const FeatureEntry::FeatureParam kAudioBackendSndio[] = {
+ { "audio-backend", "sndio" }};
+const FeatureEntry::FeatureParam kAudioBackendAlsa[] = {
+ { "audio-backend", "alsa" }};
+const FeatureEntry::FeatureVariation
+ kAudioBackendVariations[] = {
+ {"using PulseAudio by default if available", kAudioBackendPulseAudio,
+ std::size(kAudioBackendPulseAudio),
+ nullptr},
+ {"using sndio by default if available", kAudioBackendSndio,
+ std::size(kAudioBackendSndio),
+ nullptr},
+ {"using ALSA by default if available", kAudioBackendAlsa,
+ std::size(kAudioBackendAlsa),
+ nullptr}};
+#endif
+
const FeatureEntry::FeatureParam kClipboardMaximumAge60Seconds[] = {
{"UIClipboardMaximumAge", "60"}};
const FeatureEntry::FeatureParam kClipboardMaximumAge90Seconds[] = {
@@ -1216,7 +1236,7 @@ const FeatureEntry::FeatureVariation kPageContentAnnot
};
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
const FeatureEntry::FeatureParam kHistoryEmbeddingsAtKeywordAcceleration[]{
{"AtKeywordAcceleration", "true"},
};
@@ -1254,7 +1274,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada
};
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
const FeatureEntry::FeatureParam kShortcutBoostSingleUrl[] = {
{"ShortcutBoostSearchScore", "0"},
{"ShortcutBoostNonTopHitThreshold", "0"},
@@ -1872,7 +1892,7 @@ const FeatureEntry::FeatureVariation kTabScrollingVari
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
const FeatureEntry::FeatureParam kTabstripDeclutterQuickModeParams[] = {
{"stale_threshold_duration", "10s"},
{"declutter_timer_interval", "10s"},
@@ -3589,7 +3609,7 @@ const FeatureEntry::FeatureVariation
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOn[] =
{{"link_capturing_state", "on_by_default"}};
const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOff[] =
@@ -4135,7 +4155,7 @@ const FeatureEntry::FeatureVariation
std::size(kSecurePaymentConfirmationNetworkAndIssuerIcons_Rows),
nullptr}};
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
const FeatureEntry::FeatureParam kTranslationAPI_SkipLanguagePackLimit[] = {
{"TranslationAPIAcceptLanguagesCheck", "false"},
{"TranslationAPILimitLanguagePackCount", "false"}};
@@ -4968,7 +4988,7 @@ const FeatureEntry kFeatureEntries[] = {
},
#endif // BUILDFLAG(IS_WIN)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{
"fluent-overlay-scrollbars",
flag_descriptions::kFluentOverlayScrollbarsName,
@@ -5373,7 +5393,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kDesktopPWAsSyncChangesDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kWebAppDontAddExistingAppsToSync)},
#endif // !BUILDFLAG(IS_ANDROID)
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{"shortcuts-not-apps", flag_descriptions::kShortcutsNotAppsName,
flag_descriptions::kShortcutsNotAppsDescription,
kOsMac | kOsWin | kOsLinux,
@@ -5532,7 +5552,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kWebShare)},
#endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
-#if BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{"pulseaudio-loopback-for-cast",
flag_descriptions::kPulseaudioLoopbackForCastName,
flag_descriptions::kPulseaudioLoopbackForCastDescription, kOsLinux,
@@ -5568,9 +5588,19 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kWaylandLinuxDrmSyncobjName,
flag_descriptions::kWaylandLinuxDrmSyncobjDescription, kOsLinux,
FEATURE_VALUE_TYPE(features::kWaylandLinuxDrmSyncobj)},
+
+#if BUILDFLAG(IS_BSD)
+ {"audio-backend",
+ flag_descriptions::kAudioBackendName,
+ flag_descriptions::kAudioBackendDescription, kOsLinux,
+ FEATURE_WITH_PARAMS_VALUE_TYPE(
+ media::kAudioBackend,
+ kAudioBackendVariations,
+ "AudioBackend")},
+#endif
#endif // BUILDFLAG(IS_LINUX)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
{"skip-undecryptable-passwords",
flag_descriptions::kSkipUndecryptablePasswordsName,
flag_descriptions::kSkipUndecryptablePasswordsDescription,
@@ -6466,7 +6496,7 @@ const FeatureEntry kFeatureEntries[] = {
"MlUrlScoring")},
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
{"omnibox-domain-suggestions",
flag_descriptions::kOmniboxDomainSuggestionsName,
flag_descriptions::kOmniboxDomainSuggestionsDescription, kOsDesktop,
@@ -6675,7 +6705,7 @@ const FeatureEntry kFeatureEntries[] = {
"OrganicRepeatableQueries")},
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
{"history-embeddings", flag_descriptions::kHistoryEmbeddingsName,
flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop,
FEATURE_WITH_PARAMS_VALUE_TYPE(history_embeddings::kHistoryEmbeddings,
@@ -7278,7 +7308,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(printing::features::kAddPrinterViaPrintscanmgr)},
#endif // BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
{"cups-ipp-printing-backend",
flag_descriptions::kCupsIppPrintingBackendName,
flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop,
@@ -8228,7 +8258,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kCooperativeSchedulingDescription, kOsAll,
FEATURE_VALUE_TYPE(features::kCooperativeScheduling)},
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
{"enable-network-service-sandbox",
flag_descriptions::kEnableNetworkServiceSandboxName,
flag_descriptions::kEnableNetworkServiceSandboxDescription,
@@ -8973,7 +9003,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(ash::features::kWallpaperGooglePhotosSharedAlbums)},
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{"enable-get-all-screens-media", flag_descriptions::kGetAllScreensMediaName,
flag_descriptions::kGetAllScreensMediaDescription,
kOsCrOS | kOsLacros | kOsLinux,
@@ -9002,7 +9032,7 @@ const FeatureEntry kFeatureEntries[] = {
#if BUILDFLAG(IS_WIN) || \
(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \
- BUILDFLAG(IS_MAC)
+ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)
{
"ui-debug-tools",
flag_descriptions::kUIDebugToolsName,
@@ -9472,7 +9502,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(features::kRenderPassDrawnRect)},
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
{"media-session-enter-picture-in-picture",
flag_descriptions::kMediaSessionEnterPictureInPictureName,
flag_descriptions::kMediaSessionEnterPictureInPictureDescription,
@@ -10270,7 +10300,7 @@ const FeatureEntry kFeatureEntries[] = {
kOsDesktop | kOsAndroid,
FEATURE_VALUE_TYPE(features::kProcessPerSiteUpToMainFrameThreshold)},
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{"camera-mic-effects", flag_descriptions::kCameraMicEffectsName,
flag_descriptions::kCameraMicEffectsDescription,
static_cast<unsigned short>(kOsMac | kOsWin | kOsLinux),
@@ -10296,7 +10326,7 @@ const FeatureEntry kFeatureEntries[] = {
"RenderDocument")},
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
{"enable-search-aggregator-policy",
flag_descriptions::kEnableSearchAggregatorPolicyName,
flag_descriptions::kEnableSearchAggregatorPolicyDescription,
@@ -10412,7 +10442,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(chrome::android::kReadAloudTapToSeek)},
#endif
-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
{"third-party-profile-management",
flag_descriptions::kThirdPartyProfileManagementName,
flag_descriptions::kThirdPartyProfileManagementDescription,
@@ -10454,7 +10484,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
{"enable-user-navigation-capturing-pwa",
flag_descriptions::kPwaNavigationCapturingName,
flag_descriptions::kPwaNavigationCapturingDescription,
@@ -11311,7 +11341,7 @@ const FeatureEntry kFeatureEntries[] = {
performance_manager::features::kPerformanceInterventionDemoMode)},
#endif
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{"sync-enable-bookmarks-in-transport-mode",
flag_descriptions::kSyncEnableBookmarksInTransportModeName,
flag_descriptions::kSyncEnableBookmarksInTransportModeDescription,
@@ -11400,7 +11430,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_WIN)
+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
{"classify-url-on-process-response-event",
flag_descriptions::kClassifyUrlOnProcessResponseEventName,
flag_descriptions::kClassifyUrlOnProcessResponseEventDescription,
@@ -11409,7 +11439,7 @@ const FeatureEntry kFeatureEntries[] = {
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
{"tab-organization", flag_descriptions::kTabOrganizationName,
flag_descriptions::kTabOrganizationDescription, kOsDesktop,
FEATURE_VALUE_TYPE(features::kTabOrganization)},
@@ -11454,7 +11484,7 @@ const FeatureEntry kFeatureEntries[] = {
flag_descriptions::kLanguageDetectionAPIDescription, kOsAll,
FEATURE_VALUE_TYPE(blink::features::kLanguageDetectionAPI)},
-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)
{"supervised-profile-hide-guest",
flag_descriptions::kSupervisedProfileHideGuestName,
flag_descriptions::kSupervisedProfileHideGuestDescription,
@@ -11724,7 +11754,7 @@ const FeatureEntry kFeatureEntries[] = {
segmentation_platform::features::kSegmentationSurveyPage)},
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \
- BUILDFLAG(IS_CHROMEOS)
+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)
{"autofill-enable-buy-now-pay-later-for-affirm",
flag_descriptions::kAutofillEnableBuyNowPayLaterForAffirmName,
flag_descriptions::kAutofillEnableBuyNowPayLaterForAffirmDescription,
@@ -11853,7 +11883,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(
autofill::features::kAutofillEnableCardInfoRuntimeRetrieval)},
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{"translation-api", flag_descriptions::kTranslationAPIName,
flag_descriptions::kTranslationAPIDescription, kOsMac | kOsWin | kOsLinux,
FEATURE_WITH_PARAMS_VALUE_TYPE(blink::features::kEnableTranslationAPI,
@@ -11879,7 +11909,7 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(
password_manager::features::kPasswordFormClientsideClassifier)},
-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
{"contextual-cueing", flag_descriptions::kContextualCueingName,
flag_descriptions::kContextualCueingDescription,
kOsLinux | kOsMac | kOsWin,