electron/shell/browser/feature_list.cc
electron-roller[bot] 73e33bc876
chore: bump chromium to 119.0.6006.0 (main) (#39774)
* chore: bump chromium in DEPS to 119.0.5994.0

* chore: update patches

* Add some more debugging for navigation origin & process lock mismatch

https://chromium-review.googlesource.com/c/chromium/src/+/4829483

* chore: bump chromium in DEPS to 119.0.5996.2

* chore: bump chromium in DEPS to 119.0.5997.0

* chore: bump chromium in DEPS to 119.0.6000.0

* chore: bump chromium in DEPS to 119.0.6002.0

* 4781766: Port remaining control color ids to the color pipeline

https://chromium-review.googlesource.com/c/chromium/src/+/4781766

* 4846057: Preloading: Move prefetch_prefs to chrome/browser/preloading/

https://chromium-review.googlesource.com/c/chromium/src/+/4846057

* chore: fixup patch indices

* 4848108: Pass v8::Isolate into FromV8Value calls on blink API

https://chromium-review.googlesource.com/c/chromium/src/+/4848108

* 4834471: Reland "[api] allow v8::Data as internal field"

https://chromium-review.googlesource.com/c/v8/v8/+/4834471

* 4808884: Major overhaul of ExceptionState in the v8 bindings

https://chromium-review.googlesource.com/c/chromium/src/+/4808884

* 4791643: [sandbox] Add a TRUSTED_SPACE and TRUSTED_LO_SPACE to the V8 heap

https://chromium-review.googlesource.com/c/v8/v8/+/4791643

* chore: bump chromium in DEPS to 119.0.6005.0

* 4776268: [v8][etw] Enables filtering of ETW tracing by URL

https://chromium-review.googlesource.com/c/chromium/src/+/4776268

* chore: fixup patch indices

* 4673258: WebSQL: Disable WebSQL by default

https://chromium-review.googlesource.com/c/chromium/src/+/4673258

* chore: bump chromium in DEPS to 119.0.6006.0

* chore: update patches

* 4854732: Reland^2 "[iterator-helpers] Unship due to incompat"

https://chromium-review.googlesource.com/c/v8/v8/+/4854732

* 4794133: [AWC] Add `display-state` CSS @media feature

https://chromium-review.googlesource.com/c/chromium/src/+/4794133

* fixup! Add some more debugging for navigation origin & process lock mismatch

* Revert "fixup! Add some more debugging for navigation origin & process lock mismatch"

This reverts commit 38fef075fc5690f7db6d4bbcabbe877a1618a964.

* 4858437: Revert "[iOS] Delete GN flags for mach absolute time ticks"

https://chromium-review.googlesource.com/c/chromium/src/+/4858437

* refactor: fix_crash_loading_non-standard_schemes_in_iframes.patch (#39879)

* chore: 4869108: handle absolute and relative gn imports in autoninja

https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4869108

* chore: set GOMA_DIR for autoninja

* Revert "chore: 4869108: handle absolute and relative gn imports in autoninja"

This reverts commit d94c7720bab96d1de25499383948da2cb8862d90.

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: Robo <hop2deep@gmail.com>
2023-09-18 16:44:09 -04:00

63 lines
2.3 KiB
C++

// Copyright (c) 2019 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#include "electron/shell/browser/feature_list.h"
#include <string>
#include "base/base_switches.h"
#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/metrics/field_trial.h"
#include "components/spellcheck/common/spellcheck_features.h"
#include "content/public/common/content_features.h"
#include "electron/buildflags/buildflags.h"
#include "media/base/media_switches.h"
#include "net/base/features.h"
#include "services/network/public/cpp/features.h"
#include "third_party/blink/public/common/features.h"
#if BUILDFLAG(IS_MAC)
#include "device/base/features.h" // nogncheck
#endif
namespace electron {
void InitializeFeatureList() {
auto* cmd_line = base::CommandLine::ForCurrentProcess();
auto enable_features =
cmd_line->GetSwitchValueASCII(::switches::kEnableFeatures);
auto disable_features =
cmd_line->GetSwitchValueASCII(::switches::kDisableFeatures);
// Disable creation of spare renderer process with site-per-process mode,
// it interferes with our process preference tracking for non sandboxed mode.
// Can be reenabled when our site instance policy is aligned with chromium
// when node integration is enabled.
disable_features +=
std::string(",") + features::kSpareRendererForSitePerProcess.name;
// TODO(codebytere): Remove WebSQL support per crbug.com/695592.
enable_features += std::string(",") + blink::features::kWebSQLAccess.name;
#if BUILDFLAG(IS_WIN)
disable_features +=
// Disable async spellchecker suggestions for Windows, which causes
// an empty suggestions list to be returned
std::string(",") + spellcheck::kWinRetrieveSuggestionsOnlyOnDemand.name +
// Delayed spellcheck initialization is causing the
// 'custom dictionary word list API' spec to crash.
std::string(",") + spellcheck::kWinDelaySpellcheckServiceInit.name;
#endif
base::FeatureList::InitializeInstance(enable_features, disable_features);
}
void InitializeFieldTrials() {
auto* cmd_line = base::CommandLine::ForCurrentProcess();
auto force_fieldtrials =
cmd_line->GetSwitchValueASCII(::switches::kForceFieldTrials);
base::FieldTrialList::CreateTrialsFromString(force_fieldtrials);
}
} // namespace electron