diff --git a/spec.bs b/spec.bs
index 2149413..5c28ec5 100644
--- a/spec.bs
+++ b/spec.bs
@@ -108,6 +108,7 @@ spec: html; urlPrefix: https://html.spec.whatwg.org/multipage/
text: dom interface; url: concept-element-dom
text: accessibility considerations; url: concept-element-accessibility-considerations
text: represents; url: represents
+ text: event handler content attributes which may be specified on any HTML element; url: global-attributes:event-handler-content-attributes
urlPrefix: common-dom-interfaces.html
text: reflect; url: reflect
urlPrefix: embedder-content-other.html
@@ -357,6 +358,14 @@ dl, dd {
background: white;
border: solid #D50606;
}
+
+/* Table styling definitions from https://resources.whatwg.org/standard.css */
+table { border-collapse: collapse; border-style: hidden hidden none hidden; margin: 1.25em 0; }
+table thead, table tbody { border-bottom: solid; }
+table tbody th { text-align: left; }
+table tbody th:first-child { border-left: solid; }
+table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
+
@@ -1633,6 +1642,7 @@ Several APIs specific to fenced frames are defined on the {{Fence}} interface.
undefined reportEvent(optional ReportEventType event = {});
undefined setReportEventDataForAutomaticBeacons(optional FenceEvent event = {});
sequence<FencedFrameConfig> getNestedConfigs();
+ undefined notifyEvent(Event event);
};
@@ -1819,6 +1829,47 @@ Several APIs specific to fenced frames are defined on the {{Fence}} interface.
+
+ The
notifyEvent(|event|) method steps are:
+
+ 1. If [=this=]'s {{Document}} is not [=Document/fully active=], then return.
+
+ 1. Let |navigable| be [=this=]'s [=relevant global object=]'s [=Window/navigable=].
+
+ 1. If any of the following conditions are met, then throw a {{SecurityError}} {{DOMException}}:
+
+ * |navigable| is not a [=fenced navigable container/fenced navigable=];
+
+ * |event|'s {{Event/isTrusted}} is false;
+
+ * |event|'s [=Event/dispatch flag=] is unset;
+
+ * |event|'s {{Event/type}} is not "
click
"
+
+ 1. If [=this=]'s [=relevant global object=] does not have [=transient activation=], then return.
+
+ 1. [=Consume user activation=] for [=this=]'s [=relevant global object=].
+
+ 1. Let |parentNavigable| be |navigable|'s [=navigable/unfenced parent=].
+
+ 1. [=Queue a global task=] on the [=DOM manipulation task source=] given |parentNavigable|'s
+ [=navigable/active window=] to run these steps:
+
+ 1. Perform the [=activation notification=] steps.
+
+ 1. [=Fire an event=] named "
[=fencedtreeclick=]
" at |navigable|'s
+ [=fenced navigable container=]. Initialize the event's {{Event/bubbles}} and {{Event/cancelable}} attributes to `true`. When running the
+
inner event creation steps, set the
time to an [=implementation-defined=] value that is consistent across all invocations of this method.
+
+
+ /fenced-frame/notify-event-iframe.https.html
+ /fenced-frame/notify-event-invalid.https.html
+ /fenced-frame/notify-event-nested-fenced-frames.https.html
+ /fenced-frame/notify-event-success.https.html
+ /fenced-frame/notify-event-transient-user-activation.https.html
+
+
+
New [=request=] [=request/destination=]
The processing model of a <{fencedframe}>'s navigation request deviates from that of the normal
@@ -2951,6 +3002,67 @@ modified such that the first step of the algorithm that runs when a user-agent c
[=traversable navigable=]'s [=system visibility state=] calls the [=Document/inclusive descendant
navigables=] algorithm with [=inclusive-dn-unfenced|unfenced=] set to true.
+Events
+
+
+The table in the
+event handlers on elements, Document objects, and Window objects section of [[HTML]] is modified to include a new row.
+
+
+
+
+ [=Event handler=] |
+ [=Event handler event type=] |
+
+
+
+
+ onfencedtreeclick |
+ [=fencedtreeclick=] |
+
+
+
+
+The {{GlobalEventHandlers}} interface is modified as follows:
+
+
+ partial interface mixin GlobalEventHandlers {
+ attribute EventHandler onfencedtreeclick;
+ };
+
+
+Additionally, the list of [=event handler content attributes which may be specified on any HTML element=]
+in [[HTML]] is modified to include a new row:
+
+* [=onfencedtreeclick=]
+
+
+The Events table in the
+Index section of [[HTML]] is
+modified to include a new row.
+
+
+
+
+ Event |
+ Interface |
+ Interesting targets |
+ Description |
+
+
+
+
+ fencedtreeclick |
+ {{Event}} |
+ Elements |
+
+ Fired at a <{fencedframe}> element asynchronously after its
+ [=fenced navigable container/fenced navigable=]'s {{Document}} calls {{Fence/notifyEvent()}}
+ |
+
+
+
+
Interactions with other specifications
Due to the necessarily cross-cutting nature of the <{fencedframe}> element and its interactions with