diff --git a/core/authorize.php b/core/authorize.php
index 982b9938ebf8e4deb01d5874fb4c394928986c3f..46202ade8d48879a9491f9331b52167182488cbd 100644
--- a/core/authorize.php
+++ b/core/authorize.php
@@ -20,7 +20,7 @@
  * @link authorize Authorized operation helper functions @endlink
  */
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Page\DefaultHtmlPageRenderer;
 
 // Change the directory to the Drupal root.
diff --git a/core/core.services.yml b/core/core.services.yml
index 9b9c80bdda6d1dc4809f3aee740afd2ceccef56e..a1e997e330989c11e2ae23d2d86cf35ca012e476 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -145,8 +145,8 @@ services:
     class: Drupal\Component\Serialization\Yaml
 
   settings:
-    class: Drupal\Component\Utility\Settings
-    factory_class: Drupal\Component\Utility\Settings
+    class: Drupal\Core\Site\Settings
+    factory_class: Drupal\Core\Site\Settings
     factory_method: getInstance
   state:
     class: Drupal\Core\State\State
diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index 83aa3075acf060eae28990234754a6652e8a4878..8c7c82e786d23e93eada362eaf2ec9e77cb12c51 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -6,7 +6,6 @@
 
 use Drupal\Component\Utility\Crypt;
 use Drupal\Component\Utility\NestedArray;
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\String;
 use Drupal\Component\Utility\Timer;
 use Drupal\Component\Utility\Unicode;
@@ -15,6 +14,7 @@
 use Drupal\Core\Database\Database;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
 use Drupal\Core\Extension\ExtensionDiscovery;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Utility\Title;
 use Drupal\Core\Utility\Error;
 use Symfony\Component\ClassLoader\ApcClassLoader;
diff --git a/core/includes/common.inc b/core/includes/common.inc
index a60ff1c0fe3e6311767e5c5832be77f551ddf80f..20a76ce0aa8709b30cc60ec6d30a558715c3422c 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -13,7 +13,6 @@
 use Drupal\Component\Serialization\Exception\InvalidDataTypeException;
 use Drupal\Component\Utility\Crypt;
 use Drupal\Component\Utility\Number;
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\SortArray;
 use Drupal\Component\Utility\String;
 use Drupal\Component\Utility\Tags;
@@ -21,6 +20,7 @@
 use Drupal\Component\Utility\Xss;
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Language\Language;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\HttpFoundation\Response;
 use Symfony\Component\HttpFoundation\Request;
 use Drupal\Core\PhpStorage\PhpStorageFactory;
diff --git a/core/includes/database.inc b/core/includes/database.inc
index 0197377c5df6990d4071fa219f10435c101a1c8c..34994a821399ed9fb2c75428ec55cd9c8d23aa47 100644
--- a/core/includes/database.inc
+++ b/core/includes/database.inc
@@ -1,8 +1,8 @@
 <?php
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\Database\Database;
 use Drupal\Core\Database\Query\Condition;
+use Drupal\Core\Site\Settings;
 
 /**
  * @file
diff --git a/core/includes/file.inc b/core/includes/file.inc
index c0cefa5a064451c5fa85ce86223a6df7c3be4beb..fc0b72a8bc5fabb48984c57c99ccb2c280336c93 100644
--- a/core/includes/file.inc
+++ b/core/includes/file.inc
@@ -8,8 +8,8 @@
 use Drupal\Component\Utility\UrlHelper;
 use Drupal\Core\StreamWrapper\LocalStream;
 use Drupal\Component\PhpStorage\FileStorage;
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\String;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\StreamWrapper\PublicStream;
 
 /**
diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index 203bc89dd0935bf8cf6827af844db418d17bf186..d48ae8325b6481389696fe0e896298df9305ae84 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -1,7 +1,6 @@
 <?php
 
 use Drupal\Component\Utility\UrlHelper;
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\DrupalKernel;
 use Drupal\Core\Config\BootstrapConfigStorageFactory;
 use Drupal\Core\Database\Database;
@@ -13,6 +12,7 @@
 use Drupal\Core\Language\Language;
 use Drupal\Core\Language\LanguageManager;
 use Drupal\Core\Page\DefaultHtmlPageRenderer;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\StringTranslation\Translator\FileTranslation;
 use Drupal\Core\Extension\ExtensionDiscovery;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
diff --git a/core/includes/install.inc b/core/includes/install.inc
index 5d69e9cee785ba0a0af4359badfd80363399d848..f08053329bbbc140177a9354d27da17081edebca 100644
--- a/core/includes/install.inc
+++ b/core/includes/install.inc
@@ -8,11 +8,11 @@
 use Symfony\Component\HttpFoundation\RedirectResponse;
 use Drupal\Component\Utility\Crypt;
 use Drupal\Component\Utility\OpCodeCache;
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\UrlHelper;
 use Drupal\Core\Database\Database;
 use Drupal\Core\DrupalKernel;
 use Drupal\Core\Extension\ExtensionDiscovery;
+use Drupal\Core\Site\Settings;
 
 /**
  * Requirement severity -- Informational message only.
diff --git a/core/includes/mail.inc b/core/includes/mail.inc
index 8c8b071c8419653486f2fbbe522000f13fb529c5..68091fb001b30d2882859665eabc9acc24605e14 100644
--- a/core/includes/mail.inc
+++ b/core/includes/mail.inc
@@ -6,8 +6,8 @@
  */
 
 use Drupal\Component\Utility\Html;
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\Xss;
+use Drupal\Core\Site\Settings;
 
 /**
  * Composes and optionally sends an e-mail message.
diff --git a/core/includes/theme.maintenance.inc b/core/includes/theme.maintenance.inc
index a79adca5ffee9c5e37e8f80c4d06ec2b8439f186..8a19a49bdc40772e07b02f609363f54f526f2b96 100644
--- a/core/includes/theme.maintenance.inc
+++ b/core/includes/theme.maintenance.inc
@@ -6,7 +6,7 @@
  */
 
 use Drupal\Component\Utility\Unicode;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Sets up the theming system for maintenance page.
diff --git a/core/includes/update.inc b/core/includes/update.inc
index 872bd7d8961999109a4d600e46554b578fd4423b..694a8a95ee4b6429e5e12b1860983f21d157ddf4 100644
--- a/core/includes/update.inc
+++ b/core/includes/update.inc
@@ -9,7 +9,6 @@
  */
 
 use Drupal\Component\Graph\Graph;
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\String;
 use Drupal\Core\Config\FileStorage;
 use Drupal\Core\Config\ConfigException;
diff --git a/core/lib/Drupal/Component/Diff/DiffEngine.php b/core/lib/Drupal/Component/Diff/DiffEngine.php
index 21d9ad486e1915a86023192c7c5ea36929bc2ea5..2dd377f7125b7ae3d0323ea86c7f1b3ac6c41a20 100644
--- a/core/lib/Drupal/Component/Diff/DiffEngine.php
+++ b/core/lib/Drupal/Component/Diff/DiffEngine.php
@@ -8,9 +8,9 @@
  * You may copy this code freely under the conditions of the GPL.
  */
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\String;
 use Drupal\Component\Utility\Unicode;
+use Drupal\Core\Site\Settings;
 
 define('USE_ASSERTS', FALSE);
 
diff --git a/core/lib/Drupal/Core/Authentication/Provider/Cookie.php b/core/lib/Drupal/Core/Authentication/Provider/Cookie.php
index 379d97e3a0ff320d88636be9a533b0cb95ad9def..167a0b0747e52e4ce8a60c9a47131053ab395bc7 100644
--- a/core/lib/Drupal/Core/Authentication/Provider/Cookie.php
+++ b/core/lib/Drupal/Core/Authentication/Provider/Cookie.php
@@ -9,7 +9,6 @@
 
 use Drupal\Core\Authentication\AuthenticationProviderInterface;
 use Drupal\Core\Session\SessionManagerInterface;
-use Drupal\Component\Utility\Settings;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
 
diff --git a/core/lib/Drupal/Core/Cache/CacheFactory.php b/core/lib/Drupal/Core/Cache/CacheFactory.php
index c20979f03645b4ee8bd00f0eea2834733df13f2e..a3b5a01270fb57d3d91d2d4f41abd8e92e4159b1 100644
--- a/core/lib/Drupal/Core/Cache/CacheFactory.php
+++ b/core/lib/Drupal/Core/Cache/CacheFactory.php
@@ -10,7 +10,7 @@
 /**
  * Defines the cache backend factory.
  */
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\DependencyInjection\ContainerAwareInterface;
 use Symfony\Component\DependencyInjection\ContainerAwareTrait;
 use Symfony\Component\DependencyInjection\ContainerBuilder;
@@ -22,14 +22,14 @@ class CacheFactory implements CacheFactoryInterface,  ContainerAwareInterface {
   /**
    * The settings array.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
   /**
    * Constructs CacheFactory object.
    *
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The settings array.
    */
   function __construct(Settings $settings) {
diff --git a/core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php b/core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php
index ffc8f48f03fefe37deb66f47a106aff8242c1250..2462eaf74ef169f13c9cbe2465fe8497618dfe5a 100644
--- a/core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php
+++ b/core/lib/Drupal/Core/Config/BootstrapConfigStorageFactory.php
@@ -8,7 +8,7 @@
 namespace Drupal\Core\Config;
 
 use Drupal\Core\Database\Database;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Defines a factory for retrieving the config storage used pre-kernel.
diff --git a/core/lib/Drupal/Core/CoreServiceProvider.php b/core/lib/Drupal/Core/CoreServiceProvider.php
index 1cd43a3faf5a20009f47c49ef789dc4009836029..94ad0cf64ce42f21b0498bbefd4e871e274dbf61 100644
--- a/core/lib/Drupal/Core/CoreServiceProvider.php
+++ b/core/lib/Drupal/Core/CoreServiceProvider.php
@@ -8,7 +8,6 @@
 namespace Drupal\Core;
 
 use Drupal\Core\Cache\CacheContextsPass;
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\Cache\ListCacheBinsPass;
 use Drupal\Core\Config\ConfigFactoryOverridePass;
 use Drupal\Core\DependencyInjection\ServiceProviderInterface;
@@ -28,6 +27,7 @@
 use Drupal\Core\DependencyInjection\Compiler\RegisterTwigExtensionsPass;
 use Drupal\Core\Http\HttpClientSubscriberPass;
 use Drupal\Core\Plugin\PluginManagerPass;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Theme\ThemeNegotiatorPass;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\DependencyInjection\Reference;
diff --git a/core/lib/Drupal/Core/EventSubscriber/ReverseProxySubscriber.php b/core/lib/Drupal/Core/EventSubscriber/ReverseProxySubscriber.php
index cf0003d5eb1bf5ed65825d80a9c7a4e3a757c089..788076abba9819f067353a0ef495a5acf1d7cf88 100644
--- a/core/lib/Drupal/Core/EventSubscriber/ReverseProxySubscriber.php
+++ b/core/lib/Drupal/Core/EventSubscriber/ReverseProxySubscriber.php
@@ -7,10 +7,10 @@
 
 namespace Drupal\Core\EventSubscriber;
 
+use Drupal\Core\Site\Settings;
 use Symfony\Component\HttpKernel\KernelEvents;
 use Symfony\Component\HttpKernel\Event\GetResponseEvent;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
-use Drupal\Component\Utility\Settings;
 
 /**
  * Reverse proxy subscriber for controller requests.
@@ -20,14 +20,14 @@ class ReverseProxySubscriber implements EventSubscriberInterface {
   /**
    * A settings object.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
   /**
    * Construct the ReverseProxySubscriber.
    *
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The read-only settings object of this request.
    */
   public function __construct(Settings $settings) {
diff --git a/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php b/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php
index 4873bac9de80c188dc3e74435e27336bc54d01d9..0d9742994c21bb228933ca931847862bf963cc57 100644
--- a/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php
+++ b/core/lib/Drupal/Core/Extension/ExtensionDiscovery.php
@@ -7,8 +7,8 @@
 
 namespace Drupal\Core\Extension;
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\Extension\Discovery\RecursiveExtensionFilterIterator;
+use Drupal\Core\Site\Settings;
 
 /**
  * Discovers available extensions in the filesystem.
diff --git a/core/lib/Drupal/Core/Form/FormBuilder.php b/core/lib/Drupal/Core/Form/FormBuilder.php
index d54a89511c4cb3c4a24897c57aeb0bf01fa67f93..96f06ba1e5bd8a23d364295081e30734c31cf75c 100644
--- a/core/lib/Drupal/Core/Form/FormBuilder.php
+++ b/core/lib/Drupal/Core/Form/FormBuilder.php
@@ -9,7 +9,6 @@
 
 use Drupal\Component\Utility\Crypt;
 use Drupal\Component\Utility\NestedArray;
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\Unicode;
 use Drupal\Component\Utility\UrlHelper;
 use Drupal\Core\Access\CsrfTokenGenerator;
@@ -18,6 +17,7 @@
 use Drupal\Core\KeyValueStore\KeyValueExpirableFactoryInterface;
 use Drupal\Core\Render\Element;
 use Drupal\Core\Routing\UrlGeneratorInterface;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\StringTranslation\TranslationInterface;
 use Drupal\Core\Url;
 use Symfony\Component\EventDispatcher\EventDispatcherInterface;
diff --git a/core/lib/Drupal/Core/Http/Client.php b/core/lib/Drupal/Core/Http/Client.php
index 092161107fc3a472b98769742c3031d9ec86c98c..7d654a95180c19c9eb9745977f37df6c594988ae 100644
--- a/core/lib/Drupal/Core/Http/Client.php
+++ b/core/lib/Drupal/Core/Http/Client.php
@@ -8,7 +8,7 @@
 namespace Drupal\Core\Http;
 
 use Drupal\Component\Utility\NestedArray;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use GuzzleHttp\Client as GuzzleClient;
 use GuzzleHttp\Event\SubscriberInterface;
 
diff --git a/core/lib/Drupal/Core/KeyValueStore/KeyValueFactory.php b/core/lib/Drupal/Core/KeyValueStore/KeyValueFactory.php
index a1a9d659e843d666068643c45ea89a8d869c8696..717ee04b5416cab29cdb4fb3e14382c66a6329cb 100644
--- a/core/lib/Drupal/Core/KeyValueStore/KeyValueFactory.php
+++ b/core/lib/Drupal/Core/KeyValueStore/KeyValueFactory.php
@@ -6,7 +6,8 @@
  */
 
 namespace Drupal\Core\KeyValueStore;
-use Drupal\Component\Utility\Settings;
+
+use Drupal\Core\Site\Settings;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
@@ -52,14 +53,14 @@ class KeyValueFactory implements KeyValueFactoryInterface {
   /**
    * The read-only settings container.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
   /**
    * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
    *   The service container.
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *  The read-only settings container.
    */
   function __construct(ContainerInterface $container, Settings $settings) {
diff --git a/core/lib/Drupal/Core/Mail/Plugin/Mail/PhpMail.php b/core/lib/Drupal/Core/Mail/Plugin/Mail/PhpMail.php
index 874f246e936f0ab3f4d3c41d58a61896d122f57e..8662d0f4d1b524346569c32af8b6ab73fb2dfa73 100644
--- a/core/lib/Drupal/Core/Mail/Plugin/Mail/PhpMail.php
+++ b/core/lib/Drupal/Core/Mail/Plugin/Mail/PhpMail.php
@@ -7,8 +7,8 @@
 
 namespace Drupal\Core\Mail\Plugin\Mail;
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\Mail\MailInterface;
+use Drupal\Core\Site\Settings;
 
 /**
  * Defines the default Drupal mail backend, using PHP's native mail() function.
diff --git a/core/lib/Drupal/Core/PhpStorage/PhpStorageFactory.php b/core/lib/Drupal/Core/PhpStorage/PhpStorageFactory.php
index 64bcb7b7952826227ca3c4a1316470fa93934b71..5b4effbe15b39712fa7d90fddfbfbf4712e4466e 100644
--- a/core/lib/Drupal/Core/PhpStorage/PhpStorageFactory.php
+++ b/core/lib/Drupal/Core/PhpStorage/PhpStorageFactory.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Core\PhpStorage;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\StreamWrapper\PublicStream;
 
 /**
diff --git a/core/lib/Drupal/Core/Queue/QueueFactory.php b/core/lib/Drupal/Core/Queue/QueueFactory.php
index 93ffebbe07d77f534d64d093bf079df292a80ffc..6dce837991d89013b718a6de1386693dd3d95c3d 100644
--- a/core/lib/Drupal/Core/Queue/QueueFactory.php
+++ b/core/lib/Drupal/Core/Queue/QueueFactory.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Core\Queue;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\DependencyInjection\ContainerAwareInterface;
 use Symfony\Component\DependencyInjection\ContainerAwareTrait;
 
@@ -28,7 +28,7 @@ class QueueFactory implements ContainerAwareInterface {
   /**
    * The settings object.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
diff --git a/core/lib/Drupal/Core/Routing/UrlGenerator.php b/core/lib/Drupal/Core/Routing/UrlGenerator.php
index eef8f77d1a7cb0d6e1239fa34e03660da80fd67f..dd09330435a9f9a939af11ced6f12473adb81c9e 100644
--- a/core/lib/Drupal/Core/Routing/UrlGenerator.php
+++ b/core/lib/Drupal/Core/Routing/UrlGenerator.php
@@ -15,11 +15,11 @@
 
 use Symfony\Cmf\Component\Routing\ProviderBasedGenerator;
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\UrlHelper;
 use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\PathProcessor\OutboundPathProcessorInterface;
 use Drupal\Core\RouteProcessor\OutboundRouteProcessorInterface;
+use Drupal\Core\Site\Settings;
 
 /**
  * Generates URLs from route names and parameters.
@@ -86,7 +86,7 @@ class UrlGenerator extends ProviderBasedGenerator implements UrlGeneratorInterfa
    *   The route processor.
    * @param \Drupal\Core\Config\ConfigFactoryInterface $config
    *    The config factory.
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *    The read only settings.
    * @param \Symfony\Component\HttpKernel\Log\LoggerInterface $logger
    *   An optional logger for recording errors.
diff --git a/core/lib/Drupal/Core/Session/SessionHandler.php b/core/lib/Drupal/Core/Session/SessionHandler.php
index 1e447635977e3477e7c52fe8a5034e1ad3e128eb..e93e840696c26fec7e4394aafb6320804e2906ba 100644
--- a/core/lib/Drupal/Core/Session/SessionHandler.php
+++ b/core/lib/Drupal/Core/Session/SessionHandler.php
@@ -8,8 +8,8 @@
 namespace Drupal\Core\Session;
 
 use Drupal\Component\Utility\Crypt;
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\Database\Connection;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Utility\Error;
 use Symfony\Component\HttpFoundation\RequestStack;
 
diff --git a/core/lib/Drupal/Core/Session/SessionManager.php b/core/lib/Drupal/Core/Session/SessionManager.php
index 30ca61bc84bee4f1851badb26a7edd7dd5f7469d..1c37dc3264c9b5c5d90777203354cd469786df7d 100644
--- a/core/lib/Drupal/Core/Session/SessionManager.php
+++ b/core/lib/Drupal/Core/Session/SessionManager.php
@@ -8,10 +8,10 @@
 namespace Drupal\Core\Session;
 
 use Drupal\Component\Utility\Crypt;
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\Database\Connection;
 use Drupal\Core\Session\AnonymousUserSession;
 use Drupal\Core\Session\SessionHandler;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\HttpFoundation\RequestStack;
 
 /**
diff --git a/core/lib/Drupal/Component/Utility/Settings.php b/core/lib/Drupal/Core/Site/Settings.php
similarity index 93%
rename from core/lib/Drupal/Component/Utility/Settings.php
rename to core/lib/Drupal/Core/Site/Settings.php
index 2b34090c7284178896548f3b7d4f3322ebf24a76..950ccd4af11dbd23583fa9191a5d739b0aca36bb 100644
--- a/core/lib/Drupal/Component/Utility/Settings.php
+++ b/core/lib/Drupal/Core/Site/Settings.php
@@ -2,10 +2,10 @@
 
 /**
  * @file
- * Contains \Drupal\Component\Utility\Settings.
+ * Contains \Drupal\Core\Site\Settings.
  */
 
-namespace Drupal\Component\Utility;
+namespace Drupal\Core\Site;
 
 /**
  * Read only settings that are initialized with the class.
@@ -24,7 +24,7 @@ final class Settings {
   /**
    * Singleton instance.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   private static $instance;
 
@@ -34,7 +34,7 @@ final class Settings {
    * A singleton is used because this class is used before the container is
    * available.
    *
-   * @return \Drupal\Component\Utility\Settings
+   * @return \Drupal\Core\Site\Settings
    */
   public static function getInstance() {
     return self::$instance;
diff --git a/core/lib/Drupal/Core/StreamWrapper/PublicStream.php b/core/lib/Drupal/Core/StreamWrapper/PublicStream.php
index 3563cf10b5b7c5920b69f72c66e9edad806b9c4a..637c9ef0c8bcfbf466df73cbdf067f0ea4f88e62 100644
--- a/core/lib/Drupal/Core/StreamWrapper/PublicStream.php
+++ b/core/lib/Drupal/Core/StreamWrapper/PublicStream.php
@@ -8,7 +8,7 @@
 namespace Drupal\Core\StreamWrapper;
 
 use Drupal\Component\Utility\UrlHelper;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Defines a Drupal public (public://) stream wrapper class.
diff --git a/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php b/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php
index 0b564fcffef9f1fdf08777ffbececd6832ee9ec3..8decfde4513866058fa45b47d34959cdf03b3ca4 100644
--- a/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php
+++ b/core/lib/Drupal/Core/StringTranslation/Translator/CustomStrings.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Core\StringTranslation\Translator;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * String translator using overrides from variables.
@@ -20,14 +20,14 @@ class CustomStrings extends StaticTranslation {
   /**
    * The settings read only object.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
   /**
    * Constructs a CustomStrings object.
    *
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The settings read only object.
    */
   public function __construct(Settings $settings) {
diff --git a/core/lib/Drupal/Core/Template/TwigNodeTrans.php b/core/lib/Drupal/Core/Template/TwigNodeTrans.php
index 2ff3b0898cc4d458e200bf1eea4f2a47b1492563..f905f757193723a36f5b28cb79dffa7e3405e4be 100644
--- a/core/lib/Drupal/Core/Template/TwigNodeTrans.php
+++ b/core/lib/Drupal/Core/Template/TwigNodeTrans.php
@@ -14,8 +14,8 @@
 
 namespace Drupal\Core\Template;
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\Unicode;
+use Drupal\Core\Site\Settings;
 
 /**
  * A class that defines the Twig 'trans' tag for Drupal.
diff --git a/core/modules/language/lib/Drupal/language/HttpKernel/PathProcessorLanguage.php b/core/modules/language/lib/Drupal/language/HttpKernel/PathProcessorLanguage.php
index f4268054e59832d88ffe7f453163fe9153d90879..b2eb841e23381b21c32dba49758d63d0cce0118a 100644
--- a/core/modules/language/lib/Drupal/language/HttpKernel/PathProcessorLanguage.php
+++ b/core/modules/language/lib/Drupal/language/HttpKernel/PathProcessorLanguage.php
@@ -7,11 +7,11 @@
 
 namespace Drupal\language\HttpKernel;
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\PathProcessor\InboundPathProcessorInterface;
 use Drupal\Core\PathProcessor\OutboundPathProcessorInterface;
+use Drupal\Core\Site\Settings;
 use Drupal\language\ConfigurableLanguageManagerInterface;
 use Drupal\language\LanguageNegotiatorInterface;
 use Symfony\Component\HttpFoundation\Request;
@@ -69,7 +69,7 @@ class PathProcessorLanguage implements InboundPathProcessorInterface, OutboundPa
    *
    * @param \Drupal\Core\Config\ConfigFactoryInterface $config
    *   A config factory object for retrieving configuration settings.
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The settings instance.
    * @param \Drupal\language\ConfigurableLanguageManagerInterface $language_manager
    *   The configurable language manager.
diff --git a/core/modules/language/lib/Drupal/language/LanguageNegotiator.php b/core/modules/language/lib/Drupal/language/LanguageNegotiator.php
index 7841babc4b2c5ddb90bc93e7011126a134d00ce0..ec924e320537a30e4e2c50a0294af24b90f54669 100644
--- a/core/modules/language/lib/Drupal/language/LanguageNegotiator.php
+++ b/core/modules/language/lib/Drupal/language/LanguageNegotiator.php
@@ -8,10 +8,10 @@
 namespace Drupal\language;
 
 use Drupal\Component\Plugin\PluginManagerInterface;
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\Config\ConfigFactoryInterface;
 use Drupal\Core\Language\LanguageManagerInterface;
 use Drupal\Core\Session\AccountInterface;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\HttpFoundation\Request;
 
 /**
@@ -43,7 +43,7 @@ class LanguageNegotiator implements LanguageNegotiatorInterface {
   /**
    * The settings instance.
    *
-   * @return \Drupal\Component\Utility\Settings
+   * @return \Drupal\Core\Site\Settings
    */
   protected $settings;
 
@@ -84,7 +84,7 @@ class LanguageNegotiator implements LanguageNegotiatorInterface {
    *   The language negotiation methods plugin manager
    * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
    *   The configuration factory.
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The settings instance.
    */
   public function __construct(ConfigurableLanguageManagerInterface $language_manager, PluginManagerInterface $negotiator_manager, ConfigFactoryInterface $config_factory, Settings $settings) {
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/DrupalUnitTestBase.php b/core/modules/simpletest/lib/Drupal/simpletest/DrupalUnitTestBase.php
index 350fcbc6b1f6039bff2d469d1ead92082c266915..d6bd64fc6961c66752502fa2c5b4889476449f3c 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/DrupalUnitTestBase.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/DrupalUnitTestBase.php
@@ -245,8 +245,8 @@ public function containerBuild(ContainerBuilder $container) {
       // together here, it still might a keyvalue storage for anything using
       // \Drupal::state() -- that's why a memory service was added in the first
       // place.
-      $container->register('settings', 'Drupal\Component\Utility\Settings')
-        ->setFactoryClass('Drupal\Component\Utility\Settings')
+      $container->register('settings', 'Drupal\Core\Site\Settings')
+        ->setFactoryClass('Drupal\Core\Site\Settings')
         ->setFactoryMethod('getInstance');
 
       $container
diff --git a/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php b/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php
index 1579e4ef0c27d1e944280132791a960443d0cdc2..5aba155c57064eb3d3f2b026d52bf5bf84e235eb 100644
--- a/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php
+++ b/core/modules/simpletest/lib/Drupal/simpletest/TestBase.php
@@ -9,7 +9,6 @@
 
 use Drupal\Component\Utility\Random;
 use Drupal\Core\Database\Database;
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\String;
 use Drupal\Core\Config\ConfigImporter;
 use Drupal\Core\Config\StorageComparer;
@@ -20,6 +19,7 @@
 use Drupal\Core\Language\Language;
 use Drupal\Core\Session\AccountProxy;
 use Drupal\Core\Session\AnonymousUserSession;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\StreamWrapper\PublicStream;
 use Drupal\Core\Utility\Error;
 use Symfony\Component\HttpFoundation\Request;
@@ -1349,7 +1349,7 @@ protected function exceptionHandler($exception) {
    * @param $value
    *   The value of the setting.
    *
-   * @see \Drupal\Component\Utility\Settings::get()
+   * @see \Drupal\Core\Site\Settings::get()
    */
   protected function settingsSet($name, $value) {
     $settings = Settings::getAll();
diff --git a/core/modules/system/lib/Drupal/system/Tests/DrupalKernel/DrupalKernelTest.php b/core/modules/system/lib/Drupal/system/Tests/DrupalKernel/DrupalKernelTest.php
index aaf96125f62a2609d268a0bde620255079f49b79..aaca572fbb0b11d0be876cfa79d6ba81e3fe2db4 100644
--- a/core/modules/system/lib/Drupal/system/Tests/DrupalKernel/DrupalKernelTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/DrupalKernel/DrupalKernelTest.php
@@ -7,8 +7,8 @@
 
 namespace Drupal\system\Tests\DrupalKernel;
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\DrupalKernel;
+use Drupal\Core\Site\Settings;
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedCopyTest.php b/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedCopyTest.php
index ee8affff1fec55295aa3d56cffe36c2106095cd0..ecd131099b266c5cf2c8a7acf93d72942c9c2079 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedCopyTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedCopyTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\system\Tests\File;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Unmanaged copy related tests.
diff --git a/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedMoveTest.php b/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedMoveTest.php
index 60e6bbe12e22f77b8ec4acc6b7b0b0c240c9c024..86a933074cd9018cd9797f69b2154e273f28841a 100644
--- a/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedMoveTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/File/UnmanagedMoveTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\system\Tests\File;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 /**
  * Unmanaged move related tests.
diff --git a/core/modules/system/lib/Drupal/system/Tests/KeyValueStore/StorageTestBase.php b/core/modules/system/lib/Drupal/system/Tests/KeyValueStore/StorageTestBase.php
index 4b48cfbc2dd75813f36b1b561b8def76438ede02..396f0280a1822cc2bb25cf8056f0d34b7810f983 100644
--- a/core/modules/system/lib/Drupal/system/Tests/KeyValueStore/StorageTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/KeyValueStore/StorageTestBase.php
@@ -52,8 +52,8 @@ protected function setUp() {
       ->register('service_container', 'Symfony\Component\DependencyInjection\ContainerBuilder')
       ->setSynthetic(TRUE);
     $this->container->set('service_container', $this->container);
-    $this->container->register('settings', 'Drupal\Component\Utility\Settings')
-      ->setFactoryClass('Drupal\Component\Utility\Settings')
+    $this->container->register('settings', 'Drupal\Core\Site\Settings')
+      ->setFactoryClass('Drupal\Core\Site\Settings')
       ->setFactoryMethod('getInstance');
     $this->container
       ->register('keyvalue', 'Drupal\Core\KeyValueStore\KeyValueFactory')
diff --git a/core/modules/system/lib/Drupal/system/Tests/Mail/HtmlToTextTest.php b/core/modules/system/lib/Drupal/system/Tests/Mail/HtmlToTextTest.php
index 0f6f6aa22c27809d18dce9e8e5a278c0903b3c19..e55e056355bcdd1b945b602f2806c1284ddae12f 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Mail/HtmlToTextTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Mail/HtmlToTextTest.php
@@ -7,8 +7,8 @@
 
 namespace Drupal\system\Tests\Mail;
 
+use Drupal\Core\Site\Settings;
 use Drupal\simpletest\WebTestBase;
-use Drupal\Component\Utility\Settings;
 
 /**
  * Tests for drupal_html_to_text().
diff --git a/core/modules/system/lib/Drupal/system/Tests/PhpStorage/PhpStorageFactoryTest.php b/core/modules/system/lib/Drupal/system/Tests/PhpStorage/PhpStorageFactoryTest.php
index 5ff16d37a3bae17393a234ae331fa5ed40dea3ed..d7e4f3482bdf35606128cd37d72f575737431166 100644
--- a/core/modules/system/lib/Drupal/system/Tests/PhpStorage/PhpStorageFactoryTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/PhpStorage/PhpStorageFactoryTest.php
@@ -8,8 +8,8 @@
 namespace Drupal\system\Tests\PhpStorage;
 
 use Drupal\Component\PhpStorage\MTimeProtectedFileStorage;
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\PhpStorage\PhpStorageFactory;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\StreamWrapper\PublicStream;
 use Drupal\simpletest\DrupalUnitTestBase;
 use Drupal\system\PhpStorage\MockPhpStorage;
diff --git a/core/modules/system/lib/Drupal/system/Tests/System/SettingsRewriteTest.php b/core/modules/system/lib/Drupal/system/Tests/System/SettingsRewriteTest.php
index cf047ad450dd3179bab97eaf9c5003034058b048..5ea0bdac2f56e9f59fa196ec95f34417a93dd0e1 100644
--- a/core/modules/system/lib/Drupal/system/Tests/System/SettingsRewriteTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/System/SettingsRewriteTest.php
@@ -7,8 +7,8 @@
 
 namespace Drupal\system\Tests\System;
 
+use Drupal\Core\Site\Settings;
 use Drupal\simpletest\UnitTestBase;
-use Drupal\Component\Utility\Settings;
 
 /**
  * Tests the drupal_rewrite_settings() function.
diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index 421491af066ebeb7e39cf17e063b1350fe1fa501..47c093365020570067d4dd982569fc26a89ccca2 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -8,8 +8,8 @@
 use Drupal\Component\Utility\Crypt;
 use Drupal\Core\Database\Database;
 use Drupal\Core\Language\Language;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\StreamWrapper\PublicStream;
-use Drupal\Component\Utility\Settings;
 
 /**
  * Implements hook_requirements().
diff --git a/core/modules/update/lib/Drupal/update/Access/UpdateManagerAccessCheck.php b/core/modules/update/lib/Drupal/update/Access/UpdateManagerAccessCheck.php
index 89bbb1da02bdadf8e57e371459d1b4ac8dcf8f8c..5fba57fc7639cd1480599fdbbb781e43bd4163b3 100644
--- a/core/modules/update/lib/Drupal/update/Access/UpdateManagerAccessCheck.php
+++ b/core/modules/update/lib/Drupal/update/Access/UpdateManagerAccessCheck.php
@@ -7,9 +7,9 @@
 
 namespace Drupal\update\Access;
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\Routing\Access\AccessInterface;
 use Drupal\Core\Session\AccountInterface;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\Routing\Route;
 use Symfony\Component\HttpFoundation\Request;
 
@@ -21,14 +21,14 @@ class UpdateManagerAccessCheck implements AccessInterface {
   /**
    * Settings Service.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
   /**
    * Constructs a UpdateManagerAccessCheck object.
    *
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The read-only settings container.
    */
   public function __construct(Settings $settings) {
diff --git a/core/modules/update/update.module b/core/modules/update/update.module
index db3b8931144311a79db05f61fd36533c4d8bb67c..548ee636447035c40940f9cd93577ef3dd8dd0b6 100644
--- a/core/modules/update/update.module
+++ b/core/modules/update/update.module
@@ -11,7 +11,7 @@
  * ability to install contributed modules and themes via an user interface.
  */
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 // These are internally used constants for this code, do not modify.
 
diff --git a/core/rebuild.php b/core/rebuild.php
index 382387c63349c1d48223ff0e070abf5fb6c13c7e..3e8ed1282c152a9ef231eca9041a4231bb689487 100644
--- a/core/rebuild.php
+++ b/core/rebuild.php
@@ -11,7 +11,7 @@
  */
 
 use Drupal\Component\Utility\Crypt;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 // Change the directory to the Drupal root.
 chdir('..');
diff --git a/core/scripts/rebuild_token_calculator.sh b/core/scripts/rebuild_token_calculator.sh
index c206e0b143b1b92f18311e6ae007fa5f4c6f46ba..729d34d64d3033b3132acdcdfa1e7f3986b063fd 100755
--- a/core/scripts/rebuild_token_calculator.sh
+++ b/core/scripts/rebuild_token_calculator.sh
@@ -11,7 +11,7 @@
 require_once dirname(__DIR__) . '/includes/bootstrap.inc';
 
 use Drupal\Component\Utility\Crypt;
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 
 drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);
 
diff --git a/core/scripts/run-tests.sh b/core/scripts/run-tests.sh
index 1f09534dde20f30481f54e19592340a7d3921f7d..a953dd7465bd86c65f34f031c5ca9140d25ea3fb 100755
--- a/core/scripts/run-tests.sh
+++ b/core/scripts/run-tests.sh
@@ -5,10 +5,10 @@
  * This script runs Drupal tests from command line.
  */
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Component\Utility\Timer;
 use Drupal\Core\Database\Database;
 use Drupal\Core\DrupalKernel;
+use Drupal\Core\Site\Settings;
 use Symfony\Component\HttpFoundation\Request;
 
 require_once __DIR__ . '/../vendor/autoload.php';
diff --git a/core/tests/Drupal/Tests/Core/Cache/CacheFactoryTest.php b/core/tests/Drupal/Tests/Core/Cache/CacheFactoryTest.php
index eb1f40b1a471499e58408a3be1f4b4d02e233c25..0f619075be141da017b5ea3e8fb98dec50ac432c 100644
--- a/core/tests/Drupal/Tests/Core/Cache/CacheFactoryTest.php
+++ b/core/tests/Drupal/Tests/Core/Cache/CacheFactoryTest.php
@@ -8,8 +8,8 @@
 namespace Drupal\Tests\Core\Cache;
 
 use Drupal\Core\DependencyInjection\ContainerBuilder;
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\Cache\CacheFactory;
+use Drupal\Core\Site\Settings;
 use Drupal\Tests\UnitTestCase;
 
 /**
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php
index e62befe41ac64336c0e4bb2473cbe75c69a0b585..e3c8db0ef24a02bc98c929e51502fda948e7f7ee 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/ReverseProxySubscriberUnitTest.php
@@ -7,8 +7,8 @@
 
 namespace Drupal\Tests\Core\EventSubscriber;
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\EventSubscriber\ReverseProxySubscriber;
+use Drupal\Core\Site\Settings;
 use Drupal\Tests\UnitTestCase;
 
 /**
@@ -73,7 +73,7 @@ public function testReverseProxyEnabled() {
    * \Symfony\Component\HttpFoundation\Request::setTrustedProxies() should
    * always be called when reverse proxy settings are enabled.
    *
-   * @param \Drupal\Component\Utility\Settings $settings
+   * @param \Drupal\Core\Site\Settings $settings
    *   The settings object that holds reverse proxy configuration.
    */
   protected function trustedHeadersAreSet(Settings $settings) {
diff --git a/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php b/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php
index 9197085666ee80d0915bbc294ceaf6ad48554be5..8f877f7f488f2e6d2d1024bf761d19d396566b0e 100644
--- a/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php
+++ b/core/tests/Drupal/Tests/Core/PathProcessor/PathProcessorTest.php
@@ -7,12 +7,12 @@
 
 namespace Drupal\Tests\Core\PathProcessor;
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\Language\Language;
 use Drupal\Core\PathProcessor\PathProcessorAlias;
 use Drupal\Core\PathProcessor\PathProcessorDecode;
 use Drupal\Core\PathProcessor\PathProcessorFront;
 use Drupal\Core\PathProcessor\PathProcessorManager;
+use Drupal\Core\Site\Settings;
 use Drupal\language\HttpKernel\PathProcessorLanguage;
 use Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationUrl;
 use Symfony\Component\HttpFoundation\Request;
diff --git a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
index d1c59c93fd38321017fa9cf8e46fbbff92e4b640..151b74907db8875e1ed923bbabc4977a700c0cfc 100644
--- a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
+++ b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php
@@ -7,10 +7,10 @@
 
 namespace Drupal\Tests\Core\Routing;
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\PathProcessor\PathProcessorAlias;
 use Drupal\Core\PathProcessor\PathProcessorManager;
 use Drupal\Core\Routing\UrlGenerator;
+use Drupal\Core\Site\Settings;
 use Drupal\Tests\UnitTestCase;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\Routing\Route;
diff --git a/core/tests/Drupal/Tests/Component/Utility/SettingsTest.php b/core/tests/Drupal/Tests/Core/Site/SettingsTest.php
similarity index 69%
rename from core/tests/Drupal/Tests/Component/Utility/SettingsTest.php
rename to core/tests/Drupal/Tests/Core/Site/SettingsTest.php
index 1c913c996d53377f282a598aa28bc528b0059e0e..541cbe8b537737870de1e2ba47b027544a109024 100644
--- a/core/tests/Drupal/Tests/Component/Utility/SettingsTest.php
+++ b/core/tests/Drupal/Tests/Core/Site/SettingsTest.php
@@ -2,18 +2,18 @@
 
 /**
  * @file
- * Contains \Drupal\Tests\Component\Utility\SettingsTest.php
+ * Contains \Drupal\Tests\Core\Site\SettingsTest.
  */
 
-namespace Drupal\Tests\Component\Utility;
+namespace Drupal\Tests\Core\Site;
 
-use Drupal\Component\Utility\Settings;
+use Drupal\Core\Site\Settings;
 use Drupal\Tests\UnitTestCase;
 
 /**
- * Tests read only settings.
+ * Tests read-only settings.
  *
- * @see \Drupal\Component\Utility\Settings
+ * @coversDefaultClass \Drupal\Core\Site\Settings
  */
 class SettingsTest extends UnitTestCase {
 
@@ -25,34 +25,36 @@ class SettingsTest extends UnitTestCase {
   protected $config = array();
 
   /**
-   * The settings object to test.
+   * The class under test.
    *
-   * @var \Drupal\Component\Utility\Settings
+   * @var \Drupal\Core\Site\Settings
    */
   protected $settings;
 
+  /**
+   * {@inheritdoc}
+   */
   public static function getInfo() {
     return array(
-      'name' => 'Read-only settings test',
-      'description' => 'Confirm that \Drupal\Component\Utility\Settings is working.',
+      'name' => '\Drupal\Core\Site\Settings unit test',
+      'description' => '',
       'group' => 'Common',
     );
   }
 
   /**
-   * Setup a basic configuration array.
+   * @covers ::__construct
    */
   public function setUp(){
     $this->config = array(
       'one' => '1',
       'two' => '2',
     );
-
     $this->settings = new Settings($this->config);
   }
 
   /**
-   * Tests Settings::get().
+   * @covers ::get
    */
   public function testGet() {
     // Test stored settings.
@@ -65,16 +67,16 @@ public function testGet() {
   }
 
   /**
-   * Test Settings::getAll().
+   * @covers ::getAll
    */
   public function testGetAll() {
     $this->assertEquals($this->config, Settings::getAll());
   }
 
   /**
-   * Tests Settings::getInstance().
+   * @covers ::getInstance
    */
-  public function testGetSingleton() {
+  public function testGetInstance() {
     $singleton = $this->settings->getInstance();
     $this->assertEquals($singleton, $this->settings);
   }
diff --git a/core/update.php b/core/update.php
index 9657ae1becabf47f3c61fc686da3973fcee33c45..3bac378545eb76bef0475e4560ec0dda65fba1df 100644
--- a/core/update.php
+++ b/core/update.php
@@ -14,9 +14,9 @@
  * back to its original state!
  */
 
-use Drupal\Component\Utility\Settings;
 use Drupal\Core\DrupalKernel;
 use Drupal\Core\Page\DefaultHtmlPageRenderer;
+use Drupal\Core\Site\Settings;
 use Drupal\Core\Update\Form\UpdateScriptSelectionForm;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\Response;
diff --git a/index.php b/index.php
index 4916a6c1cee07b2472a7a7bfb3698902305fa2db..a453ecc1f910c0b56de4a2a020f6290bbef4b25f 100644
--- a/index.php
+++ b/index.php
@@ -8,6 +8,8 @@
  * See COPYRIGHT.txt and LICENSE.txt files in the "core" directory.
  */
 
+use Drupal\Core\Site\Settings;
+
 require_once __DIR__ . '/core/vendor/autoload.php';
 require_once __DIR__ . '/core/includes/bootstrap.inc';
 
@@ -16,7 +18,7 @@
 }
 catch (Exception $e) {
   $message = 'If you have just changed code (for example deployed a new module or moved an existing one) read <a href="http://drupal.org/documentation/rebuild">http://drupal.org/documentation/rebuild</a>';
-  if (\Drupal\Component\Utility\Settings::get('rebuild_access', FALSE)) {
+  if (Settings::get('rebuild_access', FALSE)) {
     $rebuild_path = $GLOBALS['base_url'] . '/rebuild.php';
     $message .= " or run the <a href=\"$rebuild_path\">rebuild script</a>";
   }