diff --git a/dom/html/nsGenericHTMLElement.cpp b/dom/html/nsGenericHTMLElement.cpp index 774076bee6b9a..2c42946431bfc 100644 --- a/dom/html/nsGenericHTMLElement.cpp +++ b/dom/html/nsGenericHTMLElement.cpp @@ -3393,38 +3393,29 @@ AfterSetPopoverAttr ( ) { -const -nsAttrValue -* -newValue -= -GetParsedAttr -( -nsGkAtoms -: -: -popover -) -; -const -PopoverAttributeState -newState +auto +mapPopoverState = [ -& -newValue ] ( +const +nsAttrValue +* +value ) +- +> +PopoverAttributeState { if ( -newValue +value ) { MOZ_ASSERT ( -newValue +value - > Type @@ -3447,7 +3438,7 @@ static_cast PopoverAttributeKeyword > ( -newValue +value - > GetEnumValue @@ -3469,7 +3460,19 @@ PopoverAttributeState None ; } +; +PopoverAttributeState +newState += +mapPopoverState ( +GetParsedAttr +( +nsGkAtoms +: +: +popover +) ) ; const @@ -3488,15 +3491,19 @@ newState oldState ) { -EnsurePopoverData +PopoverPseudoStateUpdate ( +false +true ) -. -SetPopoverAttributeState +; +if +( +IsPopoverOpen ( -newState ) -; +) +{ HidePopoverInternal ( true @@ -3506,16 +3513,20 @@ IgnoreErrors ) ) ; -if -( newState = -= -GetPopoverAttributeState +mapPopoverState +( +GetParsedAttr ( +nsGkAtoms +: +: +popover ) ) -{ +; +} if ( newState @@ -3527,6 +3538,13 @@ PopoverAttributeState None ) { +if +( +GetPopoverData +( +) +) +{ OwnerDoc ( ) @@ -3538,6 +3556,7 @@ RemovePopoverFromTopLayer this ) ; +} ClearPopoverData ( ) @@ -3553,16 +3572,18 @@ POPOVER_OPEN } else { -PopoverPseudoStateUpdate +EnsurePopoverData ( -false -true +) +. +SetPopoverAttributeState +( +newState ) ; } } } -} void nsGenericHTMLElement : @@ -16277,24 +16298,8 @@ ErrorResult aRv ) { -const -PopoverData -* -data -= -GetPopoverData -( -) -; if ( -! -data -| -| -data -- -> GetPopoverAttributeState ( ) @@ -16306,18 +16311,6 @@ PopoverAttributeState None ) { -MOZ_ASSERT -( -! -HasAttr -( -nsGkAtoms -: -: -popover -) -) -; aRv . ThrowNotSupportedError @@ -16337,20 +16330,11 @@ return false ; } -MOZ_ASSERT +if ( -HasAttr +GetPopoverData ( -nsGkAtoms -: -: -popover ) -) -; -if -( -data - > GetPopoverVisibilityState diff --git a/testing/web-platform/meta/html/semantics/popovers/popover-attribute-basic.html.ini b/testing/web-platform/meta/html/semantics/popovers/popover-attribute-basic.html.ini index f86ff65dd6a65..05fb9ee2da133 100644 --- a/testing/web-platform/meta/html/semantics/popovers/popover-attribute-basic.html.ini +++ b/testing/web-platform/meta/html/semantics/popovers/popover-attribute-basic.html.ini @@ -12,726 +12,6 @@ Changing a popover from -auto -to -undefined -( -via -attr -) -and -then -auto -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -undefined -( -via -attr -) -and -then -manual -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -undefined -( -via -attr -) -and -then -invalid -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -undefined -( -via -attr -) -and -then -null -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -undefined -( -via -attr -) -and -then -auto -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -undefined -( -via -attr -) -and -then -manual -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -undefined -( -via -attr -) -and -then -invalid -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -undefined -( -via -attr -) -and -then -null -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -null -( -via -idl -) -and -then -auto -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -undefined -( -via -idl -) -and -then -auto -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -null -( -via -idl -) -and -then -auto -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -undefined -( -via -idl -) -and -then -auto -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -null -( -via -idl -) -and -then -manual -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -null -( -via -idl -) -and -then -invalid -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -undefined -( -via -idl -) -and -then -manual -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -undefined -( -via -idl -) -and -then -invalid -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -null -( -via -idl -) -and -then -manual -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -null -( -via -idl -) -and -then -invalid -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -undefined -( -via -idl -) -and -then -manual -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -undefined -( -via -idl -) -and -then -invalid -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -undefined -( -via -attr -) -and -then -undefined -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -undefined -( -via -attr -) -and -then -undefined -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -null -( -via -idl -) -and -then -null -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -null -( -via -idl -) -and -then -undefined -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -undefined -( -via -idl -) -and -then -null -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -auto -to -undefined -( -via -idl -) -and -then -undefined -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -null -( -via -idl -) -and -then -null -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -null -( -via -idl -) -and -then -undefined -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -undefined -( -via -idl -) -and -then -null -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from -manual -to -undefined -( -via -idl -) -and -then -undefined -during -' -beforetoggle -' -works -] -expected -: -FAIL -[ -Changing -a -popover -from manual to auto