Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add popover attribute #8221

Merged
merged 1 commit into from
Jan 12, 2023
Merged

Add popover attribute #8221

merged 1 commit into from
Jan 12, 2023

Conversation

@josepharhar
Copy link
Contributor Author

I see that there are many build errors after build.sh says "Running conformance checker...", but when I run build.sh locally, it just stops after "Success!".

How do I run the conformance checker when building locally?

@domenic
Copy link
Member

domenic commented Aug 25, 2022

The conformance checker is at https://github.com/validator/validator and has a variety of installation options. You need to run it on the output index.html file.

@josepharhar
Copy link
Contributor Author

The conformance checker is at https://github.com/validator/validator and has a variety of installation options. You need to run it on the output index.html file.

Thanks, I was able to run it! It looks like the PR builds now

source Outdated Show resolved Hide resolved
source Show resolved Hide resolved
source Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Show resolved Hide resolved
@josepharhar
Copy link
Contributor Author

@domenic I added some examples in 81acbc7 and 9e0421c. Can you point me to any examples of "descriptive text for web developers and for implementers" that you mentioned earlier?

Copy link
Member

@domenic domenic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I managed to get a start on this review today... still more to go, but hopefully this helps.

source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
@josepharhar
Copy link
Contributor Author

Thanks for the review! I'm going to be out until monday so I'll try to get to it then

source Outdated Show resolved Hide resolved
@josepharhar
Copy link
Contributor Author

Thanks for the review @domenic! I have addressed all your comments

Copy link
Member

@Kaiido Kaiido left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not an authoritative review; but some questions that popped up while quickly reading the PR.

source Outdated Show resolved Hide resolved
aarongable pushed a commit to chromium/chromium that referenced this pull request Sep 16, 2022
Since these attributes only apply to HTMLButtonElement and
HTMLInputElement, it doesn't make sense to put them in the IDL for all
Elements: whatwg/html#8221 (comment)

Change-Id: I7038aefedbff78ec3af97b23c7a51a64cb0f275d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3894822
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Nate Fischer <ntfschr@chromium.org>
Reviewed-by: David Baron <dbaron@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1048107}
@josepharhar
Copy link
Contributor Author

@domenic mind taking another look? Anything else I can do to help move this forward?

@domenic
Copy link
Member

domenic commented Sep 26, 2022

It's on my list, sorry! I had a week of TPAC then a week of vacation, so I'm currently down to 20 flagged work emails and 24 flagged GitHub emails :).

@annevk
Copy link
Member

annevk commented Oct 4, 2022

Drive-by: element and attribute indices haven't been updated as far as I can tell. (FWIW, I plan on doing a more careful review.)

Copy link
Member

@domenic domenic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of editorial issues; as always, if you can be sure to do an extra sweep to make sure you catch multiple instances, that saves a lot of time.

On normative issues, I think these are the biggest outstanding ones:

  • show/hide naming (under discussion in Open UI I guess, not sure how that's going)
  • Element vs. HTMLElement; i.e., behavior for unknown, SVG, and MathML elements
  • Some confusion about spec text for some animation pausing stuff
  • Light dismiss spec intercepting capture events on Document is quite unusual; @annevk's help there would be appreciated steering us in the right direction

source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
source Outdated Show resolved Hide resolved
@josepharhar
Copy link
Contributor Author

show/hide naming (under discussion in Open UI I guess, not sure how that's going)

Looks like we might rename them to popupshow and popuphide: openui/open-ui#607

Element vs. HTMLElement; i.e., behavior for unknown, SVG, and MathML elements

@mfreed7 Why did you implement all of the popup behavior in Element instead of HTMLElement? What do you think the behavior should be for unknown, SVG, and MathML elements?

josepharhar added a commit to josepharhar/dom that referenced this pull request Oct 10, 2022
This was moved from the HTML spec PR for the popup attribute based on
this advice:
whatwg/html#8221 (comment)

TODO add a better description of this
@mfreed7
Copy link
Contributor

mfreed7 commented Oct 11, 2022

@mfreed7 Why did you implement all of the popup behavior in Element instead of HTMLElement? What do you think the behavior should be for unknown, SVG, and MathML elements?

My general logic has been "why not?". I.e. we had the same debate in the TAG about limiting this feature to only some element types. And if there's a good reason to limit it, great. But if the only reason is that we don't know what it'll be used for, I think web developers will figure that out. For example, why not a pop-up SVG? I could think of some use cases where an icon (a "like button" for example) is made with SVG and would like to be a pop-up.

Side note: this is currently broken in Chromium, but pending this discussion, I'll fix that. Just a missing set of rules in the UA stylesheet.

@annevk
Copy link
Member

annevk commented Jan 12, 2023

I haven't done a full final review. I found that while looking at what got committed to determine how #8221 (comment) got resolved, which was never responded to.

@josepharhar
Copy link
Contributor Author

how #8221 (comment) got resolved, which was never responded to

Apologies, I misinterpreted that comment.

I believe that that the top layer assert can never be hit because the above call to "check popover validity" will return false in any case where the element is in the top layer, which will result in an exception being thrown instead of continuing to the assert.

chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 13, 2023
Anne asked for this here:
whatwg/html#8221 (comment)

Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 13, 2023
Anne asked for this here:
whatwg/html#8221 (comment)

Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 13, 2023
Anne asked for this here:
whatwg/html#8221 (comment)

Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
noamr pushed a commit to noamr/html that referenced this pull request Jan 17, 2023
This reverts commit a7f99da. See whatwg#8221 (comment) for context.
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 18, 2023
Anne asked for this here:
whatwg/html#8221 (comment)

Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 18, 2023
Anne asked for this here:
whatwg/html#8221 (comment)

Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 18, 2023
The popover stack is constructed by attributes set on buttons.  When
those buttons are modified, it can break connections in the stack. This
patch adds checks to spots where buttons can be modified in order to fix
up the list by closing all popovers when a connection has been broken.

This patch also moves the disabled check for popover*target attributes
which Anne asked for here:
whatwg/html#8221 (comment)

Bug: 1307772, 1408546
Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Jan 19, 2023
…y, a=testonly

Automatic update from web-platform-tests
Do not fire `beforetoggle` asynchronously

Per the discussion at [1], we have decided not to fire async
beforetoggle events at all. This means that no event will be fired
in this case:

```javascript
myPopover.showPopover();
myPopover.remove();
```

[1] whatwg/html#8221 (comment)

Bug: 1307772
Change-Id: Ie6d0f24f1181131fd6e15732020c0575cd3ba865
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4146026
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Auto-Submit: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1090506}

--

wpt-commits: 7c3aacf158efb050bdb81a1dd97ac324eaee799a
wpt-pr: 37814
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Jan 19, 2023
…e Element reflection, a=testonly

Automatic update from web-platform-tests
Change popover invoking attributes to use Element reflection

Per the conversation at [1], we've decided to make the IDL reflections
of the invoking attributes (popovertoggletarget, popovershowtarget, and
popoverhidetarget) use Element reflection, and be named accordingly.

[1] whatwg/html#8221 (comment)

Fixed: 1405856
Bug: 1307772
Change-Id: Iace783795c2db7a19e11fbc4f0c4da33a8765779
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4148056
Auto-Submit: Mason Freed <masonf@chromium.org>
Commit-Queue: Mason Freed <masonf@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1090582}

--

wpt-commits: a0ddc451e02afbbe600c679fe1edab0e4f878ecf
wpt-pr: 37815
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 19, 2023
The popover stack is constructed by attributes set on buttons.  When
those buttons are modified, it can break connections in the stack. This
patch adds checks to spots where buttons can be modified in order to fix
up the list by closing all popovers when a connection has been broken.

This patch also moves the disabled check for popover*target attributes
which Anne asked for here:
whatwg/html#8221 (comment)

Bug: 1307772, 1408546
Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
jamienicol pushed a commit to jamienicol/gecko that referenced this pull request Jan 20, 2023
…y, a=testonly

Automatic update from web-platform-tests
Do not fire `beforetoggle` asynchronously

Per the discussion at [1], we have decided not to fire async
beforetoggle events at all. This means that no event will be fired
in this case:

```javascript
myPopover.showPopover();
myPopover.remove();
```

[1] whatwg/html#8221 (comment)

Bug: 1307772
Change-Id: Ie6d0f24f1181131fd6e15732020c0575cd3ba865
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4146026
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Auto-Submit: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1090506}

--

wpt-commits: 7c3aacf158efb050bdb81a1dd97ac324eaee799a
wpt-pr: 37814
jamienicol pushed a commit to jamienicol/gecko that referenced this pull request Jan 20, 2023
…e Element reflection, a=testonly

Automatic update from web-platform-tests
Change popover invoking attributes to use Element reflection

Per the conversation at [1], we've decided to make the IDL reflections
of the invoking attributes (popovertoggletarget, popovershowtarget, and
popoverhidetarget) use Element reflection, and be named accordingly.

[1] whatwg/html#8221 (comment)

Fixed: 1405856
Bug: 1307772
Change-Id: Iace783795c2db7a19e11fbc4f0c4da33a8765779
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4148056
Auto-Submit: Mason Freed <masonf@chromium.org>
Commit-Queue: Mason Freed <masonf@chromium.org>
Reviewed-by: Joey Arhar <jarhar@chromium.org>
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1090582}

--

wpt-commits: a0ddc451e02afbbe600c679fe1edab0e4f878ecf
wpt-pr: 37815
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 25, 2023
The popover stack is constructed by attributes set on buttons.  When
those buttons are modified, it can break connections in the stack. This
patch adds checks to spots where buttons can be modified in order to fix
up the list by closing all popovers when a connection has been broken.

This patch also moves the disabled check for popover*target attributes
which Anne asked for here:
whatwg/html#8221 (comment)

Bug: 1307772, 1408546
Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
aarongable pushed a commit to chromium/chromium that referenced this pull request Jan 25, 2023
The popover stack is constructed by attributes set on buttons.  When
those buttons are modified, it can break connections in the stack. This
patch adds checks to spots where buttons can be modified in order to fix
up the list by closing all popovers when a connection has been broken.

This patch also moves the disabled check for popover*target attributes
which Anne asked for here:
whatwg/html#8221 (comment)

Bug: 1307772, 1408546
Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4115790
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1096920}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 25, 2023
The popover stack is constructed by attributes set on buttons.  When
those buttons are modified, it can break connections in the stack. This
patch adds checks to spots where buttons can be modified in order to fix
up the list by closing all popovers when a connection has been broken.

This patch also moves the disabled check for popover*target attributes
which Anne asked for here:
whatwg/html#8221 (comment)

Bug: 1307772, 1408546
Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4115790
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1096920}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this pull request Jan 25, 2023
The popover stack is constructed by attributes set on buttons.  When
those buttons are modified, it can break connections in the stack. This
patch adds checks to spots where buttons can be modified in order to fix
up the list by closing all popovers when a connection has been broken.

This patch also moves the disabled check for popover*target attributes
which Anne asked for here:
whatwg/html#8221 (comment)

Bug: 1307772, 1408546
Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4115790
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1096920}
annevk pushed a commit to josepharhar/html that referenced this pull request Jan 27, 2023
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Feb 1, 2023
…ified, a=testonly

Automatic update from web-platform-tests
Check popover stack when buttons are modified

The popover stack is constructed by attributes set on buttons.  When
those buttons are modified, it can break connections in the stack. This
patch adds checks to spots where buttons can be modified in order to fix
up the list by closing all popovers when a connection has been broken.

This patch also moves the disabled check for popover*target attributes
which Anne asked for here:
whatwg/html#8221 (comment)

Bug: 1307772, 1408546
Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4115790
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1096920}

--

wpt-commits: 355b774d54fd4a6fff8165533d731616ac09dc6e
wpt-pr: 37594
jamienicol pushed a commit to jamienicol/gecko that referenced this pull request Feb 3, 2023
…ified, a=testonly

Automatic update from web-platform-tests
Check popover stack when buttons are modified

The popover stack is constructed by attributes set on buttons.  When
those buttons are modified, it can break connections in the stack. This
patch adds checks to spots where buttons can be modified in order to fix
up the list by closing all popovers when a connection has been broken.

This patch also moves the disabled check for popover*target attributes
which Anne asked for here:
whatwg/html#8221 (comment)

Bug: 1307772, 1408546
Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4115790
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1096920}

--

wpt-commits: 355b774d54fd4a6fff8165533d731616ac09dc6e
wpt-pr: 37594
marcoscaceres pushed a commit to web-platform-tests/wpt that referenced this pull request Mar 28, 2023
The popover stack is constructed by attributes set on buttons.  When
those buttons are modified, it can break connections in the stack. This
patch adds checks to spots where buttons can be modified in order to fix
up the list by closing all popovers when a connection has been broken.

This patch also moves the disabled check for popover*target attributes
which Anne asked for here:
whatwg/html#8221 (comment)

Bug: 1307772, 1408546
Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4115790
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1096920}
annevk added a commit to whatwg/fullscreen that referenced this pull request May 22, 2023
This is part of the new pop-up attribute: whatwg/html#8221.

Co-authored-by: Anne van Kesteren <annevk@annevk.nl>
Co-authored-by: Philip Jägenstedt <philip@foolip.org>
@domenic domenic added the topic: popover The popover attribute and friends label Nov 20, 2023
i3roly pushed a commit to i3roly/firefox-dynasty that referenced this pull request Jun 1, 2024
…ified, a=testonly

Automatic update from web-platform-tests
Check popover stack when buttons are modified

The popover stack is constructed by attributes set on buttons.  When
those buttons are modified, it can break connections in the stack. This
patch adds checks to spots where buttons can be modified in order to fix
up the list by closing all popovers when a connection has been broken.

This patch also moves the disabled check for popover*target attributes
which Anne asked for here:
whatwg/html#8221 (comment)

Bug: 1307772, 1408546
Change-Id: I129cf2768abc717292b86ea26f7522019ce36d33
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4115790
Commit-Queue: Joey Arhar <jarhar@chromium.org>
Reviewed-by: Mason Freed <masonf@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1096920}

--

wpt-commits: 355b774d54fd4a6fff8165533d731616ac09dc6e
wpt-pr: 37594
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impacts documentation Used by documentation communities, such as MDN, to track changes that impact documentation topic: popover The popover attribute and friends
Development

Successfully merging this pull request may close these issues.

9 participants