diff --git a/lib/Drupal/views/Plugin/views/PluginBase.php b/lib/Drupal/views/Plugin/views/PluginBase.php
index eb2b395502694ad26fe33bc2a6eb5f4b7293939e..62701ffe699035052fff9cc7629309b09b39e78a 100644
--- a/lib/Drupal/views/Plugin/views/PluginBase.php
+++ b/lib/Drupal/views/Plugin/views/PluginBase.php
@@ -46,6 +46,13 @@ abstract class PluginBase extends ComponentPluginBase {
    */
   public $localization_keys;
 
+   /**
+   * Denotes whether the plugin has an additional options form.
+   *
+   * @var bool
+   */
+  public $usesOptions = FALSE;
+
   /**
    * Constructs a Plugin object.
    */
@@ -452,4 +459,11 @@ function plugin_title() {
     return check_plain($this->definition['title']);
   }
 
+  /**
+   * Returns the usesOptions property.
+   */
+  function usesOptions() {
+    return $this->usesOptions;
+  }
+
 }
diff --git a/lib/Drupal/views/Plugin/views/access/Permission.php b/lib/Drupal/views/Plugin/views/access/Permission.php
index 82620b21c4babfe7e8a71e7722c137c4fe23d881..4b589eb69dff056af26e8e061f777e23fc8cfd2f 100644
--- a/lib/Drupal/views/Plugin/views/access/Permission.php
+++ b/lib/Drupal/views/Plugin/views/access/Permission.php
@@ -19,12 +19,16 @@
  *   id = "perm",
  *   title = @Translation("Permission"),
  *   help = @Translation("Access will be granted to users with the specified permission string."),
- *   help_topic = "access-perm",
- *   uses_options = TRUE
+ *   help_topic = "access-perm"
  * )
  */
 class Permission extends AccessPluginBase {
 
+  /**
+   * Overrides Drupal\views\Plugin\Plugin::$usesOptions.
+   */
+  public $usesOptions = TRUE;
+
   function access($account) {
     return views_check_perm($this->options['perm'], $account);
   }
diff --git a/lib/Drupal/views/Plugin/views/access/Role.php b/lib/Drupal/views/Plugin/views/access/Role.php
index ddfe29001c09e39f8a8127be0e9d8cfbeada6497..634010cad9b353c0ba435c3e226c05bf35a2bdb7 100644
--- a/lib/Drupal/views/Plugin/views/access/Role.php
+++ b/lib/Drupal/views/Plugin/views/access/Role.php
@@ -19,12 +19,16 @@
  *   id = "role",
  *   title = @Translation("Role"),
  *   help = @Translation("Access will be granted to users with any of the specified roles."),
- *   help_topic = "access-role",
- *   uses_options = TRUE
+ *   help_topic = "access-role"
  * )
  */
 class Role extends AccessPluginBase {
 
+  /**
+   * Overrides Drupal\views\Plugin\Plugin::$usesOptions.
+   */
+  public $usesOptions = TRUE;
+
   function access($account) {
     return views_check_roles(array_filter($this->options['role']), $account);
   }
diff --git a/lib/Drupal/views/Plugin/views/argument/ArgumentPluginBase.php b/lib/Drupal/views/Plugin/views/argument/ArgumentPluginBase.php
index 36e542f78a7734217673ca2f0bfd20c60e5954ae..e929efd9de261884a61b6409deed1b235579645b 100644
--- a/lib/Drupal/views/Plugin/views/argument/ArgumentPluginBase.php
+++ b/lib/Drupal/views/Plugin/views/argument/ArgumentPluginBase.php
@@ -678,10 +678,10 @@ function default_summary_form(&$form, &$form_state) {
     );
 
     foreach ($summary_plugins as $id => $info) {
-      if (empty($info['uses_options'])) {
+      $plugin = $this->get_plugin('style', $id);
+      if (!$plugin->usesOptions()) {
         continue;
       }
-      $plugin = $this->get_plugin('style', $id);
       if ($plugin) {
         $form['summary']['options'][$id] = array(
           '#prefix' => '<div id="edit-options-summary-options-' . $id . '-wrapper">',
diff --git a/lib/Drupal/views/Plugin/views/cache/Time.php b/lib/Drupal/views/Plugin/views/cache/Time.php
index a9260ef30991fc36b0aaa848db7ff5bfacf3e19e..95baa66dc7d503e37009b57643fcc008617bbbf0 100644
--- a/lib/Drupal/views/Plugin/views/cache/Time.php
+++ b/lib/Drupal/views/Plugin/views/cache/Time.php
@@ -19,12 +19,16 @@
  *   id = "time",
  *   title = @Translation("Time-based"),
  *   help = @Translation("Simple time-based caching of data."),
- *   help_topic = "cache-time",
- *   uses_options = TRUE
+ *   help_topic = "cache-time"
  * )
  */
 class Time extends CachePluginBase {
 
+  /**
+   * Overrides Drupal\views\Plugin\Plugin::$usesOptions.
+   */
+  public $usesOptions = TRUE;
+
   function option_definition() {
     $options = parent::option_definition();
     $options['results_lifespan'] = array('default' => 3600);
diff --git a/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php b/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
index 8c6483c45f459384dd19c3c11bd80bee6ddcf315..30a199158bb013d4da1777befe5b1da4cd986598 100644
--- a/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
+++ b/lib/Drupal/views/Plugin/views/display/DisplayPluginBase.php
@@ -44,6 +44,11 @@ abstract class DisplayPluginBase extends PluginBase {
    */
   var $extender = array();
 
+  /**
+   * Overrides Drupal\views\Plugin\Plugin::$usesOptions.
+   */
+  public $usesOptions = TRUE;
+
   /**
    * Stores the rendered output of the display.
    *
@@ -1209,7 +1214,7 @@ function options_summary(&$categories, &$options) {
     );
 
     // This adds a 'Settings' link to the style_options setting if the style has options.
-    if (!empty($style_plugin['uses_options'])) {
+    if ($style_plugin_instance->usesOptions()) {
       $options['style_plugin']['links']['style_options'] = t('Change settings for this format');
     }
 
@@ -1228,7 +1233,7 @@ function options_summary(&$categories, &$options) {
         'desc' => t('Change the way each row in the view is styled.'),
       );
       // This adds a 'Settings' link to the row_options setting if the row style has options.
-      if (!empty($row_plugin['uses_options'])) {
+      if ($row_plugin_instance->usesOptions()) {
         $options['row_plugin']['links']['row_options'] = t('Change settings for this style');
       }
     }
@@ -1278,7 +1283,7 @@ function options_summary(&$categories, &$options) {
       $options['pager']['title'] = t('Items to display');
     }
 
-    if (!empty($pager_plugin->definition['uses_options'])) {
+    if ($pager_plugin->usesOptions()) {
       $options['pager']['links']['pager_options'] = t('Change settings for this pager type.');
     }
 
@@ -1340,7 +1345,7 @@ function options_summary(&$categories, &$options) {
       'desc' => t('Specify access control type for this display.'),
     );
 
-    if (!empty($access_plugin->definition['uses_options'])) {
+    if ($access_plugin->usesOptions()) {
       $options['access']['links']['access_options'] = t('Change settings for this access type.');
     }
 
@@ -1360,11 +1365,11 @@ function options_summary(&$categories, &$options) {
       'desc' => t('Specify caching type for this display.'),
     );
 
-    if (!empty($cache_plugin->definition['uses_options'])) {
+    if ($cache_plugin->usesOptions()) {
       $options['cache']['links']['cache_options'] = t('Change settings for this caching type.');
     }
 
-    if (!empty($access_plugin->definition['uses_options'])) {
+    if ($access_plugin->usesOptions()) {
       $options['access']['links']['access_options'] = t('Change settings for this access type.');
     }
 
@@ -1405,7 +1410,7 @@ function options_summary(&$categories, &$options) {
       'desc' => t('Select the kind of exposed filter to use.'),
     );
 
-    if (!empty($exposed_form_plugin->definition['uses_options'])) {
+    if ($exposed_form_plugin->usesOptions()) {
       $options['exposed_form']['links']['exposed_form_options'] = t('Exposed form settings for this exposed form style.');
     }
 
@@ -1586,8 +1591,8 @@ function options_form(&$form, &$form_state) {
           '#default_value' => $access['type'],
         );
 
-        $access_plugin = views_fetch_plugin_data('access', $access['type']);
-        if (!empty($access_plugin['uses_options'])) {
+        $access_plugin = $this->get_plugin('access');
+        if ($access_plugin->usesOptions()) {
           $form['markup'] = array(
             '#prefix' => '<div class="form-item description">',
             '#markup' => t('You may also adjust the !settings for the currently selected access restriction.', array('!settings' => $this->option_link(t('settings'), 'access_options'))),
@@ -1629,8 +1634,8 @@ function options_form(&$form, &$form_state) {
           '#default_value' => $cache['type'],
         );
 
-        $cache_plugin = views_fetch_plugin_data('cache', $cache['type']);
-        if (!empty($cache_plugin['uses_options'])) {
+        $cache_plugin = $this->get_plugin('cache');
+        if ($cache_plugin->usesOptions()) {
           $form['markup'] = array(
             '#prefix' => '<div class="form-item description">',
             '#suffix' => '</div>',
@@ -1738,8 +1743,8 @@ function options_form(&$form, &$form_state) {
           '#description' => t('If the style you choose has settings, be sure to click the settings button that will appear next to it in the View summary.'),
         );
 
-        $style_plugin = $manager->getDefinition($this->get_option('style_plugin'));
-        if (!empty($style_plugin['uses_options'])) {
+        $style_plugin = $this->get_plugin('style');
+        if ($style_plugin->usesOptions()) {
           $form['markup'] = array(
             '#markup' => '<div class="form-item description">' . t('You may also adjust the !settings for the currently selected style.', array('!settings' => $this->option_link(t('settings'), 'style_options'))) . '</div>',
           );
@@ -1782,8 +1787,8 @@ function options_form(&$form, &$form_state) {
           '#default_value' => $this->get_option('row_plugin'),
         );
 
-        $row_plugin = views_fetch_plugin_data('row', $this->get_option('row_plugin'));
-        if (!empty($row_plugin['uses_options'])) {
+        $row_plugin = $this->get_plugin('row');
+        if ($row_plugin->usesOptions()) {
           $form['markup'] = array(
             '#markup' => '<div class="form-item description">' . t('You may also adjust the !settings for the currently selected row style.', array('!settings' => $this->option_link(t('settings'), 'row_options'))) . '</div>',
           );
@@ -2137,8 +2142,8 @@ function options_form(&$form, &$form_state) {
           '#default_value' => $exposed_form['type'],
         );
 
-        $exposed_form_plugin = views_fetch_plugin_data('exposed_form', $exposed_form['type']);
-        if (!empty($exposed_form_plugin['uses_options'])) {
+        $exposed_form_plugin = $this->get_plugin('exposed_form');
+        if ($exposed_form_plugin->usesOptions()) {
           $form['markup'] = array(
             '#prefix' => '<div class="form-item description">',
             '#suffix' => '</div>',
@@ -2173,8 +2178,8 @@ function options_form(&$form, &$form_state) {
           '#default_value' => $pager['type'],
         );
 
-        $pager_plugin = views_fetch_plugin_data('pager', $pager['type'], array($this->view->base_table));
-        if (!empty($pager_plugin['uses_options'])) {
+        $pager_plugin = $this->get_plugin('pager');
+        if ($pager_plugin->usesOptions()) {
           $form['markup'] = array(
             '#prefix' => '<div class="form-item description">',
             '#suffix' => '</div>',
@@ -2333,7 +2338,7 @@ function options_submit(&$form, &$form_state) {
           if ($plugin) {
             $access = array('type' => $form_state['values']['access']['type']);
             $this->set_option('access', $access);
-            if (!empty($plugin->definition['uses_options'])) {
+            if ($plugin->usesOptions()) {
               views_ui_add_form_to_stack('display', $this->view, $this->display->id, array('access_options'));
             }
           }
@@ -2354,7 +2359,7 @@ function options_submit(&$form, &$form_state) {
           if ($plugin) {
             $cache = array('type' => $form_state['values']['cache']['type']);
             $this->set_option('cache', $cache);
-            if (!empty($plugin->definition['uses_options'])) {
+            if ($plugin->usesOptions()) {
               views_ui_add_form_to_stack('display', $this->view, $this->display->id, array('cache_options'));
             }
           }
@@ -2412,7 +2417,7 @@ function options_submit(&$form, &$form_state) {
             $this->set_option('row_options', array());
 
             // send ajax form to options page if we use it.
-            if (!empty($plugin->definition['uses_options'])) {
+            if ($plugin->usesOptions()) {
               views_ui_add_form_to_stack('display', $this->view, $this->display->id, array('row_options'));
             }
           }
@@ -2427,7 +2432,7 @@ function options_submit(&$form, &$form_state) {
             $this->set_option($section, $form_state['values'][$section]);
             $this->set_option('style_options', array());
             // send ajax form to options page if we use it.
-            if (!empty($plugin->definition['uses_options'])) {
+            if ($plugin->usesOptions()) {
               views_ui_add_form_to_stack('display', $this->view, $this->display->id, array('style_options'));
             }
           }
@@ -2453,7 +2458,7 @@ function options_submit(&$form, &$form_state) {
           if ($plugin) {
             $exposed_form = array('type' => $form_state['values']['exposed_form']['type'], 'options' => array());
             $this->set_option('exposed_form', $exposed_form);
-            if (!empty($plugin->definition['uses_options'])) {
+            if ($plugin->usesOptions()) {
               views_ui_add_form_to_stack('display', $this->view, $this->display->id, array('exposed_form_options'));
             }
           }
@@ -2480,7 +2485,7 @@ function options_submit(&$form, &$form_state) {
 
             $pager = array('type' => $form_state['values']['pager']['type'], 'options' => $plugin->options);
             $this->set_option('pager', $pager);
-            if (!empty($plugin->definition['uses_options'])) {
+            if ($plugin->usesOptions()) {
               views_ui_add_form_to_stack('display', $this->view, $this->display->id, array('pager_options'));
             }
           }
diff --git a/lib/Drupal/views/Plugin/views/exposed_form/Basic.php b/lib/Drupal/views/Plugin/views/exposed_form/Basic.php
index 9d569444ec7ffeadeb89c473029300c875977740..d722eb03e0b634169b6984a5d52fe50ce4800a73 100644
--- a/lib/Drupal/views/Plugin/views/exposed_form/Basic.php
+++ b/lib/Drupal/views/Plugin/views/exposed_form/Basic.php
@@ -19,7 +19,6 @@
  *   id = "basic",
  *   title = @Translation("Basic"),
  *   help = @Translation("Basic exposed form"),
- *   uses_options = TRUE,
  *   help_topic = "exposed-form-basic"
  * )
  */
diff --git a/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php b/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php
index 3c0da96fe822940d21be93047bd6efe788eeaadc..f57002530e0575b80d3cec4394da71d8c78048db 100644
--- a/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php
+++ b/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php
@@ -24,6 +24,11 @@
  */
 abstract class ExposedFormPluginBase extends PluginBase {
 
+  /**
+   * Overrides Drupal\views\Plugin\Plugin::$usesOptions.
+   */
+  public $usesOptions = TRUE;
+
   /**
    * Initialize the plugin.
    *
diff --git a/lib/Drupal/views/Plugin/views/exposed_form/InputRequired.php b/lib/Drupal/views/Plugin/views/exposed_form/InputRequired.php
index b66645abc22e91bdf4d137fa39a765b563a92860..d619fbaf9ac86888d236cf0ce711fc37f179ff7c 100644
--- a/lib/Drupal/views/Plugin/views/exposed_form/InputRequired.php
+++ b/lib/Drupal/views/Plugin/views/exposed_form/InputRequired.php
@@ -19,7 +19,6 @@
  *   id = "input_required",
  *   title = @Translation("Input required"),
  *   help = @Translation("An exposed form that only renders a view if the form contains user input."),
- *   uses_options = TRUE,
  *   help_topic = "exposed-form-input-required"
  * )
  */
diff --git a/lib/Drupal/views/Plugin/views/pager/Full.php b/lib/Drupal/views/Plugin/views/pager/Full.php
index 9eadd5593c6d305bdb2af0dc7491a61991783209..b39cd2abbb9e4f4deae993187e007363531242e7 100644
--- a/lib/Drupal/views/Plugin/views/pager/Full.php
+++ b/lib/Drupal/views/Plugin/views/pager/Full.php
@@ -20,8 +20,7 @@
  *   title = @Translation("Paged output, full pager"),
  *   short_title = @Translation("Full"),
  *   help = @Translation("Paged output, full Drupal style"),
- *   help_topic = "pager-full",
- *   uses_options = TRUE
+ *   help_topic = "pager-full"
  * )
  */
 class Full extends PagerPluginBase {
diff --git a/lib/Drupal/views/Plugin/views/pager/Mini.php b/lib/Drupal/views/Plugin/views/pager/Mini.php
index d1c34344b9b5f86f50a0377b8d70833e99076dc0..d62a5b7edcd774e9ac913a21e388acff10af245a 100644
--- a/lib/Drupal/views/Plugin/views/pager/Mini.php
+++ b/lib/Drupal/views/Plugin/views/pager/Mini.php
@@ -20,8 +20,7 @@
  *   title = @Translation("Paged output, mini pager"),
  *   short_title = @Translation("Mini"),
  *   help = @Translation("Use the mini pager output."),
- *   help_topic = "pager-mini",
- *   uses_options = TRUE
+ *   help_topic = "pager-mini"
  * )
  */
 class Mini extends PagerPluginBase {
diff --git a/lib/Drupal/views/Plugin/views/pager/None.php b/lib/Drupal/views/Plugin/views/pager/None.php
index 28bba40c4cf80cfbd5c429e29338de98bf074039..dc13dbc900dc1383c253efc984a7606483822ab5 100644
--- a/lib/Drupal/views/Plugin/views/pager/None.php
+++ b/lib/Drupal/views/Plugin/views/pager/None.php
@@ -20,7 +20,6 @@
  *   title = @Translation("Display all items"),
  *   help = @Translation("Display all items that this view might find."),
  *   help_topic = "pager-none",
- *   uses_options = TRUE,
  *   type = "basic"
  * )
  */
diff --git a/lib/Drupal/views/Plugin/views/pager/PagerPluginBase.php b/lib/Drupal/views/Plugin/views/pager/PagerPluginBase.php
index e7cee8bd5aa3629d4b91ce5c3ebd1319670a6077..1c1ce1ce882555a168064b4bcdf9b447d3476844 100644
--- a/lib/Drupal/views/Plugin/views/pager/PagerPluginBase.php
+++ b/lib/Drupal/views/Plugin/views/pager/PagerPluginBase.php
@@ -26,6 +26,11 @@ abstract class PagerPluginBase extends PluginBase {
 
   var $total_items = 0;
 
+  /**
+   * Overrides Drupal\views\Plugin\Plugin::$usesOptions.
+   */
+  public $usesOptions = TRUE;
+
   /**
    * Initialize the plugin.
    *
diff --git a/lib/Drupal/views/Plugin/views/pager/Some.php b/lib/Drupal/views/Plugin/views/pager/Some.php
index 6e92c3bab32746849d7e19d5c3d9a6c57f16f5be..030fabeda82e3fac0b10163de76a6cec3c2387f8 100644
--- a/lib/Drupal/views/Plugin/views/pager/Some.php
+++ b/lib/Drupal/views/Plugin/views/pager/Some.php
@@ -20,7 +20,6 @@
  *   title = @Translation("Display a specified number of items"),
  *   help = @Translation("Display a limited number items that this view might find."),
  *   help_topic = "pager-some",
- *   uses_options = TRUE,
  *   type = "basic"
  * )
  */
diff --git a/lib/Drupal/views/Plugin/views/row/Fields.php b/lib/Drupal/views/Plugin/views/row/Fields.php
index 2c7bd3741869b2924d78fe9c50047c85a70f0446..e56203c0c88610ac6a416b143bc61d78f781ff2f 100644
--- a/lib/Drupal/views/Plugin/views/row/Fields.php
+++ b/lib/Drupal/views/Plugin/views/row/Fields.php
@@ -24,7 +24,6 @@
  *   help = @Translation("Displays the fields with an optional template."),
  *   theme = "views_view_fields",
  *   uses_fields = TRUE,
- *   uses_options = TRUE,
  *   type = "normal",
  *   help_topic = "style-row-fields"
  * )
diff --git a/lib/Drupal/views/Plugin/views/row/RowPluginBase.php b/lib/Drupal/views/Plugin/views/row/RowPluginBase.php
index f51d232d07942a29f79d67ca6fd29af9bf32a29f..50d7cfe74c25cc8b4ef16b4c8c8d056325063993 100644
--- a/lib/Drupal/views/Plugin/views/row/RowPluginBase.php
+++ b/lib/Drupal/views/Plugin/views/row/RowPluginBase.php
@@ -26,6 +26,11 @@
  */
 abstract class RowPluginBase extends PluginBase {
 
+  /**
+   * Overrides Drupal\views\Plugin\Plugin::$usesOptions.
+   */
+  public $usesOptions = TRUE;
+
   /**
    * Initialize the row plugin.
    */
diff --git a/lib/Drupal/views/Plugin/views/row/RssFields.php b/lib/Drupal/views/Plugin/views/row/RssFields.php
index d4246ba3816915d426aadaaa03d853657e257e5a..3668bdfe6adbfa8f96d531c4506eb625c5fd3e38 100644
--- a/lib/Drupal/views/Plugin/views/row/RssFields.php
+++ b/lib/Drupal/views/Plugin/views/row/RssFields.php
@@ -19,7 +19,6 @@
  *   help = @Translation("Display fields as RSS items."),
  *   theme = "views_view_row_rss",
  *   uses_fields = TRUE,
- *   uses_options = TRUE,
  *   type = "feed",
  *   help_topic = "style-row-fields"
  * )
diff --git a/lib/Drupal/views/Plugin/views/style/DefaultStyle.php b/lib/Drupal/views/Plugin/views/style/DefaultStyle.php
index a7ce343e34954d865e0e6cf5a55f0073ffb91bbe..9c505f6f0cbe3619cc5e4e4fc4d73395a72af148 100644
--- a/lib/Drupal/views/Plugin/views/style/DefaultStyle.php
+++ b/lib/Drupal/views/Plugin/views/style/DefaultStyle.php
@@ -24,7 +24,6 @@
  *   uses_row_plugin = TRUE,
  *   uses_row_class = TRUE,
  *   uses_grouping = TRUE,
- *   uses_options = TRUE,
  *   type = "normal",
  *   help_topic = "style-unformatted"
  * )
diff --git a/lib/Drupal/views/Plugin/views/style/DefaultSummary.php b/lib/Drupal/views/Plugin/views/style/DefaultSummary.php
index 1236adfadcd60bcf8274a5dea48a864618722f17..916bd7ab53b565d2ba301ddd348d16c8f348dc40 100644
--- a/lib/Drupal/views/Plugin/views/style/DefaultSummary.php
+++ b/lib/Drupal/views/Plugin/views/style/DefaultSummary.php
@@ -22,7 +22,6 @@
  *   help = @Translation("Displays the default summary as a list."),
  *   theme = "views_view_summary",
  *   type = "summary",
- *   uses_options = TRUE,
  *   help_topic = "style-summary"
  * )
  */
diff --git a/lib/Drupal/views/Plugin/views/style/Grid.php b/lib/Drupal/views/Plugin/views/style/Grid.php
index b5146c998237858213b58d6a960a3d860695a70f..c191747e790c5a7fd205e4a636a21f6d8e84d189 100644
--- a/lib/Drupal/views/Plugin/views/style/Grid.php
+++ b/lib/Drupal/views/Plugin/views/style/Grid.php
@@ -23,7 +23,6 @@
  *   uses_fields = FALSE,
  *   uses_row_plugin = TRUE,
  *   uses_row_class = TRUE,
- *   uses_options = TRUE,
  *   type = "normal",
  *   help_topic = "style-grid"
  * )
diff --git a/lib/Drupal/views/Plugin/views/style/HtmlList.php b/lib/Drupal/views/Plugin/views/style/HtmlList.php
index 9760a94888f90a242787d01d6bd0bd5288197899..bde8ad805be3d0d11f8ef5de19ab3ee6f8fa4a5b 100644
--- a/lib/Drupal/views/Plugin/views/style/HtmlList.php
+++ b/lib/Drupal/views/Plugin/views/style/HtmlList.php
@@ -22,7 +22,6 @@
  *   theme = "views_view_list",
  *   uses_row_plugin = TRUE,
  *   uses_row_class = TRUE,
- *   uses_options = TRUE,
  *   type = "normal",
  *   help_topic = "style-list"
  * )
diff --git a/lib/Drupal/views/Plugin/views/style/Rss.php b/lib/Drupal/views/Plugin/views/style/Rss.php
index 0586c6a765d9dfe4a6e3f08516a660fcf4d65a9f..663e30f4869b33f855c481136ff8bfa9d1c929db 100644
--- a/lib/Drupal/views/Plugin/views/style/Rss.php
+++ b/lib/Drupal/views/Plugin/views/style/Rss.php
@@ -21,7 +21,6 @@
  *   help = @Translation("Generates an RSS feed from a view."),
  *   theme = "views_view_rss",
  *   uses_row_plugin = TRUE,
- *   uses_options = TRUE,
  *   type = "feed",
  *   help_topic = "style-rss"
  * )
diff --git a/lib/Drupal/views/Plugin/views/style/StylePluginBase.php b/lib/Drupal/views/Plugin/views/style/StylePluginBase.php
index 48ee9b7ba9a73b7887807c13fba0ff75b89ebe61..af1a595e1d77970e5be2fd26568100b1e0a1ce13 100644
--- a/lib/Drupal/views/Plugin/views/style/StylePluginBase.php
+++ b/lib/Drupal/views/Plugin/views/style/StylePluginBase.php
@@ -30,6 +30,11 @@
  */
 abstract class StylePluginBase extends PluginBase {
 
+  /**
+   * Overrides Drupal\views\Plugin\Plugin::$usesOptions.
+   */
+  public $usesOptions = TRUE;
+
   /**
    * Store all available tokens row rows.
    */
diff --git a/lib/Drupal/views/Plugin/views/style/Table.php b/lib/Drupal/views/Plugin/views/style/Table.php
index 4c1a14b6b21b7e17b24beefcdc06ccc70c9d4d85..8af270b4d75e8c5925c2d0b977a61f9f2669cb6c 100644
--- a/lib/Drupal/views/Plugin/views/style/Table.php
+++ b/lib/Drupal/views/Plugin/views/style/Table.php
@@ -23,7 +23,6 @@
  *   uses_row_plugin = FALSE,
  *   uses_row_class = TRUE,
  *   uses_fields = TRUE,
- *   uses_options = TRUE,
  *   type = "normal",
  *   help_topic = "style-table"
  * )
diff --git a/lib/Drupal/views/Plugin/views/style/UnformattedSummary.php b/lib/Drupal/views/Plugin/views/style/UnformattedSummary.php
index 968bcc6784cf28ac96397a06ffd8e8df04e9098e..3e87f091c0ebda17ca50a3743a1ad82014e0b633 100644
--- a/lib/Drupal/views/Plugin/views/style/UnformattedSummary.php
+++ b/lib/Drupal/views/Plugin/views/style/UnformattedSummary.php
@@ -21,7 +21,6 @@
  *   help = @Translation("Displays the summary unformatted, with option for one after another or inline."),
  *   theme = "views_view_summary_unformatted",
  *   type = "summary",
- *   uses_options = TRUE,
  *   help_topic = "style-summary-unformatted"
  * )
  */
diff --git a/lib/Views/aggregator/Plugin/views/row/Rss.php b/lib/Views/aggregator/Plugin/views/row/Rss.php
index cbaef91d14de6ce8c83b264b95c928f404cbb24a..08b5c2c970932564b6011fafaee4c5eb192d79cc 100644
--- a/lib/Views/aggregator/Plugin/views/row/Rss.php
+++ b/lib/Views/aggregator/Plugin/views/row/Rss.php
@@ -20,7 +20,6 @@
  *   theme = "views_view_row_rss",
  *   title = @Translation("Aggregator item"),
  *   help = @Translation("Display the aggregator item using the data from the original source."),
- *   uses_options = TRUE,
  *   type = "feed",
  *   help_topic = "style-aggregator-rss"
  * )
diff --git a/lib/Views/comment/Plugin/views/row/Rss.php b/lib/Views/comment/Plugin/views/row/Rss.php
index feb6f6ff0323fcb3772ea7ec41fea94704ef37a0..1dcde07d23c0f36805ac8d109057e90415137dc2 100644
--- a/lib/Views/comment/Plugin/views/row/Rss.php
+++ b/lib/Views/comment/Plugin/views/row/Rss.php
@@ -21,7 +21,6 @@
  *   help = @Translation("Display the comment as RSS."),
  *   theme = "views_view_row_rss",
  *   base = {"comment"},
- *   uses_options = TRUE,
  *   type = "feed",
  *   help_topic = "style-comment-rss"
  * )
diff --git a/lib/Views/comment/Plugin/views/row/View.php b/lib/Views/comment/Plugin/views/row/View.php
index 58292a7b18b404113a1fbcd64675a16ee4df49ef..642222cd7b9b01c42165ce88dcb57e40a7c22ac1 100644
--- a/lib/Views/comment/Plugin/views/row/View.php
+++ b/lib/Views/comment/Plugin/views/row/View.php
@@ -21,7 +21,6 @@
  *   help = @Translation("Display the comment with standard comment view."),
  *   theme = "views_view_row_comment",
  *   base = {"comment"},
- *   uses_options = TRUE,
  *   type = "normal",
  *   help_topic = "style-comment"
  * )
diff --git a/lib/Views/node/Plugin/views/row/Rss.php b/lib/Views/node/Plugin/views/row/Rss.php
index f96e50410435720fe7b8bdb1618c711273910f09..afb3474a06046c6cddccb501e9275326a439b790 100644
--- a/lib/Views/node/Plugin/views/row/Rss.php
+++ b/lib/Views/node/Plugin/views/row/Rss.php
@@ -22,7 +22,6 @@
  *   help = @Translation("Display the content with standard node view."),
  *   theme = "views_view_row_rss",
  *   base = {"node"},
- *   uses_options = TRUE,
  *   type = "feed",
  *   module = "node",
  *   help_topic = "style-node-rss"
diff --git a/lib/Views/node/Plugin/views/row/View.php b/lib/Views/node/Plugin/views/row/View.php
index 88dd6fe5bc5e51cb7653180d58cd2a43837b5451..21ae0646d2bb33db8e255e41b7f121f57b3d9a4a 100644
--- a/lib/Views/node/Plugin/views/row/View.php
+++ b/lib/Views/node/Plugin/views/row/View.php
@@ -24,7 +24,6 @@
  *   title = @Translation("Content"),
  *   help = @Translation("Display the content with standard node view."),
  *   base = {"node"},
- *   uses_options = TRUE,
  *   type = "normal",
  *   help_topic = "style-node"
  * )
diff --git a/lib/Views/user/Plugin/views/row/View.php b/lib/Views/user/Plugin/views/row/View.php
index edcb49a7dd9b18b2f02e0a032ede7026b5cd0005..71723636a501f3120a3b4a47c7d965e2a95486bb 100644
--- a/lib/Views/user/Plugin/views/row/View.php
+++ b/lib/Views/user/Plugin/views/row/View.php
@@ -22,7 +22,6 @@
  *   title = @Translation("User"),
  *   help = @Translation("Display the user with standard user view."),
  *   base = {"users"},
- *   uses_options = TRUE,
  *   type = "normal",
  *   help_topic = "style-users"
  * )
diff --git a/views.api.php b/views.api.php
index 75d4041902b2980a1e90d886283fe32e75b194d3..4733d846a72b67a175c9e2ae505f9be61e3b7e1f 100644
--- a/views.api.php
+++ b/views.api.php
@@ -247,7 +247,6 @@
  *       'path' => drupal_get_path('module', 'views') . '/modules/node', // not necessary for most modules
  *       'theme' => 'views_view_row_node',
  *       'base' => array('node'), // only works with 'node' as base.
- *       'uses_options' => TRUE,
  *       'type' => 'normal',
  *     ),
  * @endcode
@@ -537,8 +536,6 @@ function hook_views_data_alter(&$data) {
  *       perspective.
  *     - no_ui: Set to TRUE to denote that the plugin doesn't appear to be
  *       selectable in the ui, though on the api side they still exists.
- *     - uses_options: Set to TRUE to denote that the plugin has an additional
- *       options form.
  *     - help: A short help text, wrapped in t() used as description on the plugin settings form.
  *     - help topic: The name of an entry by advanced help for the plugin.
  *     - theme: The name of a theme suggestion to use for the display.