From af22fbd7a33a76952aa592b7817e62c9372e7926 Mon Sep 17 00:00:00 2001
From: Anne van Kesteren
Similarly, for form
elements with a rel
+ attribute, links must be created for the keywords of the rel
+ attribute as defined for those keywords in the link types section.
+ form
elements that do not have a rel
attribute,
+ or whose rel
attribute has no keywords that are defined as
+ specifying hyperlinks, must also create a hyperlink.
+
A hyperlink can have one or more hyperlink annotations that modify the processing semantics of that hyperlink.
@@ -23212,6 +23219,29 @@ document.body.appendChild(wbr); theform
element. The exception for a
elements is for compatibility with
web content.
+ To get an element's noopener, given an a
, area
, or
+ form
element element and a string target, run these steps:
Let noopener be false.
Set noopener to true if one of the following is true:
+ +noopener
or noreferrer
+ keyword.opener
keyword and target is an
+ ASCII case-insensitive match for "_blank
".Return noopener.
When a user follows a hyperlink created by an element subject, optionally with a hyperlink suffix, the user agent must run the following steps:
@@ -23230,20 +23260,9 @@ document.body.appendChild(wbr); targetAttributeValue to the result of getting an element's target given subject. -Let noopener be true if one of the following is true:
- -noreferrer
or noopener
- keyword.opener
keyword and
- targetAttributeValue is an ASCII case-insensitive match for "_blank
".Let noopener be the result of getting + an element's noopener with subject and + targetAttributeValue.
Let target and replace be the result of applying the rules for choosing a browsing context given targetAttributeValue, source, and @@ -23646,8 +23665,8 @@ document.body.appendChild(wbr);
To determine which link types apply to a link
, a
, or
- area
element, the element's rel
attribute must be To determine which link types apply to a link
, a
, area
,
+ or form
element, the element's rel
attribute must be split on ASCII whitespace. The resulting tokens
are the keywords for the link types that apply to that element.
link
a
and area
form
alternate
canonical
author
bookmark
dns-prefetch
external
help
icon
modulepreload
license
next
nofollow
noopener
noreferrer
Referer
` (sic) header will be included.
Additionally, has the same effect as noopener
.opener
pingback
preconnect
prefetch
preload
as
attribute (and the priority associated with the corresponding destination).prerender
prev
search
stylesheet
tag
alternate
"author
"The author
keyword may be used with link
,
@@ -24150,11 +24162,12 @@ document.body.appendChild(wbr);
help
"The help
keyword may be used with link
,
- a
, and area
elements. This keyword creates a hyperlink.
a
, area
, and form
elements. This keyword creates a
+ hyperlink.
- For a
and area
elements, the help
- keyword indicates that the referenced document provides further help information for the parent of
- the element defining the hyperlink, and its children.
For a
, area
, and form
elements, the help
keyword indicates that the referenced document provides further help
+ information for the parent of the element defining the hyperlink, and its children.
license
"The license
keyword may be used with link
,
- a
, and area
elements. This keyword creates a hyperlink.
a
, area
, and form
elements. This keyword creates a
+ hyperlink.
The license
keyword indicates that the referenced document
provides the copyright license terms under which the main content of the current document is
@@ -24556,10 +24570,10 @@ document.body.appendChild(wbr);
nofollow
"The nofollow
keyword may be used with a
and
- area
elements. This keyword does not create a hyperlink, but annotates any other hyperlinks created by the element (the
- implied hyperlink, if no other keywords create one).
The nofollow
keyword may be used with a
,
+ area
, and form
elements. This keyword does not create a
+ hyperlink, but annotates any other
+ hyperlinks created by the element (the implied hyperlink, if no other keywords create one).
The nofollow
keyword indicates that the link is not endorsed
by the original author or publisher of the page, or that the link to the referenced document was
@@ -24569,10 +24583,10 @@ document.body.appendChild(wbr);
noopener
"The noopener
keyword may be used with a
and
- area
elements. This keyword does not create a hyperlink, but annotates any other hyperlinks created by the element (the
- implied hyperlink, if no other keywords create one).
The noopener
keyword may be used with a
,
+ area
, and form
elements. This keyword does not create a
+ hyperlink, but annotates any other
+ hyperlinks created by the element (the implied hyperlink, if no other keywords create one).
The keyword indicates that any newly created top-level browsing context which
results from following the hyperlink will not be an auxiliary browsing
@@ -24604,10 +24618,10 @@ document.body.appendChild(wbr);
The The It indicates that no referrer information is to be leaked when following the link. The The The keyword indicates that any newly created top-level browsing context which
results from following the hyperlink will be an auxiliary browsing
@@ -24739,7 +24753,8 @@ document.body.appendChild(wbr);
The The Link type "
- noreferrer
"noreferrer
keyword may be used with a
and
- area
elements. This keyword does not create a hyperlink, but annotates any other hyperlinks created by the element (the
- implied hyperlink, if no other keywords create one).noreferrer
keyword may be used with a
,
+ area
, and form
elements. This keyword does not create a
+ hyperlink, but annotates any other
+ hyperlinks created by the element (the implied hyperlink, if no other keywords create one).Link type "
- opener
"opener
keyword may be used with a
and
- area
elements. This keyword does not create a hyperlink, but annotates any other hyperlinks created by the element (the
- implied hyperlink, if no other keywords create one).opener
keyword may be used with a
,
+ area
, and form
elements. This keyword does not create a
+ hyperlink, but annotates any other
+ hyperlinks created by the element (the implied hyperlink, if no other keywords create one).Link type "
search
"search
keyword may be used with link
,
- a
, and area
elements. This keyword creates a hyperlink.a
, area
, and form
elements. This keyword creates a
+ hyperlink.search
keyword indicates that the referenced document
provides an interface specifically for searching the document and its related resources.search
link type to enable user agents to autodiscover search
interfaces.
stylesheet
"The stylesheet
keyword may be used with link
@@ -24972,7 +24987,6 @@ document.body.appendChild(wbr);
tag
"next
"The next
keyword may be used with link
,
- a
, and area
elements. This keyword creates a hyperlink.
a
, area
, and form
elements. This keyword creates a
+ hyperlink.
The next
keyword indicates that the document is part of a
sequence, and that the link is leading to the document that is the next logical document in the
@@ -25082,7 +25097,8 @@ document.body.appendChild(wbr);
prev
"The prev
keyword may be used with link
,
- a
, and area
elements. This keyword creates a hyperlink.
a
, area
, and form
elements. This keyword creates a
+ hyperlink.
The prev
keyword indicates that the document is part of a
sequence, and that the link is leading to the document that is the previous logical document in
@@ -25181,6 +25197,30 @@ document.body.appendChild(wbr);
+
form
One of the following:
+ +form
elements.form
elements; it creates a
+ hyperlink.form
elements; it creates an external
+ resource link.form
elements; it annotates other hyperlinks created by the
+ element.A short non-normative description of what the keyword's meaning is.
name
novalidate
target
rel
[Exposed=Window,
@@ -43053,6 +43094,8 @@ interface HTMLFormElement : HTMLElement {
[CEReactions] attribute DOMString name;
[CEReactions] attribute boolean noValidate;
[CEReactions] attribute DOMString target;
+ [CEReactions] attribute DOMString rel;
+ [SameObject, PutForwards=value] readonly attribute DOMTokenList relList;
[SameObject] readonly attribute HTMLFormControlsCollection elements;
readonly attribute unsigned long length;
@@ -43104,6 +43147,20 @@ interface HTMLFormElement : HTMLElement {
and target
attributes are attributes for form
submission.
+ The rel
attribute on form
elements
+ controls what kinds of links the elements create. The attribute's value must be a unordered
+ set of unique space-separated tokens. The allowed keywords and their
+ meanings are defined in an earlier section.
+
+ rel
's supported
+ tokens are the keywords defined in HTML link types which are
+ allowed on form
elements, impact the processing model, and are supported by the user
+ agent. The possible supported tokens are noreferrer
, noopener
, and opener
. rel
's supported tokens must only include the tokens from this
+ list that the user agent implements the processing model for.
+
- form .
elements
@@ -43192,13 +43249,17 @@ interface HTMLFormElement : HTMLElement {
reflect the content attribute of the same name, limited to only known
values.
- The name
IDL attribute must reflect
- the content attribute of the same name.
+ The name
and rel
IDL attributes must reflect the content
+ attribute of the same name.
The acceptCharset
IDL attribute must
reflect the accept-charset
content
attribute.
+ The relList
IDL attribute must
+ reflect the rel
content attribute.
+
The elements
IDL attribute must return an
@@ -56078,9 +56139,12 @@ fur
be the result of getting an element's target given
submitter's form owner.
+
Let noopener be the result of getting
+ an element's noopener with form and targetAttributeValue.
+
Let target browsing context and replace be the result of applying
- the rules for choosing a browsing context using target and form
- browsing context.
+ the rules for choosing a browsing context using target, form
+ browsing context, and noopener.
If target browsing context is null, then return.
@@ -56142,6 +56206,14 @@ fur
user agent is required to plan to navigate to a particular resource destination, it must run the following steps:
+ If destination is not a request, then
+ set destination to a new request whose URL is destination.
+
+ If the form
element's link types include the noreferrer
keyword, then set destination's referrer to "no-referrer
".
If the form
has a non-null planned navigation, remove it from
its task queue.
@@ -122653,6 +122725,7 @@ INSERT INTERFACES HERE
Olivia (Xiaoni) Lai,
Olivier Gendrin,
Olli Pettay,
+ Ondřej Žára,
Ori Avtalion,
oSand,
Pablo Flouret,
From d6b55791a670cdb25a77eee709da65edb743b0cd Mon Sep 17 00:00:00 2001
From: Anne van Kesteren
Date: Mon, 11 Feb 2019 16:38:23 +0100
Subject: [PATCH 2/2] address feedback
---
source | 41 +++++++++++++++++------------------------
1 file changed, 17 insertions(+), 24 deletions(-)
diff --git a/source b/source
index e3a04aa8dc5..0821bd2d31a 100644
--- a/source
+++ b/source
@@ -23223,23 +23223,16 @@ document.body.appendChild(wbr);
form
element element and a string target, run these steps:
Let noopener be false.
Set noopener to true if one of the following is true:
+If element's link types include the noopener
or noreferrer
+ keyword, then return true.
noopener
or noreferrer
- keyword.opener
keyword and target is an
- ASCII case-insensitive match for "_blank
".If element's link types
+ do not include the opener
keyword and target is an
+ ASCII case-insensitive match for "_blank
", then return
+ true.
Return noopener.
Return false.
When a user follows a hyperlink created by an element @@ -23761,8 +23754,7 @@ document.body.appendChild(wbr);
external
external
"The external
keyword may be used with a
and
- area
elements. This keyword does not create a hyperlink, but annotates any other hyperlinks created by the element (the
- implied hyperlink, if no other keywords create one).
The external
keyword may be used with a
,
+ area
, and form
elements. This keyword does not create a
+ hyperlink, but annotates any other
+ hyperlinks created by the element (the implied hyperlink, if no other keywords create one).
The external
keyword indicates that the link is leading to a
document that is not part of the site that the current document forms a part of.
HTMLFormElement
.The form
element represents a collection of form-associated elements, some of which can represent
- editable values that can be submitted to a server for processing.
The form
element represents a hyperlink that can be
+ manipulated through a collection of form-associated
+ elements, some of which can represent editable values that can be submitted to a server for
+ processing.
The accept-charset
attribute gives the
character encodings that are to be used for the submission. If specified, the value must be an