Closed Bug 1823757 Opened 11 months ago Closed 11 months ago

implement PopoverInvokerElement interface

Categories

(Core :: DOM: Core & HTML, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
113 Branch
Tracking Status
firefox113 --- wontfix
firefox114 --- fixed

People

(Reporter: surkov, Assigned: surkov)

References

(Blocks 2 open bugs)

Details

(Keywords: dev-doc-complete)

Attachments

(4 files)

No description provided.
Attachment #9324240 - Attachment description: WIP: Bug 1823757 - add PopoverInvokerElement interface → Bug 1823757 - add PopoverInvokerElement interface
Attachment #9324240 - Attachment description: Bug 1823757 - add PopoverInvokerElement interface → WIP: Bug 1823757 - add PopoverInvokerElement interface
Attachment #9324240 - Attachment description: WIP: Bug 1823757 - add PopoverInvokerElement interface → Bug 1823757 - add PopoverInvokerElement interface
Attachment #9324240 - Attachment description: Bug 1823757 - add PopoverInvokerElement interface → WIP: Bug 1823757 - add PopoverInvokerElement interface
Attachment #9324240 - Attachment description: WIP: Bug 1823757 - add PopoverInvokerElement interface → Bug 1823757 - add PopoverInvokerElement interface
Pushed by surkov.alexander@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/69eb90a97279
add PopoverInvokerElement interface r=emilio
Status: NEW → RESOLVED
Closed: 11 months ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch
Status: RESOLVED → REOPENED
Keywords: leave-open
Resolution: FIXED → ---
Blocks: 1824374
Pushed by surkov.alexander@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/7301e6523b60
implement attr associated element, r=emilio
Attachment #9326271 - Attachment description: WIP: Bug 1823757 implement PopoverInvokerElement::popoverTargetElement → Bug 1823757 implement PopoverInvokerElement::popoverTargetElement, r?emilio
Pushed by surkov.alexander@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/75f2676b3aae
implement PopoverInvokerElement::popoverTargetElement, r=emilio

Use parsed atoms to store popovertarget attributes as more effective mechanism to search for ID match in attr associated elements implementation. Followup from D173337.

Keywords: leave-open
Pushed by surkov.alexander@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/93a5b0a259ae
use parsed atoms for popovertarget attribute, r=emilio
Backout by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e952bc125116
Backed out changeset 93a5b0a259ae for causing Atom related wpt failures.

It crashes because of assert:
Mozilla crash reason: MOZ_ASSERT(Type() == eAtom) (wrong type)

Element::GetAttrAssociatedElement triggered for popovertarget attribute. The problem is nsGenericHTMLFormControlElementWithState::ParseAttribute() never triggers and thus popovertarget is not parsed. However I see that Element::SetAttr (https://searchfox.org/mozilla-central/source/dom/base/Element.cpp#2498) triggers ParseAttribute() for nsGenericHTMLFormControlElementWithState element for popovertarget attribute.

I didn't yet manage to setup a debug env on my mac, so I didn't manage to run it through a debugger yet, but just in case, Emilio, do I miss anything evident here?

Flags: needinfo?(surkov.alexander) → needinfo?(emilio)

the problem is HTMLButtonElement::ParseAttribute doesn't call into nsGenericHTMLFormControlElementWithState

Flags: needinfo?(emilio)
Pushed by surkov.alexander@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/96da9dcee2b0
use parsed atoms for popovertarget attribute, r=emilio

Backed out for causing failures on popover-invoking-attribute.html

[task 2023-04-11T06:28:29.459Z] 06:28:29     INFO - TEST-FAIL | /html/semantics/popovers/popover-invoking-attribute.html | Test <input type="image">, action=undefined, popoverTarget IDL, popoverTargetAction IDL, with popover=auto - assert_true: Toggle or show should show the popover expected true got false
[task 2023-04-11T06:28:29.459Z] 06:28:29     INFO - @http://web-platform.test:8000/html/semantics/popovers/popover-invoking-attribute.html:100:30
[task 2023-04-11T06:28:29.459Z] 06:28:29     INFO - TEST-UNEXPECTED-PASS | /html/semantics/popovers/popover-invoking-attribute.html | Test <input type="text">, action=toggle, popovertarget attr, popovertargetaction attr, with popover=auto - expected FAIL
[task 2023-04-11T06:28:29.459Z] 06:28:29     INFO - TEST-INFO | expected FAIL
[task 2023-04-11T06:28:29.460Z] 06:28:29     INFO - 
[task 2023-04-11T06:28:29.460Z] 06:28:29     INFO - TEST-UNEXPECTED-PASS | /html/semantics/popovers/popover-invoking-attribute.html | Test <input type="text">, action=toggle, popovertarget attr, popoverTargetAction IDL, with popover=auto - expected FAIL
[task 2023-04-11T06:28:29.460Z] 06:28:29     INFO - TEST-INFO | expected FAIL
[task 2023-04-11T06:28:29.460Z] 06:28:29     INFO - 
[task 2023-04-11T06:28:29.460Z] 06:28:29     INFO - TEST-UNEXPECTED-PASS | /html/semantics/popovers/popover-invoking-attribute.html | Test <input type="text">, action=toggle, popoverTarget IDL, popovertargetaction attr, with popover=auto - expected FAIL
[task 2023-04-11T06:28:29.460Z] 06:28:29     INFO - TEST-INFO | expected FAIL
[task 2023-04-11T06:28:29.461Z] 06:28:29     INFO - 
[task 2023-04-11T06:28:29.461Z] 06:28:29     INFO - TEST-UNEXPECTED-PASS | /html/semantics/popovers/popover-invoking-attribute.html | Test <input type="text">, action=toggle, popoverTarget IDL, popoverTargetAction IDL, with popover=auto - expected FAIL
[task 2023-04-11T06:28:29.461Z] 06:28:29     INFO - TEST-INFO | expected FAIL
[task 2023-04-11T06:28:29.462Z] 06:28:29     INFO - 
[task 2023-04-11T06:28:29.462Z] 06:28:29     INFO - TEST-UNEXPECTED-PASS | /html/semantics/popovers/popover-invoking-attribute.html | Test <input type="text">, action=hide, popovertarget attr, popovertargetaction attr, with popover=auto - expected FAIL
[task 2023-04-11T06:28:29.462Z] 06:28:29     INFO - TEST-INFO | expected FAIL
[task 2023-04-11T06:28:29.462Z] 06:28:29     INFO - 
Flags: needinfo?(surkov.alexander)

It's weird that the patch breaks tests (wondering why ./mach try auto didn't catch those) because it wasn't supposed to change behavior, it's good though all of failures are unexpected passes, so I think I will simply update expectations.

Flags: needinfo?(surkov.alexander)

(In reply to alexander :surkov (:asurkov) from comment #18)

It's weird that the patch breaks tests (wondering why ./mach try auto didn't catch those) because it wasn't supposed to change behavior, it's good though all of failures are unexpected passes, so I think I will simply update expectations.

ah, it's the same issue as in comment #15, thus popovertargetaction was not parsed previously, now it does and thus make tests passing

Pushed by surkov.alexander@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/fc54299fdf1d
use parsed atoms for popovertarget attribute, r=emilio
Regressions: 1827518
No longer regressions: 1827518
Status: REOPENED → RESOLVED
Closed: 11 months ago11 months ago
Resolution: --- → FIXED
Keywords: dev-doc-needed

MDN docs work for this can be tracked in https://github.com/mdn/content/issues/26694 (mostly done).

Blocks: 1769586
Blocks: 1879001
You need to log in before you can comment on or make changes to this bug.