From 18b7c269181ca72dc5dc799b03479d03cde02fe5 Mon Sep 17 00:00:00 2001
From: Fernando Fiori
If validity is true, then run the show popover - algorithm given target, false, and element.
Otherwise:
@@ -56961,7 +56962,8 @@ interface HTMLButtonElement : HTMLElement { validity be false.If validity is true, then run the show popover - algorithm given target, false, and element.
Run the show popover algorithm given select's select - popover, false, and select.
Let focusSetterDocument be the incumbent global object's associated Document.
If this has an open attribute and
is modal of this is false, then return.
Run hide popovers until given document, hideUntil, false, and true.
Run the dialog focusing steps given this.
Run the dialog focusing steps given this and + focusSetterDocument.
The showModal() method steps are to show a modal
- dialog given this and null.
Let focusSetterDocument be the incumbent global object's associated Document.
Show a modal dialog given this, null, and + focusSetterDocument.
To show a modal dialog given a dialog element subject and an
- Element or null source:
To show a modal dialog given a dialog element subject, an
+ Element or null source, and a Document
+ focusSetterDocument:
If subject has an open attribute and
@@ -66700,7 +66717,8 @@ interface HTMLDialogElement : HTMLElement {
Run hide popovers until given document, hideUntil, false, and true.
Run the dialog focusing steps given subject.
Run the dialog focusing steps given subject and + focusSetterDocument.
If command is the Show Modal state and element does
not have an open attribute, then
- show a modal dialog given element and source.
The dialog focusing steps, given a dialog element subject,
- are as follows:
The dialog focusing steps, given a dialog element subject
+ and a Document focusSetterDocument, are as follows:
If the allow focus steps given subject's node - document return false, then return.
If subject's node document is not fully active, then + return.
If the allow focus steps given focusSetterDocument return false, + then return.
Let control be null.
If current is null, then return.
If the allow focus steps given current's active document return false, then return.
If current's active document is not + fully active, then return.
Let focusSetterDocument be the incumbent global object's associated Document.
If the allow focus steps given focusSetterDocument return false, + then return.
Run the focusing steps with current.
If the allow focus steps given this's node document - return false, then return.
If this's node document is not fully active, then + return.
Let focusSetterDocument be the incumbent global object's associated Document.
If the allow focus steps given focusSetterDocument return false, + then return.
Run the focusing steps for this.
The allow focus steps, given a Document object
- target, are:
If target is allowed to use the " If focusSetterDocument is not fully active, then return
+ false.
If focusSetterDocument is allowed to use the "focus-without-user-activation" feature,
then return true.
If target's relevant global object has transient - activation, then return true.
If focusSetterDocument's relevant global object has + transient activation, then return true.
Return false.
Return the result of running the has focus steps given + focusSetterDocument.
These steps do not restrict the destination of an authorized focus change. The + has focus steps include focus in descendant navigables and require system + focus. Once focus leaves the setter's subtree, this focus-based allowance no longer + applies.
Let focusSetterDocument be the incumbent global object's associated Document.
Let source be options["source"] if it exists; otherwise, null.
Run show popover given this, true, and - source.
Run show popover given this, true, source, and + focusSetterDocument.
To show popover, given an HTML element - element, a boolean throwExceptions, and an HTML - element or null source:
+ element, a boolean throwExceptions, an HTML + element or null source, and aDocument
+ focusSetterDocument:
Let document be element's node document.
Set element's implicit anchor element to source.
Run the popover focusing steps given element.
Run the popover focusing steps given element and + focusSetterDocument.
If shouldRestoreFocus is true and element's popover attribute is not in the DragEventInit : MouseEventInit {
data-x="dom-togglePopover">togglePopover(options) method steps are:
Let focusSetterDocument be the incumbent global object's associated Document.
Let force be null.
If options is a boolean, set force to options.
Otherwise, if force is null or true, then run show popover given - this, true, and source.
Otherwise:
@@ -93002,14 +93057,18 @@ dictionary DragEventInit : MouseEventInit {To perform the popover focusing steps for an HTML - element subject:
+ element subject and aDocument
+ focusSetterDocument:
If the allow focus steps given subject's node - document return false, then return.
If subject's node document is not fully active, then + return.
If the allow focus steps given focusSetterDocument return false, + then return.
If subject is a dialog element, then run the dialog focusing
- steps given subject and return.
If subject has the autofocus
attribute, then let control be subject.
@@ -93292,7 +93351,8 @@ dictionary DragEventInit : MouseEventInit {
validity be false.
If validity is true, then run show popover given - popover, false, and node.
If target is not null:
Let focusSetterDocument be element's node + document.
Let command be element's command attribute.
If validity is true, then run the show popover algorithm given target, false, element, and - element's node document.
Otherwise:
@@ -56963,14 +56966,14 @@ interface HTMLButtonElement : HTMLElement {If validity is true, then run the show popover algorithm given target, false, element, and - element's node document.
Otherwise, if this standard defines command steps for target's local name, then run the corresponding command steps given target, element, - and command.
The command steps for dialog elements, given an element
- element, an element source, and a command attribute command, are:
command attribute command, and a
+ Document focusSetterDocument, are:
If element is in the HTMLDialogElement : HTMLElement {
data-x="attr-button-command-show-modal-state">Show Modal state and element does
not have an open attribute, then
show a modal dialog given element, source, and
- source's node document.
These steps do not restrict the destination of an authorized focus change. The - has focus steps include focus in descendant navigables and require system - focus. Once focus leaves the setter's subtree, this focus-based allowance no longer + has focus steps include focus in focusSetterDocument's descendant + navigables and require its node navigable's top-level + traversable to have system focus. Once focus leaves + focusSetterDocument and those navigables, this focus-based allowance no longer applies.
Remove element from candidates.
If the allow focus steps given doc return false, then + continue.
Let inclusiveAncestorDocuments be a list consisting of the active document of doc's inclusive ancestor navigables.
Return the result of running the has focus steps given focusSetterDocument.
These steps do not restrict the destination of an authorized focus change. The - has focus steps include focus in focusSetterDocument's descendant - navigables and require its node navigable's top-level - traversable to have system focus. Once focus leaves - focusSetterDocument and those navigables, this focus-based allowance no longer - applies.
If subject's node document is not fully active, then - return.
If the allow focus steps given focusSetterDocument return false, then return.
Let focusSetterDocument be the incumbent global object's associated Document.
If this has an open attribute and
is modal of this is false, then return.
If this has an open attribute, then
throw an "InvalidStateError" DOMException.
Let focusSetterDocument be the incumbent global object's associated Document.
If the result of firing an event named beforetoggle, using ToggleEvent, with the cancelable attribute initialized to true, the DragEventInit : MouseEventInit {
data-x="dom-togglePopover">togglePopover(options) method steps are:
Let focusSetterDocument be the incumbent global object's associated Document.
Let force be null.
If options is a boolean, set force to options.
Otherwise, if force is null or true, then run show popover given - this, true, source, and focusSetterDocument.
Otherwise, if force is null or true:
+ +Let focusSetterDocument be the incumbent global object's associated Document.
Run show popover given this, true, source, and + focusSetterDocument.
Otherwise: