diff --git a/core/lib/Drupal/Core/Asset/CssCollectionGrouper.php b/core/lib/Drupal/Core/Asset/CssCollectionGrouper.php
index 4254f5fca539ed50ef273f43a1bef61904ad4b18..2c4122d58f78924bac9e7bb1ba863e5ef812c4c9 100644
--- a/core/lib/Drupal/Core/Asset/CssCollectionGrouper.php
+++ b/core/lib/Drupal/Core/Asset/CssCollectionGrouper.php
@@ -12,8 +12,8 @@ class CssCollectionGrouper implements AssetCollectionGrouperInterface {
    *
    * Puts multiple items into the same group if they are groupable and if they
    * are for the same 'media' and 'browsers'. Items of the 'file' type are
-   * groupable if their 'preprocess' flag is TRUE, items of the 'inline' type
-   * are always groupable, and items of the 'external' type are never groupable.
+   * groupable if their 'preprocess' flag is TRUE, and items of the 'external'
+   * type are never groupable.
    *
    * Also ensures that the process of grouping items does not change their
    * relative order. This requirement may result in multiple groups for the same
@@ -55,11 +55,6 @@ public function group(array $css_assets) {
           $group_keys = $item['preprocess'] ? array($item['type'], $item['group'], $item['media'], $item['browsers']) : FALSE;
           break;
 
-        case 'inline':
-          // Always group inline items.
-          $group_keys = array($item['type'], $item['media'], $item['browsers']);
-          break;
-
         case 'external':
           // Do not group external items.
           $group_keys = FALSE;
diff --git a/core/lib/Drupal/Core/Asset/CssCollectionOptimizer.php b/core/lib/Drupal/Core/Asset/CssCollectionOptimizer.php
index c596d81367bb980c875acea5def87c1349b24b33..9beddd1d26c5d625a7acfafde90f31803fcc52b9 100644
--- a/core/lib/Drupal/Core/Asset/CssCollectionOptimizer.php
+++ b/core/lib/Drupal/Core/Asset/CssCollectionOptimizer.php
@@ -133,16 +133,6 @@ public function optimize(array $css_assets) {
           }
           break;
 
-        case 'inline':
-          // We don't do any caching for inline CSS assets.
-          $data = '';
-          foreach ($css_group['items'] as $css_asset) {
-            $data .= $this->optimizer->optimize($css_asset);
-          }
-          unset($css_assets[$order]['data']['items']);
-          $css_assets[$order]['data'] = $data;
-          break;
-
         case 'external':
           // We don't do any aggregation and hence also no caching for external
           // CSS assets.
diff --git a/core/lib/Drupal/Core/Asset/CssOptimizer.php b/core/lib/Drupal/Core/Asset/CssOptimizer.php
index 168f315ca09a7b571c48e1501e268499d45718dc..f47354403c860ec4dcf24fb98c9c57979342e3c8 100644
--- a/core/lib/Drupal/Core/Asset/CssOptimizer.php
+++ b/core/lib/Drupal/Core/Asset/CssOptimizer.php
@@ -20,19 +20,14 @@ class CssOptimizer implements AssetOptimizerInterface {
    * {@inheritdoc}
    */
   public function optimize(array $css_asset) {
-    if (!in_array($css_asset['type'], array('file', 'inline'))) {
-      throw new \Exception('Only file or inline CSS assets can be optimized.');
+    if ($css_asset['type'] != 'file') {
+      throw new \Exception('Only file CSS assets can be optimized.');
     }
-    if ($css_asset['type'] === 'file' && !$css_asset['preprocess']) {
+    if (!$css_asset['preprocess']) {
       throw new \Exception('Only file CSS assets with preprocessing enabled can be optimized.');
     }
 
-    if ($css_asset['type'] === 'file') {
-      return $this->processFile($css_asset);
-    }
-    else {
-      return $this->processCss($css_asset['data'], $css_asset['preprocess']);
-    }
+    return $this->processFile($css_asset);
   }
 
   /**
diff --git a/core/lib/Drupal/Core/Asset/JsCollectionGrouper.php b/core/lib/Drupal/Core/Asset/JsCollectionGrouper.php
index c4780bdda4012c41a1c7e489f5109b8e81d5ca1e..710e3c0b986a78f689a3f9f9f070b5a15811b2a4 100644
--- a/core/lib/Drupal/Core/Asset/JsCollectionGrouper.php
+++ b/core/lib/Drupal/Core/Asset/JsCollectionGrouper.php
@@ -12,8 +12,7 @@ class JsCollectionGrouper implements AssetCollectionGrouperInterface {
    *
    * Puts multiple items into the same group if they are groupable and if they
    * are for the same browsers. Items of the 'file' type are groupable if their
-   * 'preprocess' flag is TRUE. Items of the 'inline', 'settings', or 'external'
-   * type are not groupable.
+   * 'preprocess' flag is TRUE. Items of the 'external' type are not groupable.
    *
    * Also ensures that the process of grouping items does not change their
    * relative order. This requirement may result in multiple groups for the same
@@ -43,9 +42,7 @@ public function group(array $js_assets) {
           break;
 
         case 'external':
-        case 'setting':
-        case 'inline':
-          // Do not group external, settings, and inline items.
+          // Do not group external items.
           $group_keys = FALSE;
           break;
       }
diff --git a/core/lib/Drupal/Core/Asset/JsCollectionOptimizer.php b/core/lib/Drupal/Core/Asset/JsCollectionOptimizer.php
index bee73e7c866b261f3da099120c1c4bee2f3fc742..aef10bf5529cc721681bcc72c8eb5bfccf6ec8bc 100644
--- a/core/lib/Drupal/Core/Asset/JsCollectionOptimizer.php
+++ b/core/lib/Drupal/Core/Asset/JsCollectionOptimizer.php
@@ -138,10 +138,8 @@ public function optimize(array $js_assets) {
           break;
 
         case 'external':
-        case 'setting':
-        case 'inline':
-          // We don't do any aggregation and hence also no caching for external,
-          // setting or inline JS assets.
+          // We don't do any aggregation and hence also no caching for external
+          // JS assets.
           $uri = $js_group['items'][0]['data'];
           $js_assets[$order]['data'] = $uri;
           break;
diff --git a/core/lib/Drupal/Core/Asset/JsOptimizer.php b/core/lib/Drupal/Core/Asset/JsOptimizer.php
index 3a3b747183421e02cd0fb933f16fa570c64a4132..6b8c217fcc57f69d0b3a2c137fb5fd2aeae5329f 100644
--- a/core/lib/Drupal/Core/Asset/JsOptimizer.php
+++ b/core/lib/Drupal/Core/Asset/JsOptimizer.php
@@ -16,7 +16,7 @@ public function optimize(array $js_asset) {
     if ($js_asset['type'] !== 'file') {
       throw new \Exception('Only file JavaScript assets can be optimized.');
     }
-    if ($js_asset['type'] === 'file' && !$js_asset['preprocess']) {
+    if (!$js_asset['preprocess']) {
       throw new \Exception('Only file JavaScript assets with preprocessing enabled can be optimized.');
     }
 
diff --git a/core/tests/Drupal/Tests/Core/Asset/CssOptimizerUnitTest.php b/core/tests/Drupal/Tests/Core/Asset/CssOptimizerUnitTest.php
index 36e35069b67f1d8e20e35852c961646b9f9e1217..c4dd1472133ddd748de3f5b8ab2660ea0b95a7f0 100644
--- a/core/tests/Drupal/Tests/Core/Asset/CssOptimizerUnitTest.php
+++ b/core/tests/Drupal/Tests/Core/Asset/CssOptimizerUnitTest.php
@@ -276,7 +276,7 @@ function testTypeFilePreprocessingDisabled() {
    * Tests a CSS asset with 'type' => 'external'.
    */
   function testTypeExternal() {
-    $this->setExpectedException('Exception', 'Only file or inline CSS assets can be optimized.');
+    $this->setExpectedException('Exception', 'Only file CSS assets can be optimized.');
 
     $css_asset = array(
       'group' => -100,