diff --git a/core/modules/node/config/views.view.frontpage.yml b/core/modules/node/config/views.view.frontpage.yml
new file mode 100644
index 0000000..bd39cf1
--- /dev/null
+++ b/core/modules/node/config/views.view.frontpage.yml
@@ -0,0 +1,169 @@
+api_version: '3.0'
+base_field: nid
+base_table: node
+core: 8.x
+description: 'A list of nodes marked as to be shown on the frontpage.'
+disabled: '0'
+display:
+  default:
+    display_options:
+      access:
+        type: perm
+      cache:
+        type: none
+      empty:
+        area:
+          admin_label: ''
+          content: 'No front page content has been created yet.'
+          empty: '1'
+          field: area
+          format: plain_text
+          group_type: group
+          id: area
+          label: ''
+          relationship: none
+          table: views
+          tokenize: '0'
+        node_listing_empty:
+          admin_label: ''
+          empty: '1'
+          field: node_listing_empty
+          group_type: group
+          id: node_listing_empty
+          label: ''
+          relationship: none
+          table: views
+      exposed_form:
+        type: basic
+      fields:
+        title:
+          alter:
+            absolute: '0'
+            alter_text: '0'
+            ellipsis: '0'
+            html: '0'
+            make_link: '0'
+            strip_tags: '0'
+            trim: '0'
+            word_boundary: '0'
+          empty_zero: '0'
+          field: title
+          hide_empty: '0'
+          id: title
+          label: ''
+          link_to_node: '1'
+          table: node
+      filters:
+        promote:
+          admin_label: ''
+          expose:
+            description: ''
+            identifier: ''
+            label: ''
+            multiple: '0'
+            operator: ''
+            operator_id: '0'
+            remember: '0'
+            remember_roles:
+              authenticated: authenticated
+            required: '0'
+            use_operator: '0'
+          exposed: '0'
+          field: promote
+          group: '1'
+          group_info:
+            default_group: All
+            default_group_multiple: {  }
+            description: ''
+            group_items: {  }
+            identifier: ''
+            label: ''
+            multiple: '0'
+            optional: '1'
+            remember: '0'
+            widget: select
+          group_type: group
+          id: promote
+          is_grouped: '0'
+          operator: '='
+          relationship: none
+          table: node
+          value: '1'
+        status:
+          expose:
+            operator: '0'
+          field: status
+          group: '1'
+          id: status
+          table: node
+          value: '1'
+      pager:
+        options:
+          items_per_page: '10'
+        type: full
+      query:
+        type: views_query
+      row:
+        options:
+          build_mode: teaser
+          comments: '0'
+          links: '1'
+        type: node
+      sorts:
+        created:
+          field: created
+          id: created
+          order: DESC
+          table: node
+        sticky:
+          admin_label: ''
+          expose:
+            label: ''
+          exposed: '0'
+          field: sticky
+          group_type: group
+          id: sticky
+          order: ASC
+          relationship: none
+          table: node
+      style:
+        type: default
+      title: 'Welcome to the site'
+    display_plugin: default
+    display_title: Master
+    id: default
+    position: {  }
+  feed:
+    display_options:
+      defaults:
+        sitename_title: '0'
+        title: '0'
+      display_description: 'Display the default content feed.'
+      displays:
+        default: default
+        page: page
+      pager:
+        type: some
+      path: rss1.xml
+      row:
+        type: node_rss
+      sitename_title: '1'
+      style:
+        type: rss
+      title: ''
+    display_plugin: feed
+    display_title: Feed
+    id: feed
+    position: {  }
+  page:
+    display_options:
+      path: node1
+    display_plugin: page
+    display_title: Page
+    id: page
+    position: {  }
+human_name: 'Frontpage'
+langcode: und
+module: node
+name: frontpage
+tag: ''
diff --git a/core/modules/node/lib/Drupal/node/Plugin/views/area/ListingEmpty.php b/core/modules/node/lib/Drupal/node/Plugin/views/area/ListingEmpty.php
new file mode 100644
index 0000000..5f80166
--- /dev/null
+++ b/core/modules/node/lib/Drupal/node/Plugin/views/area/ListingEmpty.php
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\node\Plugin\views\area\LinkAdd.
+ */
+
+namespace Drupal\node\Plugin\views\area;
+
+use Drupal\Core\Annotation\Plugin;
+use Drupal\views\Plugin\views\area\AreaPluginBase;
+
+/**
+ * An area plugin to display a node/add link and changes the title.
+ *
+ * @ingroup views_area_handlers
+ *
+ * @Plugin(
+ *   id = "node_listing_empty"
+ * )
+ */
+class ListingEmpty extends AreaPluginBase {
+
+  /**
+   * Implements Drupal\views\Plugin\views\area\AreaPluginBase::LinkAdd().
+   */
+  function render($empty = FALSE) {
+    if (!$empty || !empty($this->options['empty'])) {
+      $site_config = config('system.site');
+      // @todo Maybe implement this as option.
+      drupal_set_title(t('Welcome to @site-name', array('@site-name' => $site_config->get('name'))), PASS_THROUGH);
+
+      $element = array(
+        '#theme' => 'links',
+        '#links' => array(
+          array(
+            'href' => 'node/add',
+            'title' => t('Add new content')
+          )
+        ) ,
+        '#access' => _node_add_access()
+      );
+      return drupal_render($element);
+    }
+  }
+
+}
diff --git a/core/modules/node/node.views.inc b/core/modules/node/node.views.inc
index 8ac6fd6..f08f957 100644
--- a/core/modules/node/node.views.inc
+++ b/core/modules/node/node.views.inc
@@ -678,6 +678,19 @@ function node_views_data() {
 }
 
 /**
+ * Implements hook_views_data_alter().
+ */
+function node_views_data_alter(&$data) {
+  $data['views']['node_listing_empty'] = array(
+    'title' => t('Empty Node Frontpage behavior'),
+    'help' => t('Provides a link to the node add overview page and changes the title.'),
+    'area' => array(
+      'id' => 'node_listing_empty'
+    )
+  );
+}
+
+/**
  * Implements hook_preprocess_node().
  */
 function node_row_node_view_preprocess_node(&$vars) {
diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/area/AreaPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/area/AreaPluginBase.php
index db0383e..bc4cef8 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/area/AreaPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/area/AreaPluginBase.php
@@ -34,7 +34,7 @@
   public function init(ViewExecutable $view, &$options) {
     $this->setOptionDefaults($this->options, $this->defineOptions());
     parent::init($view, $options);
-    if ($this->definition['plugin_type'] == 'empty') {
+    if ($this->handler_type == 'empty') {
       $this->options['empty'] = TRUE;
     }
   }
@@ -98,9 +98,7 @@ public function query() { }
   /**
    * Render the area
    */
-  function render($empty = FALSE) {
-    return '';
-  }
+  abstract function render($empty = FALSE);
 
   /**
    * Area handlers shouldn't have groupby.
diff --git a/core/modules/views/theme/views-view-rss.tpl.php b/core/modules/views/theme/views-view-rss.tpl.php
index 18ca73e..fd967f5 100644
--- a/core/modules/views/theme/views-view-rss.tpl.php
+++ b/core/modules/views/theme/views-view-rss.tpl.php
@@ -8,6 +8,7 @@
  */
 ?>
 <?php print "<?xml"; ?> version="1.0" encoding="utf-8" <?php print "?>"; ?>
+
 <rss version="2.0" xml:base="<?php print $link; ?>"<?php print $namespaces; ?>>
   <channel>
     <title><?php print $title; ?></title>
