diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
index e330cb7163..08da10083a 100644
--- a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
@@ -618,17 +618,6 @@ void ExtensionInfoGenerator::CreateExtensionInfoHelper(
info->controlled_info.emplace();
info->controlled_info->text =
l10n_util::GetStringUTF8(IDS_EXTENSIONS_INSTALL_LOCATION_ENTERPRISE);
- } else {
- // Create Safety Hub information for any non-enterprise extension.
- developer::SafetyCheckWarningReason warning_reason =
- ExtensionSafetyCheckUtils::GetSafetyCheckWarningReason(extension,
- profile);
- if (warning_reason != developer::SafetyCheckWarningReason::kNone) {
- info->safety_check_warning_reason = warning_reason;
- info->safety_check_text =
- ExtensionSafetyCheckUtils::GetSafetyCheckWarningStrings(
- warning_reason, state);
- }
}
bool is_enabled = state == developer::ExtensionState::kEnabled;
diff --git a/chrome/browser/extensions/extension_management.cc b/chrome/browser/extensions/extension_management.cc
index eb2350fca9..f13816a016 100644
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
@@ -318,31 +318,7 @@ bool ExtensionManagement::IsAllowedManifestVersion(
int manifest_version,
const std::string& extension_id,
Manifest::Type manifest_type) {
- bool enabled_by_default =
- !base::FeatureList::IsEnabled(
- extensions_features::kExtensionsManifestV3Only) ||
- manifest_version >= 3;
-
- // Manifest version policy only supports normal extensions and Chrome OS login
- // screen extension.
- if (manifest_type != Manifest::Type::TYPE_EXTENSION &&
- manifest_type != Manifest::Type::TYPE_LOGIN_SCREEN_EXTENSION) {
- return enabled_by_default;
- }
- switch (global_settings_->manifest_v2_setting) {
- case internal::GlobalSettings::ManifestV2Setting::kDefault:
- return enabled_by_default;
- case internal::GlobalSettings::ManifestV2Setting::kDisabled:
- return manifest_version >= 3;
- case internal::GlobalSettings::ManifestV2Setting::kEnabled:
return true;
- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled:
- auto installation_mode =
- GetInstallationMode(extension_id, /*update_url=*/std::string());
- return manifest_version >= 3 ||
- installation_mode == INSTALLATION_FORCED ||
- installation_mode == INSTALLATION_RECOMMENDED;
- }
}
bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) {
@@ -363,26 +339,8 @@ bool ExtensionManagement::IsExemptFromMV2DeprecationByPolicy(
return false;
}
- switch (global_settings_->manifest_v2_setting) {
- case internal::GlobalSettings::ManifestV2Setting::kDefault:
- // Default browser behavior. Not exempt.
- return false;
- case internal::GlobalSettings::ManifestV2Setting::kDisabled:
- // All MV2 extensions are disallowed. Not exempt.
- return false;
- case internal::GlobalSettings::ManifestV2Setting::kEnabled:
// All MV2 extensions are allowed. Exempt.
return true;
- case internal::GlobalSettings::ManifestV2Setting::kEnabledForForceInstalled:
- // Force-installed MV2 extensions are allowed. Exempt if it's a force-
- // installed extension only.
- auto installation_mode =
- GetInstallationMode(extension_id, /*update_url=*/std::string());
- return installation_mode == INSTALLATION_FORCED ||
- installation_mode == INSTALLATION_RECOMMENDED;
- }
-
- return false;
}
bool ExtensionManagement::IsAllowedByUnpublishedAvailabilityPolicy(
diff --git a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc
index 555fd894e8..3f042548bd 100644
--- a/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc
+++ b/chrome/browser/extensions/keyed_services/chrome_browser_context_keyed_service_factories.cc
@@ -23,7 +23,6 @@
#include "chrome/browser/extensions/extension_web_ui_override_registrar.h"
#include "chrome/browser/extensions/install_tracker_factory.h"
#include "chrome/browser/extensions/install_verifier_factory.h"
-#include "chrome/browser/extensions/manifest_v2_experiment_manager.h"
#include "chrome/browser/extensions/menu_manager_factory.h"
#include "chrome/browser/extensions/permissions/permissions_updater.h"
#include "chrome/browser/extensions/plugin_manager.h"
@@ -55,7 +54,6 @@ void EnsureChromeBrowserContextKeyedServiceFactoriesBuilt() {
extensions::ChromeExtensionSystemFactory::GetInstance();
extensions::InstallTrackerFactory::GetInstance();
extensions::InstallVerifierFactory::GetInstance();
- extensions::ManifestV2ExperimentManager::GetFactory();
extensions::MenuManagerFactory::GetInstance();
extensions::PermissionsUpdater::EnsureAssociatedFactoryBuilt();
#if BUILDFLAG(ENABLE_PLUGINS)
diff --git a/chrome/browser/extensions/manifest_v2_experiment_manager.cc b/chrome/browser/extensions/manifest_v2_experiment_manager.cc
index 2e47e928e3..81ad199a24 100644
--- a/chrome/browser/extensions/manifest_v2_experiment_manager.cc
+++ b/chrome/browser/extensions/manifest_v2_experiment_manager.cc
@@ -145,22 +145,6 @@ bool ManifestV2ExperimentManagerFactory::ServiceIsCreatedWithBrowserContext()
// Determines the current stage of the MV2 deprecation experiments.
MV2ExperimentStage CalculateCurrentExperimentStage() {
- // Return the "highest" stage that is currently active for the user.
- if (base::FeatureList::IsEnabled(
- extensions_features::kExtensionManifestV2Unsupported)) {
- return MV2ExperimentStage::kUnsupported;
- }
-
- if (base::FeatureList::IsEnabled(
- extensions_features::kExtensionManifestV2Disabled)) {
- return MV2ExperimentStage::kDisableWithReEnable;
- }
-
- if (base::FeatureList::IsEnabled(
- extensions_features::kExtensionManifestV2DeprecationWarning)) {
- return MV2ExperimentStage::kWarning;
- }
-
return MV2ExperimentStage::kNone;
}
@@ -200,19 +184,7 @@ PrefMap GetGlobalNoticeAcknowledgedPrefFor(
// Returns true if legacy extensions should be disabled, looking at both
// experiment stage and global state.
bool ShouldDisableLegacyExtensions(MV2ExperimentStage stage) {
- if (g_allow_mv2_for_testing) {
- // We allow legacy MV2 extensions for testing purposes.
- return false;
- }
-
- switch (stage) {
- case MV2ExperimentStage::kNone:
- case MV2ExperimentStage::kWarning:
return false;
- case MV2ExperimentStage::kDisableWithReEnable:
- case MV2ExperimentStage::kUnsupported:
- return true;
- }
}
// Returns true if the given `stage` is one in which extension enablement should
diff --git a/chrome/browser/ui/webui/extensions/extensions_ui.cc b/chrome/browser/ui/webui/extensions/extensions_ui.cc
index 057dc619e9..52d0e388c9 100644
--- a/chrome/browser/ui/webui/extensions/extensions_ui.cc
+++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc
@@ -477,7 +477,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
extensions_features::kExtensionsMenuAccessControlWithPermittedSites));
source->AddBoolean(
"safetyHubThreeDotDetails",
- base::FeatureList::IsEnabled(features::kSafetyHubThreeDotDetails));
+ false);
// TODO(crbug.com/392777363): Clean these up with non-placeholder values.
#if BUILDFLAG(IS_ANDROID)
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
index 833ea42681..dfd41632bd 100644
--- a/extensions/common/extension.cc
+++ b/extensions/common/extension.cc
@@ -96,13 +96,6 @@ bool IsManifestSupported(int manifest_version,
// Supported versions are always safe.
if (manifest_version >= kMinimumSupportedManifestVersion &&
manifest_version <= kMaximumSupportedManifestVersion) {
- // Emit a warning for unpacked extensions on Manifest V2 warning that
- // MV2 is deprecated.
- if (type == Manifest::TYPE_EXTENSION && manifest_version == 2 &&
- Manifest::IsUnpackedLocation(location) &&
- !g_silence_deprecated_manifest_version_warnings) {
- *warning = errors::kManifestV2IsDeprecatedWarning;
- }
return true;
}