Commit 2fe6871d authored by Damien McKenna's avatar Damien McKenna
Browse files

Issue #2708511 by DamienMcKenna: Added the referrer meta tag.

parent dc3ebe19
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.txt: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ Metatag 8.x-1.0-beta7, 2016-04-03
  token browser.
#2705851 by vasi: Load field definitions, not field values, when getting a list
  of Metatag fields on an entity.
#2708511 by DamienMcKenna: Added the referrer meta tag.


Metatag 8.x-1.0-beta6, 2016-04-02
+3 −0
Changes for config/schema/metatag.metatag_tag.schema.yml: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -34,6 +34,9 @@ metatag.metatag_tag.original_source:
metatag.metatag_tag.rights:
  type: label
  label: 'Rights'
metatag.metatag_tag.referrer:
  type: label
  label: 'Referrer policy'
metatag.metatag_tag.robots:
  type: label
  label: 'Robots'
+49 −0
Changes for src/Plugin/metatag/Tag/Referrer.php: 49 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php
/**
 * @file
 * Contains \Drupal\metatag\Plugin\metatag\Tag\Referrer.
 */

namespace Drupal\metatag\Plugin\metatag\Tag;

/**
 * The basic "Referrer policy" meta tag.
 *
 * @MetatagTag(
 *   id = "referrer",
 *   label = @Translation("Referrer policy"),
 *   description = @Translation("Indicate to search engines and other page scrapers whether or not links should be followed. See <a href='http://w3c.github.io/webappsec/specs/referrer-policy/'>the W3C specifications</a> for further details."),
 *   name = "Referrer policy",
 *   group = "advanced",
 *   weight = 5,
 *   type = "label",
 *   secure = FALSE,
 *   multiple = FALSE
 * )
 */
class Referrer extends MetaNameBase {

  /**
   * {@inheritdoc}
   */
  public function form(array $element = array()) {
    $form = array(
      '#type' => 'select',
      '#title' => $this->label(),
      '#description' => $this->description(),
      '#options' => array(
        'no-referrer' => t('No Referrer'),
        'origin' => t('Origin'),
        'no-referrer-when-downgrade' => t('No Referrer When Downgrade'),
        'origin-when-cross-origin' => t('Origin When Cross-Origin'),
        'unsafe-url' => t('Unsafe URL'),
      ),
      '#default_value' => $this->value(),
      '#required' => isset($element['#required']) ? $element['#required'] : FALSE,
      '#element_validate' => array(array(get_class($this), 'validateTag')),
    );

    return $form;
  }

}