From 8a567823903005e57614e69af44fe21c185e5b84 Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Fri, 25 Apr 2014 20:13:44 +0100
Subject: [PATCH] Issue #2208475 by sun, Xano, Jalandhar, andrei.dincu: Move
 Settings into Drupal\Core\Site\Settings.

---
 core/authorize.php                            |  2 +-
 core/core.services.yml                        |  4 +--
 core/includes/bootstrap.inc                   |  2 +-
 core/includes/common.inc                      |  2 +-
 core/includes/database.inc                    |  2 +-
 core/includes/file.inc                        |  2 +-
 core/includes/install.core.inc                |  2 +-
 core/includes/install.inc                     |  2 +-
 core/includes/mail.inc                        |  2 +-
 core/includes/theme.maintenance.inc           |  2 +-
 core/includes/update.inc                      |  1 -
 core/lib/Drupal/Component/Diff/DiffEngine.php |  2 +-
 .../Core/Authentication/Provider/Cookie.php   |  1 -
 core/lib/Drupal/Core/Cache/CacheFactory.php   |  6 ++--
 .../Config/BootstrapConfigStorageFactory.php  |  2 +-
 core/lib/Drupal/Core/CoreServiceProvider.php  |  2 +-
 .../ReverseProxySubscriber.php                |  6 ++--
 .../Core/Extension/ExtensionDiscovery.php     |  2 +-
 core/lib/Drupal/Core/Form/FormBuilder.php     |  2 +-
 core/lib/Drupal/Core/Http/Client.php          |  2 +-
 .../Core/KeyValueStore/KeyValueFactory.php    |  7 ++--
 .../Drupal/Core/Mail/Plugin/Mail/PhpMail.php  |  2 +-
 .../Core/PhpStorage/PhpStorageFactory.php     |  2 +-
 core/lib/Drupal/Core/Queue/QueueFactory.php   |  4 +--
 core/lib/Drupal/Core/Routing/UrlGenerator.php |  4 +--
 .../Drupal/Core/Session/SessionHandler.php    |  2 +-
 .../Drupal/Core/Session/SessionManager.php    |  2 +-
 .../Utility => Core/Site}/Settings.php        |  8 ++---
 .../Core/StreamWrapper/PublicStream.php       |  2 +-
 .../Translator/CustomStrings.php              |  6 ++--
 .../Drupal/Core/Template/TwigNodeTrans.php    |  2 +-
 .../HttpKernel/PathProcessorLanguage.php      |  4 +--
 .../Drupal/language/LanguageNegotiator.php    |  6 ++--
 .../Drupal/simpletest/DrupalUnitTestBase.php  |  4 +--
 .../lib/Drupal/simpletest/TestBase.php        |  4 +--
 .../Tests/DrupalKernel/DrupalKernelTest.php   |  2 +-
 .../system/Tests/File/UnmanagedCopyTest.php   |  2 +-
 .../system/Tests/File/UnmanagedMoveTest.php   |  2 +-
 .../Tests/KeyValueStore/StorageTestBase.php   |  4 +--
 .../system/Tests/Mail/HtmlToTextTest.php      |  2 +-
 .../PhpStorage/PhpStorageFactoryTest.php      |  2 +-
 .../Tests/System/SettingsRewriteTest.php      |  2 +-
 core/modules/system/system.install            |  2 +-
 .../Access/UpdateManagerAccessCheck.php       |  6 ++--
 core/modules/update/update.module             |  2 +-
 core/rebuild.php                              |  2 +-
 core/scripts/rebuild_token_calculator.sh      |  2 +-
 core/scripts/run-tests.sh                     |  2 +-
 .../Tests/Core/Cache/CacheFactoryTest.php     |  2 +-
 .../ReverseProxySubscriberUnitTest.php        |  4 +--
 .../Core/PathProcessor/PathProcessorTest.php  |  2 +-
 .../Tests/Core/Routing/UrlGeneratorTest.php   |  2 +-
 .../Utility => Core/Site}/SettingsTest.php    | 32 ++++++++++---------
 core/update.php                               |  2 +-
 index.php                                     |  4 ++-
 55 files changed, 95 insertions(+), 92 deletions(-)
 rename core/lib/Drupal/{Component/Utility => Core/Site}/Settings.php (93%)
 rename core/tests/Drupal/Tests/{Component/Utility => Core/Site}/SettingsTest.php (69%)

diff --git a/core/authorize.php b/core/authorize.php
index 982b9938ebf8..46202ade8d48 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 9b9c80bdda6d..a1e997e33098 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 83aa3075acf0..8c7c82e786d2 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 a60ff1c0fe3e..20a76ce0aa87 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 0197377c5df6..34994a821399 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 c0cefa5a0644..fc0b72a8bc5f 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 203bc89dd093..d48ae8325b64 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 5d69e9cee785..f08053329bbb 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 8c8b071c8419..68091fb001b3 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 a79adca5ffee..8a19a49bdc40 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 872bd7d89619..694a8a95ee4b 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 21d9ad486e19..2dd377f7125b 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 379d97e3a0ff..167a0b0747e5 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 c20979f03645..a3b5a01270fb 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 ffc8f48f03fe..2462eaf74ef1 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 1cd43a3faf5a..94ad0cf64ce4 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 cf0003d5eb1b..788076abba98 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 4873bac9de80..0d9742994c21 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 d54a89511c4c..96f06ba1e5bd 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 092161107fc3..7d654a95180c 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 a1a9d659e843..717ee04b5416 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 874f246e936f..8662d0f4d1b5 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 64bcb7b79528..5b4effbe15b3 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 93ffebbe07d7..6dce837991d8 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 eef8f77d1a7c..dd09330435a9 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 1e447635977e..e93e840696c2 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 30ca61bc84be..1c37dc3264c9 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 2b34090c7284..950ccd4af11d 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 3563cf10b5b7..637c9ef0c8bc 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 0b564fcffef9..8decfde45138 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 2ff3b0898cc4..f905f7571937 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 f4268054e598..b2eb841e2338 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 7841babc4b2c..ec924e320537 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 350fcbc6b1f6..d6bd64fc6961 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 1579e4ef0c27..5aba155c5706 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 aaf96125f62a..aaca572fbb0b 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 ee8affff1fec..ecd131099b26 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 60e6bbe12e22..86a933074cd9 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 4b48cfbc2dd7..396f0280a182 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 0f6f6aa22c27..e55e056355bc 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 5ff16d37a3ba..d7e4f3482bdf 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 cf047ad450dd..5ea0bdac2f56 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 421491af066e..47c093365020 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 89bbb1da02bd..5fba57fc7639 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 db3b89311443..548ee6364470 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 382387c63349..3e8ed1282c15 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 c206e0b143b1..729d34d64d30 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 1f09534dde20..a953dd7465bd 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 eb1f40b1a471..0f619075be14 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 e62befe41ac6..e3c8db0ef24a 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 9197085666ee..8f877f7f488f 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 d1c59c93fd38..151b74907db8 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 1c913c996d53..541cbe8b5377 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 9657ae1becab..3bac378545eb 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 4916a6c1cee0..a453ecc1f910 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>";
   }
-- 
GitLab