From 04e6913344e8a9e4a7e7b06e7719cd657ee308bd Mon Sep 17 00:00:00 2001
From: Jun Kokatsu
A valid navigable target name is any string with - at least one character that does not start with a U+005F LOW LINE character. (Names starting with - an underscore are reserved for special keywords.)
+ at least one character that does not start with a U+005F LOW LINE character (Names starting with + an underscore are reserved for special keywords). A target name + which contains both a U+000A END OF LINE character and a U+003C LESS-THAN SIGN character will be + converted to_blank
.
A valid navigable target name or keyword is any string that is either a valid navigable target name or that is @@ -90098,6 +90100,10 @@ interface BeforeUnloadEvent : Event { data-x="">_top", set chosen to currentNavigable's traversable navigable.
+Otherwise, if name contains both a U+000A END OF LINE character (\n) and a
+ U+003C LESS-THAN SIGN character (<), set name to "_blank
".
+
Otherwise, if name is not an ASCII case-insensitive match for " A valid navigable target name is any string with
at least one character that does not start with a U+005F LOW LINE character (Names starting with
an underscore are reserved for special keywords). A target name
- which contains both a U+000A END OF LINE character and a U+003C LESS-THAN SIGN character will be
- converted to _blank
", there exists a navigable whose
Date: Mon, 22 May 2023 17:59:43 +0000
Subject: [PATCH 02/16] Address comments
---
source | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/source b/source
index 3c37e83ee5b..65f1b97e60f 100644
--- a/source
+++ b/source
@@ -89928,8 +89928,8 @@ interface BeforeUnloadEvent : Event {
_blank
._blank
.
A valid navigable target name or keyword is any string that is either a valid navigable target name or that is @@ -90088,6 +90088,10 @@ interface BeforeUnloadEvent : Event {
Let sandboxingFlagSet be currentNavigable's active document's active sandboxing flag set.
If name contains any ASCII tab or newline characters and a U+003C
+ LESS-THAN SIGN character (<), set name to "_blank
".
If name is the empty string or an ASCII case-insensitive match
for "_self
", then set chosen to
currentNavigable.
Otherwise, if name contains both a U+000A END OF LINE character (\n) and a
- U+003C LESS-THAN SIGN character (<), set name to "_blank
".
-
Otherwise, if name is not an ASCII case-insensitive match for " A valid navigable target name is any string with
at least one character that does not start with a U+005F LOW LINE character (Names starting with
an underscore are reserved for special keywords). A target name
- which contains any ASCII tab or newline characters and a U+003C LESS-THAN SIGN character
+ which contains any ASCII tab or newline characters and a U+003C LESS-THAN SIGN character
will be converted to A valid navigable target name or
@@ -90088,7 +90088,7 @@ interface BeforeUnloadEvent : Event {
Let sandboxingFlagSet be currentNavigable's active document's active sandboxing flag set. If name contains any ASCII tab or newline characters and a U+003C
+ If name contains any ASCII tab or newline characters and a U+003C
LESS-THAN SIGN character (<), set name to " If element has a Let targetName be the empty string. If element's node document contains a If element has a Otherwise, if element's node document contains a
+ Return the empty string. If targetName contains any ASCII tab or newline characters
+ and a U+003C LESS-THAN SIGN character (<), set targetName to " Return targetName. A valid navigable target name is any string with
at least one character that does not start with a U+005F LOW LINE character (Names starting with
- an underscore are reserved for special keywords). A target name
- which contains any ASCII tab or newline characters and a U+003C LESS-THAN SIGN character
- will be converted to A valid navigable target name or
keyword is any string that is either a valid navigable target name or that is
@@ -90088,10 +90093,6 @@ interface BeforeUnloadEvent : Event {
Let sandboxingFlagSet be currentNavigable's active document's active sandboxing flag set. If name contains any ASCII tab or newline characters and a U+003C
- LESS-THAN SIGN character (<), set name to " If name is the empty string or an ASCII case-insensitive match
for " Let targetName be the empty string. If element has a If element has a Otherwise, if element's node document contains a
- Otherwise, if element's node document contains a
+ If targetName contains any ASCII tab or newline characters
- and a U+003C LESS-THAN SIGN character (<), set targetName to " If targetName contains any ASCII tab or newline characters
+ and a U+003C LESS-THAN SIGN character (<), then set targetName to " Return targetName. A valid navigable target name is any string with
at least one character that does not start with a U+005F LOW LINE character (Names starting with
- an underscore are reserved for special keywords)._blank
", there exists a navigable whose
Date: Mon, 22 May 2023 18:07:13 +0000
Subject: [PATCH 03/16] Change to
---
source | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/source b/source
index 65f1b97e60f..229cf5f2d30 100644
--- a/source
+++ b/source
@@ -89928,7 +89928,7 @@ interface BeforeUnloadEvent : Event {
_blank
._blank
".form
element element, run these steps:
-
target
attribute, then return that
- attribute's value.base
element
- with a target
attribute, then return the value of the
- target
attribute of the first such base
+ target
attribute, then set
+ targetName to that attribute's value.base
element with a target
attribute,
+ then set targetName to the value of the target
attribute of the first such base
element._blank
".
@@ -89927,9 +89934,7 @@ interface BeforeUnloadEvent : Event {
_blank
._blank
"._self
", then set chosen to
currentNavigable.
target
attribute, then set
+ target
attribute, then set
targetName to that attribute's value.base
element with a target
attribute,
- then set targetName to the value of the base
element with a target
attribute,
+ set targetName to the value of the target
attribute of the first such base
element._blank
"._blank
.
A valid navigable target name or
keyword is any string that is either a valid navigable target name or that is
From 7c3f5cbb9288f828edfaede749067143bcf0edaf Mon Sep 17 00:00:00 2001
From: Jun Kokatsu Let targetName be the empty string. Let target be the empty string. If element has a form
element element, run these steps:
-
target
attribute, then set
- targetName to that attribute's value.
Otherwise, if element's node document contains a
base
element with a target
attribute,
- set targetName to the value of the target to the value of the
target
attribute of the first such base
element.
If targetName contains any ASCII tab or newline characters
- and a U+003C LESS-THAN SIGN character (<), then set targetName to " If target contains any ASCII tab or newline characters
+ and a U+003C LESS-THAN SIGN character (<), then set target to "_blank
".
Return targetName.
Return target.
To get an element's target, given an a
, area
, or
- form
element element, run these steps:
+ form
element element, and an optional targetValue
+ (default null), run these steps:
Let target be the empty string.
If element has a target
attribute, then set
+
If targetValue is non-null, then set target to + targetValue.
Otherwise, if element has a target
attribute, set
target to that attribute's value.
Otherwise, if element's node document contains a @@ -58674,11 +58678,10 @@ fur
Let enctype be the submitter element's enctype.
Let target be the submitter element's formtarget
attribute value, if the element is a submit button and has such an attribute. Otherwise, let it
- be the result of getting an element's target given
- submitter's form owner.
Let target be the result of getting an element's target given
+ submitter's form owner and submitter element's formtarget
attribute value.
Let noopener be the result of getting an element's noopener with form and target.
Let target be the result of getting an element's target given
submitter's form owner and submitter element's formtarget
attribute value.
Let noopener be the result of getting an element's noopener with form and target.
Let enctype be the submitter element's enctype.
Let formTarget be null.
If the submitter element is a submit button and it has a formtarget
attribute, then set formTarget to
+ the formtarget
attribute value.
Let target be the result of getting an element's target given
- submitter's form owner and submitter element's formtarget
attribute value, if the element is a submit button and has such an attribute.
Let noopener be the result of getting an element's noopener with form and target.
To get an element's target, given an a
, area
, or
- form
element element, and an optional targetValue
+ form
element element, and an optional string-or-null target
(default null), run these steps:
Let target be the empty string.
If target is null, then:
If targetValue is non-null, then set target to - targetValue.
Otherwise, if element has a target
attribute, set
- target to that attribute's value.
Otherwise, if element's node document contains a
- base
element with a target
attribute,
- set target to the value of the target
attribute of the first such base
- element.
If target contains any ASCII tab or newline characters
- and a U+003C LESS-THAN SIGN character (<), then set target to "_blank
".
If element has a target
attribute, then set
+ target to that attribute's value.
Otherwise, if element's node document contains a
+ base
element with a target
attribute,
+ set target to the value of the target
attribute of the first such base
+ element.
If target contains any ASCII tab or newline characters
+ and a U+003C LESS-THAN SIGN character (<), then set target to "_blank
".
Return target.
A valid navigable target name is any string with
at least one character that does not start with a U+005F LOW LINE character (Names starting with
- an underscore are reserved for special keywords). A target name
- which contains any ASCII tab or newline characters and a U+003C LESS-THAN SIGN
- character will be converted to _blank
.
A valid navigable target name or
keyword is any string that is either a valid navigable target name or that is
From 0f6f6240d5c5a643d8a76b146593f286c5728143 Mon Sep 17 00:00:00 2001
From: Jun Kokatsu If target is null, then: If target is null, then: If element has a If element has a Otherwise, if element's node document contains a
- If target contains any ASCII tab or newline characters
- and a U+003C LESS-THAN SIGN character (<), then set target to " Otherwise, if element's node document contains a
+ If target contains any ASCII tab or newline characters
+ and a U+003C LESS-THAN SIGN character (<), then set target to " Return target.
-
From 0e623a20194f5cdc91b3550e60818576f019abc6 Mon Sep 17 00:00:00 2001
From: Jun Kokatsu
+
+ target
attribute, then set
+ target to that attribute's value.
-
+ target
attribute, then set
- target to that attribute's value.base
element with a target
attribute,
- set target to the value of the target
attribute of the first such base
- element._blank
".base
element with a target
attribute,
+ set target to the value of the target
attribute of the first such base
+ element._blank
".
If target contains any ASCII tab or newline characters
- and a U+003C LESS-THAN SIGN character (<), then set target to "_blank
".
If target contains an ASCII tab or newline and a U+003C
+ (<), then set target to "_blank
".
Return target.
A valid navigable target name is any string with at least one character that does not start with a U+005F LOW LINE character (Names starting with an underscore are reserved for special keywords.), and it does not contain both - ASCII tab or newline characters and a U+003C LESS-THAN SIGN character.
+ an ASCII tab or newline and a U+003C (<).A valid navigable target name or
keyword is any string that is either a valid navigable target name or that is
From 12eeb8c99458c57263dbd4147c10c844cf75ea88 Mon Sep 17 00:00:00 2001
From: Jun Kokatsu If target is null, then: If target is null, then: If element has a If target contains an ASCII tab or newline and a U+003C
+ If target is not null, and contains an ASCII tab or newline and a U+003C
(<), then set target to " Return target.
-
target
attribute, then set
target to that attribute's value._blank
".
A valid navigable target name is any string with - at least one character that does not start with a U+005F LOW LINE character (Names starting with - an underscore are reserved for special keywords.), and it does not contain both - an ASCII tab or newline and a U+003C (<).
+ at least one character that does not contain both an ASCII tab or newline and a + U+003C (<), and it does not start with a U+005F LOW LINE character (Names starting with + an underscore are reserved for special keywords.)A valid navigable target name or
keyword is any string that is either a valid navigable target name or that is
From edebcccc1f38cda39e741100fcfdf42737d0dedf Mon Sep 17 00:00:00 2001
From: Anne van Kesteren If target is null, then: If element has a Otherwise, if element's node document contains a
-
target
attribute, then set
target to that attribute's value.base
element with a target
attribute,
- set target to the value of the target
attribute of the first such base
- element.base
element with a target
attribute, set
+ target to the value of the target
attribute
+ of the first such base
element.
If target is not null, and contains an ASCII tab or newline and a U+003C
- (<), then set target to "_blank
".
If target is not null, and contains an ASCII tab or newline and a
+ U+003C (<), then set target to "_blank
".
Return target.
Let formTarget be null.
If the submitter element is a submit button and it has a formtarget
attribute, then set formTarget to
- the formtarget
attribute value.
If the submitter element is a submit
+ button and it has a formtarget
attribute, then
+ set formTarget to the formtarget
attribute
+ value.
Let target be the result of getting an element's target given - submitter's form owner and formTarget.
Let target be the result of getting an + element's target given submitter's form owner and + formTarget.
Let noopener be the result of getting an element's noopener with form and target.
A valid navigable target name is any string with - at least one character that does not contain both an ASCII tab or newline and a - U+003C (<), and it does not start with a U+005F LOW LINE character (Names starting with - an underscore are reserved for special keywords.)
+A valid navigable target name is any string with at + least one character that does not contain both an ASCII tab or newline and a U+003C + (<), and it does not start with a U+005F (_). (Names starting with a U+005F (_) are reserved + for special keywords.)
A valid navigable target name or keyword is any string that is either a valid navigable target name or that is