1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc
index 6c811a0180..8b47ff8a4b 100644
--- a/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc
+++ b/chrome/browser/extensions/api/developer_private/extension_info_generator_desktop.cc
@@ -132,17 +132,6 @@ void ExtensionInfoGenerator::FillExtensionInfo(
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 8fed715fd6..4e6fa46470 100644
--- a/chrome/browser/extensions/extension_management.cc
+++ b/chrome/browser/extensions/extension_management.cc
@@ -329,31 +329,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 == ManagedInstallationMode::kForced ||
- installation_mode == ManagedInstallationMode::kRecommended;
- }
}
bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) {
@@ -374,26 +350,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 == ManagedInstallationMode::kForced ||
- installation_mode == ManagedInstallationMode::kRecommended;
- }
-
- 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 5ecf14acac..bd84bf68c0 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
@@ -34,7 +34,6 @@
#include "chrome/browser/extensions/extension_web_ui_override_registrar.h"
#include "chrome/browser/extensions/external_provider_manager_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"
@@ -77,7 +76,6 @@ void EnsureChromeBrowserContextKeyedServiceFactoriesBuilt() {
extensions::ExternalProviderManagerFactory::GetInstance();
extensions::ChromeExtensionSystemFactory::GetInstance();
extensions::InstallVerifierFactory::GetInstance();
- extensions::ManifestV2ExperimentManager::GetFactory();
extensions::MenuManagerFactory::GetInstance();
#if BUILDFLAG(ENABLE_PLUGINS)
extensions::PluginManager::GetFactoryInstance();
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 f769bdb059..f01ffd22ec 100644
--- a/chrome/browser/ui/webui/extensions/extensions_ui.cc
+++ b/chrome/browser/ui/webui/extensions/extensions_ui.cc
@@ -490,7 +490,7 @@ content::WebUIDataSource* CreateAndAddExtensionsSource(Profile* profile,
extensions_features::kExtensionsMenuAccessControlWithPermittedSites));
source->AddBoolean(
"safetyHubThreeDotDetails",
- base::FeatureList::IsEnabled(features::kSafetyHubThreeDotDetails));
+ false);
#if BUILDFLAG(IS_ANDROID)
source->AddResourcePath("images/product_logo.png",
diff --git a/extensions/common/extension.cc b/extensions/common/extension.cc
index cd6a7eb4b6..0a0cc4184c 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;
}
|