Issue #2135 - Bug 1430305: Implement ShadowRoot.fullscreenElement

This commit is contained in:
FranklinDM 2023-03-03 19:52:43 +08:00 committed by roytam1
commit e286eb8adb
10 changed files with 105 additions and 40 deletions

View file

@ -160,5 +160,25 @@ DocumentOrShadowRoot::GetPointerLockElement()
retargetedPointerLockedElement->AsElement() : nullptr;
}
Element*
DocumentOrShadowRoot::GetFullscreenElement()
{
if (!AsNode().IsInComposedDoc()) {
return nullptr;
}
Element* element = AsNode().OwnerDoc()->FullScreenStackTop();
NS_ASSERTION(!element ||
element->State().HasState(NS_EVENT_STATE_FULL_SCREEN),
"Fullscreen element should have fullscreen styles applied");
nsIContent* retargeted = Retarget(element);
if (retargeted && retargeted->IsElement()) {
return retargeted->AsElement();
}
return nullptr;
}
}
}