ContentSettings: Turn DCHECK into CHECK when type is not registered

We are currently crashing with NOTREACHED in DefaultProvider when a
setting is not registered properly. Instead we should crash earlier
to make it clear that there is a problem with the registry entry.

Bug: 358687154
Change-Id: I98a3bce70b755d5c9fc30cd9895568d2c0ab05be
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5797361
Auto-Submit: Christian Dullweber <dullweber@chromium.org>
Reviewed-by: Martin Šrámek <msramek@chromium.org>
Commit-Queue: Martin Šrámek <msramek@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1344704}
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc
index 210a4fca..4b66809 100644
--- a/components/content_settings/core/browser/host_content_settings_map.cc
+++ b/components/content_settings/core/browser/host_content_settings_map.cc
@@ -418,7 +418,7 @@
     const GURL& secondary_url,
     ContentSettingsType content_type,
     content_settings::SettingInfo* info) const {
-  DCHECK(content_settings::ContentSettingsRegistry::GetInstance()->Get(
+  CHECK(content_settings::ContentSettingsRegistry::GetInstance()->Get(
       content_type));
   const base::Value value =
       GetWebsiteSetting(primary_url, secondary_url, content_type, info);
@@ -429,7 +429,7 @@
     const GURL& primary_url,
     const GURL& secondary_url,
     ContentSettingsType content_type) const {
-  DCHECK(content_settings::ContentSettingsRegistry::GetInstance()->Get(
+  CHECK(content_settings::ContentSettingsRegistry::GetInstance()->Get(
       content_type));
   const base::Value value =
       GetWebsiteSettingInternal(primary_url, secondary_url, content_type,
@@ -541,7 +541,7 @@
     ContentSettingsType type) const {
   const ContentSettingsInfo* content_settings_info =
       content_settings::ContentSettingsRegistry::GetInstance()->Get(type);
-  DCHECK(content_settings_info);
+  CHECK(content_settings_info);
 
   return content_settings_info->origin_restriction() ==
          ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY;
@@ -608,7 +608,7 @@
     ContentSettingsType type) {
   const WebsiteSettingsInfo* website_settings_info =
       content_settings::WebsiteSettingsRegistry::GetInstance()->Get(type);
-  DCHECK(website_settings_info);
+  CHECK(website_settings_info);
   content_settings::PatternPair patterns = GetPatternsFromScopingType(
       website_settings_info->scoping_type(), primary_url, secondary_url);
   return patterns;
@@ -620,7 +620,7 @@
     ContentSettingsType content_type,
     ContentSetting setting,
     const content_settings::ContentSettingConstraints& constraints) {
-  DCHECK(content_settings::ContentSettingsRegistry::GetInstance()->Get(
+  CHECK(content_settings::ContentSettingsRegistry::GetInstance()->Get(
       content_type));
 
   base::Value value;
@@ -702,7 +702,7 @@
     // For some ContentSettingTypes, collect exception histograms broken out by
     // ContentSetting.
     if (ShouldCollectFineGrainedExceptionHistograms(content_type)) {
-      DCHECK(content_info);
+      CHECK(content_info);
       for (int setting = 0; setting < CONTENT_SETTING_NUM_SETTINGS; ++setting) {
         ContentSetting content_setting = IntToContentSetting(setting);
         if (!content_info->IsSettingValid(content_setting))
@@ -996,6 +996,9 @@
     const GURL& secondary_url,
     ContentSettingsType content_type,
     content_settings::SettingInfo* info) const {
+  CHECK(content_settings::WebsiteSettingsRegistry::GetInstance()->Get(
+      content_type));
+
   // Check if the requested setting is allowlisted.
   // TODO(raymes): Move this into GetContentSetting. This has nothing to do with
   // website settings