Index: chrome/browser/chrome_browser_main.cc |
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc |
index dc203f9f5a3b19882d8bc06da28263a5d32704f1..695da9b02e4666e0dc5eea24d380c164e30f9b8d 100644 |
--- a/chrome/browser/chrome_browser_main.cc |
+++ b/chrome/browser/chrome_browser_main.cc |
@@ -1160,6 +1160,13 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { |
#endif // defined(OS_WIN) |
if (parsed_command_line().HasSwitch(switches::kMakeDefaultBrowser)) { |
+ bool is_managed = g_browser_process->local_state()->IsManagedPreference( |
+ prefs::kDefaultBrowserSettingEnabled); |
+ if (is_managed && !g_browser_process->local_state()->GetBoolean( |
+ prefs::kDefaultBrowserSettingEnabled)) { |
+ return static_cast<int>(chrome::RESULT_CODE_ACTION_DISALLOWED_BY_POLICY); |
+ } |
+ |
return ShellIntegration::SetAsDefaultBrowser() ? |
static_cast<int>(content::RESULT_CODE_NORMAL_EXIT) : |
static_cast<int>(chrome::RESULT_CODE_SHELL_INTEGRATION_FAILED); |