0

[ios] Remove feature flag kEnableUnrealizedWebStates

The support for unrealized WebStates has been shipped to 100%.
Remove the feature flag kEnableUnrealizedWebStates that used to
control whether the feature is enabled or not.

Fixed: 1264453
Change-Id: I3b5ff05fa30c6961d207a330973bdaad435dec66
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3776541
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Auto-Submit: Sylvain Defresne <sdefresne@chromium.org>
Commit-Queue: Justin Cohen <justincohen@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1026217}
This commit is contained in:
Sylvain Defresne
2022-07-20 13:54:56 +00:00
committed by Chromium LUCI CQ
parent 8e990ef49a
commit 425a00b466
7 changed files with 6 additions and 27 deletions

@@ -1,6 +1,6 @@
# Unrealized `WebState` # Unrealized `WebState`
> **Status**: implementation in progress. > **Status**: launched.
On iOS, each tab is implemented by a `WebState` and some TabHelpers. As users On iOS, each tab is implemented by a `WebState` and some TabHelpers. As users
can have many tabs open at the same time, but only few of them visible, an can have many tabs open at the same time, but only few of them visible, an

@@ -835,11 +835,6 @@ const flags_ui::FeatureEntry kFeatureEntries[] = {
{"remove-extra-ntps", flag_descriptions::kRemoveExcessNTPsExperimentName, {"remove-extra-ntps", flag_descriptions::kRemoveExcessNTPsExperimentName,
flag_descriptions::kRemoveExcessNTPsExperimentDescription, flag_descriptions::kRemoveExcessNTPsExperimentDescription,
flags_ui::kOsIos, FEATURE_VALUE_TYPE(kRemoveExcessNTPs)}, flags_ui::kOsIos, FEATURE_VALUE_TYPE(kRemoveExcessNTPs)},
{"lazily-create-web-state-on-restoration",
flag_descriptions::kLazilyCreateWebStateOnRestorationName,
flag_descriptions::kLazilyCreateWebStateOnRestorationDescription,
flags_ui::kOsIos,
FEATURE_VALUE_TYPE(web::features::kEnableUnrealizedWebStates)},
{"enable-shortened-password-auto-fill-instruction", {"enable-shortened-password-auto-fill-instruction",
flag_descriptions::kEnableShortenedPasswordAutoFillInstructionName, flag_descriptions::kEnableShortenedPasswordAutoFillInstructionName,
flag_descriptions::kEnableShortenedPasswordAutoFillInstructionDescription, flag_descriptions::kEnableShortenedPasswordAutoFillInstructionDescription,

@@ -419,10 +419,6 @@ const char kIOSSharedHighlightingV2Description[] =
"Enables improvements to text fragments UI, including a menu for removing " "Enables improvements to text fragments UI, including a menu for removing "
"or resharing a highlight."; "or resharing a highlight.";
const char kLazilyCreateWebStateOnRestorationName[] = "Unrealized WebStates";
const char kLazilyCreateWebStateOnRestorationDescription[] =
"Create WebState in unrealized state upon session restoration.";
const char kLeakDetectionUnauthenticatedName[] = const char kLeakDetectionUnauthenticatedName[] =
"Leak detection for signed out users"; "Leak detection for signed out users";
const char kLeakDetectionUnauthenticatedDescription[] = const char kLeakDetectionUnauthenticatedDescription[] =

@@ -372,10 +372,6 @@ extern const char kIOSSharedHighlightingAmpDescription[];
extern const char kIOSSharedHighlightingV2Name[]; extern const char kIOSSharedHighlightingV2Name[];
extern const char kIOSSharedHighlightingV2Description[]; extern const char kIOSSharedHighlightingV2Description[];
// Title and description for the flag to enable unrealized WebStates.
extern const char kLazilyCreateWebStateOnRestorationName[];
extern const char kLazilyCreateWebStateOnRestorationDescription[];
// Title and description for the flag to enable leak detection for signed out // Title and description for the flag to enable leak detection for signed out
// users. // users.
extern const char kLeakDetectionUnauthenticatedName[]; extern const char kLeakDetectionUnauthenticatedName[];

@@ -56,10 +56,6 @@ extern const base::Feature kIOSSharedHighlightingColorChange;
// interaction state. // interaction state.
extern const base::Feature kSynthesizedRestoreSession; extern const base::Feature kSynthesizedRestoreSession;
// Enable support for unrealized WebState upon session restoration.
// See //docs/ios/unrealized_web_state.md for more information.
extern const base::Feature kEnableUnrealizedWebStates;
// Enables user control for camera and/or microphone access for a specific site // Enables user control for camera and/or microphone access for a specific site
// through site settings during its lifespan. When enabled, each web state will // through site settings during its lifespan. When enabled, each web state will
// keep track of whether camera and/or microphone access is granted by the user // keep track of whether camera and/or microphone access is granted by the user

@@ -49,9 +49,6 @@ const base::Feature kIOSSharedHighlightingColorChange{
const base::Feature kSynthesizedRestoreSession{ const base::Feature kSynthesizedRestoreSession{
"SynthesizedRestoreSession", base::FEATURE_ENABLED_BY_DEFAULT}; "SynthesizedRestoreSession", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kEnableUnrealizedWebStates{
"EnableUnrealizedWebStates", base::FEATURE_ENABLED_BY_DEFAULT};
const base::Feature kMediaPermissionsControl{"MediaPermissionsControl", const base::Feature kMediaPermissionsControl{"MediaPermissionsControl",
base::FEATURE_ENABLED_BY_DEFAULT}; base::FEATURE_ENABLED_BY_DEFAULT};

@@ -28,10 +28,10 @@
namespace web { namespace web {
namespace { namespace {
// With |kEnableUnrealizedWebStates|, detect inefficient usage of WebState // Detect inefficient usage of WebState realization. Various bugs have
// realization. Various bugs have triggered the realization of the entire // triggered the realization of the entire WebStateList. Detect this by
// WebStateList. Detect this by checking for the realization of 3 WebStates // checking for the realization of 3 WebStates within one second. Only
// within one second. Only report this error once per launch. // report this error once per launch.
constexpr size_t kMaxEvents = 3; constexpr size_t kMaxEvents = 3;
constexpr CFTimeInterval kWindowSizeInSeconds = 1.0f; constexpr CFTimeInterval kWindowSizeInSeconds = 1.0f;
size_t g_last_realized_count = 0; size_t g_last_realized_count = 0;
@@ -82,8 +82,7 @@ WebStateImpl::WebStateImpl(const CreateParams& params)
WebStateImpl::WebStateImpl(const CreateParams& params, WebStateImpl::WebStateImpl(const CreateParams& params,
CRWSessionStorage* session_storage) { CRWSessionStorage* session_storage) {
if (session_storage && if (session_storage) {
base::FeatureList::IsEnabled(features::kEnableUnrealizedWebStates)) {
saved_ = std::make_unique<SerializedData>(this, params, session_storage); saved_ = std::make_unique<SerializedData>(this, params, session_storage);
} else { } else {
pimpl_ = std::make_unique<RealizedWebState>(this); pimpl_ = std::make_unique<RealizedWebState>(this);