diff --git a/bin/amphtml-update.py b/bin/amphtml-update.py
index 0f29ef36901..16915981377 100755
--- a/bin/amphtml-update.py
+++ b/bin/amphtml-update.py
@@ -787,10 +787,10 @@ def GetMandatoryOf( attr, constraint ):
Returns:
A list of attributes that have that constraint name.
"""
- attributes = []
+ attributes = set()
for attr_spec in attr:
if attr_spec.HasField(constraint):
- attributes.append(
+ attributes.add(
# Convert something like [src] to data-amp-bind-src.
re.sub(
"^\[(\S+)\]$",
@@ -799,8 +799,7 @@ def GetMandatoryOf( attr, constraint ):
)
)
- attributes.sort()
- return attributes
+ return sorted(attributes)
def Phpize(data, indent=0):
"""Helper function to convert JSON-serializable data into PHP literals.
diff --git a/includes/sanitizers/class-amp-allowed-tags-generated.php b/includes/sanitizers/class-amp-allowed-tags-generated.php
index 0a44e66238f..bca40da77a6 100644
--- a/includes/sanitizers/class-amp-allowed-tags-generated.php
+++ b/includes/sanitizers/class-amp-allowed-tags-generated.php
@@ -13,10 +13,110 @@
*/
class AMP_Allowed_Tags_Generated {
- private static $spec_file_revision = 961;
+ private static $spec_file_revision = 1012;
private static $minimum_validator_revision_required = 375;
private static $descendant_tag_lists = array(
+ 'amp-mega-menu-allowed-descendants' => array(
+ 'a',
+ 'amp-ad',
+ 'amp-carousel',
+ 'amp-embed',
+ 'amp-img',
+ 'amp-lightbox',
+ 'amp-list',
+ 'amp-video',
+ 'b',
+ 'br',
+ 'button',
+ 'col',
+ 'colgroup',
+ 'div',
+ 'em',
+ 'fieldset',
+ 'form',
+ 'h1',
+ 'h2',
+ 'h3',
+ 'h4',
+ 'h5',
+ 'h6',
+ 'i',
+ 'input',
+ 'label',
+ 'li',
+ 'mark',
+ 'nav',
+ 'ol',
+ 'option',
+ 'p',
+ 'path',
+ 'section',
+ 'span',
+ 'strike',
+ 'strong',
+ 'sub',
+ 'sup',
+ 'svg',
+ 'table',
+ 'tbody',
+ 'td',
+ 'template',
+ 'th',
+ 'time',
+ 'title',
+ 'tr',
+ 'u',
+ 'ul',
+ ),
+ 'amp-nested-menu-allowed-descendants' => array(
+ 'a',
+ 'amp-accordion',
+ 'amp-img',
+ 'amp-list',
+ 'b',
+ 'br',
+ 'button',
+ 'col',
+ 'colgroup',
+ 'div',
+ 'em',
+ 'fieldset',
+ 'form',
+ 'h1',
+ 'h2',
+ 'h3',
+ 'h4',
+ 'h5',
+ 'h6',
+ 'i',
+ 'input',
+ 'label',
+ 'li',
+ 'mark',
+ 'nav',
+ 'ol',
+ 'option',
+ 'p',
+ 'path',
+ 'section',
+ 'span',
+ 'strike',
+ 'strong',
+ 'sub',
+ 'sup',
+ 'svg',
+ 'table',
+ 'tbody',
+ 'td',
+ 'template',
+ 'th',
+ 'time',
+ 'title',
+ 'tr',
+ 'u',
+ 'ul',
+ ),
'amp-story-bookend-allowed-descendants' => array(
'script',
),
@@ -107,6 +207,7 @@ class AMP_Allowed_Tags_Generated {
'small',
'solidcolor',
'span',
+ 'stop',
'strong',
'sub',
'sup',
@@ -138,7 +239,6 @@ class AMP_Allowed_Tags_Generated {
'amp-experiment',
'amp-fit-text',
'amp-font',
- 'amp-gfycat',
'amp-gist',
'amp-google-vrview-image',
'amp-img',
@@ -234,6 +334,7 @@ class AMP_Allowed_Tags_Generated {
'solidcolor',
'source',
'span',
+ 'stop',
'strong',
'sub',
'sup',
@@ -288,12 +389,9 @@ class AMP_Allowed_Tags_Generated {
'amp-fx-collection',
'amp-fx-flying-carpet',
'amp-gfycat',
- 'amp-gfycat',
- 'amp-gist',
'amp-gist',
'amp-google-document-embed',
'amp-google-vrview-image',
- 'amp-google-vrview-image',
'amp-hulu',
'amp-ima-video',
'amp-image-slider',
@@ -304,8 +402,6 @@ class AMP_Allowed_Tags_Generated {
'amp-jwplayer',
'amp-kaltura-player',
'amp-list',
- 'amp-list',
- 'amp-live-list',
'amp-live-list',
'amp-mathml',
'amp-megaphone',
@@ -417,6 +513,7 @@ class AMP_Allowed_Tags_Generated {
'solidcolor',
'source',
'span',
+ 'stop',
'strong',
'sub',
'sup',
@@ -467,9 +564,11 @@ class AMP_Allowed_Tags_Generated {
'maps',
'bip',
'bbmi',
+ 'chrome',
'itms-services',
'fb-me',
'fb-messenger',
+ 'feed',
'intent',
'line',
'skype',
@@ -508,6 +607,7 @@ class AMP_Allowed_Tags_Generated {
'type' => array(
'value_casei' => array(
'text/html',
+ 'application/rss+xml',
),
),
),
@@ -1326,6 +1426,7 @@ class AMP_Allowed_Tags_Generated {
'attr_spec_list' => array(
'data-amp-bind-src' => array(),
'filter' => array(
+ 'mandatory' => true,
'value_casei' => array(
'custom',
'fuzzy',
@@ -1342,6 +1443,7 @@ class AMP_Allowed_Tags_Generated {
),
'filter-value' => array(),
'highlight-user-entry' => array(),
+ 'inline' => array(),
'items' => array(),
'max-entries' => array(),
'media' => array(),
@@ -1351,6 +1453,7 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'query' => array(),
'src' => array(
'value_url' => array(
'allow_relative' => true,
@@ -1687,6 +1790,11 @@ class AMP_Allowed_Tags_Generated {
'data-video' => array(
'value_regex' => '[0-9]+',
),
+ 'dock' => array(
+ 'requires_extension' => array(
+ 'amp-video-docking',
+ ),
+ ),
'media' => array(),
'noloading' => array(
'value' => array(
@@ -2294,6 +2402,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'hide-keyboard-shortcuts-panel' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
'highlighted' => array(),
'input-selector' => array(),
'locale' => array(),
@@ -2382,6 +2495,11 @@ class AMP_Allowed_Tags_Generated {
'value_regex' => '[0-6]',
),
'format' => array(),
+ 'hide-keyboard-shortcuts-panel' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
'highlighted' => array(),
'input-selector' => array(),
'locale' => array(),
@@ -2478,6 +2596,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'hide-keyboard-shortcuts-panel' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
'highlighted' => array(),
'locale' => array(),
'max' => array(),
@@ -2575,6 +2698,11 @@ class AMP_Allowed_Tags_Generated {
'value_regex' => '[0-6]',
),
'format' => array(),
+ 'hide-keyboard-shortcuts-panel' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
'highlighted' => array(),
'locale' => array(),
'max' => array(),
@@ -3523,6 +3651,130 @@ class AMP_Allowed_Tags_Generated {
),
),
),
+ 'amp-inline-gallery' => array(
+ array(
+ 'attr_spec_list' => array(
+ 'media' => array(),
+ 'noloading' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'amp_layout' => array(
+ 'supported_layouts' => array(
+ 5,
+ ),
+ ),
+ 'requires_extension' => array(
+ 'amp-inline-gallery',
+ ),
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-inline-gallery',
+ ),
+ ),
+ ),
+ 'amp-inline-gallery-pagination' => array(
+ array(
+ 'attr_spec_list' => array(
+ 'media' => array(),
+ 'noloading' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'amp_layout' => array(
+ 'supported_layouts' => array(
+ 6,
+ 2,
+ 3,
+ 7,
+ 9,
+ 1,
+ 4,
+ ),
+ ),
+ 'mandatory_ancestor' => 'amp-inline-gallery',
+ 'requires_extension' => array(
+ 'amp-inline-gallery',
+ ),
+ 'spec_name' => 'amp-inline-gallery-pagination',
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-inline-gallery',
+ ),
+ ),
+ array(
+ 'attr_spec_list' => array(
+ 'inset' => array(
+ 'mandatory' => true,
+ ),
+ 'media' => array(),
+ 'noloading' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'amp_layout' => array(
+ 'supported_layouts' => array(
+ 1,
+ ),
+ ),
+ 'mandatory_ancestor' => 'amp-inline-gallery',
+ 'requires_extension' => array(
+ 'amp-inline-gallery',
+ ),
+ 'spec_name' => 'amp-inline-gallery-pagination [inset]',
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-inline-gallery',
+ ),
+ ),
+ ),
+ 'amp-inline-gallery-thumbnails' => array(
+ array(
+ 'attr_spec_list' => array(
+ 'aspect-ratio-height' => array(
+ 'blacklisted_value_regex' => '^0+(\\.0+)?$',
+ 'value_regex' => '\\d+(\\.\\d+)?',
+ ),
+ 'aspect-ratio-width' => array(
+ 'blacklisted_value_regex' => '^0+(\\.0+)?$',
+ 'value_regex' => '\\d+(\\.\\d+)?',
+ ),
+ 'loop' => array(
+ 'value' => array(
+ 'true',
+ 'false',
+ ),
+ ),
+ 'media' => array(),
+ 'noloading' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'amp_layout' => array(
+ 'supported_layouts' => array(
+ 6,
+ 2,
+ 3,
+ 7,
+ 9,
+ 1,
+ 4,
+ ),
+ ),
+ 'mandatory_ancestor' => 'amp-inline-gallery',
+ 'requires_extension' => array(
+ 'amp-inline-gallery',
+ ),
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-inline-gallery',
+ ),
+ ),
+ ),
'amp-instagram' => array(
array(
'attr_spec_list' => array(
@@ -3784,7 +4036,6 @@ class AMP_Allowed_Tags_Generated {
'credentials' => array(),
'data-amp-bind-is-layout-container' => array(),
'data-amp-bind-src' => array(),
- 'data-amp-bind-state' => array(),
'diffable' => array(
'value' => array(
'',
@@ -3823,6 +4074,7 @@ class AMP_Allowed_Tags_Generated {
),
),
'template' => array(),
+ 'xssi-prefix' => array(),
),
'tag_spec' => array(
'amp_layout' => array(
@@ -3961,6 +4213,47 @@ class AMP_Allowed_Tags_Generated {
),
),
),
+ 'amp-mega-menu' => array(
+ array(
+ 'attr_spec_list' => array(
+ 'media' => array(),
+ 'noloading' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'amp_layout' => array(
+ 'supported_layouts' => array(
+ 3,
+ ),
+ ),
+ 'child_tags' => array(
+ 'child_tag_name_oneof' => array(
+ 'nav',
+ 'amp-list',
+ ),
+ 'mandatory_num_child_tags' => 1,
+ ),
+ 'descendant_tag_list' => 'amp-mega-menu-allowed-descendants',
+ 'reference_points' => array(
+ 'AMP-MEGA-MENU > AMP-LIST' => array(
+ 'mandatory' => false,
+ 'unique' => false,
+ ),
+ 'AMP-MEGA-MENU > NAV' => array(
+ 'mandatory' => false,
+ 'unique' => false,
+ ),
+ ),
+ 'requires_extension' => array(
+ 'amp-mega-menu',
+ ),
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-mega-menu',
+ ),
+ ),
+ ),
'amp-megaphone' => array(
array(
'attr_spec_list' => array(
@@ -4057,8 +4350,8 @@ class AMP_Allowed_Tags_Generated {
'mandatory' => true,
'value' => array(
'curated',
- 'specific',
'semantic',
+ 'specific',
),
),
'data-minimum-date-factor' => array(),
@@ -4087,11 +4380,11 @@ class AMP_Allowed_Tags_Generated {
'tag_spec' => array(
'amp_layout' => array(
'supported_layouts' => array(
- 4,
6,
2,
3,
7,
+ 4,
),
),
'requires_extension' => array(
@@ -4132,19 +4425,61 @@ class AMP_Allowed_Tags_Generated {
),
),
),
- 'amp-next-page' => array(
+ 'amp-nested-menu' => array(
array(
- 'attr_spec_list' => array(),
- 'tag_spec' => array(
- 'reference_points' => array(
- 'AMP-NEXT-PAGE > [separator]' => array(
- 'mandatory' => false,
- 'unique' => true,
+ 'attr_spec_list' => array(
+ 'media' => array(),
+ 'noloading' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
+ 'side' => array(
+ 'value' => array(
+ 'left',
+ 'right',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'amp_layout' => array(
+ 'supported_layouts' => array(
+ 6,
),
- 'amp-next-page extension .json configuration' => array(
+ ),
+ 'descendant_tag_list' => 'amp-nested-menu-allowed-descendants',
+ 'mandatory_ancestor' => 'amp-sidebar',
+ 'requires_extension' => array(
+ 'amp-sidebar',
+ ),
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-nested-menu',
+ ),
+ ),
+ ),
+ 'amp-next-page' => array(
+ array(
+ 'attr_spec_list' => array(
+ 'deep-parsing' => array(),
+ 'max-pages' => array(),
+ ),
+ 'tag_spec' => array(
+ 'reference_points' => array(
+ 'AMP-NEXT-PAGE > SCRIPT[type=application/json]' => array(
'mandatory' => true,
'unique' => true,
),
+ 'AMP-NEXT-PAGE > [footer]' => array(
+ 'mandatory' => false,
+ 'unique' => true,
+ ),
+ 'AMP-NEXT-PAGE > [recommendation-box]' => array(
+ 'mandatory' => false,
+ 'unique' => true,
+ ),
+ 'AMP-NEXT-PAGE > [separator]' => array(
+ 'mandatory' => false,
+ 'unique' => true,
+ ),
),
'requires_extension' => array(
'amp-next-page',
@@ -4156,6 +4491,8 @@ class AMP_Allowed_Tags_Generated {
),
array(
'attr_spec_list' => array(
+ 'deep-parsing' => array(),
+ 'max-pages' => array(),
'src' => array(
'blacklisted_value_regex' => '__amp_source_origin',
'mandatory' => true,
@@ -4166,9 +4503,22 @@ class AMP_Allowed_Tags_Generated {
),
),
),
+ 'xssi-prefix' => array(),
),
'tag_spec' => array(
'reference_points' => array(
+ 'AMP-NEXT-PAGE > SCRIPT[type=application/json]' => array(
+ 'mandatory' => false,
+ 'unique' => true,
+ ),
+ 'AMP-NEXT-PAGE > [footer]' => array(
+ 'mandatory' => false,
+ 'unique' => true,
+ ),
+ 'AMP-NEXT-PAGE > [recommendation-box]' => array(
+ 'mandatory' => false,
+ 'unique' => true,
+ ),
'AMP-NEXT-PAGE > [separator]' => array(
'mandatory' => false,
'unique' => true,
@@ -4190,6 +4540,8 @@ class AMP_Allowed_Tags_Generated {
'data-slot' => array(
'mandatory' => true,
),
+ 'deep-parsing' => array(),
+ 'max-pages' => array(),
'type' => array(
'mandatory' => true,
'value' => array(
@@ -4199,6 +4551,18 @@ class AMP_Allowed_Tags_Generated {
),
'tag_spec' => array(
'reference_points' => array(
+ 'AMP-NEXT-PAGE > SCRIPT[type=application/json]' => array(
+ 'mandatory' => false,
+ 'unique' => true,
+ ),
+ 'AMP-NEXT-PAGE > [footer]' => array(
+ 'mandatory' => false,
+ 'unique' => true,
+ ),
+ 'AMP-NEXT-PAGE > [recommendation-box]' => array(
+ 'mandatory' => false,
+ 'unique' => true,
+ ),
'AMP-NEXT-PAGE > [separator]' => array(
'mandatory' => false,
'unique' => true,
@@ -4677,6 +5041,37 @@ class AMP_Allowed_Tags_Generated {
),
),
),
+ 'amp-redbull-player' => array(
+ array(
+ 'attr_spec_list' => array(
+ 'data-param-videoid' => array(
+ 'mandatory' => true,
+ ),
+ 'media' => array(),
+ 'noloading' => array(
+ 'value' => array(
+ '',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'amp_layout' => array(
+ 'supported_layouts' => array(
+ 2,
+ 3,
+ 4,
+ 6,
+ 7,
+ 8,
+ 9,
+ ),
+ ),
+ 'requires_extension' => array(
+ 'amp-redbull-player',
+ ),
+ ),
+ ),
+ ),
'amp-reddit' => array(
array(
'attr_spec_list' => array(
@@ -4785,6 +5180,7 @@ class AMP_Allowed_Tags_Generated {
2,
3,
7,
+ 9,
1,
4,
),
@@ -4893,6 +5289,7 @@ class AMP_Allowed_Tags_Generated {
'requires_extension' => array(
'amp-sidebar',
),
+ 'spec_name' => 'amp-sidebar',
'spec_url' => 'https://amp.dev/documentation/components/amp-sidebar',
),
),
@@ -5291,7 +5688,6 @@ class AMP_Allowed_Tags_Generated {
'amp-geo',
'amp-pixel',
'amp-sidebar',
- 'amp-story-access',
'amp-story-auto-ads',
'amp-story-bookend',
'amp-story-page',
@@ -5305,30 +5701,6 @@ class AMP_Allowed_Tags_Generated {
),
),
),
- 'amp-story-access' => array(
- array(
- 'attr_spec_list' => array(
- 'media' => array(),
- 'noloading' => array(
- 'value' => array(
- '',
- ),
- ),
- 'type' => array(
- 'value' => array(
- 'blocking',
- 'notification',
- ),
- ),
- ),
- 'tag_spec' => array(
- 'mandatory_parent' => 'amp-story',
- 'requires_extension' => array(
- 'amp-access',
- ),
- ),
- ),
- ),
'amp-story-auto-ads' => array(
array(
'attr_spec_list' => array(),
@@ -5460,6 +5832,7 @@ class AMP_Allowed_Tags_Generated {
'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|AMP|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|i-amphtml-\\S*|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
'mandatory' => true,
),
+ 'next-page-no-ad' => array(),
),
'tag_spec' => array(
'child_tags' => array(
@@ -5631,41 +6004,6 @@ class AMP_Allowed_Tags_Generated {
),
),
),
- 'amp-user-location' => array(
- array(
- 'attr_spec_list' => array(
- 'id' => array(
- 'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|AMP|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|i-amphtml-\\S*|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
- 'mandatory' => true,
- ),
- 'media' => array(),
- 'noloading' => array(
- 'value' => array(
- '',
- ),
- ),
- 'src' => array(
- 'value_url' => array(
- 'allow_relative' => false,
- 'protocol' => array(
- 'https',
- ),
- ),
- ),
- ),
- 'tag_spec' => array(
- 'amp_layout' => array(
- 'supported_layouts' => array(
- 1,
- ),
- ),
- 'requires_extension' => array(
- 'amp-user-location',
- ),
- 'spec_url' => 'https://amp.dev/documentation/components/amp-user-location',
- ),
- ),
- ),
'amp-user-notification' => array(
array(
'attr_spec_list' => array(
@@ -6742,6 +7080,16 @@ class AMP_Allowed_Tags_Generated {
'spec_name' => 'amp-list-load-more button[load-more-clickable]',
),
),
+ array(
+ 'attr_spec_list' => array(
+ 'amp-nested-submenu-close' => array(),
+ 'amp-nested-submenu-open' => array(),
+ ),
+ 'tag_spec' => array(
+ 'mandatory_ancestor' => 'amp-nested-menu',
+ 'spec_name' => 'button amp-nested-menu',
+ ),
+ ),
),
'canvas' => array(
array(
@@ -7283,6 +7631,25 @@ class AMP_Allowed_Tags_Generated {
'spec_name' => 'AMP-LIST DIV [fetch-error]',
),
),
+ array(
+ 'attr_spec_list' => array(
+ 'amp-nested-submenu' => array(),
+ 'amp-nested-submenu-close' => array(),
+ 'amp-nested-submenu-open' => array(),
+ ),
+ 'tag_spec' => array(
+ 'disallowed_ancestor' => array(
+ 'amp-accordion',
+ ),
+ 'mandatory_ancestor' => 'amp-nested-menu',
+ 'mandatory_oneof' => array(
+ 'amp-nested-submenu',
+ 'amp-nested-submenu-close',
+ 'amp-nested-submenu-open',
+ ),
+ 'spec_name' => 'div amp-nested-menu',
+ ),
+ ),
),
'dl' => array(
array(
@@ -8470,6 +8837,16 @@ class AMP_Allowed_Tags_Generated {
),
'tag_spec' => array(),
),
+ array(
+ 'attr_spec_list' => array(
+ 'amp-nested-submenu-close' => array(),
+ 'amp-nested-submenu-open' => array(),
+ ),
+ 'tag_spec' => array(
+ 'mandatory_ancestor' => 'amp-nested-menu',
+ 'spec_name' => 'h2 amp-nested-menu',
+ ),
+ ),
),
'h3' => array(
array(
@@ -8478,6 +8855,16 @@ class AMP_Allowed_Tags_Generated {
),
'tag_spec' => array(),
),
+ array(
+ 'attr_spec_list' => array(
+ 'amp-nested-submenu-close' => array(),
+ 'amp-nested-submenu-open' => array(),
+ ),
+ 'tag_spec' => array(
+ 'mandatory_ancestor' => 'amp-nested-menu',
+ 'spec_name' => 'h3 amp-nested-menu',
+ ),
+ ),
),
'h4' => array(
array(
@@ -8486,6 +8873,16 @@ class AMP_Allowed_Tags_Generated {
),
'tag_spec' => array(),
),
+ array(
+ 'attr_spec_list' => array(
+ 'amp-nested-submenu-close' => array(),
+ 'amp-nested-submenu-open' => array(),
+ ),
+ 'tag_spec' => array(
+ 'mandatory_ancestor' => 'amp-nested-menu',
+ 'spec_name' => 'h4 amp-nested-menu',
+ ),
+ ),
),
'h5' => array(
array(
@@ -8494,6 +8891,16 @@ class AMP_Allowed_Tags_Generated {
),
'tag_spec' => array(),
),
+ array(
+ 'attr_spec_list' => array(
+ 'amp-nested-submenu-close' => array(),
+ 'amp-nested-submenu-open' => array(),
+ ),
+ 'tag_spec' => array(
+ 'mandatory_ancestor' => 'amp-nested-menu',
+ 'spec_name' => 'h5 amp-nested-menu',
+ ),
+ ),
),
'h6' => array(
array(
@@ -8502,6 +8909,16 @@ class AMP_Allowed_Tags_Generated {
),
'tag_spec' => array(),
),
+ array(
+ 'attr_spec_list' => array(
+ 'amp-nested-submenu-close' => array(),
+ 'amp-nested-submenu-open' => array(),
+ ),
+ 'tag_spec' => array(
+ 'mandatory_ancestor' => 'amp-nested-menu',
+ 'spec_name' => 'h6 amp-nested-menu',
+ ),
+ ),
),
'head' => array(
array(
@@ -8840,7 +9257,7 @@ class AMP_Allowed_Tags_Generated {
'step' => array(),
'tabindex' => array(),
'type' => array(
- 'blacklisted_value_regex' => '(^|\\s)(button|file|image|password|)(\\s|$)',
+ 'blacklisted_value_regex' => '(^|\\s)(file|image|password|)(\\s|$)',
),
'value' => array(),
'width' => array(),
@@ -11503,6 +11920,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'src' => array(
'dispatch_key' => 2,
@@ -11524,13 +11946,54 @@ class AMP_Allowed_Tags_Generated {
),
),
'tag_spec' => array(
- 'mandatory' => true,
+ 'mandatory_alternatives' => 'amphtml engine v0.js script',
'mandatory_parent' => 'head',
'spec_name' => 'amphtml engine v0.js script',
'spec_url' => 'https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml#required-markup',
'unique' => true,
),
),
+ array(
+ 'attr_spec_list' => array(
+ 'async' => array(
+ 'mandatory' => true,
+ 'value' => array(
+ '',
+ ),
+ ),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
+ 'nonce' => array(),
+ 'src' => array(
+ 'dispatch_key' => 2,
+ 'mandatory' => true,
+ 'value' => array(
+ 'https://cdn.ampproject.org/lts/v0.js',
+ ),
+ ),
+ 'type' => array(
+ 'value_casei' => array(
+ 'text/javascript',
+ ),
+ ),
+ ),
+ 'cdata' => array(
+ 'blacklisted_cdata_regex' => array(
+ 'error_message' => 'contents',
+ 'regex' => '.',
+ ),
+ ),
+ 'tag_spec' => array(
+ 'mandatory_alternatives' => 'amphtml engine v0.js script',
+ 'mandatory_parent' => 'head',
+ 'spec_name' => 'amphtml engine v0.js lts script',
+ 'spec_url' => 'https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml#required-markup',
+ 'unique' => true,
+ ),
+ ),
array(
'attr_spec_list' => array(
'nonce' => array(),
@@ -11610,6 +12073,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11635,6 +12103,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11660,6 +12133,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11689,6 +12167,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11717,6 +12200,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11745,6 +12233,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11802,6 +12295,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11827,6 +12325,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11852,6 +12355,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11878,6 +12386,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11904,6 +12417,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11929,6 +12447,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -11980,6 +12503,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12005,6 +12533,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12055,6 +12588,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12080,6 +12618,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12105,6 +12648,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12130,6 +12678,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12155,6 +12708,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12205,6 +12763,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12230,6 +12793,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12255,6 +12823,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12308,6 +12881,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12333,6 +12911,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12358,6 +12941,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12383,6 +12971,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12408,6 +13001,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12433,6 +13031,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12459,6 +13062,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12484,6 +13092,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12535,6 +13148,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12560,6 +13178,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12585,6 +13208,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12610,6 +13238,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12635,6 +13268,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12660,6 +13298,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12685,6 +13328,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12710,6 +13358,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12761,6 +13414,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12786,6 +13444,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12811,6 +13474,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12836,6 +13504,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12861,6 +13534,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12886,6 +13564,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12911,6 +13594,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12936,6 +13624,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12961,6 +13654,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -12986,6 +13684,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13037,6 +13740,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13062,6 +13770,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13087,6 +13800,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13112,6 +13830,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13137,6 +13860,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13162,6 +13890,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13187,6 +13920,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13212,6 +13950,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13237,6 +13980,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13262,6 +14010,41 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
+ 'nonce' => array(),
+ 'type' => array(
+ 'value_casei' => array(
+ 'text/javascript',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'extension_spec' => array(
+ 'name' => 'amp-inline-gallery',
+ 'requires_usage' => true,
+ 'version' => array(
+ '0.1',
+ ),
+ ),
+ ),
+ ),
+ array(
+ 'attr_spec_list' => array(
+ 'async' => array(
+ 'mandatory' => true,
+ 'value' => array(
+ '',
+ ),
+ ),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13287,6 +14070,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13312,6 +14100,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13337,6 +14130,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13362,6 +14160,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13387,6 +14190,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13412,6 +14220,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13437,6 +14250,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13462,6 +14280,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13512,6 +14335,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13537,6 +14365,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13564,6 +14397,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13589,6 +14427,41 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
+ 'nonce' => array(),
+ 'type' => array(
+ 'value_casei' => array(
+ 'text/javascript',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'extension_spec' => array(
+ 'name' => 'amp-mega-menu',
+ 'requires_usage' => true,
+ 'version' => array(
+ '0.1',
+ ),
+ ),
+ ),
+ ),
+ array(
+ 'attr_spec_list' => array(
+ 'async' => array(
+ 'mandatory' => true,
+ 'value' => array(
+ '',
+ ),
+ ),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13614,6 +14487,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13639,6 +14517,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13664,6 +14547,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13684,6 +14572,9 @@ class AMP_Allowed_Tags_Generated {
),
array(
'attr_spec_list' => array(
+ 'id' => array(
+ 'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|AMP|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|i-amphtml-\\S*|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
+ ),
'nonce' => array(),
'template' => array(
'dispatch_key' => 2,
@@ -13728,6 +14619,41 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
+ 'nonce' => array(),
+ 'type' => array(
+ 'value_casei' => array(
+ 'text/javascript',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'extension_spec' => array(
+ 'name' => 'amp-nested-menu',
+ 'requires_usage' => true,
+ 'version' => array(
+ '0.1',
+ ),
+ ),
+ ),
+ ),
+ array(
+ 'attr_spec_list' => array(
+ 'async' => array(
+ 'mandatory' => true,
+ 'value' => array(
+ '',
+ ),
+ ),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13741,6 +14667,7 @@ class AMP_Allowed_Tags_Generated {
'requires_usage' => true,
'version' => array(
'0.1',
+ '1.0',
),
),
),
@@ -13760,7 +14687,7 @@ class AMP_Allowed_Tags_Generated {
'requires_extension' => array(
'amp-next-page',
),
- 'spec_name' => 'amp-next-page extension .json configuration',
+ 'spec_name' => 'AMP-NEXT-PAGE > SCRIPT[type=application/json]',
'spec_url' => 'https://amp.dev/documentation/components/amp-next-page',
),
),
@@ -13772,6 +14699,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13797,6 +14729,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13822,6 +14759,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13847,6 +14789,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13872,6 +14819,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13897,6 +14849,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13922,6 +14879,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13947,6 +14909,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13972,6 +14939,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -13997,6 +14969,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14022,6 +14999,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14047,6 +15029,41 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
+ 'nonce' => array(),
+ 'type' => array(
+ 'value_casei' => array(
+ 'text/javascript',
+ ),
+ ),
+ ),
+ 'tag_spec' => array(
+ 'extension_spec' => array(
+ 'name' => 'amp-redbull-player',
+ 'requires_usage' => true,
+ 'version' => array(
+ '0.1',
+ ),
+ ),
+ ),
+ ),
+ array(
+ 'attr_spec_list' => array(
+ 'async' => array(
+ 'mandatory' => true,
+ 'value' => array(
+ '',
+ ),
+ ),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14072,6 +15089,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14097,6 +15119,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14159,6 +15186,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14184,6 +15216,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14209,6 +15246,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14234,6 +15276,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14259,6 +15306,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14284,6 +15336,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14309,6 +15366,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14334,6 +15396,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14360,6 +15427,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14411,6 +15483,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14507,6 +15584,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14564,6 +15646,11 @@ class AMP_Allowed_Tags_Generated {
'',
),
),
+ 'crossorigin' => array(
+ 'value' => array(
+ 'anonymous',
+ ),
+ ),
'nonce' => array(),
'type' => array(
'value_casei' => array(
@@ -14586,28 +15673,56 @@ class AMP_Allowed_Tags_Generated {
),
array(
'attr_spec_list' => array(
- 'async' => array(
+ 'cryptokeys' => array(
+ 'dispatch_key' => 2,
'mandatory' => true,
'value' => array(
'',
),
),
- 'nonce' => array(),
+ 'sha-256-hash' => array(
+ 'mandatory' => true,
+ ),
'type' => array(
+ 'mandatory' => true,
'value_casei' => array(
- 'text/javascript',
+ 'application/json',
),
),
),
'tag_spec' => array(
- 'extension_spec' => array(
- 'name' => 'amp-timeago',
- 'requires_usage' => true,
- 'version' => array(
- '0.1',
+ 'mandatory_parent' => 'head',
+ 'requires_extension' => array(
+ 'amp-subscriptions',
+ ),
+ 'spec_name' => 'cryptokeys .json script',
+ 'unique' => true,
+ ),
+ ),
+ array(
+ 'attr_spec_list' => array(
+ 'ciphertext' => array(
+ 'dispatch_key' => 1,
+ 'mandatory' => true,
+ ),
+ 'type' => array(
+ 'mandatory' => true,
+ 'value_casei' => array(
+ 'application/octet-stream',
),
),
),
+ 'cdata' => array(
+ 'blacklisted_cdata_regex' => array(
+ 'error_message' => 'html comments',
+ 'regex' => '
+
+
+ Open Sub-Menu
+
+
+ go back
+ Open Another Sub-Menu
+ go back
+
+ {{#items}}
+ {{title}}
+