diff --git a/core/modules/node/config/schema/node.views.schema.yml b/core/modules/node/config/schema/node.views.schema.yml
index c00faab..f959611 100644
--- a/core/modules/node/config/schema/node.views.schema.yml
+++ b/core/modules/node/config/schema/node.views.schema.yml
@@ -66,13 +66,6 @@ views.argument.node_vid:
       type: boolean
       label: 'Exclude'
 
-views.argument_default.node:
-  type: sequence
-  label: 'Content ID from URL'
-  sequence:
-    type: string
-    label: 'Nid'
-
 views.field.node:
   type: views_field
   label: 'Node'
diff --git a/core/modules/user/config/schema/user.views.schema.yml b/core/modules/user/config/schema/user.views.schema.yml
index 2382329..f395b92 100644
--- a/core/modules/user/config/schema/user.views.schema.yml
+++ b/core/modules/user/config/schema/user.views.schema.yml
@@ -49,10 +49,6 @@ views.argument_default.user:
       type: boolean
       label: 'Also look for a node and use the node author'
 
-views.argument_default.current_user:
-  type: boolean
-  label: 'User ID from logged in user'
-
 views_field_user:
   type: views_field
   mapping:
diff --git a/core/modules/views/config/schema/views.argument_default.schema.yml b/core/modules/views/config/schema/views.argument_default.schema.yml
index 0a33c92..63fc232 100644
--- a/core/modules/views/config/schema/views.argument_default.schema.yml
+++ b/core/modules/views/config/schema/views.argument_default.schema.yml
@@ -1,5 +1,9 @@
 # Schema for the views default arguments.
 
+views.argument_default.*:
+  type: mapping
+  label: 'Base default argument'
+
 views.argument_default.fixed:
   type: mapping
   label: 'Fixed'
@@ -18,3 +22,17 @@ views.argument_default.raw:
     use_alias:
       type: boolean
       label: 'Use path alias'
+
+views.argument_default.query_parameter:
+  type: mapping
+  label: 'Query parameter'
+  mapping:
+    query_param:
+      type: string
+      label: 'Parameter'
+    fallback:
+      type: string
+      label: 'Fallback value'
+    multiple:
+      type: string
+      label: 'Multiple values'
diff --git a/core/modules/views/src/Tests/Plugin/ArgumentDefaultTest.php b/core/modules/views/src/Tests/Plugin/ArgumentDefaultTest.php
index 0708b86..5abc27c 100644
--- a/core/modules/views/src/Tests/Plugin/ArgumentDefaultTest.php
+++ b/core/modules/views/src/Tests/Plugin/ArgumentDefaultTest.php
@@ -2,10 +2,12 @@
 
 namespace Drupal\views\Tests\Plugin;
 
+use Drupal\Core\Url;
 use Drupal\node\Entity\Node;
 use Drupal\node\Entity\NodeType;
 use Drupal\views\Views;
 use Drupal\views_test_data\Plugin\views\argument_default\ArgumentDefaultTest as ArgumentDefaultTestPlugin;
+use Symfony\Component\HttpFoundation\Request;
 
 
 /**
@@ -25,6 +27,7 @@ class ArgumentDefaultTest extends PluginTestBase {
     'test_argument_default_fixed',
     'test_argument_default_current_user',
     'test_argument_default_node',
+    'test_argument_default_query_param',
     );
 
   /**
@@ -163,4 +166,24 @@ public function testArgumentDefaultNode() {
     $this->assertTrue(strpos($this->xpath($xpath)[0]->asXml(), $node2->getTitle()));
   }
 
+  /**
+   * Tests the query parameter default argument.
+   */
+  public function testArgumentDefaultQueryParameter() {
+    $view = Views::getView('test_argument_default_query_param');
+
+    $request = Request::create(Url::fromUri('internal:/whatever', ['absolute' => TRUE])->toString());
+
+    // Check the query parameter default argument fallback value.
+    $view->setRequest($request);
+    $view->initHandlers();
+    $this->assertEqual($view->argument['type']->getDefaultArgument(), 'all');
+
+    // Check the query parameter default argument with a value.
+    $request->query->add(['the_node_type' => 'page']);
+    $view->setRequest($request);
+    $view->initHandlers();
+    $this->assertEqual($view->argument['type']->getDefaultArgument(), 'page');
+  }
+
 }
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_query_param.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_query_param.yml
new file mode 100644
index 0000000..7f97bfd
--- /dev/null
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_query_param.yml
@@ -0,0 +1,62 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+id: test_argument_default_query_param
+label: ''
+module: views
+description: ''
+tag: ''
+base_table: node_field_data
+base_field: nid
+core: '8'
+display:
+  default:
+    display_options:
+      arguments:
+        type:
+          id: type
+          table: node_field_data
+          field: type
+          default_action: default
+          default_argument_type: query_parameter
+          default_argument_options:
+            query_param: the_node_type
+            fallback: all
+            multiple: and
+          entity_type: node
+          entity_field: type
+          plugin_id: node_type
+      fields:
+        title:
+          alter:
+            alter_text: false
+            ellipsis: true
+            html: false
+            make_link: false
+            strip_tags: false
+            trim: false
+            word_boundary: true
+          empty_zero: false
+          field: title
+          hide_empty: false
+          id: title
+          table: node_field_data
+          plugin_id: field
+          entity_type: node
+          entity_field: title
+      pager:
+        options:
+          id: 0
+          items_per_page: 10
+          offset: 0
+        type: full
+      style:
+        type: default
+      row:
+        type: fields
+    display_plugin: default
+    display_title: Master
+    id: default
+    position: 0
